{"version":3,"file":"static/js/main.7961ff7c.js","mappings":"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A,UACA,WACA,YAEDqjE,YAAa,CACZ,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEDC,aAAc,CACbC,KAAM,CACL5+E,WAAY,aACZE,SAAU,YAEXtc,MAAO,CACNi7F,YAAa,sBACbC,qBAAsB,6BAEvBt0F,UAAW,CACV0yB,cAAe,CACdlhC,MAAO,wBAIV4+B,eAAgB,CACfC,MAAO,CACNC,UAAW,CACVikE,QAAS,CACRpwF,QAAS,KACTusB,MAAO,SAERD,MAAO,CACNtsB,QAAS,KACTusB,MAAO,SAER7B,KAAM,CACL1qB,QAAS,KACTusB,MAAO,QACP8jE,SAAU,QACV7jE,SAAU,SAEXC,MAAO,CACNzsB,QAAS,UACTusB,MAAO,QACP8jE,SAAU,SAEX3jE,OAAQ,CACP1sB,QAAS,KACTusB,MAAO,KACP8jE,SAAU,SAEXrL,MAAO,CACNhlF,QAAS,KACTusB,MAAO,SAKX+jE,sBDxFoC,CAEpC,CACC13G,MAAO,IACP4zC,SAAU,CACT,CACC+jE,SAAU/yC,EACVgzC,MAAO,OACPC,MAAO,WAGTC,SAAU,CACT,CACCH,SAAU,GACVC,MAAO,OACPC,MAAO,UAER,CACCF,SAAU,IACVC,MAAO,QACPC,MAAO,SAER,CACCF,SAAU,KACVC,MAAO,SACPC,MAAO,SAER,CACCF,SAAU/yC,EACVgzC,MAAO,QACPC,MAAO,QAKV,CACC73G,MAAO,IACP4zC,SAAU,CACT,CACC+jE,SAAU,EACVC,MAAO,UACPC,MAAO,QAER,CACCF,SAAU,GACVC,MAAO,QACPC,MAAO,QAER,CACCF,SAAU,GACVC,MAAO,QACPC,MAAO,QAER,CACCF,SAAU/yC,EACVgzC,MAAO,OACPC,MAAO,WAGTC,SAAU,CACT,CACCH,SAAU,GACVC,MAAO,OACPC,MAAO,UAER,CACCF,SAAU,IACVC,MAAO,QACPC,MAAO,UAER,CACCF,SAAU,KACVC,MAAO,SACPC,MAAO,SAER,CACCF,SAAU/yC,EACVgzC,MAAO,QACPC,MAAO,QAKV,CACC73G,MAAO4kE,EACPhxB,SAAU,CACT,CACC+jE,SAAU,E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No6U,QAAS,yFACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,mMACR,CACDp6U,KAAM,IACNo6U,QAAS,+CACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,2DACR,CACDp6U,KAAM,IACNo6U,QAAS,6BACR,CACDp6U,KAAM,IACNo6U,QAAS,uFACR,CACDp6U,KAAM,IACNo6U,QAAS,mFACR,CACDp6U,KAAM,IACNo6U,QAAS,qMACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,KACNo6U,QAAS,oBACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,KACNo6U,QAAS,gBACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,qDACR,CACDp6U,KAAM,IACNo6U,QAAS,2EACR,CACDp6U,KAAM,IACNo6U,QAAS,mFACR,CACDp6U,KAAM,KACNo6U,QAAS,gBACR,CACDp6U,KAAM,IACNo6U,QAAS,iLACR,CACDp6U,KAAM,IACNo6U,QAAS,mCACR,CACDp6U,KAAM,IACNo6U,QAAS,yFACR,CACDp6U,KAAM,IACNo6U,QAAS,yFACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,+GACR,CACDp6U,KAAM,IACNo6U,QAAS,mCACR,CACDp6U,KAAM,IACNo6U,QAAS,mFACR,CACDp6U,KAAM,IACNo6U,QAAS,iHACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,+CACR,CACDp6U,KAAM,IACNo6U,QAAS,mGACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,qPACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,KACNo6U,QAAS,UACR,CACDp6U,KAAM,IACNo6U,QAAS,2DACR,CACDp6U,KAAM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","sources":["assets/icons/downgrade-icon.svg","assets/icons/no-activity.svg","assets/icons/no-change-icon.svg","assets/icons/question.svg","assets/icons/upgrade-icon.svg","assets/language/en.js","assets/icons/Close.svg","webpack://morganstanley-research/./src/components/Options/Options.module.scss?2bc1","webpack://morganstanley-research/./src/components/Options/QuoteBar/QuoteBar.module.scss?b667","components/Options/QuoteBar/QuoteBar.js","components/Options/Options.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/SubNavigation/SubNavigation.module.scss?40e3","components/MarketsAndResearch/SubNavigation/SubNavigation.js","webpack://morganstanley-research/./src/components/Lib/RedesignBanner/RedesignBanner.module.scss?80e8","assets/icons/FlagInfoIcon.js","components/Lib/RedesignBanner/RedesignBanner.js","webpack://morganstanley-research/./src/components/Lib/Disclosures/Disclosures.module.scss?3f0d","components/Lib/Disclosures/Disclosures.js","assets/icons/Visible.svg","assets/icons/Unhide.svg","assets/icons/Edit.svg","assets/icons/ErrorIcon.svg","assets/icons/UpArrowActive.svg","assets/icons/UpArrowInactive.svg","components/Lib/Icons/UpDownArrow/UpDownArrow.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/LegendMovePanel/LegendMovePanel.module.scss?67cc","components/MarketsAndResearch/Charting/LegendMovePanel/LegendMovePanel.js","components/MarketsAndResearch/Charting/Comparisons.js","components/Lib/Icons/CirclePlus/CirclePlus.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/ChartingCard/ChartingCard.module.scss?8021","components/MarketsAndResearch/Charting/Indicators/AvailableIndicatorFilterExtension.js","components/MarketsAndResearch/Charting/Indicators/AutoCompleteIndicatorSearch/AutoCompleteIndicatorSearch.js","components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart.js","components/MarketsAndResearch/Charting/Indicators/IndicatorMenu/IndicatorMenu.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/Menus/ComparisonQuoteSearch/ComparisonQuoteSearch.module.scss?a477","components/MarketsAndResearch/Charting/Menus/ComparisonQuoteSearch/ComparisonQuoteSearch.js","components/MarketsAndResearch/Charting/Menus/Menus.js","webpack://morganstanley-research/./src/components/Lib/ColorPallete/ColorPallete.module.scss?1988","components/Lib/ColorPallete/ColorPallete.js","webpack://morganstanley-research/./src/components/Lib/LineDropdown/LineDropdown.module.scss?0f57","components/Lib/LineDropdown/LineDropdown.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorInputPopUp.module.scss?6eff","components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorMappers.js","components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorMapperEdit.js","assets/icons/chartControl_PanLeft.svg","components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorInputPopUp.js","components/MarketsAndResearch/Charting/Indicators/IndicatorAccessibility/IndicatorAccessibility.js","components/MarketsAndResearch/Charting/ChartingCard/IndicatorDataOnLegendsCard.js","components/MarketsAndResearch/Charting/ChartingCard/YAxisFlag.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/xAxisFlag/XAxisFlag.module.scss?5704","components/MarketsAndResearch/Charting/xAxisFlag/XAxisFlag.js","assets/icons/chartControl_PanRight.svg","assets/icons/chartControl_ZoomIn.svg","assets/icons/chartControl_ZoomOut.svg","assets/icons/chartControl_Reset.svg","components/MarketsAndResearch/Charting/ChartingCard/PanZoomToolBar.js","components/MarketsAndResearch/Charting/ChartingCard/Crosshair/CrosshairTooltip.js","components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/AdvanceTimeFrame.js","components/MarketsAndResearch/Charting/TimeFrame/TimeFrame.js","components/MarketsAndResearch/Charting/Interval/Interval.js","components/MarketsAndResearch/Charting/ChartingCard/ChartingCard.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Charting/Charting.module.scss?9cac","components/MarketsAndResearch/Charting/Charting.js","components/Lib/Table/Cell.js","webpack://morganstanley-research/./src/components/Lib/Table/DataTable.module.scss?17a8","components/Lib/Table/DataTable.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Financials/StatementDetailsTable/StatementDetailsTable.module.scss?8415","components/MarketsAndResearch/Financials/StatementDetailsTable/StatementDetailsTable.js","components/MarketsAndResearch/Financials/SecFiling/SecFilingConstant.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Financials/SecFiling/SecFilingTable.module.scss?e6fe","components/MarketsAndResearch/Financials/SecFiling/SecFilingTable.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Financials/StatementOverview/StatementOverview.module.scss?2fac","components/MarketsAndResearch/Financials/StatementOverview/StatementOverview.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Financials/FinancialsCard/FinancialsCard.module.scss?2688","components/MarketsAndResearch/Financials/FinancialsCard/FinancialsCard.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Financials/Financials.module.scss?c613","components/MarketsAndResearch/Financials/Financials.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/MarketsAndResearch.module.scss?50ce","components/MarketsAndResearch/MarketsAndResearchApp.js","components/Canacord/Research/ResearchApp.utils.js","components/Canacord/Research/ResearchApp.js","../node_modules/@sentry/minimal/node_modules/tslib/tslib.es6.js","../node_modules/@sentry/hub/node_modules/tslib/tslib.es6.js","../node_modules/@sentry/utils/src/logger.ts","../node_modules/@sentry/utils/src/syncpromise.ts","../node_modules/@sentry/utils/src/is.ts","../node_modules/@sentry/types/src/session.ts","../node_modules/@sentry/hub/src/scope.ts","../node_modules/@sentry/utils/node_modules/tslib/tslib.es6.js","../node_modules/@sentry/utils/src/browser.ts","../node_modules/@sentry/utils/src/memo.ts","../node_modules/@sentry/utils/src/stacktrace.ts","../node_modules/@sentry/utils/src/string.ts","../node_modules/@sentry/utils/src/object.ts","../node_modules/@sentry/hub/src/session.ts","../node_modules/@sentry/hub/src/hub.ts","../node_modules/@sentry/minimal/src/index.ts","services/RequestService.js","components/MarketsAndResearch/Overview/SecFilingsPdf/SecFilingsPdf.js","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchPdf/ResearchPdf.js","services/APIs/UserInfo/UserInfoAPI.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/Error/QuoteSearchError/ErrorMessage.module.scss?0025","components/MarketsAndResearch/Error/QuoteSearchError/ErrorMessage.js","../node_modules/@sentry/core/node_modules/tslib/tslib.es6.js","../node_modules/@sentry/core/src/integrations/inboundfilters.ts","../node_modules/@sentry/core/src/integrations/functiontostring.ts","../node_modules/@sentry/browser/node_modules/tslib/tslib.es6.js","../node_modules/@sentry/utils/src/polyfill.ts","../node_modules/@sentry/utils/src/error.ts","../node_modules/@sentry/utils/src/dsn.ts","../node_modules/@sentry/core/src/integration.ts","../node_modules/@sentry/core/src/baseclient.ts","../node_modules/@sentry/types/src/status.ts","../node_modules/@sentry/core/src/transports/noop.ts","../node_modules/@sentry/types/src/severity.ts","../node_modules/@sentry/core/src/basebackend.ts","../node_modules/@sentry/utils/src/supports.ts","../node_modules/@sentry/browser/src/tracekit.ts","../node_modules/@sentry/browser/src/parsers.ts","../node_modules/@sentry/browser/src/eventbuilder.ts","../node_modules/@sentry/core/src/request.ts","../node_modules/@sentry/core/src/api.ts","../node_modules/@sentry/utils/src/promisebuffer.ts","../node_modules/@sentry/browser/src/transports/base.ts","../node_modules/@sentry/browser/src/transports/fetch.ts","../node_modules/@sentry/browser/src/transports/xhr.ts","../node_modules/@sentry/browser/src/backend.ts","../node_modules/@sentry/browser/src/helpers.ts","../node_modules/@sentry/utils/src/instrument.ts","../node_modules/@sentry/browser/src/integrations/breadcrumbs.ts","../node_modules/@sentry/browser/src/version.ts","../node_modules/@sentry/browser/src/client.ts","../node_modules/@sentry/browser/src/integrations/trycatch.ts","../node_modules/@sentry/browser/src/integrations/globalhandlers.ts","../node_modules/@sentry/browser/src/integrations/linkederrors.ts","../node_modules/@sentry/browser/src/integrations/useragent.ts","../node_modules/@sentry/browser/src/sdk.ts","../node_modules/@sentry/core/src/sdk.ts","components/App.js","components/Lib/ChartEventsOverlay/ChartEventsConstants.js","webpack://morganstanley-research/./src/components/Lib/ChartEventsOverlay/ChartEventsOverlay.module.scss?de13","components/Lib/ChartEventsOverlay/ChartEventsOverlay.js","webpack://morganstanley-research/./src/components/Lib/Chevron/Chevron.module.scss?0c36","components/Lib/Chevron/Chevron.js","webpack://morganstanley-research/./src/components/Lib/CollapsibleCard/CollapsibleCard.module.scss?f5df","components/Lib/CollapsibleCard/CollapsibleCard.js","webpack://morganstanley-research/./src/components/Lib/Drawer/Drawer.module.scss?27bc","components/Lib/Drawer/Drawer.js","webpack://morganstanley-research/./src/components/Lib/HeaderValue/HeaderValue.module.scss?8a3f","components/Lib/HeaderValue/HeaderValue.js","components/Lib/Icons/CandlestickChart/CandlestickChart.js","components/Lib/Icons/CandlestickLegend/CandlestickLegend.js","components/Lib/Icons/DotChart/DotChart.js","components/Lib/Icons/HistogramChart/HistogramChart.js","components/Lib/Icons/Left/Left.js","components/Lib/Icons/OHLCChart/OHLCChart.js","components/Lib/Icons/Right/Right.js","components/Lib/Icons/Search/Search.js","webpack://morganstanley-research/./src/components/Lib/HelpDrawer/HelpDrawer.module.scss?d934","components/Lib/HelpDrawer/HelpDrawer.js","webpack://morganstanley-research/./src/components/Lib/LearnMoreTooltip/LearnMoreTooltip.module.scss?2c58","components/Lib/LearnMoreTooltip/LearnMoreTooltip.js","webpack://morganstanley-research/./src/components/Lib/MSCheckbox/MSCheckbox.module.scss?04f9","components/Lib/MSCheckbox/MSCheckbox.js","components/Lib/MSDropdown/MSDropdown.js","webpack://morganstanley-research/./src/components/Lib/MSSpinner/MSSpinner.module.scss?4939","components/Lib/MSSpinner/MSSpinner.js","webpack://morganstanley-research/./src/components/Lib/MSToggle/MSToggle.module.scss?ee83","components/Lib/MSToggle/MSToggle.js","components/Lib/NoData/NoData.js","components/Lib/Icons/SkipToEndLeft/SkipToEndLeft.js","components/Lib/Icons/SkipToEndRight/SkipToEndRight.js","webpack://morganstanley-research/./src/components/Lib/PaginationFooter/PaginationFooter.module.scss?fb00","components/Lib/PaginationFooter/PaginationFooter.js","webpack://morganstanley-research/./src/components/Lib/QuoteSearch/QuoteSearch.module.scss?4111","services/APIs/UserManagement/UserManagementAPI.js","components/Lib/QuoteSearch/QuoteSearch.js","webpack://morganstanley-research/./src/components/Lib/RealTimeBanner/RealTimeBanner.module.scss?3ee7","components/Lib/RealTimeBanner/RealTimeBanner.js","webpack://morganstanley-research/./src/components/Lib/SimpleSpinner/SimpleSpinner.module.scss?9b66","components/Lib/SimpleSpinner/SimpleSpinner.js","webpack://morganstanley-research/./src/components/Lib/Tabs/tabs.module.scss?577d","components/Lib/Tabs/Tabs.js","webpack://morganstanley-research/./src/components/Lib/TextToggle/TextToggle.module.scss?c518","components/Lib/TextToggle/TextToggle.js","assets/icons/AmericaFlag.svg","webpack://morganstanley-research/./src/components/Lib/Card/Card.module.scss?2a7c","components/Lib/Card/Card.js","webpack://morganstanley-research/./src/components/Lib/CGSearch/CGSearchBar.module.scss?4427","assets/icons/CanadaFlag.svg","components/Lib/CGSearch/CGSearchBar.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/AnalystResearch/AllResearchCard/AllResearchCard.module.scss?3368","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchItemsTable/ResearchItemsTable.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/CollapsibleResponsiveFilter/CollapsibleResponsiveFilter.module.scss?0bf2","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/CollapsibleResponsiveFilter/CollapsibleResponsiveFilter.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/ResearchFilters.module.scss?7d1a","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/ResearchFilters.js","components/MarketsAndResearch/AnalystResearch/AllResearchCard/AllResearchCard.js","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchAPIParams.js","components/Lib/Icons/Close/Close.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/DateRangePickerModal/DateRangePicker.module.scss?0152","components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/DateRangePickerModal/DateRangePickerModal.js","components/MarketsAndResearch/AnalystResearch/RatingsAndPriceTargetsCard/RatingsAndPriceTargetsAPIParams.js","components/MarketsAndResearch/Charting/Indicators.js","components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorInputsConfig.js","components/Lib/Icons/LineChart/LineChart.js","components/Lib/Icons/MountainChart/MountainChart.js","components/MarketsAndResearch/ChartingCommon/Constants/Chart/DefaultChartConstant.js","components/MarketsAndResearch/ChartingCommon/Constants/Locale/defaultRowTemplateThresholds.js","components/MarketsAndResearch/ChartingCommon/Constants/Locale/CustomLocale.js","components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/Common.js","webpack://morganstanley-research/./src/components/MarketsAndResearch/ChartingCommon/Loader/Loader.module.scss?2c62","components/MarketsAndResearch/ChartingCommon/Loader/Loader.js","components/MarketsAndResearch/ChartingCommon/Utility/CommonChartUtility.js","components/MarketsAndResearch/Financials/FinancialsCard/FinancialsConstants.js","components/Lib/Chart/Plugin/ChartPointLabels.js","components/Lib/Chart/Plugin/ChartStripeBar.js","components/Lib/Chart/Plugin/ChartResizeLineChart.js","components/Lib/Chart/FinancialChart.js","components/MarketsAndResearch/Financials/FinancialsChartContainer.js","components/MarketsAndResearch/Overview/PeerComparisonCard/PeerComparisonProfitabilityCard/PeerComparisonProfitabilityCard.js","components/Lib/Carousel/Carousel.js","webpack://morganstanley-research/./src/components/Options/ExpirationDateFilter/EarningsItem/EarningsItem.module.scss?ae77","components/Options/ExpirationDateFilter/EarningsItem/EarningsItem.js","webpack://morganstanley-research/./src/components/Options/ExpirationDateFilter/ExpirationDatesFilter.module.scss?0ea9","components/Options/ExpirationDateFilter/DateFilterItem.js","components/Options/ExpirationDateFilter/ExpirationDatesFilter.js","webpack://morganstanley-research/./src/components/Options/MonthlyExpirationButton/MonthlyExpirationButton.module.scss?137c","components/Options/MonthlyExpirationButton/MonthlyExpirationButton.js","webpack://morganstanley-research/./src/components/Options/MonthlyExpirationMenu/MonthlyExpirationMenu.module.scss?360e","components/Options/MonthlyExpirationMenu/MonthlyExpirationMenu.js","components/Options/MonthlyExpirationToggle/MonthlyExpirationToggle.js","webpack://morganstanley-research/./src/components/Options/OptionsStrikesFilter/OptionsStrikesFilter.module.scss?8610","webpack://morganstanley-research/./src/components/Options/StrikesFilter/StrikesFilter.module.scss?3853","components/Options/StrikesFilter/StrikesFilterItem.js","components/Options/StrikesFilter/StrikesFilter.js","components/Options/OptionsStrikesFilter/OptionsStrikesFilter.js","webpack://morganstanley-research/./src/components/Options/OptionsTable/OptionsTable.module.scss?b86c","components/Options/OptionsTable/OptionsTable.js","components/Options/OptionsTradeButton/OptionsTradeButton.js","services/APIs/CorporateActions/Dividends/DividendsAPI.js","services/APIs/Equities/Morningstar/Estimates/EstimatesAPI.js","services/APIs/Equities/Morningstar/FinancialRatios/FinancialRatiosAPI.js","services/APIs/Equities/Morningstar/FinancialStatements/FinancialStatementsAPI.js","services/APIs/MorganStanley/Peers/PeersAPI.js","services/APIs/Quote/QuoteAPI.js","services/APIs/Research/ResearchAPI.js","services/APIs/SecFilings/SecFilingsAPI.js","services/APIs/Xref/XrefAPI.js","store/actions/actionTypes.js","store/actions/quoteActions.js","store/actions/dividendsActions.js","store/actions/financialRatiosActions.js","store/actions/earningsEstimatesActions.js","store/actions/researchActions.js","store/actions/peerComparisonActions.js","store/actions/xrefActions.js","store/actions/dividendsGrowthRateActions.js","store/actions/actions.js","store/apiStates.js","utils/StateStorage.js","utils/constants.js","utils/featureFlags.js","utils/financialsEmptyColumns.js","utils/formatUtils.js","utils/paginationHelper.js","utils/stripUtilityQueryParams.js","utils/useBreakPoint.js","utils/utils.js","utils/vendor/mso-integrations-vendor-mod.js","../node_modules/@fortawesome/free-solid-svg-icons/index.es.js","../node_modules/@fortawesome/fontawesome-svg-core/index.es.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@hypnosphi/create-react-context/lib/implementation.js","../node_modules/@hypnosphi/create-react-context/lib/index.js","../node_modules/@markit/analytics-modcharts/dist/modcharts.esm.js","../node_modules/@markit/format/dist/format.esm.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/set.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-selection/src/selector.js","../node_modules/d3-selection/src/array.js","../node_modules/d3-selection/src/selectorAll.js","../node_modules/d3-selection/src/matcher.js","../node_modules/d3-selection/src/selection/selectChild.js","../node_modules/d3-selection/src/selection/selectChildren.js","../node_modules/d3-selection/src/selection/sparse.js","../node_modules/d3-selection/src/selection/enter.js","../node_modules/d3-selection/src/selection/data.js","../node_modules/d3-selection/src/selection/sort.js","../node_modules/d3-selection/src/namespaces.js","../node_modules/d3-selection/src/namespace.js","../node_modules/d3-selection/src/selection/attr.js","../node_modules/d3-selection/src/window.js","../node_modules/d3-selection/src/selection/style.js","../node_modules/d3-selection/src/selection/property.js","../node_modules/d3-selection/src/selection/classed.js","../node_modules/d3-selection/src/selection/text.js","../node_modules/d3-selection/src/selection/html.js","../node_modules/d3-selection/src/selection/raise.js","../node_modules/d3-selection/src/selection/lower.js","../node_modules/d3-selection/src/creator.js","../node_modules/d3-selection/src/selection/insert.js","../node_modules/d3-selection/src/selection/remove.js","../node_modules/d3-selection/src/selection/clone.js","../node_modules/d3-selection/src/selection/on.js","../node_modules/d3-selection/src/selection/dispatch.js","../node_modules/d3-selection/src/selection/iterator.js","../node_modules/d3-selection/src/selection/index.js","../node_modules/d3-selection/src/selection/select.js","../node_modules/d3-selection/src/selection/selectAll.js","../node_modules/d3-selection/src/selection/filter.js","../node_modules/d3-selection/src/constant.js","../node_modules/d3-selection/src/selection/exit.js","../node_modules/d3-selection/src/selection/join.js","../node_modules/d3-selection/src/selection/merge.js","../node_modules/d3-selection/src/selection/order.js","../node_modules/d3-selection/src/selection/call.js","../node_modules/d3-selection/src/selection/nodes.js","../node_modules/d3-selection/src/selection/node.js","../node_modules/d3-selection/src/selection/size.js","../node_modules/d3-selection/src/selection/empty.js","../node_modules/d3-selection/src/selection/each.js","../node_modules/d3-selection/src/selection/append.js","../node_modules/d3-selection/src/selection/datum.js","../node_modules/d3-selection/src/select.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-array/src/number.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-scale/src/init.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/max.js","../node_modules/d3-dispatch/src/dispatch.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-selection/src/pointer.js","../node_modules/d3-selection/src/sourceEvent.js","../node_modules/d3-timer/src/timer.js","../node_modules/d3-timer/src/timeout.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/index.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-zoom/src/constant.js","../node_modules/d3-zoom/src/event.js","../node_modules/d3-zoom/src/transform.js","../node_modules/d3-zoom/src/noevent.js","../node_modules/d3-zoom/src/zoom.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/@markit/modcharts/dist/modcharts.esm.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@sentry/utils/src/misc.ts","../node_modules/@sentry/utils/src/node.ts","../node_modules/@sentry/utils/src/time.ts","../node_modules/asap/browser-raw.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/call-bind/callBound.js","../node_modules/call-bind/index.js","../node_modules/chartist/dist/chartist.js","../node_modules/classnames/bind.js","../node_modules/classnames/index.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/a-map.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/a-set.js","../node_modules/core-js/internals/a-weak-map.js","../node_modules/core-js/internals/a-weak-set.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-instance.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/array-buffer-basic-detection.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/array-buffer-view-core.js","../node_modules/core-js/internals/array-buffer.js","../node_modules/core-js/internals/array-copy-within.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/internals/array-from-constructor-and-list.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/array-last-index-of.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/internals/array-reduce.js","../node_modules/core-js/internals/array-set-length.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-unique-by.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/collection-from.js","../node_modules/core-js/internals/collection-of.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/internals/collection-weak.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/composite-key.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/correct-is-regexp-logic.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/create-property.js","../node_modules/core-js/internals/date-to-primitive.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/delete-property-or-throw.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/does-not-exceed-safe-integer.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-ff-version.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/engine-is-bun.js","../node_modules/core-js/internals/engine-is-deno.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/error-stack-clear.js","../node_modules/core-js/internals/error-stack-install.js","../node_modules/core-js/internals/error-stack-installable.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/flatten-into-array.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-bind.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-clause.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-iterator-direct.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/get-json-replacer-function.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/get-set-record.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/host-report-errors.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/ieee754.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/install-error-cause.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/is-big-int-array.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/is-data-descriptor.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/is-integral-number.js","../node_modules/core-js/internals/is-iterable.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-pure.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/iterate-simple.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/iterator-close.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/map-helpers.js","../node_modules/core-js/internals/map-iterate.js","../node_modules/core-js/internals/math-expm1.js","../node_modules/core-js/internals/math-fround.js","../node_modules/core-js/internals/math-log10.js","../node_modules/core-js/internals/math-log1p.js","../node_modules/core-js/internals/math-scale.js","../node_modules/core-js/internals/math-sign.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/internals/normalize-string-argument.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/number-is-finite.js","../node_modules/core-js/internals/number-parse-float.js","../node_modules/core-js/internals/number-parse-int.js","../node_modules/core-js/internals/object-assign.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-external.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-extensible.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-prototype-accessors-forced.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/internals/observable-forced.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/internals/proxy-accessor.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/reflect-metadata.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-get-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/same-value-zero.js","../node_modules/core-js/internals/same-value.js","../node_modules/core-js/internals/schedulers-fix.js","../node_modules/core-js/internals/set-clone.js","../node_modules/core-js/internals/set-difference.js","../node_modules/core-js/internals/set-helpers.js","../node_modules/core-js/internals/set-intersection.js","../node_modules/core-js/internals/set-is-disjoint-from.js","../node_modules/core-js/internals/set-is-subset-of.js","../node_modules/core-js/internals/set-is-superset-of.js","../node_modules/core-js/internals/set-iterate.js","../node_modules/core-js/internals/set-size.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/set-symmetric-difference.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/set-union.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/species-constructor.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/string-pad-webkit-bug.js","../node_modules/core-js/internals/string-pad.js","../node_modules/core-js/internals/string-punycode-to-ascii.js","../node_modules/core-js/internals/string-repeat.js","../node_modules/core-js/internals/string-trim-end.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/internals/string-trim-start.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/symbol-define-to-primitive.js","../node_modules/core-js/internals/symbol-registry-detection.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/this-number-value.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-big-int.js","../node_modules/core-js/internals/to-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-offset.js","../node_modules/core-js/internals/to-positive-integer.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/to-set-like.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/to-uint8-clamped.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/typed-array-constructor.js","../node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","../node_modules/core-js/internals/typed-array-from-species-and-list.js","../node_modules/core-js/internals/typed-array-from.js","../node_modules/core-js/internals/typed-array-species-constructor.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/url-constructor-detection.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/validate-arguments-length.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/weak-map-helpers.js","../node_modules/core-js/internals/weak-set-helpers.js","../node_modules/core-js/internals/well-known-symbol-define.js","../node_modules/core-js/internals/well-known-symbol-wrapped.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/modules/es.aggregate-error.constructor.js","../node_modules/core-js/modules/es.aggregate-error.js","../node_modules/core-js/modules/es.array-buffer.constructor.js","../node_modules/core-js/modules/es.array-buffer.slice.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/modules/es.array.copy-within.js","../node_modules/core-js/modules/es.array.fill.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/modules/es.array.find-index.js","../node_modules/core-js/modules/es.array.find.js","../node_modules/core-js/modules/es.array.flat-map.js","../node_modules/core-js/modules/es.array.flat.js","../node_modules/core-js/modules/es.array.from.js","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.array.index-of.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.array.last-index-of.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/modules/es.array.of.js","../node_modules/core-js/modules/es.array.reduce-right.js","../node_modules/core-js/modules/es.array.reduce.js","../node_modules/core-js/modules/es.array.reverse.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/modules/es.array.species.js","../node_modules/core-js/modules/es.array.splice.js","../node_modules/core-js/modules/es.array.unscopables.flat-map.js","../node_modules/core-js/modules/es.array.unscopables.flat.js","../node_modules/core-js/modules/es.date.to-json.js","../node_modules/core-js/modules/es.date.to-primitive.js","../node_modules/core-js/modules/es.function.has-instance.js","../node_modules/core-js/modules/es.global-this.js","../node_modules/core-js/modules/es.json.stringify.js","../node_modules/core-js/modules/es.json.to-string-tag.js","../node_modules/core-js/modules/es.map.constructor.js","../node_modules/core-js/modules/es.map.js","../node_modules/core-js/modules/es.math.acosh.js","../node_modules/core-js/modules/es.math.asinh.js","../node_modules/core-js/modules/es.math.atanh.js","../node_modules/core-js/modules/es.math.cbrt.js","../node_modules/core-js/modules/es.math.clz32.js","../node_modules/core-js/modules/es.math.cosh.js","../node_modules/core-js/modules/es.math.expm1.js","../node_modules/core-js/modules/es.math.fround.js","../node_modules/core-js/modules/es.math.hypot.js","../node_modules/core-js/modules/es.math.log10.js","../node_modules/core-js/modules/es.math.log1p.js","../node_modules/core-js/modules/es.math.log2.js","../node_modules/core-js/modules/es.math.sign.js","../node_modules/core-js/modules/es.math.sinh.js","../node_modules/core-js/modules/es.math.tanh.js","../node_modules/core-js/modules/es.math.to-string-tag.js","../node_modules/core-js/modules/es.math.trunc.js","../node_modules/core-js/modules/es.number.constructor.js","../node_modules/core-js/modules/es.number.epsilon.js","../node_modules/core-js/modules/es.number.is-integer.js","../node_modules/core-js/modules/es.number.is-safe-integer.js","../node_modules/core-js/modules/es.number.max-safe-integer.js","../node_modules/core-js/modules/es.number.min-safe-integer.js","../node_modules/core-js/modules/es.number.parse-float.js","../node_modules/core-js/modules/es.number.parse-int.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/modules/es.object.define-getter.js","../node_modules/core-js/modules/es.object.define-properties.js","../node_modules/core-js/modules/es.object.define-property.js","../node_modules/core-js/modules/es.object.define-setter.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/core-js/modules/es.object.freeze.js","../node_modules/core-js/modules/es.object.from-entries.js","../node_modules/core-js/modules/es.object.get-own-property-descriptor.js","../node_modules/core-js/modules/es.object.get-own-property-descriptors.js","../node_modules/core-js/modules/es.object.get-own-property-names.js","../node_modules/core-js/modules/es.object.get-own-property-symbols.js","../node_modules/core-js/modules/es.object.get-prototype-of.js","../node_modules/core-js/modules/es.object.is-extensible.js","../node_modules/core-js/modules/es.object.is-frozen.js","../node_modules/core-js/modules/es.object.is-sealed.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/modules/es.object.lookup-getter.js","../node_modules/core-js/modules/es.object.lookup-setter.js","../node_modules/core-js/modules/es.object.prevent-extensions.js","../node_modules/core-js/modules/es.object.seal.js","../node_modules/core-js/modules/es.object.set-prototype-of.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/modules/es.object.values.js","../node_modules/core-js/modules/es.parse-float.js","../node_modules/core-js/modules/es.parse-int.js","../node_modules/core-js/modules/es.promise.all-settled.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.any.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/modules/es.promise.finally.js","../node_modules/core-js/modules/es.promise.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/modules/es.reflect.apply.js","../node_modules/core-js/modules/es.reflect.construct.js","../node_modules/core-js/modules/es.reflect.define-property.js","../node_modules/core-js/modules/es.reflect.delete-property.js","../node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","../node_modules/core-js/modules/es.reflect.get-prototype-of.js","../node_modules/core-js/modules/es.reflect.get.js","../node_modules/core-js/modules/es.reflect.has.js","../node_modules/core-js/modules/es.reflect.is-extensible.js","../node_modules/core-js/modules/es.reflect.own-keys.js","../node_modules/core-js/modules/es.reflect.prevent-extensions.js","../node_modules/core-js/modules/es.reflect.set-prototype-of.js","../node_modules/core-js/modules/es.reflect.set.js","../node_modules/core-js/modules/es.regexp.constructor.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/modules/es.regexp.flags.js","../node_modules/core-js/modules/es.regexp.to-string.js","../node_modules/core-js/modules/es.set.constructor.js","../node_modules/core-js/modules/es.set.js","../node_modules/core-js/modules/es.string.code-point-at.js","../node_modules/core-js/modules/es.string.ends-with.js","../node_modules/core-js/modules/es.string.from-code-point.js","../node_modules/core-js/modules/es.string.includes.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/modules/es.string.match-all.js","../node_modules/core-js/modules/es.string.match.js","../node_modules/core-js/modules/es.string.pad-end.js","../node_modules/core-js/modules/es.string.pad-start.js","../node_modules/core-js/modules/es.string.raw.js","../node_modules/core-js/modules/es.string.repeat.js","../node_modules/core-js/modules/es.string.replace-all.js","../node_modules/core-js/modules/es.string.replace.js","../node_modules/core-js/modules/es.string.search.js","../node_modules/core-js/modules/es.string.split.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/modules/es.string.trim-end.js","../node_modules/core-js/modules/es.string.trim-left.js","../node_modules/core-js/modules/es.string.trim-right.js","../node_modules/core-js/modules/es.string.trim-start.js","../node_modules/core-js/modules/es.string.trim.js","../node_modules/core-js/modules/es.symbol.async-iterator.js","../node_modules/core-js/modules/es.symbol.constructor.js","../node_modules/core-js/modules/es.symbol.description.js","../node_modules/core-js/modules/es.symbol.for.js","../node_modules/core-js/modules/es.symbol.has-instance.js","../node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","../node_modules/core-js/modules/es.symbol.iterator.js","../node_modules/core-js/modules/es.symbol.js","../node_modules/core-js/modules/es.symbol.key-for.js","../node_modules/core-js/modules/es.symbol.match.js","../node_modules/core-js/modules/es.symbol.replace.js","../node_modules/core-js/modules/es.symbol.search.js","../node_modules/core-js/modules/es.symbol.species.js","../node_modules/core-js/modules/es.symbol.split.js","../node_modules/core-js/modules/es.symbol.to-primitive.js","../node_modules/core-js/modules/es.symbol.to-string-tag.js","../node_modules/core-js/modules/es.symbol.unscopables.js","../node_modules/core-js/modules/es.typed-array.copy-within.js","../node_modules/core-js/modules/es.typed-array.every.js","../node_modules/core-js/modules/es.typed-array.fill.js","../node_modules/core-js/modules/es.typed-array.filter.js","../node_modules/core-js/modules/es.typed-array.find-index.js","../node_modules/core-js/modules/es.typed-array.find.js","../node_modules/core-js/modules/es.typed-array.float32-array.js","../node_modules/core-js/modules/es.typed-array.float64-array.js","../node_modules/core-js/modules/es.typed-array.for-each.js","../node_modules/core-js/modules/es.typed-array.from.js","../node_modules/core-js/modules/es.typed-array.includes.js","../node_modules/core-js/modules/es.typed-array.index-of.js","../node_modules/core-js/modules/es.typed-array.int16-array.js","../node_modules/core-js/modules/es.typed-array.int32-array.js","../node_modules/core-js/modules/es.typed-array.int8-array.js","../node_modules/core-js/modules/es.typed-array.iterator.js","../node_modules/core-js/modules/es.typed-array.join.js","../node_modules/core-js/modules/es.typed-array.last-index-of.js","../node_modules/core-js/modules/es.typed-array.map.js","../node_modules/core-js/modules/es.typed-array.of.js","../node_modules/core-js/modules/es.typed-array.reduce-right.js","../node_modules/core-js/modules/es.typed-array.reduce.js","../node_modules/core-js/modules/es.typed-array.reverse.js","../node_modules/core-js/modules/es.typed-array.set.js","../node_modules/core-js/modules/es.typed-array.slice.js","../node_modules/core-js/modules/es.typed-array.some.js","../node_modules/core-js/modules/es.typed-array.sort.js","../node_modules/core-js/modules/es.typed-array.to-locale-string.js","../node_modules/core-js/modules/es.typed-array.to-string.js","../node_modules/core-js/modules/es.typed-array.uint16-array.js","../node_modules/core-js/modules/es.typed-array.uint32-array.js","../node_modules/core-js/modules/es.typed-array.uint8-array.js","../node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","../node_modules/core-js/modules/es.weak-map.constructor.js","../node_modules/core-js/modules/es.weak-map.js","../node_modules/core-js/modules/es.weak-set.constructor.js","../node_modules/core-js/modules/es.weak-set.js","../node_modules/core-js/modules/esnext.aggregate-error.js","../node_modules/core-js/modules/esnext.array.last-index.js","../node_modules/core-js/modules/esnext.array.last-item.js","../node_modules/core-js/modules/esnext.composite-key.js","../node_modules/core-js/modules/esnext.composite-symbol.js","../node_modules/core-js/modules/esnext.global-this.js","../node_modules/core-js/modules/esnext.map.delete-all.js","../node_modules/core-js/modules/esnext.map.every.js","../node_modules/core-js/modules/esnext.map.filter.js","../node_modules/core-js/modules/esnext.map.find-key.js","../node_modules/core-js/modules/esnext.map.find.js","../node_modules/core-js/modules/esnext.map.from.js","../node_modules/core-js/modules/esnext.map.group-by.js","../node_modules/core-js/modules/esnext.map.includes.js","../node_modules/core-js/modules/esnext.map.key-by.js","../node_modules/core-js/modules/esnext.map.key-of.js","../node_modules/core-js/modules/esnext.map.map-keys.js","../node_modules/core-js/modules/esnext.map.map-values.js","../node_modules/core-js/modules/esnext.map.merge.js","../node_modules/core-js/modules/esnext.map.of.js","../node_modules/core-js/modules/esnext.map.reduce.js","../node_modules/core-js/modules/esnext.map.some.js","../node_modules/core-js/modules/esnext.map.update.js","../node_modules/core-js/modules/esnext.math.clamp.js","../node_modules/core-js/modules/esnext.math.deg-per-rad.js","../node_modules/core-js/modules/esnext.math.degrees.js","../node_modules/core-js/modules/esnext.math.fscale.js","../node_modules/core-js/modules/esnext.math.iaddh.js","../node_modules/core-js/modules/esnext.math.imulh.js","../node_modules/core-js/modules/esnext.math.isubh.js","../node_modules/core-js/modules/esnext.math.rad-per-deg.js","../node_modules/core-js/modules/esnext.math.radians.js","../node_modules/core-js/modules/esnext.math.scale.js","../node_modules/core-js/modules/esnext.math.seeded-prng.js","../node_modules/core-js/modules/esnext.math.signbit.js","../node_modules/core-js/modules/esnext.math.umulh.js","../node_modules/core-js/modules/esnext.number.from-string.js","../node_modules/core-js/modules/esnext.observable.constructor.js","../node_modules/core-js/modules/esnext.observable.from.js","../node_modules/core-js/modules/esnext.observable.js","../node_modules/core-js/modules/esnext.observable.of.js","../node_modules/core-js/modules/esnext.promise.all-settled.js","../node_modules/core-js/modules/esnext.promise.any.js","../node_modules/core-js/modules/esnext.promise.try.js","../node_modules/core-js/modules/esnext.reflect.define-metadata.js","../node_modules/core-js/modules/esnext.reflect.delete-metadata.js","../node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js","../node_modules/core-js/modules/esnext.reflect.get-metadata.js","../node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js","../node_modules/core-js/modules/esnext.reflect.get-own-metadata.js","../node_modules/core-js/modules/esnext.reflect.has-metadata.js","../node_modules/core-js/modules/esnext.reflect.has-own-metadata.js","../node_modules/core-js/modules/esnext.reflect.metadata.js","../node_modules/core-js/modules/esnext.set.add-all.js","../node_modules/core-js/modules/esnext.set.delete-all.js","../node_modules/core-js/modules/esnext.set.difference.js","../node_modules/core-js/modules/esnext.set.every.js","../node_modules/core-js/modules/esnext.set.filter.js","../node_modules/core-js/modules/esnext.set.find.js","../node_modules/core-js/modules/esnext.set.from.js","../node_modules/core-js/modules/esnext.set.intersection.js","../node_modules/core-js/modules/esnext.set.is-disjoint-from.js","../node_modules/core-js/modules/esnext.set.is-subset-of.js","../node_modules/core-js/modules/esnext.set.is-superset-of.js","../node_modules/core-js/modules/esnext.set.join.js","../node_modules/core-js/modules/esnext.set.map.js","../node_modules/core-js/modules/esnext.set.of.js","../node_modules/core-js/modules/esnext.set.reduce.js","../node_modules/core-js/modules/esnext.set.some.js","../node_modules/core-js/modules/esnext.set.symmetric-difference.js","../node_modules/core-js/modules/esnext.set.union.js","../node_modules/core-js/modules/esnext.string.at.js","../node_modules/core-js/modules/esnext.string.code-points.js","../node_modules/core-js/modules/esnext.string.match-all.js","../node_modules/core-js/modules/esnext.string.replace-all.js","../node_modules/core-js/modules/esnext.symbol.dispose.js","../node_modules/core-js/modules/esnext.symbol.observable.js","../node_modules/core-js/modules/esnext.symbol.pattern-match.js","../node_modules/core-js/modules/esnext.weak-map.delete-all.js","../node_modules/core-js/modules/esnext.weak-map.from.js","../node_modules/core-js/modules/esnext.weak-map.of.js","../node_modules/core-js/modules/esnext.weak-set.add-all.js","../node_modules/core-js/modules/esnext.weak-set.delete-all.js","../node_modules/core-js/modules/esnext.weak-set.from.js","../node_modules/core-js/modules/esnext.weak-set.of.js","../node_modules/core-js/modules/web.clear-immediate.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/modules/web.immediate.js","../node_modules/core-js/modules/web.queue-microtask.js","../node_modules/core-js/modules/web.set-immediate.js","../node_modules/core-js/modules/web.url-search-params.constructor.js","../node_modules/core-js/modules/web.url-search-params.js","../node_modules/core-js/modules/web.url.constructor.js","../node_modules/core-js/modules/web.url.js","../node_modules/core-js/modules/web.url.to-json.js","../node_modules/date-fns/esm/_lib/defaultLocale/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/locale/_lib/buildFormatLongFn/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/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/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/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/max/index.js","../node_modules/date-fns/esm/min/index.js","../node_modules/date-fns/esm/_lib/assign/index.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/deepmerge/dist/cjs.js","../node_modules/define-data-property/index.js","../node_modules/define-properties/index.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.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/events/events.js","../node_modules/fast-deep-equal/index.js","../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","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/history/esm/history.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/invariant/browser.js","../node_modules/is-arguments/index.js","../node_modules/is-date-object/index.js","../node_modules/is-regex/index.js","../node_modules/lodash.debounce/index.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_root.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/debounce.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/lodash.js","../node_modules/lodash/now.js","../node_modules/lodash/toNumber.js","../node_modules/moment-msdate/moment-msdate.js","../node_modules/moment-timezone/index.js","../node_modules/moment-timezone/moment-timezone.js","../node_modules/moment/moment.js","../node_modules/numeral/numeral.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/promise/lib/core.js","../node_modules/promise/lib/es6-extensions.js","../node_modules/promise/lib/rejection-tracking.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/isRequiredForA11y.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-app-polyfill/ie11.js","../node_modules/react-app-polyfill/node_modules/regenerator-runtime/runtime.js","../node_modules/react-app-polyfill/stable.js","../node_modules/react-bootstrap-typeahead/es/constants.js","../node_modules/react-bootstrap-typeahead/es/utils/getStringLabelKey.js","../node_modules/react-bootstrap-typeahead/es/utils/nodash.js","../node_modules/react-bootstrap-typeahead/es/utils/getOptionLabel.js","../node_modules/react-bootstrap-typeahead/es/utils/addCustomOption.js","../node_modules/react-bootstrap-typeahead/es/utils/getOptionProperty.js","../node_modules/react-bootstrap-typeahead/es/utils/stripDiacritics.js","../node_modules/react-bootstrap-typeahead/es/utils/warn.js","../node_modules/react-bootstrap-typeahead/es/utils/defaultFilterBy.js","../node_modules/react-bootstrap-typeahead/es/utils/getDisplayName.js","../node_modules/react-bootstrap-typeahead/es/utils/getMatchBounds.js","../node_modules/react-bootstrap-typeahead/es/utils/getHintText.js","../node_modules/react-bootstrap-typeahead/es/utils/getMenuItemId.js","../node_modules/react-bootstrap-typeahead/es/utils/getInputProps.js","../node_modules/react-bootstrap-typeahead/es/utils/getInputText.js","../node_modules/react-bootstrap-typeahead/es/utils/getIsOnlyResult.js","../node_modules/react-bootstrap-typeahead/es/utils/getTruncatedOptions.js","../node_modules/react-bootstrap-typeahead/es/utils/getUpdatedActiveIndex.js","../node_modules/react-bootstrap-typeahead/es/utils/isSelectable.js","../node_modules/react-bootstrap-typeahead/es/utils/preventInputBlur.js","../node_modules/react-bootstrap-typeahead/es/utils/size.js","../node_modules/react-bootstrap-typeahead/es/core/Context.js","../node_modules/react-bootstrap-typeahead/es/core/TypeaheadManager.js","../node_modules/react-bootstrap-typeahead/es/propTypes.js","../node_modules/react-bootstrap-typeahead/es/core/Typeahead.js","../node_modules/react-bootstrap-typeahead/es/utils/validateSelectedPropChange.js","../node_modules/react-bootstrap-typeahead/es/utils/isShown.js","../node_modules/react-bootstrap-typeahead/es/behaviors/async.js","../node_modules/react-bootstrap-typeahead/es/components/ClearButton.js","../node_modules/react-bootstrap-typeahead/es/components/Loader.js","../node_modules/react-bootstrap-typeahead/es/components/Overlay.js","../node_modules/react-bootstrap-typeahead/es/behaviors/token.js","../node_modules/react-bootstrap-typeahead/es/components/Token.js","../node_modules/react-bootstrap-typeahead/es/components/Hint.js","../node_modules/react-bootstrap-typeahead/es/components/Input.js","../node_modules/react-bootstrap-typeahead/es/behaviors/classNames.js","../node_modules/react-bootstrap-typeahead/es/components/TypeaheadInputMulti.js","../node_modules/react-bootstrap-typeahead/es/components/TypeaheadInputSingle.js","../node_modules/react-bootstrap-typeahead/es/components/Highlighter.js","../node_modules/compute-scroll-into-view/src/index.ts","../node_modules/scroll-into-view-if-needed/es/index.js","../node_modules/react-bootstrap-typeahead/es/behaviors/item.js","../node_modules/react-bootstrap-typeahead/es/components/MenuItem.js","../node_modules/react-bootstrap-typeahead/es/components/Menu.js","../node_modules/react-bootstrap-typeahead/es/components/TypeaheadMenu.js","../node_modules/react-bootstrap-typeahead/es/components/Typeahead.js","../node_modules/react-bootstrap-typeahead/es/components/AsyncTypeahead.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/dom-helpers/esm/matches.js","../node_modules/@restart/hooks/esm/useGlobalListener.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-overlays/esm/DropdownContext.js","../node_modules/react-overlays/esm/DropdownMenu.js","../node_modules/react-overlays/esm/DropdownToggle.js","../node_modules/react-overlays/esm/Dropdown.js","../node_modules/react-bootstrap/esm/SelectableContext.js","../node_modules/react-bootstrap/esm/NavContext.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormFileInput.js","../node_modules/react-bootstrap/esm/FormFileLabel.js","../node_modules/react-bootstrap/esm/FormFile.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/dom-helpers/esm/isWindow.js","../node_modules/dom-helpers/esm/isDocument.js","../node_modules/react-overlays/esm/isOverflowing.js","../node_modules/react-overlays/esm/manageAriaHidden.js","../node_modules/react-overlays/esm/ModalManager.js","../node_modules/react-overlays/esm/Modal.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/react-overlays/esm/Overlay.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/SafeAnchor.js","../node_modules/react-bootstrap/esm/Table.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/usePopperMarginModifiers.js","../node_modules/react-chartist/dist/index.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-gtm-module/dist/Snippets.js","../node_modules/react-gtm-module/dist/TagManager.js","../node_modules/react-gtm-module/dist/index.js","../node_modules/react-gtm-module/dist/utils/warn.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-lines-ellipsis/lib/common.js","../node_modules/react-lines-ellipsis/lib/helpers.js","../node_modules/react-lines-ellipsis/lib/index.js","../node_modules/react-lines-ellipsis/lib/responsiveHOC.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/react-overlays/esm/mergeOptionsWithPopperConfig.js","../node_modules/react-overlays/esm/safeFindDOMNode.js","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../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/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.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/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.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/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.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/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/react-overlays/esm/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/react-overlays/esm/usePopper.js","../node_modules/react-overlays/esm/useRootClose.js","../node_modules/react-overlays/esm/ownerDocument.js","../node_modules/react-overlays/esm/useWaitForDOMRef.js","../node_modules/react-popper/lib/esm/Manager.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/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/node_modules/deep-equal/index.js","../node_modules/react-query/devtools/index.js","../node_modules/react-query/es/core/focusManager.js","../node_modules/react-query/es/core/logger.js","../node_modules/react-query/es/core/notifyManager.js","../node_modules/react-query/es/core/onlineManager.js","../node_modules/react-query/es/core/query.js","../node_modules/react-query/es/core/queryCache.js","../node_modules/react-query/es/core/mutation.js","../node_modules/react-query/es/core/mutationCache.js","../node_modules/react-query/es/core/infiniteQueryBehavior.js","../node_modules/react-query/es/core/queryClient.js","../node_modules/react-query/es/core/retryer.js","../node_modules/react-query/es/core/subscribable.js","../node_modules/react-query/es/core/utils.js","../node_modules/react-query/es/react/reactBatchedUpdates.js","../node_modules/react-query/es/react/setBatchUpdatesFn.js","../node_modules/react-query/es/react/logger.js","../node_modules/react-query/es/react/setLogger.js","../node_modules/react-query/es/react/QueryClientProvider.js","../node_modules/react-query/es/core/queryObserver.js","../node_modules/react-query/es/react/QueryErrorResetBoundary.js","../node_modules/react-query/es/react/useQuery.js","../node_modules/react-query/es/react/useBaseQuery.js","../node_modules/react-query/es/react/utils.js","../node_modules/react-query/es/core/queriesObserver.js","../node_modules/react-query/es/react/useQueries.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.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/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/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/hooks.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/react-text-mask/dist/reactTextMask.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/reduxsauce/dist/reduxsauce.js","../node_modules/reduxsauce/node_modules/ramda/src/any.js","../node_modules/reduxsauce/node_modules/ramda/src/anyPass.js","../node_modules/reduxsauce/node_modules/ramda/src/bind.js","../node_modules/reduxsauce/node_modules/ramda/src/curry.js","../node_modules/reduxsauce/node_modules/ramda/src/curryN.js","../node_modules/reduxsauce/node_modules/ramda/src/empty.js","../node_modules/reduxsauce/node_modules/ramda/src/equals.js","../node_modules/reduxsauce/node_modules/ramda/src/filter.js","../node_modules/reduxsauce/node_modules/ramda/src/fromPairs.js","../node_modules/reduxsauce/node_modules/ramda/src/has.js","../node_modules/reduxsauce/node_modules/ramda/src/hasPath.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_arity.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_arrayFromIterator.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_checkForMethod.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_complement.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_curry1.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_curry2.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_curry3.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_curryN.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_dispatchable.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_equals.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_filter.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_functionName.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_has.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_includes.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_includesWith.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_indexOf.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isArguments.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isArray.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isArrayLike.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isFunction.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isInteger.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isObject.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isPlaceholder.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isString.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_isTransformer.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_map.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_objectAssign.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_objectIs.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_pipe.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_quote.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_reduce.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_reduced.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_toISOString.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_toString.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_xany.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_xfBase.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_xfilter.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_xmap.js","../node_modules/reduxsauce/node_modules/ramda/src/internal/_xwrap.js","../node_modules/reduxsauce/node_modules/ramda/src/invoker.js","../node_modules/reduxsauce/node_modules/ramda/src/is.js","../node_modules/reduxsauce/node_modules/ramda/src/isEmpty.js","../node_modules/reduxsauce/node_modules/ramda/src/isNil.js","../node_modules/reduxsauce/node_modules/ramda/src/join.js","../node_modules/reduxsauce/node_modules/ramda/src/keys.js","../node_modules/reduxsauce/node_modules/ramda/src/map.js","../node_modules/reduxsauce/node_modules/ramda/src/mapObjIndexed.js","../node_modules/reduxsauce/node_modules/ramda/src/max.js","../node_modules/reduxsauce/node_modules/ramda/src/merge.js","../node_modules/reduxsauce/node_modules/ramda/src/nth.js","../node_modules/reduxsauce/node_modules/ramda/src/path.js","../node_modules/reduxsauce/node_modules/ramda/src/paths.js","../node_modules/reduxsauce/node_modules/ramda/src/pick.js","../node_modules/reduxsauce/node_modules/ramda/src/pipe.js","../node_modules/reduxsauce/node_modules/ramda/src/pluck.js","../node_modules/reduxsauce/node_modules/ramda/src/prop.js","../node_modules/reduxsauce/node_modules/ramda/src/reduce.js","../node_modules/reduxsauce/node_modules/ramda/src/reject.js","../node_modules/reduxsauce/node_modules/ramda/src/replace.js","../node_modules/reduxsauce/node_modules/ramda/src/slice.js","../node_modules/reduxsauce/node_modules/ramda/src/split.js","../node_modules/reduxsauce/node_modules/ramda/src/tail.js","../node_modules/reduxsauce/node_modules/ramda/src/toString.js","../node_modules/reduxsauce/node_modules/ramda/src/toUpper.js","../node_modules/reduxsauce/node_modules/ramda/src/trim.js","../node_modules/reduxsauce/node_modules/ramda/src/type.js","../node_modules/reduxsauce/node_modules/ramda/src/zipObj.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/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/text-mask-addons/dist/createNumberMask.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/url-search-params-polyfill/index.js","../node_modules/warning/warning.js","../node_modules/whatwg-fetch/fetch.js","webpack://morganstanley-research/./src/components/Lib/MSDropdown/MSDropdown.module.scss?b521","webpack://morganstanley-research/./src/components/MarketsAndResearch/Overview/PeerComparisonCard/PeerComparisonCard.module.scss?bb8e","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.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/@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","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/harmony module decorator","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","serviceWorker.js","../node_modules/redux/es/redux.js","store/apiTransitionUtils.js","store/reducers/optionsReducer.js","store/reducers/quoteReducer.js","store/reducers/equitiesReducer.js","store/reducers/researchReducer.js","store/reducers/marketsAndResearchAppReducer.js","store/reducers/xrefReducer.js","store/reducers/corporateActionsReducer.js","store/reducers/dividendsGrowthRateReducer.js","store/reducers/index.js","../node_modules/redux-thunk/es/index.js","store/configureStore.js","index.js"],"sourcesContent":["var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgDowngradeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"21px\",\n viewBox: \"0 0 20 21\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Red-Arrow-Down\",\n transform: \"translate(-2.000000, -1.272373)\",\n fill: \"#AA0000\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,1.5 C17.5228475,1.5 22,5.9771525 22,11.5 C22,17.0228475 17.5228475,21.5 12,21.5 C6.4771525,21.5 2,17.0228475 2,11.5 C2,5.9771525 6.4771525,1.5 12,1.5 Z M14,6.5 L10,6.5 L10,12.5 L7,12.5 L12,17.5 L17,12.5 L14,12.5 L14,6.5 Z\",\n id: \"Icon\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDowngradeIcon);\nexport default __webpack_public_path__ + \"static/media/downgrade-icon.ae4553689d4fa0d723c200b2298d6ae6.svg\";\nexport { ForwardRef as ReactComponent };","var _desc, _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgNoActivity(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"80px\",\n height: \"64px\",\n viewBox: \"0 0 80 64\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Icons / To Be Added in KS / No activity xl\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons-/-To-Be-Added-in-KS-/-No-activity-xl\",\n transform: \"translate(-26.000000, -34.000000)\",\n fill: \"#333333\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.0082305,34 C92.5536969,34 92.9958848,34.3097689 92.9958848,34.6918882 L92.995,45.296 L105.871917,70.7867281 C105.935499,70.8980562 105.977808,71.0229516 105.993355,71.1559582 C105.997754,71.2005501 106,71.2386321 106,71.2768461 L106,97.0185958 C106,97.5606104 105.557812,98 105.012346,98 L26.9876543,98 C26.4421879,98 26,97.5606104 26,97.0185958 L26,71.2768461 L26.006692,71.1627928 L26.006692,71.1627928 L26,71.2704107 C26,71.0945442 26.0465533,70.9294821 26.1280829,70.7867281 L39.004,45.296 L39.0041152,34.6918882 C39.0041152,34.3097689 39.4463031,34 39.9917695,34 L92.0082305,34 Z M52.0082305,72.2518149 L27.975,72.251 L27.9753086,96.0371916 L104.024691,96.0371916 L104.024,72.251 L79.9917695,72.2518149 L79.9917695,81.5671105 C79.9917695,82.1091251 79.5495816,82.5485147 79.0041152,82.5485147 L52.9958848,82.5485147 C52.4504184,82.5485147 52.0082305,82.1091251 52.0082305,81.5671105 L52.0082305,72.2518149 Z M91.0205761,35.3837765 L40.9794239,35.3837765 L40.979,70.289 L52.9958848,70.2890065 C53.5413512,70.2890065 53.9835391,70.7283961 53.9835391,71.2704107 L53.9835391,80.5857063 L78.0164609,80.5857063 L78.0164609,71.2704107 C78.0164609,70.7283961 78.4586488,70.2890065 79.0041152,70.2890065 L91.02,70.289 L91.0205761,35.3837765 Z M92.995,49.923 L92.995,70.289 L103.401,70.289 L92.995,49.923 Z M39.004,70.289 L39.004,49.928 L28.598,70.289 L39.004,70.289 Z\",\n id: \"Icon\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoActivity);\nexport default __webpack_public_path__ + \"static/media/no-activity.0846bf90ee9e68e037315f20df25d560.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgNoChangeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"20px\",\n viewBox: \"0 0 21 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-100\",\n transform: \"translate(0.500000, 0.000000)\",\n stroke: \"#979797\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-path\",\n cx: 10,\n cy: 10,\n r: 9\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 16.5,\n y1: 5,\n x2: 3,\n y2: 15.5,\n id: \"Line-6\",\n strokeLinecap: \"square\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoChangeIcon);\nexport default __webpack_public_path__ + \"static/media/no-change-icon.2aae52972f272c9ff3d155d941549ee0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgQuestion(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1.5em\",\n height: \"1.5em\",\n viewBox: \"0 0 16 16\",\n className: \"bi bi-question-circle\",\n fill: \"#187ABA\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.25 6.033h1.32c0-.781.458-1.384 1.36-1.384.685 0 1.313.343 1.313 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.007.463h1.307v-.355c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.326 0-2.786.647-2.754 2.533zm1.562 5.516c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuestion);\nexport default __webpack_public_path__ + \"static/media/question.ba5e082ad8fe4993d6a5ae734a142ea4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgUpgradeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"21px\",\n viewBox: \"0 0 20 21\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Green-Arrow-up\",\n transform: \"translate(-2.000000, -1.000000)\",\n fill: \"#006600\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,1.5 C17.5228475,1.5 22,5.9771525 22,11.5 C22,17.0228475 17.5228475,21.5 12,21.5 C6.4771525,21.5 2,17.0228475 2,11.5 C2,5.9771525 6.4771525,1.5 12,1.5 Z M12,6.5 L7,11.5 L10,11.5 L10,17.5 L14,17.5 L14,11.5 L17,11.5 L12,6.5 Z\",\n id: \"Icon\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpgradeIcon);\nexport default __webpack_public_path__ + \"static/media/upgrade-icon.594c681673b2c4cbcfe8e9800c6155b2.svg\";\nexport { ForwardRef as ReactComponent };","import formatter from \"../../utils/formatUtils\";\nconst today = formatter.moment().year();\n\nexport default {\n\tALL_PROVIDERS: \"All Providers\",\n\tALL_REPORTS: \"All Reports\",\n\tAPPLY: \"Apply\",\n\tAUDIO: \"Audio\",\n\tCANCEL: \"Cancel\",\n\tCOMPANY_SPECIFIC: \"Company Specific\",\n\tCUSTOM_DATE: \"Custom Date\",\n\tDATE_SELECTION: \"Date Selection\",\n\tDISCLOSURES_P1:\n\t\t\"The information and data contained herein does not provide individually tailored investment advice. It has been prepared without regard to the individual financial circumstances and objectives of persons who receive it. Morgan Stanley\tWealth Management Canada Inc. (MSWC) recommends that investors independently evaluate particular investments and strategies, and encourages investors to seek\tthe advice of a financial advisor. The appropriateness of a particular investment or strategy will depend on an investor’s individual circumstances and objectives.\",\n\tDISCLOSURES_P2:\n\t\t\"The research reports that appear on this website are provided by third parties for information purposes only. These research reports do not provide individually tailored investment advice and are prepared without regard to your individual financial circumstances and objectives. The securities and strategies discussed in any report may not be appropriate for you. Your decision to buy,\thold or sell a security should depend on your individual circumstances (such as\tyour investment objectives and experience, time horizon, liquidity needs,\tfinancial situation and existing holdings) and other considerations. We\trecommend that you independently evaluate particular investments and strategies, and encourage you to seek the advice of a financial adviser. The research reports presented are not prepared subject to Canadian disclosure requirements.\",\n\tDISCLOSURES_P3:\n\t\t\"By providing a link to a third party article, MSWC is not implying an affiliation, sponsorship, endorsement, etc. with the third party. MSWC is not responsible for the information contained in the third party article. The opinions expressed by the author are solely their own and do not necessarily reflect those of MSWC. Securities, investments, strategies or products mentioned or discussed in the third party article are neither an endorsement nor solicitation by MSWC. The information and data provided by the third party web site or publication is as of the date of the article when it was written and is\tsubject to change without notice. Past performance is not a guarantee of future results.\",\n\tDISCLOSURES_P4: `© Thomson Reuters ${today}. All Rights Reserved.`,\n\tDISCLOSURES_P5:\n\t\t\"Thomson Reuters content is the intellectual property of Thomson Reuters or its\tthird party content providers. Republication or redistribution of Thomson Reuters content, including by framing or similar means, is prohibited without the prior written consent of Thomson Reuters. Thomson Reuters is not liable for any errors or delays in Thomson Reuters content, or for any actions taken in reliance on such content. 'Thomson Reuters' and the Thomson Reuters logo are trademarks of Thomson Reuters and its affiliated companies.\",\n\tDISCLOSURES_P6:\n\t\t\"The research reports and the information and data derived from such reports that are included on this website are provided for information purposes only. This content is not a solicitation of any offer to buy or sell any security or other financial instrument or to participate in any trading strategy. It is not individually tailored investment advice and is prepared and made available on this website without regard to your individual financial circumstances and objectives. The securities and strategies discussed or referred to in this content may not be appropriate for you. Your decision to buy, hold or sell a security should depend on your individual circumstances (such as your investment objectives and experience, time horizon, liquidity needs, financial situation and existing holdings) and other considerations. We recommend that you independently evaluate particular investments and strategies, and encourage you to seek the advice of your Financial Advisor. Please see the relevant research report for important disclosures. Morgan Stanley is an affiliate of Morgan Stanley Smith Barney LLC.\",\n\tDISCLOSURES_P7:\n\t\t\"Past performance is not a guarantee of future results. Indexes are unmanaged and not available for direct investment. For illustrative purposes only and does not reflect any specific product\",\n\tENTER_KEYWORDS: \"Enter keywords\",\n\tENTER_SEARCH_SYMBOL: \"Enter search symbol\",\n\tFILTERS: \"Filters\",\n\tFOR: \"for\",\n\tFROM: \"From\",\n\tKEYWORD_SEARCH: \"Keyword Search\",\n\tLAST_7_DAYS: \"Last 7 Days\",\n\tLAST_30_DAYS: \"Last 30 Days\",\n\tLAST_3_MONTHS: \"Last 3 Months\",\n\tLAST_6_MONTHS: \"Last 6 Months\",\n\tLAST_12_MONTHS: \"Last 12 Months\",\n\tLATEST_RESEARCH: \"Latest Research\",\n\tMARKET_RESEARCH: \"Market Research\",\n\tMARKET_RESEARCH_WITH_SYMBOL: \"All Research for \",\n\tNEXT_PAGE: \"Next Page\",\n\tOF: \"of\",\n\tPREVIOUS_PAGE: \"Previous Page\",\n\tPROVIDER: \"Provider\",\n\tRECENT_SEARCHES: \"Recent Searches\",\n\tREPORT_TYPE: \"Report Type\",\n\tRESEARCH: \"Research\",\n\tRESET: \"Reset\",\n\tRESET_FILTERS: \"Reset Filters\",\n\tSELECT_CUSTOM_DATE_RANGE: \"Select Custom Date Range\",\n\tSHOW_HEADLINE_ONLY: \"Show Headline Only\",\n\tSKIP_TO_BEGINNING: \"Skip to Beginning\",\n\tSKIP_TO_END: \"Skip to End\",\n\tSOURCE: \"Source\",\n\tSYMBOL_SEARCH: \"Symbol Search\",\n\tTHERE_ARE_NO_RESEARCH_REPORTS_AVAILABLE: \"There are no research reports available\",\n\tTHERE_ARE_NO_REPORTS_TIMEFRAME: \"within the selected timeframe\",\n\tTO: \"To\",\n\tTODAY: \"Today\",\n\tVIDEO: \"Video\",\n\tVIEW_FILTERS: \"View Filters\",\n\tYESTERDAY: \"Yesterday\",\n};\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon\",\n transform: \"translate(-4.000000, -4.000000)\",\n fill: \"#333333\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.69207527,4.29031422 L12,10.598 L18.3079247,4.29031422 C18.6652345,3.93300441 19.227471,3.90551904 19.616308,4.20785811 L19.7096858,4.29031422 C20.0967714,4.67739984 20.0967714,5.30498964 19.7096858,5.69207527 L19.7096858,5.69207527 L13.402,12 L19.7096858,18.3079247 C20.0967714,18.6950104 20.0967714,19.3226002 19.7096858,19.7096858 C19.3226002,20.0967714 18.6950104,20.0967714 18.3079247,19.7096858 L12,13.402 L5.69207527,19.7096858 C5.33476546,20.0669956 4.77252902,20.094481 4.38369204,19.7921419 L4.29031422,19.7096858 C3.90322859,19.3226002 3.90322859,18.6950104 4.29031422,18.3079247 L4.29031422,18.3079247 L10.598,12 L4.29031422,5.69207527 C3.90322859,5.30498964 3.90322859,4.67739984 4.29031422,4.29031422 C4.67739984,3.90322859 5.30498964,3.90322859 5.69207527,4.29031422 Z\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/Close.1a41149080b1918644264b8c9b3441af.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"Options_modal-backdrop__D0GoM\",\"show\":\"Options_show__Ar3Vr\",\"LinesEllipsis\":\"Options_LinesEllipsis__jEoSH\",\"layout\":\"Options_layout__iMtWY\",\"layoutFilters\":\"Options_layoutFilters__xQDdy\",\"layoutFiltersStrikes\":\"Options_layoutFiltersStrikes__d1VBp\",\"layoutFiltersLegend\":\"Options_layoutFiltersLegend__lD4uo\",\"layoutFiltersToggles\":\"Options_layoutFiltersToggles__vGlwL\",\"layoutFiltersExpirations\":\"Options_layoutFiltersExpirations__3U9hm\",\"layoutMobileOptionsView\":\"Options_layoutMobileOptionsView__AmIaF\",\"layoutMobileFilters\":\"Options_layoutMobileFilters__gTF15\",\"layoutNoScroll\":\"Options_layoutNoScroll__X+d6s\",\"content\":\"Options_content__JPGTA\",\"header\":\"Options_header__D4MRS\",\"tradeButton\":\"Options_tradeButton__f30UX\",\"optionChainTitle\":\"Options_optionChainTitle__OoKBP\"};","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"QuoteBar_modal-backdrop__UjCIv\",\"show\":\"QuoteBar_show__CKng+\",\"LinesEllipsis\":\"QuoteBar_LinesEllipsis__2dbD9\",\"quoteContainer\":\"QuoteBar_quoteContainer__JZUC-\",\"quoteContainerSymbol\":\"QuoteBar_quoteContainerSymbol__mDKbW\",\"quoteContainerTimestamp\":\"QuoteBar_quoteContainerTimestamp__R0CPv\",\"mrQuoteContainer\":\"QuoteBar_mrQuoteContainer__xLtb0\",\"exchangeHeaderContainer\":\"QuoteBar_exchangeHeaderContainer__zPxoO\",\"mrSymbolBase\":\"QuoteBar_mrSymbolBase__Jikeu\",\"mrSymbolBold\":\"QuoteBar_mrSymbolBold__96l9y\",\"mrContainerItem\":\"QuoteBar_mrContainerItem__Smq5H\",\"symbolContainer\":\"QuoteBar_symbolContainer__NaUo7\",\"symbolFooterInfo\":\"QuoteBar_symbolFooterInfo__+jMHD\",\"exchangeName\":\"QuoteBar_exchangeName__v1wH0\",\"delayedText\":\"QuoteBar_delayedText__2lmIA\",\"mrItems\":\"QuoteBar_mrItems__L624G\"};","import React, { PureComponent } from \"react\";\nimport { Tooltip, OverlayTrigger } from \"react-bootstrap\";\n\nimport formatter from \"utils/formatUtils\";\nimport Utils from \"utils/utils\";\nimport HeaderValue from \"components/Lib/HeaderValue/HeaderValue\";\nimport MSSpinner from \"components/Lib/MSSpinner/MSSpinner\";\n\nimport styles from \"./QuoteBar.module.scss\";\n\nexport class QuoteBar extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t};\n\t}\n\n\tgetPriceChangeColor(data) {\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\t//default color will be taken by default font color of the app\n\t\tlet color;\n\t\tif ((data.priceChange && Number(data.percentChange)) > 0) {\n\t\t\tcolor = \"success\";\n\t\t} else if ((data.priceChange && Number(data.percentChange)) < 0) {\n\t\t\tcolor = \"alert\";\n\t\t}\n\n\t\treturn color;\n\t}\n\n\tgetHeaderValueItems(data) {\n\t\tif (!data) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// placeholder for HeaderValue elements\n\t\tconst headerItems = [];\n\t\tconst color = this.getPriceChangeColor(data);\n\n\t\t[\n\t\t\t{\n\t\t\t\tid: \"quoteContainer_last\",\n\t\t\t\theader: \"Last\",\n\t\t\t\tvalue: data.lastPrice,\n\t\t\t\thideHeader: this.props.isMobile,\n\t\t\t\tsetBold: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"quoteContainer_change\",\n\t\t\t\theader: \"Today's change\",\n\t\t\t\tvalue: `${formatter.price(data.priceChange)} / ${formatter.percent(\n\t\t\t\t\tdata.percentChange,\n\t\t\t\t\t2,\n\t\t\t\t\t{\n\t\t\t\t\t\tpercentModifier: 0.01,\n\t\t\t\t\t}\n\t\t\t\t)}`,\n\t\t\t\thideHeader: this.props.isMobile,\n\t\t\t\tsetColor: color,\n\t\t\t\tsetBold: !this.props.isMobile,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"quoteContainer_bid\",\n\t\t\t\theader: \"Bid\",\n\t\t\t\tvalue: `${formatter.price(data.bid, this.props.isMobile ? 0 : 2)}`,\n\t\t\t\thideHeader: this.props.isMobile,\n\t\t\t\tsetBold: !this.props.isMobile,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"quoteContainer_ask\",\n\t\t\t\theader: \"Ask\",\n\t\t\t\tvalue: `${formatter.price(data.ask, this.props.isMobile ? 0 : 2)}`,\n\t\t\t\thideHeader: this.props.isMobile,\n\t\t\t\tsetBold: !this.props.isMobile,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"quoteContainer_volume\",\n\t\t\t\theader: \"Volume\",\n\t\t\t\tvalue: formatter.number(data.volume),\n\t\t\t\thideHeader: this.props.isMobile,\n\t\t\t\tsetBold: !this.props.isMobile,\n\t\t\t},\n\t\t].forEach((data) => {\n\t\t\tconst excludeForMobile =\n\t\t\t\tthis.props.isMobile &&\n\t\t\t\t(data.id === \"quoteContainer_bid\" || data.id === \"quoteContainer_ask\");\n\n\t\t\tif (!excludeForMobile) {\n\t\t\t\theaderItems.push();\n\t\t\t}\n\t\t});\n\n\t\treturn headerItems;\n\t}\n\n\tisWindowWidthExtraLarge() {\n\t\treturn this.state.width > 1140;\n\t}\n\n\trender() {\n\t\tconst quoteItems = this.getHeaderValueItems(this.props.quoteData);\n\n\t\tconst realTimeQuoteIndicator = this.props.quoteData?.realTimeQuoteIndicator;\n\t\tconst isAfterHours =\n\t\t\tUtils.isRealtimeNasdaqUser(this.props.userInfo) && !realTimeQuoteIndicator;\n\n\t\tconst quoteDate = this.props.quoteData?.quoteDate;\n\t\tconst asOfQuoteTime = this.props.quoteData?.quoteDelayMinutes;\n\t\tlet realtimeDelayedHeader = Utils.isRealtimeNasdaqUser(this.props.userInfo)\n\t\t\t? \"Real Time as of \"\n\t\t\t: `Delayed by at least ${asOfQuoteTime} minutes. As of `;\n\n\t\tconst tooltipID = \"options-quote-desc\";\n\t\tlet symbolOverlay = (\n\t\t\t{this.props.symbol}}\n\t\t\t\ttrigger={Utils.toolTipTrigger()}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{this.props.xrefName}\n\t\t\t\t\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{this.props.symbol} \n\t\t\t\t\t\t\t{symbolOverlay}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{!isAfterHours && {realtimeDelayedHeader}}\n\t\t\t\t\t\t\t{quoteDate}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{quoteItems}\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default QuoteBar;\n","import React, { Component } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport {\n\tOPTION_PAGE_VIEW_TYPE_MODAL,\n\tURLS,\n\tOPTION_PAGE_VIEW_TYPE_DESKTOP,\n\tOPTION_VIEW_TYPE_CALL_AND_PUT,\n\tOPTION_VIEW_TYPE_CALL,\n\tOPTION_VIEW_TYPE_PUT,\n} from \"../../utils/constants\";\nimport Utils from \"../../utils/utils\";\nimport actionTypes from \"../../store/actions/actionTypes\";\nimport ActionCreators from \"../../store/actions/actions\";\nimport \"url-search-params-polyfill\";\n\nimport XrefAPI from \"services/APIs/Xref/XrefAPI\";\nimport QuoteAPIUtils from \"services/APIs/Quote/QuoteAPI\";\n\nimport Drawer from \"../Lib/Drawer/Drawer\";\nimport OptionsTradeButton from \"./OptionsTradeButton/OptionsTradeButton\";\n\nimport styles from \"./Options.module.scss\";\nimport QuoteBar from \"./QuoteBar/QuoteBar\";\nimport OptionsStrikesFilter from \"./OptionsStrikesFilter/OptionsStrikesFilter\";\nimport ExpirationDatesFilter from \"./ExpirationDateFilter/ExpirationDatesFilter\";\nimport OptionsTable from \"./OptionsTable/OptionsTable\";\nimport MonthlyExpirationToggle from \"./MonthlyExpirationToggle/MonthlyExpirationToggle\";\nimport MonthlyExpirationButton from \"./MonthlyExpirationButton/MonthlyExpirationButton\";\nimport MonthlyExpirationMenu from \"./MonthlyExpirationMenu/MonthlyExpirationMenu\";\nimport RealTimeBanner from \"../Lib/RealTimeBanner/RealTimeBanner\";\nimport MSSpinner from \"components/Lib/MSSpinner/MSSpinner\";\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\n\nexport class Options extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.timer = null;\n\t\tthis.state = {\n\t\t\txrefData: null,\n\t\t\tquoteData: null,\n\t\t\tnoScroll: false, // scroll lock flag\n\t\t\tdrawerMonthly: false, // drawer flags\n\t\t\tdrawerStrikes: false, // drawer flags\n\t\t};\n\t\tthis.toggleDrawerStrikes = this.toggleDrawerStrikes.bind(this);\n\t\tthis.toggleDrawerMonthly = this.toggleDrawerMonthly.bind(this);\n\t\tthis.toggleDrawerTrade = this.toggleDrawerTrade.bind(this);\n\t\tthis.loadBanner = false;\n\t}\n\n\tasync componentDidMount() {\n\t\tconst query = new URLSearchParams(this.props.location.search);\n\t\tconst symbol = query.get(\"symbol\");\n\n\t\t/*\n\t\t\tMS is not setting viewType to \"modal\" for the Trade Modal integration, so\n\t\t\twe need to default to \"modal\".\n\n\t\t\tPossible values are: modal, desktop, mobile\n\t\t*/\n\t\tlet viewType = query.get(\"viewType\").toLowerCase() || OPTION_PAGE_VIEW_TYPE_MODAL;\n\n\t\tconst optionViewType = query.get(\"optionType\")\n\t\t\t? query.get(\"optionType\").toLowerCase()\n\t\t\t: null; // call, put, callandput\n\t\tconst queryMspi = query.get(\"mspi\");\n\n\t\tif (window?.MD?.ENV !== \"localhost\") {\n\t\t\tawait this.checkForSession(queryMspi);\n\t\t}\n\n\t\tthis.props.dispatchUpdateOptionsPageParams({ symbol, viewType, optionViewType });\n\t}\n\n\tasync componentDidUpdate(prevProps, prevState) {\n\t\tif (this.shouldFetchXref(prevProps)) {\n\t\t\tawait this.fetchXrefData();\n\t\t}\n\n\t\tif (\n\t\t\tprevState.xrefData !== this.state.xrefData ||\n\t\t\tprevProps.apiInstance !== this.props.apiInstance\n\t\t) {\n\t\t\tthis.fetchQuoteData();\n\n\t\t\tthis.loadOptionsExpirations(this.state.xrefData?.xids?.venue);\n\t\t\tthis.props.dispatchLoadEarningsEstimatesCurrentData(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.state.xrefData?.xids?.venue\n\t\t\t);\n\t\t\tthis.props.dispatchLoadEarningsEstimatesTrendsData(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.state.xrefData?.xids?.venue\n\t\t\t);\n\t\t}\n\n\t\tconst query = new URLSearchParams(this.props.location.search);\n\t\tconst symbol = query.get(\"symbol\");\n\n\t\t/*\n\t\t\tMS is not setting viewType to \"modal\" for the Trade Modal integration, so\n\t\t\twe need to default to \"modal\".\n\n\t\t\tPossible values are: modal, desktop, mobile\n\t\t*/\n\t\tlet viewType = query.get(\"viewType\").toLowerCase() || OPTION_PAGE_VIEW_TYPE_MODAL;\n\n\t\tconst optionViewType = query.get(\"optionType\")\n\t\t\t? query.get(\"optionType\").toLowerCase()\n\t\t\t: null; // call, put, callandput\n\t\tconst queryMspi = query.get(\"mspi\");\n\n\t\tif (window?.MD?.ENV !== \"localhost\") {\n\t\t\tawait this.checkForSession(queryMspi);\n\t\t}\n\n\t\tthis.props.dispatchUpdateOptionsPageParams({ symbol, viewType, optionViewType });\n\n\t\tif (\n\t\t\tthis.shouldFetchExpirationDates(prevProps) ||\n\t\t\tprevProps.apiInstance !== this.props.apiInstance\n\t\t) {\n\t\t\tthis.loadOptionsExpirations(this.state.xrefData?.xids?.venue);\n\t\t}\n\n\t\t// Refactor trade enabled state once we get this from an API endpoint instead of the parent frame\n\t\tif (\n\t\t\tprevProps.optionsData.isOptionsTradeEnabled !==\n\t\t\tthis.props.optionsData.isOptionsTradeEnabled\n\t\t) {\n\t\t\tthis.props.dispatchUpdateIsOptionsTradeEnabled(\n\t\t\t\tthis.props.optionsData.isOptionsTradeEnabled\n\t\t\t);\n\t\t}\n\n\t\tthis.loadBanner =\n\t\t\tprevProps.xrefDataStatus === \"FETCHING\" && this.props.xrefDataStatus === \"IDLE\";\n\t}\n\n\tasync fetchQuoteData() {\n\t\tif (this.state.xrefData?.xids?.venue) {\n\t\t\tconst isRealTimeQuote = Utils.isRealtimeNasdaqUser(this.props.userInfo);\n\n\t\t\tconst quoteData = await QuoteAPIUtils.getSingleQuoteDetails({\n\t\t\t\tapiInstance: this.props.apiInstance,\n\t\t\t\tvenueXid: this.state.xrefData?.xids?.venue,\n\t\t\t\tisRealTimeQuote,\n\t\t\t});\n\n\t\t\tthis.setState({ quoteData: quoteData });\n\t\t}\n\t}\n\n\tonIdle = () => {\n\t\tconst status = [\n\t\t\tthis.props.expirationDatesStatus,\n\t\t\tthis.props.dividendsDataStatus,\n\t\t\tthis.props.earningsDataStatus,\n\t\t];\n\t\tif (status.indexOf(\"ERROR\") === -1 && status.indexOf(\"FETCHING\") === -1) {\n\t\t\tthis.fetchQuoteData();\n\t\t\tthis.loadOptionsExpirations(this.state.xrefData?.xids?.venue);\n\t\t\tthis.props.dispatchLoadEarningsEstimatesCurrentData(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.state.xrefData?.xids?.venue\n\t\t\t);\n\t\t\tthis.props.dispatchLoadEarningsEstimatesTrendsData(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.state.xrefData?.xids?.venue\n\t\t\t);\n\t\t}\n\t\tthis.timer.reset();\n\t};\n\n\tasync checkForSession(queryMspi) {\n\t\ttry {\n\t\t\tconst mspiResponse = await this.props.apiInstance.instance({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: URLS.MSPI_PATH,\n\t\t\t\tbaseURL: window.location.origin,\n\t\t\t});\n\t\t\tif (mspiResponse) {\n\t\t\t\tif (\n\t\t\t\t\tmspiResponse.headers &&\n\t\t\t\t\tmspiResponse.headers[\"x-mspi\"] &&\n\t\t\t\t\tmspiResponse.headers[\"x-mspi\"] === \"1\" &&\n\t\t\t\t\t!queryMspi\n\t\t\t\t) {\n\t\t\t\t\tUtils.fetchToken();\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tshouldFetchXref(prevProps) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tprevProps.optionsData.authToken !== this.props.optionsData.authToken ||\n\t\t\tprevProps.apiInstance?.internalAuthToken !==\n\t\t\t\tthis.props.apiInstance?.internalAuthToken\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prevProps.symbol !== this.props.symbol) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tshouldFetchExpirationDates(prevProps) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\t\treturn prevProps.showMonthlyExpiration !== this.props.showMonthlyExpiration;\n\t}\n\n\tasync fetchXrefData() {\n\t\tconst xrefData = await XrefAPI.getXrefBySymbol(\n\t\t\tthis.props.apiInstance,\n\t\t\tthis.props.symbol,\n\t\t\t() => null,\n\t\t\t() => null\n\t\t);\n\n\t\tif (xrefData) {\n\t\t\tthis.setState({ xrefData: xrefData });\n\t\t}\n\t}\n\n\tloadOptionsExpirations(venueXid) {\n\t\tif (this.props.showMonthlyExpiration) {\n\t\t\tthis.props.dispatchFetchExpirationDates(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tvenueXid,\n\t\t\t\t\"monthly\"\n\t\t\t);\n\t\t} else {\n\t\t\tthis.props.dispatchFetchExpirationDates(this.props.apiInstance, venueXid);\n\t\t}\n\t}\n\n\tcloseDrawers = () => (e) => {\n\t\tif (e && e.hasOwnProperty(\"preventDefault\")) {\n\t\t\te.preventDefault();\n\t\t}\n\t\t// close all drawer flags\n\t\tthis.setState({\n\t\t\tnoScroll: false,\n\t\t\tdrawerMonthly: false,\n\t\t\tdrawerStrikes: false,\n\t\t\tdrawerTrade: false,\n\t\t});\n\t};\n\n\ttoggleDrawer = (drawer) => (e) => {\n\t\tif (this.state.hasOwnProperty(drawer)) {\n\t\t\tif (e && e.hasOwnProperty(\"preventDefault\")) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t\t// toggle scroll lock\n\t\t\tconst update = {\n\t\t\t\tnoScroll: !this.state.noScroll,\n\t\t\t};\n\t\t\t// toggle specific drawer\n\t\t\tupdate[drawer] = !this.state[drawer];\n\t\t\t// push state update\n\t\t\tthis.setState(update);\n\t\t}\n\t};\n\n\ttoggleDrawerTrade() {\n\t\tthis.toggleDrawer(\"drawerTrade\")();\n\t}\n\n\ttoggleDrawerStrikes() {\n\t\tthis.toggleDrawer(\"drawerStrikes\")();\n\t}\n\n\ttoggleDrawerMonthly() {\n\t\tconst monthlyExpirationsButton = document.getElementById(\"monthlyExpirationButton\");\n\t\tif (monthlyExpirationsButton) {\n\t\t\tmonthlyExpirationsButton.focus();\n\t\t}\n\n\t\tthis.toggleDrawer(\"drawerMonthly\")();\n\t}\n\n\toptionsTableRowClickCallback = () => {\n\t\tthis.toggleDrawerTrade();\n\t\tconst tradeDrawerButton = document.getElementById(\"tradeDrawerButton\");\n\t\tif (tradeDrawerButton) {\n\t\t\ttradeDrawerButton.focus();\n\t\t}\n\t};\n\n\thandleMonthlyExpirationsButtonClick = () => {\n\t\tthis.toggleDrawerMonthly();\n\t\tconst selectedRadioButton = document.querySelector(\"#expirationsMenu input:checked\");\n\t\tif (selectedRadioButton) {\n\t\t\tselectedRadioButton.focus();\n\t\t}\n\t};\n\n\thandleMobileStrikesClick = () => {\n\t\tthis.toggleDrawerStrikes();\n\t\tconst mobileStrikesFieldset = document.getElementById(\"strikesFieldset\");\n\t\tif (mobileStrikesFieldset) {\n\t\t\tconst firstButton = mobileStrikesFieldset.querySelector(\"input:checked\");\n\t\t\tif (firstButton) {\n\t\t\t\tfirstButton.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\tquoteDisplay() {\n\t\tif (this.state.quoteData === {}) {\n\t\t\treturn (\n\t\t\t\t

\n\t\t\t\t\tThis information is temporarily unavailable.\n\t\t\t\t

\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\tgetOptionType() {\n\t\tif (!this.props || !this.props.viewType) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\tthis.props.viewType === OPTION_PAGE_VIEW_TYPE_DESKTOP &&\n\t\t\tthis.props.optionViewType == null\n\t\t) {\n\t\t\treturn OPTION_VIEW_TYPE_CALL_AND_PUT;\n\t\t}\n\n\t\treturn this.props.optionViewType;\n\t}\n\n\tisDesktopView() {\n\t\treturn this.props && this.props.viewType === OPTION_PAGE_VIEW_TYPE_DESKTOP;\n\t}\n\n\toptionPageDisplay() {\n\t\tconst spinnerStyle = {\n\t\t\tminHeight: \"200px\",\n\t\t};\n\n\t\tconst optionType = this.getOptionType();\n\n\t\tconst contentReady =\n\t\t\tthis.props.xrefDataStatus && this.props.xrefDataStatus === \"IDLE\";\n\t\tif (this.props.xrefDataStatus === \"ERROR\") {\n\t\t\treturn (\n\t\t\t\t

\n\t\t\t\t\tSomething went wrong. Please Check Symbol or Try Again\n\t\t\t\t

\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
{!this.isDesktopView() && this.quoteDisplay()}
\n\t\t\t\t\t\t{/* MOBILE FILTERS */}\n\t\t\t\t\t\t{(this.props.optionsDataStatus === \"ERROR\" ||\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus === \"ERROR\") && (\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tNo Options Available For This Symbol.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.props.isMobile &&\n\t\t\t\t\t\t\tthis.props.optionsDataStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus !== \"ERROR\" && (\n\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\t\t\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\t
\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
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* DESKTOP FILTERS */}\n\t\t\t\t\t\t{!this.props.isMobile &&\n\t\t\t\t\t\t\tthis.props.optionsDataStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus !== \"ERROR\" && (\n\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\t\t{this.isDesktopView() && }\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\t
In the money
\n\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
\n\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\t\tExpiration dates\n\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
\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\t{/* OPTIONS TABLES */}\n\t\t\t\t\t\t{this.props.optionsDataStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus !== \"ERROR\" && (\n\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
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* MOBILE DRAWERS */}\n\n\t\t\t\t\t\t{/* TRADE DRAWER */}\n\t\t\t\t\t\t{this.props.isMobile &&\n\t\t\t\t\t\t\tthis.props.optionsDataStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.optionsData.isOptionsTradeEnabled && (\n\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\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* MONTHLY EXPIRATIONS DRAWER */}\n\t\t\t\t\t\t{this.props.isMobile &&\n\t\t\t\t\t\t\tthis.props.optionsDataStatus !== \"ERROR\" &&\n\t\t\t\t\t\t\tthis.props.expirationDatesStatus !== \"ERROR\" && (\n\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\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\t}\n\t}\n\n\trender() {\n\t\treturn this.optionPageDisplay();\n\t}\n}\n\nexport const OptionTypeDropdown = () => {\n\tconst dispatch = useDispatch();\n\tconst data = [\n\t\t{ option: \"Calls + Puts\", action: OPTION_VIEW_TYPE_CALL_AND_PUT },\n\t\t{ option: \"Calls\", action: OPTION_VIEW_TYPE_CALL },\n\t\t{ option: \"Puts\", action: OPTION_VIEW_TYPE_PUT },\n\t];\n\n\tconst selectCallback = (item) => {\n\t\tif (!item) return;\n\t\tfor (const entry of data) {\n\t\t\tif (entry.option === item) {\n\t\t\t\tdispatch({ type: actionTypes.UPDATE_OPTIONS_VIEW_TYPE, view: entry.action });\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\n// listen to redux state changes\nconst mapStateToProps = (state) => {\n\treturn {\n\t\txrefDataStatus: state.optionsReducer.xrefDataStatus,\n\t\texpirationDatesStatus: state.optionsReducer.expirationDatesStatus,\n\t\tdividendsDataStatus: state.optionsReducer.dividendsDataStatus,\n\t\tearningsDataStatus: state.optionsReducer.earningsDataStatus,\n\t\tshowMonthlyExpiration: state.optionsReducer.showMonthlyExpiration,\n\t\tselectedOption: state.optionsReducer.selectedOption,\n\t\tsymbol: state.optionsReducer.optionsPageParams.symbol,\n\t\toptionViewType: state.optionsReducer.optionsPageParams.optionViewType,\n\t\tviewType: state.optionsReducer.optionsPageParams.viewType,\n\t\tisMobile: state.optionsReducer.isMobile,\n\t\tquoteData: state.quoteReducer.quoteData,\n\t};\n};\n\n// dispatch events from container to redux by creating a mapping function\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchLoadExpirationDates: () =>\n\t\t\tdispatch({ type: actionTypes.EXP_DATES_API_TRANSITION, name: \"load\" }),\n\t\tdispatchFetchExpirationDates: (apiInstance, venueXid, contractTerm) =>\n\t\t\tdispatch(ActionCreators.fetchExpirationDates(apiInstance, venueXid, contractTerm)),\n\t\tdispatchUpdateIsOptionsTradeEnabled: (isOptionsTradeEnabled) =>\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.SAVE_IS_OPTIONS_TRADE_ENABLED,\n\t\t\t\tisOptionsTradeEnabled: isOptionsTradeEnabled,\n\t\t\t}),\n\t\tdispatchUpdateOptionsPageParams: (params) =>\n\t\t\tdispatch({ type: actionTypes.UPDATE_OPTIONS_PAGE_PARAMS, params }),\n\t\tdispatchLoadEarningsEstimatesCurrentData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchEarningsEstimatesCurrentData(apiInstance, venueXid)),\n\t\tdispatchLoadEarningsEstimatesTrendsData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchEarningsEstimatesTrendsData(apiInstance, venueXid)),\n\t};\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Options);\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"SubNavigation_modal-backdrop__E3TL3\",\"show\":\"SubNavigation_show__Tyr-y\",\"LinesEllipsis\":\"SubNavigation_LinesEllipsis__8fEND\",\"mainContainer\":\"SubNavigation_mainContainer__RE-Bz\",\"navContainer\":\"SubNavigation_navContainer__oK1gb\",\"noTextDecoration\":\"SubNavigation_noTextDecoration__Fw5uH\",\"menuItem\":\"SubNavigation_menuItem__h1xd7\",\"definitionsContainer\":\"SubNavigation_definitionsContainer__k+Vb1\",\"definitionsLink\":\"SubNavigation_definitionsLink__VCho3\"};","import React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Link, useRouteMatch } from \"react-router-dom\";\n\nimport { URLS } from \"utils/constants\";\nimport Utils from \"utils/utils\";\n\nimport classNames from \"classnames\";\n\nimport styles from \"./SubNavigation.module.scss\";\n\nconst menuItems = [\n\t\"Overview\",\n\t\"Charting\",\n\t\"News\",\n\t\"Analyst Research\",\n\t\"Earnings\",\n\t\"Dividends\",\n\t\"Financials\",\n\t\"Options\",\n];\n\nconst SubNavigation = ({ queryClient }) => {\n\tlet selected = useRouteMatch()?.params.name;\n\t//selected item based on store route name\n\tconst routeName = useSelector((state) => state.marketsAndResearchAppReducer.routeName);\n\n\tuseEffect(() => {\n\t\tif (routeName) {\n\t\t\tUtils.adobeEventTracking(\"\", routeName.toLowerCase(), \"page\");\n\t\t}\n\t}, [routeName]);\n\n\tconst onLinkClick = (selected) => {\n\t\t// TODO: check if updating link with tab will change adobe analytics tracking\n\t\tUtils.adobeEventTracking(\"\", selected.toLowerCase(), \"page\");\n\t\tqueryClient.invalidateQueries(URLS.QUOTE_PATH);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default SubNavigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"RedesignBanner_modal-backdrop__4ZKw4\",\"show\":\"RedesignBanner_show__rMlKf\",\"LinesEllipsis\":\"RedesignBanner_LinesEllipsis__pFOLQ\",\"redesignBannerContainer\":\"RedesignBanner_redesignBannerContainer__hCCjS\",\"controls\":\"RedesignBanner_controls__1znaZ\",\"message\":\"RedesignBanner_message__TqW-u\",\"messageText\":\"RedesignBanner_messageText__KJIwt\"};","import React from \"react\";\n\nconst FlagInfoIcon = () => {\n\treturn (\n\t\t\n\t\t\tFlag\n\t\t\t\n\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\nexport default FlagInfoIcon;\n","import React from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport styles from \"./RedesignBanner.module.scss\";\nimport classNames from \"classnames\";\n\nimport { URLS } from \"utils/constants\";\nimport Utils from \"utils/utils\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\n\nimport FlagInfoIcon from \"assets/icons/FlagInfoIcon\";\n\nconst RedesignBanner = (props) => {\n\tconst dispatch = useDispatch();\n\n\tconst handleReturnToSiteClick = async (e) => {\n\t\te.preventDefault();\n\t\tawait updateUserPreference();\n\t};\n\n\tconst handleFeedbackClickAdobeTracking = () => {\n\t\tUtils.adobeEventTracking(\n\t\t\t\"stock quote pilot give feedback\",\n\t\t\t\"stock quote pilot new\",\n\t\t\t\"event\"\n\t\t);\n\t};\n\n\tconst updateUserPreference = async () => {\n\t\ttry {\n\t\t\tconst response = await props.apiInstance.instance({\n\t\t\t\tmethod: \"POST\",\n\t\t\t\turl: `${URLS.MSO_API}/redesign/preference`,\n\t\t\t\tbaseURL: window.MD.MSO_DOMAIN\n\t\t\t\t\t? window.MD.MSO_DOMAIN\n\t\t\t\t\t: \"https://markets-dev.morganstanleyclientserv.com\",\n\t\t\t\tdata: {\n\t\t\t\t\toptedInFlagV3: \"n\",\n\t\t\t\t\tclosedCounter: 0,\n\t\t\t\t},\n\t\t\t});\n\t\t\tif (response.status !== 200) {\n\t\t\t\tdispatch({ type: actionTypes.USER_PREFERENCE_API_TRANSITION, name: \"failure\" });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t//redirect\n\t\t\tdispatch({ type: actionTypes.USER_PREFERENCE_API_TRANSITION, name: \"success\" });\n\t\t\tconst queryStringParams = new URLSearchParams(window.location.search);\n\t\t\tqueryStringParams.set(\"source\", \"return to existing view\");\n\t\t\twindow.location.href = `${window.location.origin}/MSOnline/Stocks/Overview?${queryStringParams}`;\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.USER_PREFERENCE_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n\n\tconst renderGiveFeedbackLink = () => {\n\t\tlet href =\n\t\t\tprops.userInfo && props.userInfo.uuid\n\t\t\t\t? `https://mswm.ca1.qualtrics.com/jfe/form/SV_blbgeZwDKepdVaZ?UUID=${props.userInfo.uuid}`\n\t\t\t\t: \"https://mswm.ca1.qualtrics.com/jfe/form/SV_blbgeZwDKepdVaZ\";\n\n\t\treturn (\n\t\t\t\n\t\t\t\tGive Feedback\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tIn a few weeks, the classic view will no longer be available.\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\tReturn To Classic View\n\t\t\t\t\t\n\t\t\t\t\t{renderGiveFeedbackLink()}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default RedesignBanner;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"Disclosures_modal-backdrop__Sq6UW\",\"show\":\"Disclosures_show__TXlhU\",\"LinesEllipsis\":\"Disclosures_LinesEllipsis__dUx5l\",\"legalBold\":\"Disclosures_legalBold__+lb93\",\"legal\":\"Disclosures_legal__NMiQ-\",\"disclosureFooter\":\"Disclosures_disclosureFooter__LAAm9\"};","import React from \"react\";\nimport formatter from \"../../../utils/formatUtils\";\nimport styles from \"./Disclosures.module.scss\";\n\nconst overviewDisclosures = () => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\tInvestors should carefully consider the investment objectives and risks, as well\n\t\t\t\tas charges and expenses, of a mutual fund/exchange traded fund (ETF) before\n\t\t\t\tinvesting. To obtain a prospectus, contact your Financial Advisor or visit the\n\t\t\t\tfund company’s website. The prospectus contains this and other information about\n\t\t\t\tthe mutual fund/ETF. Read the prospectus carefully before investing.\n\t\t\t

\n\t\t\t

\n\t\t\t\tThe information and data contained herein does not provide individually tailored\n\t\t\t\tinvestment advice. It has been prepared without regard to the individual financial\n\t\t\t\tcircumstances and objectives of persons who receive it. Morgan Stanley Smith\n\t\t\t\tBarney LLC (“Morgan Stanley” and “Morgan Stanley Wealth Management”) recommends\n\t\t\t\tthat investors independently evaluate particular investments and strategies, and\n\t\t\t\tencourages investors to seek the advice of a Morgan Stanley Smith Barney LLC\n\t\t\t\tFinancial Advisor. The appropriateness of a particular investment or strategy will\n\t\t\t\tdepend on an investor’s individual circumstances and objectives.\n\t\t\t

\n\t\t\t

\n\t\t\t\tBy providing a link to a third party article, Morgan Stanley is not implying an\n\t\t\t\taffiliation, sponsorship, endorsement, etc. with the third party. Morgan Stanley\n\t\t\t\tis not responsible for the information contained in the third party article. The\n\t\t\t\topinions expressed by the author are solely their own and do not necessarily\n\t\t\t\treflect those of Morgan Stanley. Securities, investments, strategies or products\n\t\t\t\tmentioned or discussed in the third party article are neither an endorsement nor\n\t\t\t\tsolicitation by Morgan Stanley. The information and data provided by the third\n\t\t\t\tparty web site or publication is as of the date of the article when it was\n\t\t\t\tpublished on Morgan Stanley Online and is subject to change without notice. Past\n\t\t\t\tperformance is not a guarantee of future results.\n\t\t\t

\n\t\t\t

\n\t\t\t\tCopyright © {formatter.moment().year()} Thomson Reuters. All Rights Reserved. Use,\n\t\t\t\tduplication, or sale of this service, or data contained herein is strictly\n\t\t\t\tprohibited.\n\t\t\t

\n\t\t\t

\n\t\t\t\tThe research reports and the information and data derived from such reports that\n\t\t\t\tare included on this website are provided for information purposes only. This\n\t\t\t\tcontent is not a solicitation of any offer to buy or sell any security or other\n\t\t\t\tfinancial instrument or to participate in any trading strategy. It is not\n\t\t\t\tindividually tailored investment advice and is prepared and made available on this\n\t\t\t\twebsite without regard to your individual financial circumstances and objectives.\n\t\t\t\tThe securities and strategies discussed or referred to in this content may not be\n\t\t\t\tappropriate for you. Your decision to buy, hold or sell a security should depend\n\t\t\t\ton your individual circumstances (such as your investment objectives and\n\t\t\t\texperience, time horizon, liquidity needs, financial situation and existing\n\t\t\t\tholdings) and other considerations. We recommend that you independently evaluate\n\t\t\t\tparticular investments and strategies, and encourage you to seek the advice of\n\t\t\t\tyour Financial Advisor. Please see the relevant research report for important\n\t\t\t\tdisclosures. Morgan Stanley is an affiliate of Morgan Stanley Smith Barney LLC.\n\t\t\t

\n\t\t\t

\n\t\t\t\tPast performance is not a guarantee of future results. Indexes are unmanaged and\n\t\t\t\tnot available for direct investment. For illustrative purposes only and does not\n\t\t\t\treflect any specific product.\n\t\t\t

\n\t\t\t

\n\t\t\t\tAny real-time market data is for informational purposes only. The Real-Time Quotes\n\t\t\t\tdata feed provided by NASDAQ Basic is displayed only on the non-trading pages and\n\t\t\t\tonly for US exchange-listed equities. Delayed NASDAQ market data is delayed for at\n\t\t\t\tleast 15 minutes; all other market data is delayed for at least 20 minutes. This\n\t\t\t\tdata should be used for informational purposes only. Please be advised that on\n\t\t\t\tweekdays, excepting holidays, current day NASDAQ market data is available after\n\t\t\t\t9:45 AM ET, data from all other exchanges is available after 9:50 AM ET. The\n\t\t\t\taccuracy of any market data displayed is not guaranteed.\n\t\t\t

\n\t\t\n\t);\n};\nconst subTabDisclosures = () => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\tPast performance is not a guarantee of future results. Indexes are unmanaged and\n\t\t\t\tnot available for direct investment. For illustrative purposes only and does not\n\t\t\t\treflect any specific product.\n\t\t\t

\n\t\t\t

\n\t\t\t\t© Thomson Reuters {formatter.moment().year()}. All rights reserved.\n\t\t\t

\n\t\t\t

\n\t\t\t\tThomson Reuters content is the intellectual property of Thomson Reuters or its\n\t\t\t\tthird party content providers. Republication or redistribution of Thomson Reuters\n\t\t\t\tcontent, including by framing or similar means, is prohibited without the prior\n\t\t\t\twritten consent of Thomson Reuters. Thomson Reuters is not liable for any errors\n\t\t\t\tor delays in Thomson Reuters content, or for any actions taken in reliance on such\n\t\t\t\tcontent. 'Thomson Reuters' and the Thomson Reuters logo are trademarks of Thomson\n\t\t\t\tReuters and its affiliated companies.\n\t\t\t

\n\t\t\n\t);\n};\nconst optionsDisclosures = () => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\tOptions may not be suitable for particular investors.{\"\\n\"}\n\t\t\t\tBefore engaging in the purchase or sale of options, potential clients should\n\t\t\t\tunderstand the nature and extent of their rights and obligations and be aware of\n\t\t\t\tthe risks involved, including, without limitation, the risks pertaining to the\n\t\t\t\tbusiness and financial condition of the issuer of the underlying\n\t\t\t\tsecurity/instrument. Options investing, like other forms of investing, involves\n\t\t\t\ttax considerations, transaction costs and margin requirements that can\n\t\t\t\tsignificantly affect clients’ potential profits and losses. The transaction costs\n\t\t\t\tof options investing consist primarily of commissions (which are imposed in\n\t\t\t\topening, closing, exercise and assignment transactions) but may also include\n\t\t\t\tmargin and interest costs in particular transactions. Transaction costs are\n\t\t\t\tespecially significant in options strategies calling for multiple purchases and\n\t\t\t\tsales of options, such as multiple leg strategies, including spreads, straddles\n\t\t\t\tand collars. If a client is considering engaging in options trading as part of\n\t\t\t\ttheir investment plan, the Financial Advisor or Private Wealth Advisor is required\n\t\t\t\tto provide the client with the \"Characteristics and Risks of Standardized Options\"\n\t\t\t\t(ODD) booklet published by the Options Clearing Corporation. Clients should not\n\t\t\t\tenter into options transactions until they have read and understood the ODD\n\t\t\t\tDisclosure Document, as options are not suitable for everyone, and discussed\n\t\t\t\ttransaction costs with the Financial Advisor or Private Wealth Advisor. A copy of\n\t\t\t\tthe ODD is also available online at:\n\t\t\t\thttp://www.theocc.com/about/publications/publication-listing.jsp.\n\t\t\t

\n\t\t\t

\n\t\t\t\tAny real-time market data is for informational purposes only. The Real-Time Quotes\n\t\t\t\tdata feed provided by NASDAQ Basic is displayed only on the non-trading pages and\n\t\t\t\tonly for US exchange-listed equities. Delayed NASDAQ market data is delayed for at\n\t\t\t\tleast 15 minutes; all other market data is delayed for at least 20 minutes. This\n\t\t\t\tdata should be used for informational purposes only. Please be advised that on\n\t\t\t\tweekdays, excepting holidays, current day NASDAQ market data is available after\n\t\t\t\t9:45 AM ET, data from all other exchanges is available after 9:50 AM ET. The\n\t\t\t\taccuracy of any market data displayed is not guaranteed.\n\t\t\t

\n\t\t\n\t);\n};\nconst chartingDisclosures = () => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\tAny real-time market data is for informational purposes only. The Real-Time Quotes\n\t\t\t\tdata feed provided by NASDAQ Basic is displayed only on the non-trading pages and\n\t\t\t\tonly for US exchange-listed equities. Delayed NASDAQ market data is delayed for at\n\t\t\t\tleast 15 minutes; all other market data is delayed for at least 20 minutes. This\n\t\t\t\tdata should be used for informational purposes only. Please be advised that on\n\t\t\t\tweekdays, excepting holidays, current day NASDAQ market data is available after\n\t\t\t\t9:45 AM ET, data from all other exchanges is available after 9:50 AM ET. The\n\t\t\t\taccuracy of any market data displayed is not guaranteed.\n\t\t\t

\n\t\t\n\t);\n};\nconst canacordResearchDisclosures = (language) => {\n\treturn (\n\t\t<>\n\t\t\t

{language.DISCLOSURES_P1}

\n\t\t\t

{language.DISCLOSURES_P2}

\n\t\t\t

{language.DISCLOSURES_P3}

\n\t\t\t

{language.DISCLOSURES_P4}

\n\t\t\t

{language.DISCLOSURES_P5}

\n\t\t\t

{language.DISCLOSURES_P6}

\n\t\t\t

{language.DISCLOSURES_P7}

\n\t\t\n\t);\n};\n\nconst newsAndResearchDisclosures = () => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\tThe information and data contained herein does not provide individually tailored\n\t\t\t\tinvestment advice. It has been prepared without regard to the individual financial\n\t\t\t\tcircumstances and objectives of persons who receive it. Morgan Stanley Smith\n\t\t\t\tBarney LLC (“Morgan Stanley” and “Morgan Stanley Wealth Management”) recommends\n\t\t\t\tthat investors independently evaluate particular investments and strategies, and\n\t\t\t\tencourages investors to seek the advice of a Morgan Stanley Smith Barney LLC\n\t\t\t\tFinancial Advisor. The appropriateness of a particular investment or strategy will\n\t\t\t\tdepend on an investor’s individual circumstances and objectives.\n\t\t\t

\n\t\t\t

\n\t\t\t\tBy providing a link to a third party article, Morgan Stanley is not implying an\n\t\t\t\taffiliation, sponsorship, endorsement, etc. with the third party. Morgan Stanley\n\t\t\t\tis not responsible for the information contained in the third party article. The\n\t\t\t\topinions expressed by the author are solely their own and do not necessarily\n\t\t\t\treflect those of Morgan Stanley. Securities, investments, strategies or products\n\t\t\t\tmentioned or discussed in the third party article are neither an endorsement nor\n\t\t\t\tsolicitation by Morgan Stanley. The information and data provided by the third\n\t\t\t\tparty web site or publication is as of the date of the article when it was\n\t\t\t\tpublished on Morgan Stanley Online and is subject to change without notice. Past\n\t\t\t\tperformance is not a guarantee of future results.\n\t\t\t

\n\t\t\t

\n\t\t\t\t© Thomson Reuters {formatter.moment().year()}. All rights reserved.\n\t\t\t

\n\t\t\t

\n\t\t\t\tThomson Reuters content is the intellectual property of Thomson Reuters or its\n\t\t\t\tthird party content providers. Republication or redistribution of Thomson Reuters\n\t\t\t\tcontent, including by framing or similar means, is prohibited without the prior\n\t\t\t\twritten consent of Thomson Reuters. Thomson Reuters is not liable for any errors\n\t\t\t\tor delays in Thomson Reuters content, or for any actions taken in reliance on such\n\t\t\t\tcontent. 'Thomson Reuters' and the Thomson Reuters logo are trademarks of Thomson\n\t\t\t\tReuters and its affiliated companies.\n\t\t\t

\n\t\t\t

\n\t\t\t\tThe research reports and the information and data derived from such reports that\n\t\t\t\tare included on this website are provided for information purposes only. This\n\t\t\t\tcontent is not a solicitation of any offer to buy or sell any security or other\n\t\t\t\tfinancial instrument or to participate in any trading strategy. It is not\n\t\t\t\tindividually tailored investment advice and is prepared and made available on this\n\t\t\t\twebsite without regard to your individual financial circumstances and objectives.\n\t\t\t\tThe securities and strategies discussed or referred to in this content may not be\n\t\t\t\tappropriate for you. Your decision to buy, hold or sell a security should depend\n\t\t\t\ton your individual circumstances (such as your investment objectives and\n\t\t\t\texperience, time horizon, liquidity needs, financial situation and existing\n\t\t\t\tholdings) and other considerations. We recommend that you independently evaluate\n\t\t\t\tparticular investments and strategies, and encourage you to seek the advice of\n\t\t\t\tyour Financial Advisor. Please see the relevant research report for important\n\t\t\t\tdisclosures. Morgan Stanley is an affiliate of Morgan Stanley Smith Barney LLC.\n\t\t\t

\n\t\t\t

\n\t\t\t\tPast performance is not a guarantee of future results. Indexes are unmanaged and\n\t\t\t\tnot available for direct investment. For illustrative purposes only and does not\n\t\t\t\treflect any specific product.\n\t\t\t

\n\t\t\n\t);\n};\nconst secFilingDisclosures = () => (\n\t

\n\t\tSEC filings are sourced from the U.S. Securities and Exchange Commission.\n\t

\n);\n\nconst Disclosures = ({ disclosures, language, tab }) => {\n\treturn (\n\t\t
\n\t\t\t{disclosures === \"overview\" ? overviewDisclosures() : null}\n\t\t\t{disclosures === \"analystresearch\" || disclosures === \"news\"\n\t\t\t\t? newsAndResearchDisclosures()\n\t\t\t\t: null}\n\t\t\t{disclosures === \"canacordAnalystResearch\"\n\t\t\t\t? canacordResearchDisclosures(language)\n\t\t\t\t: null}\n\t\t\t{disclosures !== \"overview\" &&\n\t\t\tdisclosures !== \"analystresearch\" &&\n\t\t\tdisclosures !== \"news\" &&\n\t\t\tdisclosures !== \"canacordAnalystResearch\"\n\t\t\t\t? subTabDisclosures()\n\t\t\t\t: null}\n\t\t\t{disclosures === \"options\" ? optionsDisclosures() : null}\n\t\t\t{disclosures === \"charting\" ? chartingDisclosures() : null}\n\t\t\t{disclosures === \"overview\" || tab === \"SECFilings\" ? secFilingDisclosures() : null}\n\t\t
\n\t);\n};\n\nexport default Disclosures;\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgVisible(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"14px\",\n viewBox: \"0 0 20 14\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Visible\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#333333\",\n strokeWidth: 1.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9,12 C12.3137085,12 15.3137085,10 18,6 C15.3137085,2 12.3137085,0 9,0 C5.6862915,0 2.6862915,2 0,6 C2.6862915,10 5.6862915,12 9,12 Z\",\n id: \"Oval\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 9,\n cy: 6,\n r: 2\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVisible);\nexport default __webpack_public_path__ + \"static/media/Visible.ae193de792b51a76e3b20e468012b98f.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgUnhide(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"14px\",\n viewBox: \"0 0 21 14\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Unhide\",\n transform: \"translate(1.500000, 1.000000)\",\n stroke: \"#333333\",\n strokeWidth: 1.5\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9,12 C12.3137085,12 15.3137085,10 18,6 C15.3137085,2 12.3137085,0 9,0 C5.6862915,0 2.6862915,2 0,6 C2.6862915,10 5.6862915,12 9,12 Z\",\n id: \"Oval\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0.5,\n y1: 0.5,\n x2: 17.5,\n y2: 11.5,\n id: \"Line-2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 9,\n cy: 6,\n r: 2\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnhide);\nexport default __webpack_public_path__ + \"static/media/Unhide.55cfdbb28f1b4f8dc98230c355508b89.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgEdit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"14px\",\n height: \"13px\",\n viewBox: \"0 0 14 13\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Edit\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8147925,0.190801685 L13.3100401,2.69062354 C13.56332,2.9443677 13.56332,3.35527601 13.3100401,3.60902017 L4.12669676,12.8091983 C4.00476407,12.9313545 3.83925364,13 3.66665664,13 L1.15,13 C0.791014913,13 0.5,12.7089851 0.5,12.35 L0.5,9.841555 C0.5,9.66900269 0.568610031,9.50353133 0.690710439,9.38160598 L9.89546284,0.190050984 C10.1495213,-0.0636432161 10.5611487,-0.0633070918 10.8147925,0.190801685 Z\",\n id: \"Edit\",\n fill: \"#333333\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEdit);\nexport default __webpack_public_path__ + \"static/media/Edit.eb9a92205fc7f8ecd8a0e432b2d2b1c5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgErrorIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Error Icon\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Error-Icon\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons-/-Alerts-/-Soft-Warning-Inline\",\n fill: \"#AA0000\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,2 C14.6521649,2 17.195704,3.0535684 19.0710678,4.92893219 C20.9464316,6.80429597 22,9.3478351 22,12 C22,17.5228475 17.5228475,22 12,22 C6.4771525,22 2,17.5228475 2,12 C2,6.4771525 6.4771525,2 12,2 Z M12,3.66666667 C7.39762708,3.66666667 3.66666667,7.39762708 3.66666667,12 C3.66666667,16.6023729 7.39762708,20.3333333 12,20.3333333 C16.6023729,20.3333333 20.3333333,16.6023729 20.3333333,12 C20.3333333,7.39762708 16.6023729,3.66666667 12,3.66666667 Z M11.8083333,13.65 C12.0497693,13.6427322 12.2839933,13.7328184 12.4583333,13.9 C12.6267439,14.0604868 12.7204045,14.2840637 12.7166667,14.5166667 C12.7245024,14.7476228 12.6299603,14.9702541 12.4583333,15.125 C12.2812033,15.286798 12.0481408,15.3734494 11.8083333,15.3666667 C11.5707833,15.3748554 11.3397958,15.2878601 11.1666667,15.125 C11.0034533,14.9650744 10.9130709,14.745144 10.9166667,14.5166667 C10.9107566,14.2853145 11.0013203,14.0619239 11.1666667,13.9 C11.33451,13.7280543 11.5684046,13.6369265 11.8083333,13.65 Z M12.55,8.075 L12.4,12.8916667 L11.2666667,12.8916667 L11.1666667,8.075 L12.55,8.075 Z\",\n id: \"Icon\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgErrorIcon);\nexport default __webpack_public_path__ + \"static/media/ErrorIcon.719ef59361cd8f68f1ca1990d2f378c1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgUpArrowActive(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"05_MSO-Company-Charting-Interactive-State---Overlays-2\",\n transform: \"translate(-1352.000000, -1303.000000)\",\n fill: \"#333333\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-38\",\n transform: \"translate(22.000000, 1292.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-27\",\n transform: \"translate(1291.000000, 1.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.6902087,11.7182515 L42.4088102,16.999 L54.1999879,17 C54.6102628,17 54.948405,17.3860402 54.9946177,17.8833789 L55,18 C55,18.5128358 54.6911632,18.9355072 54.2932862,18.9932723 L54.1999879,19 L42.4078102,18.999 L47.6902087,24.2817485 C48.6292697,25.2207954 47.2206782,26.6293657 46.2816171,25.6903189 L39.5329029,18.9430109 C39.2533453,18.8193974 39.0451447,18.5070538 39.0063001,18.1284772 L39.0002655,17.9926635 L39.0002655,17.9926635 C38.9994074,17.9577746 39.0006524,17.9258446 39.0036677,17.8938071 C39.0372172,17.5049469 39.2480056,17.1829637 39.5329029,17.0569891 L46.2816171,10.3096811 C47.2206782,9.37063426 48.6292697,10.7792046 47.6902087,11.7182515 Z\",\n id: \"Path\",\n transform: \"translate(47.000000, 18.000000) rotate(-270.000000) translate(-47.000000, -18.000000) \"\n })))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpArrowActive);\nexport default __webpack_public_path__ + \"static/media/UpArrowActive.86ddea2346fb12490d441909ca46abb6.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgUpArrowInactive(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"05_MSO-Company-Charting-Interactive-State---Overlays-2\",\n transform: \"translate(-1352.000000, -1037.000000)\",\n fill: \"#B7B7B7\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-41\",\n transform: \"translate(22.000000, 1025.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-27\",\n transform: \"translate(1291.000000, 2.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-29\",\n transform: \"translate(31.500000, 18.000000) rotate(-180.000000) translate(-31.500000, -18.000000) translate(8.000000, 10.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.30979133,14.2817485 L12.5911898,9.001 L0.800012059,9 C0.389737204,9 0.0515950492,8.61395981 0.00538226619,8.11662113 L0,8 C0,7.48716416 0.308836808,7.06449284 0.706713753,7.00672773 L0.800012059,7 L12.5921898,7.001 L7.30979133,1.71825146 C6.37073029,0.779204581 7.77932185,-0.629365743 8.71838288,0.309681139 L15.4670971,7.05698908 C15.7466547,7.18060263 15.9548553,7.49294618 15.9936999,7.87152276 L15.9997345,8.00733648 C16.0005926,8.04222541 15.9993476,8.07415535 15.9963323,8.10619292 C15.9627828,8.49505309 15.7519944,8.81703628 15.4670971,8.94301092 L8.71838288,15.6903189 C7.77932185,16.6293657 6.37073029,15.2207954 7.30979133,14.2817485 Z\",\n id: \"Path-Copy-313\",\n transform: \"translate(8.000000, 8.000000) rotate(-270.000000) translate(-8.000000, -8.000000) \"\n }))))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpArrowInactive);\nexport default __webpack_public_path__ + \"static/media/UpArrowInactive.1622d91f59a743156ca941c6845b1218.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { ReactComponent as ActiveArrow } from \"assets/icons/UpArrowActive.svg\";\nimport { ReactComponent as InactiveArrow } from \"assets/icons/UpArrowInactive.svg\";\nconst UpAndDownArrowActive = [\n\t,\n\t,\n];\n\nconst DownActiveUpInactiveArrow = [\n\t,\n\t,\n];\n\nconst UpActiveDownInactiveArrow = [\n\t,\n\t,\n];\n\nexport default {\n\tUpAndDownArrowActive,\n\tDownActiveUpInactiveArrow,\n\tUpActiveDownInactiveArrow,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"LegendMovePanel_modal-backdrop__f1pgG\",\"show\":\"LegendMovePanel_show__aw5hK\",\"LinesEllipsis\":\"LegendMovePanel_LinesEllipsis__VaHNO\",\"buttonArrow\":\"LegendMovePanel_buttonArrow__2KpF+\",\"buttonArrowDown\":\"LegendMovePanel_buttonArrowDown__h0fHE\",\"buttonArrowMargin\":\"LegendMovePanel_buttonArrowMargin__QCxCz\",\"upDownArrowWrapperDiv\":\"LegendMovePanel_upDownArrowWrapperDiv__JZxkg\"};","import { renderToString } from \"react-dom/server\";\nimport UpAndDownArrow from \"components/Lib/Icons/UpDownArrow/UpDownArrow\";\nimport styles from \"./LegendMovePanel.module.scss\";\n\nconst UpArrowClickedString = \"Up\";\nconst DownArrowClickedString = \"Down\";\n\nconst renderUpAndDownRepositionArrowIcon = (\n\tdiv,\n\twidth,\n\tpanelUid,\n\tchart,\n\tisReshuffle,\n\tupdateChartState\n) => {\n\tlet isFirstLowerIndicator = isFirstPanel(panelUid, chart);\n\tlet isLastLowerIndicator = isLastPanel(panelUid, chart);\n\n\t//if first lower indicator - down arrow active / up arrow in active\n\tif (isFirstLowerIndicator && !isLastLowerIndicator) {\n\t\treturn UpAndDownArrow.DownActiveUpInactiveArrow.map((x) =>\n\t\t\tsetUpLIforUpAndDownRepositionArrowIcon(\n\t\t\t\tx,\n\t\t\t\tdiv,\n\t\t\t\tpanelUid,\n\t\t\t\tUpAndDownArrow.DownActiveUpInactiveArrow,\n\t\t\t\tchart,\n\t\t\t\tisReshuffle,\n\t\t\t\tupdateChartState\n\t\t\t)\n\t\t);\n\t}\n\t//if not first or last lower indicator - both the arrows active\n\telse if (!isFirstLowerIndicator && !isLastLowerIndicator) {\n\t\treturn UpAndDownArrow.UpAndDownArrowActive.map((x) =>\n\t\t\tsetUpLIforUpAndDownRepositionArrowIcon(\n\t\t\t\tx,\n\t\t\t\tdiv,\n\t\t\t\tpanelUid,\n\t\t\t\tUpAndDownArrow.UpAndDownArrowActive,\n\t\t\t\tchart,\n\t\t\t\tisReshuffle,\n\t\t\t\tupdateChartState\n\t\t\t)\n\t\t);\n\t}\n\t//if last lower indicator - up arrow active / down arrow in active\n\telse if (!isFirstLowerIndicator && isLastLowerIndicator) {\n\t\treturn UpAndDownArrow.UpActiveDownInactiveArrow.map((x) =>\n\t\t\tsetUpLIforUpAndDownRepositionArrowIcon(\n\t\t\t\tx,\n\t\t\t\tdiv,\n\t\t\t\tpanelUid,\n\t\t\t\tUpAndDownArrow.UpActiveDownInactiveArrow,\n\t\t\t\tchart,\n\t\t\t\tisReshuffle,\n\t\t\t\tupdateChartState\n\t\t\t)\n\t\t);\n\t}\n};\n\nconst reRenderButton = (\n\tli,\n\tpanelUid,\n\tchart,\n\tbuttonStyle,\n\ttitle,\n\thtmlString,\n\tupdateChartFunction\n) => {\n\tlet isActive = htmlString.props.isActive;\n\tlet button = document.createElement(\"button\");\n\tbutton.classList.add(styles.buttonArrow);\n\tif (title === \"Move chart down\") {\n\t\tbutton.classList.add(styles.buttonArrowDown);\n\t}\n\tbutton.setAttribute(\"style\", buttonStyle);\n\tbutton.setAttribute(\"isActive\", isActive);\n\tif (isActive === \"false\") {\n\t\tbutton.setAttribute(\"aria-disabled\", \"true\");\n\t}\n\tbutton.innerHTML = renderToString(htmlString);\n\tlet clickedArrowDirection =\n\t\ttitle === \"Move chart down\" ? DownArrowClickedString : UpArrowClickedString;\n\tbutton.onclick = (x) =>\n\t\tonArrowClickHandler(\n\t\t\tx,\n\t\t\tpanelUid,\n\t\t\tchart,\n\t\t\tupdateChartFunction,\n\t\t\tclickedArrowDirection,\n\t\t\tisActive\n\t\t);\n\tcreateSpan(title, button);\n\treturn li.append(button);\n};\n\nconst createSpan = (title, button) => {\n\tconst span = document.createElement(\"span\");\n\tspan.classList.add(\"sr-only\");\n\tspan.setAttribute(\"aria-label\", title);\n\tspan.innerHTML = title;\n\tbutton.append(span);\n};\n\nconst setUpLIforUpAndDownRepositionArrowIcon = (\n\tcurrentInstance,\n\tdiv,\n\tpanelUid,\n\thtmlString,\n\tchart,\n\tisReshuffle,\n\tupdateChartState\n) => {\n\tlet title =\n\t\tcurrentInstance.props.isarrowdown === \"true\" ? \"Move chart down\" : \"Move chart up\";\n\tlet buttonStyle = \"\"; //pointer-events: none;\n\tif (isReshuffle) {\n\t\ttitle = \"Move chart down\";\n\t\treRenderButton(\n\t\t\tdiv,\n\t\t\tpanelUid,\n\t\t\tchart,\n\t\t\tbuttonStyle,\n\t\t\ttitle,\n\t\t\thtmlString[0],\n\t\t\tupdateChartState\n\t\t);\n\n\t\t//second button\n\t\tbuttonStyle = `margin-left: 38px !important;`;\n\t\ttitle = \"Move chart up\";\n\t\treRenderButton(\n\t\t\tdiv,\n\t\t\tpanelUid,\n\t\t\tchart,\n\t\t\tbuttonStyle,\n\t\t\ttitle,\n\t\t\thtmlString[1],\n\t\t\tupdateChartState\n\t\t);\n\t} else {\n\t\tif (currentInstance.props.order === \"1\") {\n\t\t\treturn addButton(\n\t\t\t\tdiv,\n\t\t\t\tpanelUid,\n\t\t\t\tchart,\n\t\t\t\tbuttonStyle,\n\t\t\t\ttitle,\n\t\t\t\thtmlString[0],\n\t\t\t\tupdateChartState\n\t\t\t);\n\t\t} else if (currentInstance.props.order === \"2\") {\n\t\t\tbuttonStyle = `margin-left: 38px !important;`;\n\t\t\ttitle = \"Move chart up\";\n\t\t\taddButton(\n\t\t\t\tdiv,\n\t\t\t\tpanelUid,\n\t\t\t\tchart,\n\t\t\t\tbuttonStyle,\n\t\t\t\ttitle,\n\t\t\t\thtmlString[1],\n\t\t\t\tupdateChartState\n\t\t\t);\n\t\t}\n\t}\n\n\tupdateChartState(chart);\n};\n\nconst addButton = (\n\tdiv,\n\tpanelUid,\n\tchart,\n\tbuttonStyle,\n\ttitle,\n\thtmlString,\n\tupdateChartFunction\n) => {\n\tlet isActive = htmlString.props.isActive;\n\tlet buttonClasses = styles.buttonArrow;\n\tif (title === \"Move chart down\") {\n\t\tbuttonClasses = buttonClasses.concat(\" \", styles.buttonArrowDown);\n\t}\n\tlet clickedArrowDirection =\n\t\ttitle === \"Move chart down\" ? DownArrowClickedString : UpArrowClickedString;\n\treturn div\n\t\t.append(\"button\")\n\t\t.attr(\"class\", buttonClasses)\n\t\t.attr(\"aria-disabled\", isActive === \"true\" ? \"false\" : \"true\")\n\t\t.attr(\"style\", buttonStyle)\n\t\t.attr(\"isActive\", isActive)\n\t\t.html(renderToString(htmlString))\n\t\t.on(\"click\", (elem) =>\n\t\t\tonArrowClickHandler(\n\t\t\t\telem,\n\t\t\t\tpanelUid,\n\t\t\t\tchart,\n\t\t\t\tupdateChartFunction,\n\t\t\t\tclickedArrowDirection,\n\t\t\t\tisActive\n\t\t\t)\n\t\t)\n\t\t.append(\"span\")\n\t\t.attr(\"class\", \"sr-only\")\n\t\t.html(title);\n};\n\nconst onArrowClickHandler = (\n\tevent,\n\tpanelUid,\n\tchart,\n\tupdateChartState,\n\tclickedArrowDirection,\n\tisActive\n) => {\n\tif (isActive === \"false\") {\n\t\tevent.preventDefault();\n\t} else if (isActive === \"true\") {\n\t\tlet isDownArray = true;\n\t\tlet panels = chart.panels;\n\t\tlet index = panels.findIndex((x) => x.indicators[0].params.uid === panelUid);\n\t\tconst chartEl = chart.rootModchart.node();\n\t\tconst panelEl = panels[index].rootPanel.node();\n\t\tlet thisPanel = panels.splice(index, 1)[0];\n\t\tif (clickedArrowDirection === UpArrowClickedString) {\n\t\t\tchartEl.insertBefore(panelEl, panelEl.previousSibling);\n\t\t\tpanels.splice(index - 1, 0, thisPanel);\n\t\t\tisDownArray = false;\n\t\t} else {\n\t\t\tchartEl.insertBefore(panelEl.nextSibling, panelEl);\n\t\t\tpanels.splice(index + 1, 0, thisPanel);\n\t\t}\n\t\tchart.loadData();\n\n\t\t//setUpAccessibility\n\t\tlet span = document.createElement(\"span\");\n\t\tspan.classList.add(\"sr-only\");\n\t\tspan.setAttribute(\"aria-label\", isDownArray ? \"Move chart down\" : \"Move chart up\");\n\t\tspan.innerHTML = isDownArray ? \"Move chart down\" : \"Move chart up\";\n\t\tevent.target.appendChild(span);\n\t\tupdateChartState(chart);\n\t}\n};\n\n//Add the Reposiotion Panel to lower indicators, will be adding once the count of the lower indicators is greater then 2 and\n//will re arrange if lower indicator is removed\nconst AddArrowRepositionPanel = (\n\tli,\n\twidth,\n\tpanelUid,\n\tchart,\n\tisReshuffle,\n\tupdateChartState\n) => {\n\tlet div;\n\t//Re arrange the arrows if one of the lower indicator is removed\n\tif (isReshuffle) {\n\t\tli.childNodes[li.childNodes.length - 1].innerHTML = \"\";\n\t\tdiv = li.childNodes[li.childNodes.length - 1];\n\t}\n\t//Add reposition arrow lower indicators\n\telse {\n\t\tdiv = li\n\t\t\t.append(\"div\")\n\t\t\t.attr(\"class\", styles.upDownArrowWrapperDiv)\n\t\t\t.attr(\"style\", `left: ${width - 63}px;`);\n\t}\n\trenderUpAndDownRepositionArrowIcon(\n\t\tdiv,\n\t\twidth,\n\t\tpanelUid,\n\t\tchart,\n\t\tisReshuffle,\n\t\tupdateChartState\n\t);\n};\n\n//Reshuffle and Reposition Arrows\nconst ReshuffleArrowRepositionPanel = (width, chart, updateChartState) => {\n\tdocument\n\t\t.getElementsByClassName(\"advancedChartLegend\")\n\t\t.forEach((element, index, items) => {\n\t\t\tif (index > 0 && items.length !== 2) {\n\t\t\t\tAddArrowRepositionPanel(\n\t\t\t\t\telement.childNodes[0],\n\t\t\t\t\twidth,\n\t\t\t\t\titems[index].childNodes[0].getAttribute(\"data-uid\"),\n\t\t\t\t\tchart,\n\t\t\t\t\ttrue,\n\t\t\t\t\tupdateChartState\n\t\t\t\t);\n\t\t\t}\n\t\t});\n};\n\n//Check if current panel is the first one in the chart\nconst isFirstPanel = (panelUid, chart) => {\n\treturn panelUid === chart.panels[1].indicators[0].params.uid;\n};\n\n//Check if current panel is the last one in the chart\nconst isLastPanel = (panelUid, chart) => {\n\tconst panels = chart.panels;\n\treturn panelUid === panels[panels.length - 1].indicators[0].params.uid;\n};\n\nexport default {\n\tAddArrowRepositionPanel,\n\tReshuffleArrowRepositionPanel,\n};\n","/*\n\tHard-code Exchange xids from MSO for now. When posible, use xref calls to get xid dynamically.\n*/\n\nconst EXCHANGES = [\n\t{\n\t\tlabel: \"Dow\",\n\t\tname: \"Dow\",\n\t\txid: \"599362\",\n\t},\n\t{\n\t\tlabel: \"NASDAQ\",\n\t\tname: \"NASDAQ\",\n\t\txid: \"579435\",\n\t},\n\t{\n\t\tlabel: \"S&P 500\",\n\t\tname: \"S&P 500\",\n\t\txid: \"593933\",\n\t},\n];\n\n// Add more colors (up to the limit of comparisons) once the user can add more than 6 comparisons\nconst COLORS = [\n\t\"#F79121\",\n\t\"#B0C30C\",\n\t\"#5EB6E4\",\n\t\"#666666\",\n\t\"#036868\",\n\t\"#582557\",\n\t\"#CD1D8C\",\n];\n\nexport default {\n\tEXCHANGES,\n\tCOLORS,\n};\n","import React from \"react\";\n\nconst CirclePlus = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CirclePlus;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ChartingCard_modal-backdrop__ji+q9\",\"show\":\"ChartingCard_show__O689d\",\"LinesEllipsis\":\"ChartingCard_LinesEllipsis__JQ+c9\",\"smartText\":\"ChartingCard_smartText__+jSQO\",\"flagCrosshair\":\"ChartingCard_flagCrosshair__xfhdA\",\"arrowleft\":\"ChartingCard_arrowleft__--YLZ\",\"dataContainer\":\"ChartingCard_dataContainer__KbP03\",\"componentContainer\":\"ChartingCard_componentContainer__9UN+w\",\"nonSelectPeerIndex\":\"ChartingCard_nonSelectPeerIndex__O4kh+\",\"chartWrapper\":\"ChartingCard_chartWrapper__ZUW4U\",\"chartHeader\":\"ChartingCard_chartHeader__i8au8\",\"chartControlRegion\":\"ChartingCard_chartControlRegion__z-hvF\",\"chartControlDivider\":\"ChartingCard_chartControlDivider__jqYPe\",\"chartButtonRow\":\"ChartingCard_chartButtonRow__FiZjM\",\"chartControls\":\"ChartingCard_chartControls__vE4T7\",\"advancedChartControls\":\"ChartingCard_advancedChartControls__s2B0p\",\"noPeers\":\"ChartingCard_noPeers__YWpfQ\",\"chartIntervalControl\":\"ChartingCard_chartIntervalControl__jK7wM\",\"chartTimeFrameControl\":\"ChartingCard_chartTimeFrameControl__IhAO6\",\"chartStyleControl\":\"ChartingCard_chartStyleControl__FVohN\",\"priceFormatControl\":\"ChartingCard_priceFormatControl__eQR+W\",\"legendContainer\":\"ChartingCard_legendContainer__lUtKl\",\"legendPositive\":\"ChartingCard_legendPositive__LyPyQ\",\"ohlcLegend\":\"ChartingCard_ohlcLegend__h62MS\",\"legendNegative\":\"ChartingCard_legendNegative__OajV9\",\"resetButton\":\"ChartingCard_resetButton__k0EtW\",\"chartContainer\":\"ChartingCard_chartContainer__PSvPi\",\"dropdown\":\"ChartingCard_dropdown__CS8wh\",\"nonSelectableItem\":\"ChartingCard_nonSelectableItem__4Eq33\",\"indicatorsView\":\"ChartingCard_indicatorsView__mJwBh\",\"comparisonsView\":\"ChartingCard_comparisonsView__RALBR\",\"compareItem\":\"ChartingCard_compareItem__Aro7j\",\"exchangeLabel\":\"ChartingCard_exchangeLabel__9pBj+\",\"peerSymbol\":\"ChartingCard_peerSymbol__SLApP\",\"peerCompanyName\":\"ChartingCard_peerCompanyName__+MRh5\",\"dropdownText\":\"ChartingCard_dropdownText__Zj1Nz\",\"compareDropdown\":\"ChartingCard_compareDropdown__u46B4\",\"indicatorsDropdown\":\"ChartingCard_indicatorsDropdown__SkrjL\",\"autoCompleteItem\":\"ChartingCard_autoCompleteItem__e1okg\",\"indicatorSearchContainer\":\"ChartingCard_indicatorSearchContainer__O3lSP\",\"hintContainer\":\"ChartingCard_hintContainer__xijHq\",\"searchIcon\":\"ChartingCard_searchIcon__0Gs0u\",\"menuItems\":\"ChartingCard_menuItems__e+VHC\",\"svgContent\":\"ChartingCard_svgContent__FhyE0\",\"removeFormBorder\":\"ChartingCard_removeFormBorder__hK2H1\",\"autoCompleteSearchResultBox\":\"ChartingCard_autoCompleteSearchResultBox__A1sr3\",\"autoCompleteSearchResultBoxHide\":\"ChartingCard_autoCompleteSearchResultBoxHide__wgL7y\",\"autoCompleteSearchClose\":\"ChartingCard_autoCompleteSearchClose__YZa8Q\",\"autoCompleteSearchItemText\":\"ChartingCard_autoCompleteSearchItemText__sK+EH\",\"autoCompleteSearchItemTextWithoutBorder\":\"ChartingCard_autoCompleteSearchItemTextWithoutBorder__gSFNu\",\"autoCompleteSearchItemMenu\":\"ChartingCard_autoCompleteSearchItemMenu__rHTZ-\",\"nomatch\":\"ChartingCard_nomatch__+DTtg\",\"eventDropdown\":\"ChartingCard_eventDropdown__P+zr5\",\"dropdown_header\":\"ChartingCard_dropdown_header__NTSM+\",\"clear_all\":\"ChartingCard_clear_all__LSSHK\",\"panzoomToolbar\":\"ChartingCard_panzoomToolbar__g33Mq\",\"gray\":\"ChartingCard_gray__X2DU5\",\"chartLegendMaxErr\":\"ChartingCard_chartLegendMaxErr__Um8s6\",\"chartLegendMaxErrWithFlag\":\"ChartingCard_chartLegendMaxErrWithFlag__qZ4pV\",\"errorIcon\":\"ChartingCard_errorIcon__QITUI\",\"crosshairTooltip\":\"ChartingCard_crosshairTooltip__hvFT4\"};","import FEATURE_FLAGS from \"utils/featureFlags\";\nconst OverrideIndicatorsFilterAll = \"all\";\nconst OverrideIndicatorsFilterLive = \"live\";\n\nconst AvailableIndicatorFilterExtension = () => {\n\tlet chartIndicator = getchartIndicatorFlagFromQueryStringParams();\n\tlet overrideFilterUsingQueryString =\n\t\tchartIndicator === null ? \"\" : chartIndicator.toLowerCase();\n\tif (\n\t\t(FEATURE_FLAGS.LIST_ALL_INDICATORS &&\n\t\t\toverrideFilterUsingQueryString !== OverrideIndicatorsFilterLive) ||\n\t\t(!FEATURE_FLAGS.LIST_ALL_INDICATORS &&\n\t\t\toverrideFilterUsingQueryString === OverrideIndicatorsFilterAll)\n\t) {\n\t\treturn false;\n\t} else if (\n\t\t!FEATURE_FLAGS.LIST_ALL_INDICATORS ||\n\t\t(FEATURE_FLAGS.LIST_ALL_INDICATORS &&\n\t\t\toverrideFilterUsingQueryString === OverrideIndicatorsFilterLive)\n\t) {\n\t\treturn true;\n\t}\n};\n\nconst getchartIndicatorFlagFromQueryStringParams = () => {\n\tconst params = new URLSearchParams(window.location.search);\n\tconst newParams = new URLSearchParams();\n\tfor (const [name, value] of params) {\n\t\tnewParams.append(name.toLowerCase(), value);\n\t}\n\treturn newParams.get(\"chartindicator\");\n};\n\nexport default AvailableIndicatorFilterExtension;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useRef, useEffect } from \"react\";\nimport { Typeahead, Menu, MenuItem, Hint } from \"react-bootstrap-typeahead\";\nimport Form from \"react-bootstrap/Form\";\nimport styles from \"../../ChartingCard/ChartingCard.module.scss\";\nimport AvailableIndicatorFilter from \"../AvailableIndicatorFilterExtension\";\n\nconst AutoCompleteIndicatorSearch = (props) => {\n\tconst typeaheadRef = useRef(null);\n\tconst [result, setResult] = useState([]);\n\tconst [selectedItems, setSelectedItems] = useState([]);\n\tconst [recentSearches, setRecentSearches] = useState([]);\n\tconst [focus, setFocus] = useState(false);\n\tvar lastSelectEvent = null;\n\n\tconst onInputChange = (input) => {\n\t\tloadSearchedIndicator(input);\n\t};\n\n\tconst handleFocusEvent = (event) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9 || event.keyCode === 16) {\n\t\t\t\tsetFocus(true);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\n\t//set focus and cleanup earlier text of autocomplete search box while changing from upper/lower to studies or vice versa.\n\tuseEffect(() => {\n\t\tclearText();\n\t}, []);\n\n\t//#region Auto Complete search Indicator\n\tconst loadSearchedIndicator = (input) => {\n\t\tif (!input) {\n\t\t\tprops.isSearchOnChange(false);\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tconst options = [];\n\t\t\tif (selectedItems && selectedItems.length > 0) {\n\t\t\t\toptions.push(...selectedItems);\n\t\t\t}\n\t\t\tlet indicatorList = [];\n\t\t\tObject.keys(props.indicators).forEach((key, index) => {\n\t\t\t\tif (!AvailableIndicatorFilter()) {\n\t\t\t\t\tlet indicator = props.indicators[key].items.filter((x) =>\n\t\t\t\t\t\tx.label.toLowerCase().includes(input.toLowerCase())\n\t\t\t\t\t);\n\t\t\t\t\taddFilteredIndicatorToIndicatorList(indicatorList, key, indicator);\n\t\t\t\t} else if (AvailableIndicatorFilter()) {\n\t\t\t\t\tlet indicator = props.indicators[key].items.filter(\n\t\t\t\t\t\t(x) =>\n\t\t\t\t\t\t\tx.isProductionReady === true &&\n\t\t\t\t\t\t\tx.label.toLowerCase().includes(input.toLowerCase())\n\t\t\t\t\t);\n\t\t\t\t\taddFilteredIndicatorToIndicatorList(indicatorList, key, indicator);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (indicatorList) {\n\t\t\t\toptions.push(...indicatorList);\n\t\t\t\tsetResult(options);\n\t\t\t\tprops.isSearchOnChange(true);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\n\tconst addFilteredIndicatorToIndicatorList = (indicatorList, key, indicator) => {\n\t\tindicatorList.push(\n\t\t\t...indicator.map((x) => ({ ...x, labelName: props.indicators[key].label }))\n\t\t);\n\t};\n\n\tconst onSelected = (selectedItem) => {\n\t\tif (selectedItem.length === 0) return;\n\t\tconst tempSelected = [...recentSearches];\n\t\tlet foundItem = false;\n\t\tfor (let item of tempSelected) {\n\t\t\tif (item.label === selectedItem[0].label) {\n\t\t\t\tfoundItem = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!foundItem) {\n\t\t\ttempSelected.push(selectedItem[0]);\n\t\t}\n\n\t\tsetRecentSearches(tempSelected);\n\t\tprops.isSearchOnChange(false);\n\t\tlet ob = {\n\t\t\ttarget: {\n\t\t\t\tdataset: { value: selectedItem[0].value, panel: selectedItem[0].panel },\n\t\t\t},\n\t\t};\n\n\t\tprops.onClick(ob);\n\n\t\tprops.closeDropdown(false, lastSelectEvent, { source: \"select\" });\n\t};\n\tconst saveEvent = (e) => {\n\t\tlastSelectEvent = { ...e };\n\t};\n\n\t/**\n\t * clear input and selection once user selectes search box\n\t **/\n\tconst clearText = () => {\n\t\tif (typeaheadRef.current) {\n\t\t\ttypeaheadRef.current.clear();\n\t\t}\n\t\tsetResult(recentSearches);\n\t\tsetSelectedItems([]);\n\t\tprops.isSearchOnChange(false);\n\t};\n\n\tconst renderMenu = (...results) => {\n\t\treturn props.isSearched && results.length > 0\n\t\t\t? results.map((indicator, index, data) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t(index === 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{indicator.labelName}\n\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\t\t
\n\t\t\t\t\t\t\t\t\t\t{indicator.label}\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\t(index - 1 >= 0 && indicator.labelName !== data[index - 1].labelName && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{indicator.labelName}\n\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\t\t
\n\t\t\t\t\t\t\t\t\t\t{indicator.label}\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\t\t\n\t\t\t\t\t\t\t\t
{indicator.label}
\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 })\n\t\t\t: props.isSearched &&
No indicator matches
;\n\t};\n\n\tconst customMenu = (results, menuProps) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t{renderMenu(...results)}\n\t\t\t\n\t\t);\n\t};\n\n\tconst customInput = ({ inputRef, referenceElementRef, ...inputProps }) => {\n\t\tconst container = {\n\t\t\tdisplay: \"flex\",\n\t\t};\n\t\tconst inputClass = `${focus ? \"focusVisible\" : \"focusReset\"}`;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tinputRef(node);\n\t\t\t\t\t\t\treferenceElementRef(node);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setFocus(false)}\n\t\t\t\t\t\tonKeyUp={handleFocusEvent}\n\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\tsetFocus(false);\n\t\t\t\t\t\t\tclearText();\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//#endregion\n\n\treturn (\n\t\t
\n\t\t\t `${option.label}`}\n\t\t\t\tonInputChange={onInputChange}\n\t\t\t\tplaceholder=\"Search indicators\"\n\t\t\t\toptions={result}\n\t\t\t\trenderMenu={customMenu}\n\t\t\t\trenderInput={customInput}\n\t\t\t\tonFocus={clearText}\n\t\t\t\tref={typeaheadRef}\n\t\t\t\tonChange={onSelected}\n\t\t\t\tselected={selectedItems}\n\t\t\t>\n\t\t
\n\t);\n};\n\nexport default AutoCompleteIndicatorSearch;\n","import React from \"react\";\nimport DefaultChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/DefaultChartConstant\";\nimport CandlestickChart from \"components/Lib/Icons/CandlestickChart/CandlestickChart\";\nimport HistogramChart from \"components/Lib/Icons/HistogramChart/HistogramChart\";\nimport DotChart from \"components/Lib/Icons/DotChart/DotChart\";\nimport OHLCChart from \"components/Lib/Icons/OHLCChart/OHLCChart\";\nimport Indicators from \"components/MarketsAndResearch/Charting/Indicators\";\nconst EVENT_DICT = {\n\tevents: {\n\t\tdividends: \"dividends\",\n\t\tearnings: \"earnings\",\n\t\tearningscustom: \"earnings\",\n\t\thighlow: \"highlow\",\n\t\tsplits: \"splits\",\n\t\tmorganstanleyratingscustom: \"morganstanleyratingscustom\",\n\t\tmorningstarratingscustom: \"morningstarratingscustom\",\n\t},\n\tearnings: {\n\t\teventKey: \"earnings\",\n\t\teventName: \"Earnings\",\n\t},\n\tdividends: {\n\t\teventKey: \"dividends\",\n\t\teventName: \"Dividends\",\n\t},\n\thighlow: {\n\t\teventKey: \"highlow\",\n\t\teventName: \"High / Low\",\n\t},\n\tmorningstarratingscustom: {\n\t\teventKey: \"morningstarratingscustom\",\n\t\teventName: \"Morningstar Ratings\",\n\t},\n\tmorganstanleyratingscustom: {\n\t\teventKey: \"morganstanleyratingscustom\",\n\t\teventName: \"Morgan Stanley Ratings\",\n\t},\n\tsplits: {\n\t\teventKey: \"splits\",\n\t\teventName: \"Splits\",\n\t},\n};\n\nconst PRICE_FORMATS = {\n\tPERCENT: {\n\t\tlabel: \"%\",\n\t\tvalue: \"percent\",\n\t\tdisable: false,\n\t},\n\tABSOLUTE: {\n\t\tlabel: \"$\",\n\t\tvalue: \"absolute\",\n\t\tdisable: false,\n\t},\n};\n\nconst INDICATOR_LIMITS = {\n\tUPPER: 6,\n\tLOWER: 5,\n};\n\nconst PANZOOM = {\n\tRANGE_RATIO: 0.2,\n\tDURATION: 300,\n\tZOOM_DISTANCE: 1.5,\n\tTOOLBAR_WIDTH: 253,\n};\n\nconst DEFAULT_PANEL_PARAMS = JSON.parse(\n\tJSON.stringify(DefaultChartConstant.DEFAULT_PANEL_PARAMS)\n);\n\nDEFAULT_PANEL_PARAMS.style.panel.yAxis.padding.top = 30;\nDEFAULT_PANEL_PARAMS.style.panel.yAxis.padding.bottom = 20;\nDEFAULT_PANEL_PARAMS.style.panel.border.color.bottom = \"#767676\";\nDEFAULT_PANEL_PARAMS.style.panel.border.color.default = null;\nDEFAULT_PANEL_PARAMS.style.panel.margin.bottom = 62;\nDEFAULT_PANEL_PARAMS.style.indicator.volume = Indicators.DICTIONARY[\"volume0\"].config;\nconst CHART_CONFIG = {\n\t...DefaultChartConstant.CHART_CONFIG,\n\tparams: {\n\t\t...DefaultChartConstant.CHART_CONFIG.params,\n\t\tdateStart: false,\n\t\tdateStop: false,\n\t\tzoomEnabled: true,\n\t\tshowXAxisFlag: true,\n\t\tlastClose: false,\n\t\tdataNormalized: false,\n\t\tcrosshair: null,\n\t\tstyle: JSON.parse(JSON.stringify(DEFAULT_PANEL_PARAMS.style)),\n\t\treturnPreviousPoint: true,\n\t},\n\tpanels: [\n\t\t{\n\t\t\tindicators: [\n\t\t\t\tDefaultChartConstant.CHART_CONFIG.panels[0].indicators[0],\n\t\t\t\tIndicators.DICTIONARY[\"volume0\"].config,\n\t\t\t],\n\t\t},\n\t],\n};\n\nconst DEFAULT_PANEL_PARAMS_LOWER = {\n\tprimaryOhlcType: \"posneg\",\n\tstyle: {\n\t\tyAxis: {\n\t\t\t...DEFAULT_PANEL_PARAMS.style.panel.yAxis,\n\t\t\tlabel: {\n\t\t\t\tformat: {\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tformat: \"0,.0f\",\n\t\t\t\t\t\tformatPercent: \"0,.0%\",\n\t\t\t\t\t},\n\t\t\t\t\tlarge: {\n\t\t\t\t\t\tformat: \"0,.2s\",\n\t\t\t\t\t\tformatPercent: \"0,.2%\",\n\t\t\t\t\t},\n\t\t\t\t\tsmall: {\n\t\t\t\t\t\tformat: \"0.2f\",\n\t\t\t\t\t\tformatPercent: \"0.2%\",\n\t\t\t\t\t\tthreshold: 1,\n\t\t\t\t\t},\n\t\t\t\t\tmicro: {\n\t\t\t\t\t\tformat: \".4f\",\n\t\t\t\t\t\tformatPercent: \"0.2%\",\n\t\t\t\t\t},\n\t\t\t\t\tmedium: {\n\t\t\t\t\t\tformat: \"0,.2f\",\n\t\t\t\t\t\tformatPercent: \"0,.1%\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst LINE_STYLES = [\n\t...DefaultChartConstant.LINE_STYLES,\n\t{\n\t\tlabel: \"Candlestick\",\n\t\tmarkerType: \"candlestick\",\n\t\ticon: ,\n\t\tlineColor: DefaultChartConstant.CHART_COLORS.LINE,\n\t},\n\t{\n\t\tlabel: \"Open / High / Low / Close\",\n\t\tmarkerType: \"ohlc\",\n\t\ticon: ,\n\t\tlineColor: DefaultChartConstant.CHART_COLORS.LINE,\n\t},\n\t{\n\t\tlabel: \"Histogram\",\n\t\tmarkerType: \"bar\",\n\t\ticon: ,\n\t\tlineColor: DefaultChartConstant.CHART_COLORS.HISTOGRAM,\n\t},\n\t{\n\t\tlabel: \"Dot\",\n\t\tmarkerType: \"shape\",\n\t\ticon: ,\n\t\tlineColor: DefaultChartConstant.CHART_COLORS.DOT,\n\t},\n];\n\nconst ERROR_MESSAGES = {\n\tUPPER_ERROR:\n\t\t\"You have reached the maximum number of upper indicators and comparisons. Please remove one and try again or click reset chart.\",\n\tLOWER_ERROR:\n\t\t\"You have reached the maximum number of lower indicators. Please remove one and try again or click reset chart.\",\n};\n\nexport default {\n\tDEFAULT_PANEL_PARAMS,\n\tDEFAULT_PANEL_PARAMS_LOWER,\n\tPRICE_FORMATS,\n\tINDICATOR_LIMITS,\n\tEVENT_DICT,\n\tPANZOOM,\n\tCHART_CONFIG,\n\tLINE_STYLES,\n\tERROR_MESSAGES,\n};\n","import React, { useState, useRef } from \"react\";\nimport { Dropdown } from \"react-bootstrap\";\nimport CirclePlus from \"components/Lib/Icons/CirclePlus/CirclePlus\";\nimport INDICATOR_CONSTANTS from \"../../Indicators\";\nimport AutoCompleteIndicatorSearch from \"../AutoCompleteIndicatorSearch/AutoCompleteIndicatorSearch\";\nimport styles from \"../../ChartingCard/ChartingCard.module.scss\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\nimport AvailableIndicatorFilter from \"../AvailableIndicatorFilterExtension\";\nimport { removeFocusfromMenu } from \"../../../ChartingCommon/Utility/CommonChartUtility\";\n\nconst IndicatorMenu = (props) => {\n\tconst [indicatorsView, setIndicatorsView] = useState(\"UPPER_LOWER\");\n\tconst [indicators, setIndicators] = useState(INDICATOR_CONSTANTS.UPPER_LOWER);\n\tconst [isSearched, setIsSearched] = useState(false);\n\tconst [onFocus, callOnFocus] = useState(null);\n\tconst [isShown, setIsShown] = useState(false);\n\tconst dropdownRef = useRef();\n\n\tconst handleIndicatorsView = () => {\n\t\tlet newView = \"UPPER_LOWER\";\n\t\tif (indicatorsView === \"UPPER_LOWER\") {\n\t\t\tnewView = \"STUDIES\";\n\t\t\tsetIndicators(INDICATOR_CONSTANTS.STUDIES);\n\t\t} else {\n\t\t\tsetIndicators(INDICATOR_CONSTANTS.UPPER_LOWER);\n\t\t}\n\n\t\tsetIndicatorsView(newView);\n\t\tcallOnFocus(() => () => 0);\n\t};\n\n\tconst onToggleCallback = (isOpen, e, metadata) => {\n\t\t// Do not close the dropdown when a non-selectable item is selected\n\t\t// (i.e. symbol search, UI button)\n\t\t// use AdvanceChartConstant.INDICATOR_LIMITS.UPPER for upper limit\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (\n\t\t\tprops.updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER &&\n\t\t\tprops.updateError.errorVisible\n\t\t) {\n\t\t\tsetIsShown(props.updateError.errorVisible);\n\t\t\tif (!props.errorMSG) {\n\t\t\t\tif (metadata?.source === \"rootClose\") closeDropdown();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tcheckError(isOpen, e, metadata);\n\n\t\tif (e && e.detail === 1 && metadata?.source === \"select\")\n\t\t\tremoveFocusfromMenu(dropdownRef.current);\n\t};\n\tconst checkError = (isOpen, e, metadata) => {\n\t\tif (metadata?.source === \"rootClose\") closeDropdown();\n\t\telse if (\n\t\t\tmetadata?.source !== \"select\" ||\n\t\t\t!e?.currentTarget?.classList?.contains(\"nonselectable\")\n\t\t) {\n\t\t\tif (!isOpen && props.updateError.errorVisible) setIsShown(true);\n\t\t\telse setIsShown(isOpen);\n\t\t}\n\t};\n\tconst closeDropdown = () => {\n\t\tsetIsShown(false);\n\t\tprops.resetErrorMSG();\n\t};\n\n\tconst onSelectCallback = (eventKey, event) => {\n\t\t// If a button group is selected, click on the active button\n\t\tif (event?.currentTarget?.classList?.contains(\"buttongroup\")) {\n\t\t\tevent.currentTarget.querySelector(\"button:not([disabled])\").click();\n\t\t\t// If a search box is selected, focus into it so the user can start searching\n\t\t} else if (event?.currentTarget?.classList?.contains(\"search\")) {\n\t\t\tevent.currentTarget.querySelector(\"input\").focus();\n\t\t}\n\t};\n\n\tconst renderDropdownItem = (\n\t\tindex,\n\t\tgroupLabel,\n\t\tindicatorLabel,\n\t\tvalue,\n\t\tpanel,\n\t\tclickHandler\n\t) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t{indicatorLabel}\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t Indicators\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{\"Select this item to filter the available indicators.\"}\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{!isSearched && (\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"Select this item to toggle how the available indicators are grouped below. Switches between Upper/Lower and Studies, where Upper/Lower is the default view.\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t

\n\t\t\t\t\t\tView By:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tUpper/Lower\n\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\tType\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{!isSearched &&\n\t\t\t\t\tindicators &&\n\t\t\t\t\tObject.keys(indicators).length > 0 &&\n\t\t\t\t\tObject.keys(indicators).map((key, indexOuter) => {\n\t\t\t\t\t\tconst group = indicators[key];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{AvailableIndicatorFilter() &&\n\t\t\t\t\t\t\t\t\tgroup.items.some((f) => {\n\t\t\t\t\t\t\t\t\t\treturn f.isProductionReady === true;\n\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\t\t{group.label}\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{!AvailableIndicatorFilter() && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{group.label}\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\t{AvailableIndicatorFilter() &&\n\t\t\t\t\t\t\t\t\tgroup.items\n\t\t\t\t\t\t\t\t\t\t.filter((f) => {\n\t\t\t\t\t\t\t\t\t\t\treturn f.isProductionReady === true;\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.map((prod_indicator, indexInner) =>\n\t\t\t\t\t\t\t\t\t\t\trenderDropdownItem(\n\t\t\t\t\t\t\t\t\t\t\t\tindexInner,\n\t\t\t\t\t\t\t\t\t\t\t\tgroup.label,\n\t\t\t\t\t\t\t\t\t\t\t\tprod_indicator.label,\n\t\t\t\t\t\t\t\t\t\t\t\tprod_indicator.value,\n\t\t\t\t\t\t\t\t\t\t\t\tprod_indicator.panel,\n\t\t\t\t\t\t\t\t\t\t\t\tprops.onClick\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{!AvailableIndicatorFilter() &&\n\t\t\t\t\t\t\t\t\tgroup.items.map((indicator, indexInner) =>\n\t\t\t\t\t\t\t\t\t\trenderDropdownItem(\n\t\t\t\t\t\t\t\t\t\t\tindexInner,\n\t\t\t\t\t\t\t\t\t\t\tgroup.label,\n\t\t\t\t\t\t\t\t\t\t\tindicator.label,\n\t\t\t\t\t\t\t\t\t\t\tindicator.value,\n\t\t\t\t\t\t\t\t\t\t\tindicator.panel,\n\t\t\t\t\t\t\t\t\t\t\tprops.onClick\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\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default IndicatorMenu;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ComparisonQuoteSearch_modal-backdrop__taybs\",\"show\":\"ComparisonQuoteSearch_show__48bFH\",\"LinesEllipsis\":\"ComparisonQuoteSearch_LinesEllipsis__lBfRw\",\"quoteSearchContainer\":\"ComparisonQuoteSearch_quoteSearchContainer__UidWj\",\"comparisonSearchResultBox\":\"ComparisonQuoteSearch_comparisonSearchResultBox__kvbib\",\"svgContent\":\"ComparisonQuoteSearch_svgContent__x+0zL\",\"removeFormBorder\":\"ComparisonQuoteSearch_removeFormBorder__97eCU\",\"nomatch\":\"ComparisonQuoteSearch_nomatch__1ysAz\",\"comparisonSearchResultBoxHide\":\"ComparisonQuoteSearch_comparisonSearchResultBoxHide__iVgKK\",\"quoteSymbol\":\"ComparisonQuoteSearch_quoteSymbol__jRALm\",\"quoteCompanyName\":\"ComparisonQuoteSearch_quoteCompanyName__AKu6f\",\"compareQuoteItem\":\"ComparisonQuoteSearch_compareQuoteItem__r2spG\",\"exchangeLabel\":\"ComparisonQuoteSearch_exchangeLabel__uyG6X\"};","import React, { useState, useRef } from \"react\";\nimport styles from \"./ComparisonQuoteSearch.module.scss\";\nimport Form from \"react-bootstrap/Form\";\nimport { Typeahead, Menu, MenuItem, Hint } from \"react-bootstrap-typeahead\";\nimport { URLS } from \"../../../../../utils/constants\";\nimport utils from \"utils/utils\";\n\nconst ComparisonQuoteSearch = (props) => {\n\tconst [xrefResult, setXrefResult] = useState([]);\n\tconst [focus, setFocus] = useState(false);\n\tconst typeaheadRef = useRef();\n\tlet lastSelectEvent = null;\n\n\tconst renderQuotes = (results, menuProps) => {\n\t\tlet className = results.length\n\t\t\t? styles.comparisonSearchResultBox\n\t\t\t: styles.comparisonSearchResultBoxHide;\n\n\t\treturn results.length ? (\n\t\t\t\n\t\t\t\t{results.map((result, index) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{result.symbol}
\n\t\t\t\t\t\t\t{utils.buildTooltip(\n\t\t\t\t\t\t\t\t\"peerComparison-companyName\",\n\t\t\t\t\t\t\t\tresult.name,\n\t\t\t\t\t\t\t\t\"text\",\n\t\t\t\t\t\t\t\tresult.name\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
\n\t\t) : null;\n\t};\n\tconst onSelected = (result) => {\n\t\tprops.onQuoteClick(result[0]);\n\t\tprops.closeDropdown(false, lastSelectEvent, { source: \"select\" });\n\t};\n\tconst saveEvent = (e) => {\n\t\tlastSelectEvent = { ...e };\n\t};\n\tconst onFocus = () => {\n\t\tif (\n\t\t\ttypeaheadRef.current &&\n\t\t\ttypeaheadRef.current.state &&\n\t\t\ttypeaheadRef.current.state.text\n\t\t) {\n\t\t\ttypeaheadRef.current.state.text = \"\";\n\t\t}\n\t};\n\tconst clearText = () => {\n\t\tif (typeaheadRef.current) {\n\t\t\ttypeaheadRef.current.clear();\n\t\t}\n\t\tsetXrefResult([]);\n\t};\n\n\tconst loadXrefData = async (symbol) => {\n\t\tif (!symbol || symbol === \"\") {\n\t\t\tsetXrefResult([]);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst options = [];\n\t\t\tconst xrefResponse = await props.apiInstance.get(\n\t\t\t\t`${URLS.XREF_PREDICTIVE_SEARCH_PATH}?term=${symbol}`\n\t\t\t);\n\t\t\tif (\n\t\t\t\tprops.compSearchInput.current.value &&\n\t\t\t\txrefResponse.data &&\n\t\t\t\txrefResponse.data.data\n\t\t\t) {\n\t\t\t\tconst data = xrefResponse.data.data;\n\t\t\t\tif (data) {\n\t\t\t\t\toptions.push(...data.items);\n\t\t\t\t\tsetXrefResult(options);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(\"Error fetching Xref! See error below.\");\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\tconst onChange = (value) => {\n\t\tloadXrefData(value);\n\t};\n\n\tconst handleFocusEvent = (event) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9 || event.keyCode === 16) {\n\t\t\t\tsetFocus(true);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\tconst customInput = ({ inputRef, referenceElementRef, ...inputProps }) => {\n\t\tconst container = {\n\t\t\tdisplay: \"flex\",\n\t\t\tborder: \"1px solid #000\",\n\t\t\tmargin: \"5px 10px 5px\",\n\t\t};\n\t\tconst inputClass = `${focus ? \"focusVisible\" : \"focusReset\"}`;\n\t\tconst inputBoxClass = `${styles.removeFormBorder + \" focusReset\"}`;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops.compSearchInput.current = node;\n\t\t\t\t\t\t\tinputRef(node);\n\t\t\t\t\t\t\treferenceElementRef(node);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setFocus(false)}\n\t\t\t\t\t\tonKeyUp={handleFocusEvent}\n\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\tsetFocus(false);\n\t\t\t\t\t\t\tclearText();\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\treturn (\n\t\t
\n\t\t\t `${option.name} ${option.symbol}`}\n\t\t\t\tonChange={onSelected}\n\t\t\t\tonInputChange={onChange}\n\t\t\t\tplaceholder=\"Enter name or symbol\"\n\t\t\t\toptions={xrefResult}\n\t\t\t\trenderMenu={renderQuotes}\n\t\t\t\trenderInput={customInput}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tref={typeaheadRef}\n\t\t\t/>\n\t\t
\n\t);\n};\n\nexport default ComparisonQuoteSearch;\n","import React, { useRef, useState } from \"react\";\nimport { Dropdown } from \"react-bootstrap\";\nimport CirclePlus from \"components/Lib/Icons/CirclePlus/CirclePlus\";\nimport COMPARISON_CONSTANTS from \"../Comparisons.js\";\nimport IndicatorMenu from \"../Indicators/IndicatorMenu/IndicatorMenu\";\nimport styles from \"../ChartingCard/ChartingCard.module.scss\";\nimport ComparisonQuoteSearch from \"./ComparisonQuoteSearch/ComparisonQuoteSearch\";\nimport FEATURE_FLAGS from \"utils/featureFlags\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\nimport { removeFocusfromMenu } from \"components/MarketsAndResearch/ChartingCommon/Utility/CommonChartUtility\";\nimport utils from \"utils/utils\";\n\nconst Indicators = React.memo((props) => {\n\treturn ;\n});\n\nconst Comparisons = (props) => {\n\tconst [comparisonsView, setComparisonsView] = useState(\"INDEXES\");\n\tconst [isShown, setIsShown] = useState(false);\n\tconst compSearchInput = useRef(null);\n\tconst dropdownref = useRef();\n\n\tconst handleComparisonsView = () => {\n\t\tlet newView = comparisonsView === \"INDEXES\" ? \"PEERS\" : \"INDEXES\";\n\t\tsetComparisonsView(newView);\n\t};\n\n\tconst renderExchanges = () => {\n\t\treturn COMPARISON_CONSTANTS.EXCHANGES.map((comparison, index) => (\n\t\t\t\n\t\t\t\t\n\t\t\t\t
{comparison.label}
\n\t\t\t\n\t\t));\n\t};\n\n\tconst renderPeers = () => {\n\t\tconst hasPeers = props.peersData && props.peersData.length;\n\t\treturn hasPeers ? (\n\t\t\tprops.peersData.map((peer, index) => (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
{peer.symbol}
\n\t\t\t\t\t\t{utils.buildTooltip(\n\t\t\t\t\t\t\t\"peerComparison-companyName\",\n\t\t\t\t\t\t\tpeer.companyName,\n\t\t\t\t\t\t\t\"text\",\n\t\t\t\t\t\t\tpeer.companyName\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\t\tPeers were not found\n\t\t);\n\t};\n\n\tconst onToggleCallback = (isOpen, e, metadata) => {\n\t\t// Do not close the dropdown when a non-selectable item is selected\n\t\t// (i.e. symbol search, UI button)\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (\n\t\t\tprops.updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER &&\n\t\t\tprops.updateError.errorVisible\n\t\t) {\n\t\t\tsetIsShown(props.updateError.errorVisible);\n\t\t\tif (!props.errorMSG) {\n\t\t\t\tif (metadata?.source === \"rootClose\") {\n\t\t\t\t\tsetIsShown(false);\n\t\t\t\t\tprops.resetErrorMSG();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tonCheckError(isOpen, e, metadata);\n\n\t\tif (!isOpen && compSearchInput && compSearchInput.current) {\n\t\t\tcompSearchInput.current.value = \"\";\n\t\t}\n\t\tif (e && e.detail === 1 && metadata?.source === \"select\") {\n\t\t\tremoveFocusfromMenu(dropdownref.current);\n\t\t}\n\t};\n\n\tconst onCheckError = (isOpen, e, metadata) => {\n\t\tif (metadata?.source === \"rootClose\") {\n\t\t\tsetIsShown(false);\n\t\t\tprops.resetErrorMSG();\n\t\t} else if (\n\t\t\tmetadata?.source !== \"select\" ||\n\t\t\t!e?.currentTarget?.classList?.contains(\"nonselectable\")\n\t\t) {\n\t\t\tsetIsShown(isOpen);\n\t\t\tif (!isOpen && props.updateError.errorVisible) setIsShown(true);\n\t\t}\n\t};\n\tconst onSelectCallback = (eventKey, event) => {\n\t\t// If a button group is selected, click on the active button\n\t\tif (event?.currentTarget?.classList?.contains(\"buttongroup\")) {\n\t\t\tevent.currentTarget.querySelector(\"button:not([disabled])\").click();\n\t\t\t// If a search box is selected, focus into it so the user can start searching\n\t\t} else if (event?.currentTarget?.classList?.contains(\"search\")) {\n\t\t\tevent.currentTarget.querySelector(\"input\").focus();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t Compare\n\t\t\t\n\t\t\t\n\t\t\t\t

\n\t\t\t\t\t{\n\t\t\t\t\t\t\"Select this item to search for symbols to compare. Use the up and down arrows to select a symbol from the suggested results, or to move to a different menu item.\"\n\t\t\t\t\t}\n\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"Select this item to toggle what types of comparison symbols appear below. Switches between Indexes and Peers, where Indexes is the default view.\"\n\t\t\t\t\t\t}\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\tIndexes\n\t\t\t\t\t{\" \"}\n\t\t\t\t\t|\n\t\t\t\t\t\n\t\t\t\t\t\tPeers\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{comparisonsView === \"INDEXES\" ? renderExchanges() : renderPeers()}\n\t\t\t
\n\t\t\n\t);\n};\n\nconst Events = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t Events\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\tSelect Events\n\t\t\t\t\t\n\t\t\t\t\t\tClear All\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\n\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\tDividends\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\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\tEarnings\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\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\tHigh / Low\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\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\tMorgan Stanley Rating\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\t
\n\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\tMorningstar Rating\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\t\n\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\tSplits\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default {\n\tIndicators,\n\tComparisons,\n\tEvents,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ColorPallete_modal-backdrop__tz8uW\",\"show\":\"ColorPallete_show__SeBJY\",\"LinesEllipsis\":\"ColorPallete_LinesEllipsis__IMJqL\",\"colorPallete\":\"ColorPallete_colorPallete__gGfpY\",\"button\":\"ColorPallete_button__Nd4DS\",\"colorbox\":\"ColorPallete_colorbox__Oq36s\",\"popOver\":\"ColorPallete_popOver__XtB7T\"};","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useRef, useEffect, useState } from \"react\";\nimport { Popper } from \"react-popper\";\nimport styles from \"./ColorPallete.module.scss\";\nimport Chevron from \"../Chevron/Chevron\";\n\nconst colorList = [\n\t{ value: \"#EF8989\", name: \"Light Coral\" },\n\t{ value: \"#FDCC72\", name: \"Topaz\" },\n\t{ value: \"#E9E07D\", name: \"Flax\" },\n\t{ value: \"#90DE90\", name: \"Light Green\" },\n\t{ value: \"#8FD3FF\", name: \"Pale Cyan\" },\n\t{ value: \"#B9A7DA\", name: \"Light Pastel Purple\" },\n\t{ value: \"#F5F5F5\", name: \"Whitesmoke\" },\n\t{ value: \"#CA3030\", name: \"Persian Red\" },\n\t{ value: \"#D6A241\", name: \"Satin Sheen Gold\" },\n\t{ value: \"#DACC37\", name: \"Sandstorm\" },\n\t{ value: \"#4BB44B\", name: \"Apple\" },\n\t{ value: \"#187ABA\", name: \"Cyan Cornflower Blue\" },\n\t{ value: \"#9788B2\", name: \"Lavender Purple\" },\n\t{ value: \"#B7B7B7\", name: \"Philippine Silver\" },\n\t{ value: \"#AA0000\", name: \"Dark Candy Apple Red\" },\n\t{ value: \"#BB831B\", name: \"University Of California Gold\" },\n\t{ value: \"#B9AB15\", name: \"Gold Foil\" },\n\t{ value: \"#006600\", name: \"Green\" },\n\t{ value: \"#005C90\", name: \"Sea Blue\" },\n\t{ value: \"#675882\", name: \"Dark Lavender\" },\n\t{ value: \"#767676\", name: \"Sonic Silver\" },\n\t{ value: \"#750707\", name: \"Barn Red\" },\n\t{ value: \"#8B6216\", name: \"Golden Brown\" },\n\t{ value: \"#8B8113\", name: \"Dark Yellow\" },\n\t{ value: \"#004400\", name: \"Dark Green\" },\n\t{ value: \"#002B51\", name: \"Prussian Blue\" },\n\t{ value: \"#583D65\", name: \"English Violet\" },\n\t{ value: \"#333333\", name: \"Dark Charcoal\" },\n];\n\nconst getColorName = (code) => colorList.find((x) => x.value === code).name;\n\nconst ColorPallete = (props) => {\n\tconst btnRef = useRef(null);\n\tconst buttonId = `btn_colorpalette_${props.id}`;\n\tconst palleteId = `colorpalette_${props.id}`;\n\tconst [selectedColor, setSelectedColor] = useState({\n\t\tcolor: props.defaultValue,\n\t\tname: getColorName(props.defaultValue),\n\t});\n\tlet popperNode = null;\n\tconst [toggle, setToggle] = useState(false);\n\n\tconst togglePopOver = () => {\n\t\tsetToggle(!toggle);\n\t};\n\n\tconst onColorSelection = (e) => {\n\t\tif (e.type === \"click\" || (e.type === \"keydown\" && e.key === \"Enter\")) {\n\t\t\tlet color = e.target.dataset.color;\n\t\t\tlet name = e.target.dataset.name;\n\t\t\tsetSelectedColor({ color: color, name: name });\n\t\t\tif (e.type === \"click\") closePopover();\n\t\t\telse btnRef.current.focus();\n\t\t\tprops.onSelected({ name: props.name, color: color });\n\t\t}\n\t};\n\n\tlet colordiv = colorList.map((color, i, data) => (\n\t\t\n\t));\n\n\tuseEffect(() => {\n\t\ttoggle && popperNode.firstChild.focus({ preventScroll: true });\n\t}, [toggle]);\n\n\tconst onBlur = (e) => {\n\t\te && e.stopPropagation();\n\n\t\tif (\n\t\t\te.relatedTarget &&\n\t\t\t!e.currentTarget.contains(e.relatedTarget) &&\n\t\t\te.relatedTarget.id !== buttonId\n\t\t) {\n\t\t\tclosePopover();\n\t\t}\n\t};\n\tconst onKeyHandler = (e) => {\n\t\tif (e.key === \"Escape\") {\n\t\t\tclosePopover();\n\t\t\tbtnRef.current.focus();\n\t\t} else if (e.target.dataset.isfirst === \"true\" && e.shiftKey && e.keyCode === 9) {\n\t\t\tclosePopover();\n\t\t}\n\t};\n\tconst closePopover = () => {\n\t\tsetToggle(false);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{props.name + \" \" + selectedColor.name}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{toggle && (\n\t\t\t\t (popperNode = node)}\n\t\t\t\t>\n\t\t\t\t\t{({ ref, style, placement, arrowProps }) => (\n\t\t\t\t\t\t onBlur(e)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{colordiv}\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\nexport default ColorPallete;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"LineDropdown_modal-backdrop__Efltx\",\"show\":\"LineDropdown_show__tyYUj\",\"LinesEllipsis\":\"LineDropdown_LinesEllipsis__UEN5V\",\"LineDropdown\":\"LineDropdown_LineDropdown__4t6+E\",\"btn\":\"LineDropdown_btn__-gSfz\",\"popOver\":\"LineDropdown_popOver__Ktaxz\"};","import React, { useRef, useState, useEffect } from \"react\";\nimport { Popper } from \"react-popper\";\nimport styles from \"./LineDropdown.module.scss\";\nimport Chevron from \"../Chevron/Chevron\";\n\nconst LineStyles = [\n\t{ style: \"line1\", width: 1, linedash: \"\", name: \"Solid\" },\n\t{ style: \"line2\", width: 2, linedash: \"\", name: \"Bold\" },\n\t{ style: \"line3\", width: 2, linedash: \"2,4\", name: \"Dotted\" },\n\t{ style: \"line4\", width: 2, linedash: \"6,2\", name: \"Dash\" },\n\t{ style: \"line5\", width: 2, linedash: \"12,2\", name: \"Long Dash\" },\n];\n\nconst getLineStyleMap = (width, linedash) => {\n\twidth = parseInt(width);\n\tif (width === 1 && linedash === \"\") {\n\t\treturn \"line1\";\n\t} else if (width === 2 && linedash === \"\") return \"line2\";\n\telse if (width === 2 && linedash === \"2,4\") return \"line3\";\n\telse if (width === 2 && linedash === \"6,2\") return \"line4\";\n\telse if (width === 2 && linedash === \"12,2\") return \"line5\";\n\telse return \"line2\";\n};\n\nconst getLineName = (width, linedash) =>\n\tLineStyles.find((item) => item.width === parseInt(width) && item.linedash === linedash)\n\t\t?.name;\n\nconst LineDropdown = (props) => {\n\tconst [toggle, setToggle] = useState(false);\n\tconst buttonId = `btn_linedropdown_${props.id}`;\n\tconst linedropdownId = `linedropdown_${props.id}`;\n\tlet popperNode = null;\n\tlet btnRef = useRef(null);\n\tlet lineStyleClass = getLineStyleMap(props.width, props.linedash);\n\tconst [selectedLineStyle, setSelectedLineStyle] = useState({\n\t\twidth: props.width,\n\t\tlinedash: props.linedash,\n\t\tstyleClass: lineStyleClass,\n\t\tname: getLineName(props.width, props.linedash),\n\t});\n\n\tconst lineSelectorHandler = (e) => {\n\t\tlet width = e.target.dataset.width;\n\t\tlet linedash = e.target.dataset.linedash;\n\t\tlet linename = e.target.dataset.name;\n\t\tlineStyleClass = getLineStyleMap(width, linedash);\n\t\tsetSelectedLineStyle({\n\t\t\twidth: width,\n\t\t\tlinedash: linedash,\n\t\t\tstyleClass: lineStyleClass,\n\t\t\tname: linename,\n\t\t});\n\t\tclosePopover();\n\t\tbtnRef.current.focus();\n\t\tprops.onSelected({ name: props.name, width: width, linedash: linedash });\n\t};\n\n\tconst lineDiv = LineStyles.map((line, i) => (\n\t\t keyHandler(e)}\n\t\t>\n\t\t\t\n\t\t\n\t));\n\tconst keyHandler = (e) => {\n\t\te.key !== \"Tab\" && e.preventDefault();\n\t\tlet keyCode = e.which;\n\t\tif (e.key === \"Enter\") {\n\t\t\tlineSelectorHandler(e);\n\t\t}\n\t\tif (e.key === \"Escape\") {\n\t\t\tclosePopover();\n\t\t\tbtnRef.current.focus();\n\t\t}\n\t\tif (e.target.dataset.isfirst === \"true\" && e.shiftKey && e.keyCode === 9) {\n\t\t\tclosePopover();\n\t\t}\n\n\t\tif (keyCode === 40) {\n\t\t\tlet nextElementSibling = e.currentTarget.nextElementSibling;\n\t\t\tif (nextElementSibling && nextElementSibling.className.includes(\"lineItem\")) {\n\t\t\t\tnextElementSibling.focus({\n\t\t\t\t\tpreventScroll: true,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (keyCode === 38) {\n\t\t\tlet prevElementSibling = e.currentTarget.previousElementSibling;\n\t\t\tif (prevElementSibling && prevElementSibling.className.includes(\"lineItem\")) {\n\t\t\t\tprevElementSibling.focus({\n\t\t\t\t\tpreventScroll: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\ttoggle &&\n\t\t\tpopperNode.firstChild.focus({\n\t\t\t\tpreventScroll: true,\n\t\t\t});\n\t}, [toggle, popperNode]);\n\n\tconst clickHandler = (e) => {\n\t\tsetToggle(!toggle);\n\t};\n\tconst onBlur = (e) => {\n\t\te && e.stopPropagation();\n\t\tif (\n\t\t\te.relatedTarget &&\n\t\t\t!e.currentTarget.contains(e.relatedTarget) &&\n\t\t\te.relatedTarget.id !== buttonId\n\t\t) {\n\t\t\tclosePopover();\n\t\t}\n\t};\n\n\tconst closePopover = () => {\n\t\tsetToggle(false);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t{toggle && (\n\t\t\t\t (popperNode = node)}\n\t\t\t\t>\n\t\t\t\t\t{({ ref, style, placement, arrowProps }) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{lineDiv}\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\nexport default LineDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"IndicatorInputPopUp_modal-backdrop__TqS+C\",\"show\":\"IndicatorInputPopUp_show__Se42x\",\"LinesEllipsis\":\"IndicatorInputPopUp_LinesEllipsis__wXlaQ\",\"modal\":\"IndicatorInputPopUp_modal__8X6KN\",\"value\":\"IndicatorInputPopUp_value__a6jwf\",\"lblPeriod\":\"IndicatorInputPopUp_lblPeriod__yOWpq\",\"flexibleDiv\":\"IndicatorInputPopUp_flexibleDiv__-77te\",\"errorMsg\":\"IndicatorInputPopUp_errorMsg__CX4vx\",\"lblLineStyle\":\"IndicatorInputPopUp_lblLineStyle__3HBSO\",\"txtLineStyle\":\"IndicatorInputPopUp_txtLineStyle__GCccS\",\"dropdown\":\"IndicatorInputPopUp_dropdown__b0SoL\",\"txtLineColor\":\"IndicatorInputPopUp_txtLineColor__v+rfW\",\"modalHeader\":\"IndicatorInputPopUp_modalHeader__1F7BW\",\"crossButton\":\"IndicatorInputPopUp_crossButton__Lh1K9\",\"header\":\"IndicatorInputPopUp_header__eHY9-\",\"modalBody\":\"IndicatorInputPopUp_modalBody__uBkT5\",\"modalContent\":\"IndicatorInputPopUp_modalContent__k4run\",\"applyButtonDiv\":\"IndicatorInputPopUp_applyButtonDiv__ue5rE\",\"applyButton\":\"IndicatorInputPopUp_applyButton__GUT+Y\"};","import Indicators from \"components/MarketsAndResearch/Charting/Indicators\";\nimport InputConfig from \"./IndicatorInputsConfig\";\n// to change hex color code into rgb with opacity\nconst HexToRGB = (hex, opacity) => {\n\thex = hex.replace(/[^0-9A-F]/gi, \"\");\n\tvar bigint = parseInt(hex, 16);\n\tvar r = (bigint >> 16) & 255;\n\tvar g = (bigint >> 8) & 255;\n\tvar b = bigint & 255;\n\n\treturn \"rgb(\" + r + \",\" + g + \",\" + b + \",\" + opacity + \")\";\n};\n\nconst updateIndicatorStyle = (ind, inputs, colorDict, lineDict) => {\n\tind.config.style = {\n\t\t...ind.config.style,\n\t\twidth: lineDict[inputs.linestyle.line.name]\n\t\t\t? lineDict[inputs.linestyle.line.name].width\n\t\t\t: inputs.linestyle.line.default.width,\n\t\tlineDash: lineDict[inputs.linestyle.line.name]\n\t\t\t? lineDict[inputs.linestyle.line.name].linedash\n\t\t\t: inputs.linestyle.line.default.linedash,\n\t\tcolor: colorDict[inputs.linestyle.color.name]\n\t\t\t? colorDict[inputs.linestyle.color.name]\n\t\t\t: inputs.linestyle.color.default,\n\t};\n\treturn ind;\n};\nexport const IndicatorFormatter = {\n\tbollinger: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"bollinger\"]));\n\t\tif (textDict[inputs.number0.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number0.name] };\n\t\tif (textDict[inputs.number1.name])\n\t\t\tind.config.inputs[1] = {\n\t\t\t\tname: \"standardDeviations\",\n\t\t\t\tvalue: textDict[inputs.number1.name],\n\t\t\t};\n\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\twidth: lineDict[inputs.linestyle0.line.name]\n\t\t\t\t? lineDict[inputs.linestyle0.line.name].width\n\t\t\t\t: inputs.linestyle0.line.default.width,\n\t\t\tlineDash: lineDict[inputs.linestyle0.line.name]\n\t\t\t\t? lineDict[inputs.linestyle0.line.name].linedash\n\t\t\t\t: inputs.linestyle0.line.default.linedash,\n\t\t\tcolor: colorDict[inputs.linestyle0.color.name]\n\t\t\t\t? colorDict[inputs.linestyle0.color.name]\n\t\t\t\t: inputs.linestyle0.color.default,\n\t\t\tfillColor: colorDict[inputs.color1.name]\n\t\t\t\t? HexToRGB(colorDict[inputs.color1.name], 0.2)\n\t\t\t\t: HexToRGB(inputs.color1.default, 0.2),\n\t\t\tsma: {\n\t\t\t\tcolor: colorDict[inputs.linestyle1.color.name]\n\t\t\t\t\t? colorDict[inputs.linestyle1.color.name]\n\t\t\t\t\t: inputs.linestyle1.color.default,\n\t\t\t\twidth: lineDict[inputs.linestyle1.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle1.line.name].width\n\t\t\t\t\t: inputs.linestyle1.line.default.width,\n\t\t\t\tlineDash: lineDict[inputs.linestyle1.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle1.line.name].linedash\n\t\t\t\t\t: inputs.linestyle1.line.default.linedash,\n\t\t\t},\n\t\t};\n\t\treturn ind;\n\t},\n\tmae: function ({ dropDownDict, textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"mae\"]));\n\t\tif (textDict[inputs.number0.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number0.name] };\n\t\tif (textDict[inputs.number1.name]) {\n\t\t\tind.config.inputs[1] = {\n\t\t\t\tname: \"lowfactor\",\n\t\t\t\tvalue: 1 - textDict[inputs.number1.name] / 100,\n\t\t\t};\n\t\t\tind.config.inputs[2] = {\n\t\t\t\tname: \"highfactor\",\n\t\t\t\tvalue: 1 + textDict[inputs.number1.name] / 100,\n\t\t\t};\n\t\t}\n\t\tif (dropDownDict[inputs.dropdown.name]) {\n\t\t\tind.config.inputs[3] = {\n\t\t\t\tname: \"averagetype\",\n\t\t\t\tvalue: InputConfig.AverageType[dropDownDict[inputs.dropdown.name]],\n\t\t\t};\n\t\t}\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\twidth: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].width\n\t\t\t\t: inputs.linestyle.line.default.width,\n\t\t\tlineDash: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].linedash\n\t\t\t\t: inputs.linestyle.line.default.linedash,\n\t\t\tcolor: colorDict[inputs.linestyle.color.name]\n\t\t\t\t? colorDict[inputs.linestyle.color.name]\n\t\t\t\t: inputs.linestyle.color.default,\n\t\t\tfillColor: colorDict[inputs.color.name]\n\t\t\t\t? HexToRGB(colorDict[inputs.color.name], 0.25)\n\t\t\t\t: HexToRGB(inputs.color.default, 0.25),\n\t\t};\n\t\treturn ind;\n\t},\n\tsma: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"sma\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\twidth: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].width\n\t\t\t\t: inputs.linestyle.line.default.width,\n\t\t\tlineDash: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].linedash\n\t\t\t\t: inputs.linestyle.line.default.linedash,\n\t\t\tcolor: colorDict[inputs.linestyle.color.name]\n\t\t\t\t? colorDict[inputs.linestyle.color.name]\n\t\t\t\t: inputs.linestyle.color.default,\n\t\t};\n\t\treturn ind;\n\t},\n\tvolume: function ({ colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"volume\"]));\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\tpositive: {\n\t\t\t\tcolor: colorDict[inputs.color0.name]\n\t\t\t\t\t? colorDict[inputs.color0.name]\n\t\t\t\t\t: inputs.color0.default,\n\t\t\t},\n\t\t\tnegative: {\n\t\t\t\tcolor: colorDict[inputs.color1.name]\n\t\t\t\t\t? colorDict[inputs.color1.name]\n\t\t\t\t\t: inputs.color1.default,\n\t\t\t},\n\t\t};\n\t\treturn ind;\n\t},\n\twma: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"wma\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\twidth: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].width\n\t\t\t\t: inputs.linestyle.line.default.width,\n\t\t\tlineDash: lineDict[inputs.linestyle.line.name]\n\t\t\t\t? lineDict[inputs.linestyle.line.name].linedash\n\t\t\t\t: inputs.linestyle.line.default.linedash,\n\t\t\tcolor: colorDict[inputs.linestyle.color.name]\n\t\t\t\t? colorDict[inputs.linestyle.color.name]\n\t\t\t\t: inputs.linestyle.color.default,\n\t\t};\n\t\treturn ind;\n\t},\n\tdividendyield: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"dividendyield\"]));\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\tonbalancevolume: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"onbalancevolume\"]));\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\tperatio: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"peratio\"]));\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\trevenues: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"revenues\"]));\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\trollingeps: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"rollingeps\"]));\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\tmacd: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"macd\"]));\n\t\tif (textDict[inputs.number0.name])\n\t\t\tind.config.inputs[0] = { name: \"fastperiod\", value: textDict[inputs.number0.name] };\n\t\tif (textDict[inputs.number1.name])\n\t\t\tind.config.inputs[1] = { name: \"slowperiod\", value: textDict[inputs.number1.name] };\n\t\tif (textDict[inputs.number2.name])\n\t\t\tind.config.inputs[2] = { name: \"smoothing\", value: textDict[inputs.number2.name] };\n\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\tcolor: colorDict[inputs.linestyle0.color.name]\n\t\t\t\t? colorDict[inputs.linestyle0.color.name]\n\t\t\t\t: inputs.linestyle0.color.default,\n\t\t\twidth: lineDict[inputs.linestyle0.line.name]\n\t\t\t\t? lineDict[inputs.linestyle0.line.name].width\n\t\t\t\t: inputs.linestyle0.line.default.width,\n\t\t\tlineDash: lineDict[inputs.linestyle0.line.name]\n\t\t\t\t? lineDict[inputs.linestyle0.line.name].linedash\n\t\t\t\t: inputs.linestyle0.line.default.linedash,\n\n\t\t\tema: {\n\t\t\t\tcolor: colorDict[inputs.linestyle1.color.name]\n\t\t\t\t\t? colorDict[inputs.linestyle1.color.name]\n\t\t\t\t\t: inputs.linestyle1.color.default,\n\t\t\t\twidth: lineDict[inputs.linestyle1.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle1.line.name].width\n\t\t\t\t\t: inputs.linestyle1.line.default.width,\n\t\t\t\tlineDash: lineDict[inputs.linestyle1.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle1.line.name].linedash\n\t\t\t\t\t: inputs.linestyle1.line.default.linedash,\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tcolor: colorDict[inputs.linestyle2.color.name]\n\t\t\t\t\t? colorDict[inputs.linestyle2.color.name]\n\t\t\t\t\t: inputs.linestyle2.color.default,\n\t\t\t\twidth: lineDict[inputs.linestyle2.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle2.line.name].width\n\t\t\t\t\t: inputs.linestyle2.line.default.width,\n\t\t\t\tlineDash: lineDict[inputs.linestyle2.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle2.line.name].linedash\n\t\t\t\t\t: inputs.linestyle2.line.default.linedash,\n\t\t\t},\n\t\t\tnegative: {\n\t\t\t\tcolor: colorDict[inputs.linestyle3.color.name]\n\t\t\t\t\t? colorDict[inputs.linestyle3.color.name]\n\t\t\t\t\t: inputs.linestyle3.color.default,\n\t\t\t\twidth: lineDict[inputs.linestyle3.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle3.line.name].width\n\t\t\t\t\t: inputs.linestyle3.line.default.width,\n\t\t\t\tlineDash: lineDict[inputs.linestyle3.line.name]\n\t\t\t\t\t? lineDict[inputs.linestyle3.line.name].linedash\n\t\t\t\t\t: inputs.linestyle3.line.default.linedash,\n\t\t\t},\n\t\t};\n\t\treturn ind;\n\t},\n\tmomentum: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"momentum\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\n\t\tind = updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t\tind.config.style.fillColor = colorDict[inputs.color0.name]\n\t\t\t? HexToRGB(colorDict[inputs.color0.name], 0.2)\n\t\t\t: HexToRGB(inputs.color0.default, 0.2);\n\n\t\treturn ind;\n\t},\n\tproc: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"proc\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\tvroc: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"vroc\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\n\t\treturn updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\t},\n\trsi: function ({ textDict, lineDict, colorDict, inputs, indicator }) {\n\t\tlet ind = indicator.config\n\t\t\t? indicator\n\t\t\t: JSON.parse(JSON.stringify(Indicators.DICTIONARY[\"rsi\"]));\n\t\tif (textDict[inputs.number.name])\n\t\t\tind.config.inputs[0] = { name: \"period\", value: textDict[inputs.number.name] };\n\n\t\tind = updateIndicatorStyle(ind, inputs, colorDict, lineDict);\n\n\t\tind.config.style = {\n\t\t\t...ind.config.style,\n\t\t\toverbought: {\n\t\t\t\t...ind.config.style.overbought,\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: colorDict[inputs.color0.name]\n\t\t\t\t\t\t? colorDict[inputs.color0.name]\n\t\t\t\t\t\t: inputs.color0.default,\n\t\t\t\t},\n\t\t\t},\n\t\t\toversold: {\n\t\t\t\t...ind.config.style.oversold,\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: colorDict[inputs.color1.name]\n\t\t\t\t\t\t? colorDict[inputs.color1.name]\n\t\t\t\t\t\t: inputs.color1.default,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn ind;\n\t},\n};\n","import InputConfig from \"./IndicatorInputsConfig\";\nfunction rgbToHex(color) {\n\tvar bg = color.match(\n\t\t/rgba?\\((\\d{1,3}), ?(\\d{1,3}), ?(\\d{1,3})\\)?(?:, ?(\\d(?:\\.\\d?))\\))?/\n\t);\n\tfunction hex(x) {\n\t\treturn (\"0\" + parseInt(x).toString(16)).toUpperCase().slice(-2);\n\t}\n\treturn \"#\" + hex(bg[1]) + hex(bg[2]) + hex(bg[3]);\n}\nexport const MergedIndicatorConfig = {\n\tbollinger: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"bollinger\"])\n\t\t);\n\t\tconfig.inputs.number0.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\t\tconfig.inputs.number1.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"standardDeviations\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle0.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle0.color.default = current.style.color;\n\n\t\tconfig.inputs.linestyle1.line.default = {\n\t\t\twidth: current.style.sma.width,\n\t\t\tlinedash: current.style.sma.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle1.color.default = current.style.sma.color;\n\n\t\tconfig.inputs.color1.default = rgbToHex(current.style.fillColor);\n\t\treturn config;\n\t},\n\tmae: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"mae\"]));\n\t\tconfig.inputs.number0.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\t\tconfig.inputs.number1.default = Math.trunc(\n\t\t\t(1 - current.inputs.find((inp) => inp.name === \"lowfactor\").value) * 100\n\t\t);\n\n\t\tconfig.inputs.dropdown.selected =\n\t\t\tInputConfig.AverageType[\n\t\t\t\tcurrent.inputs.find((inp) => inp.name === \"averagetype\").value\n\t\t\t];\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\tconfig.inputs.color.default = rgbToHex(current.style.fillColor);\n\t\treturn config;\n\t},\n\tsma: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"sma\"]));\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\tvolume: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"volume\"]));\n\t\tconfig.inputs.color0.default = current.style.positive.color;\n\t\tconfig.inputs.color1.default = current.style.negative.color;\n\t\treturn config;\n\t},\n\twma: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"wma\"]));\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\t//Lower Indicatror\n\tdividendyield: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"dividendyield\"])\n\t\t);\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\tonbalancevolume: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"onbalancevolume\"])\n\t\t);\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\n\tperatio: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"peratio\"])\n\t\t);\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\trevenues: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"revenues\"])\n\t\t);\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\trollingeps: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"rollingeps\"])\n\t\t);\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\tmacd: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"macd\"]));\n\t\tconfig.inputs.number0.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"fastperiod\"\n\t\t).value;\n\t\tconfig.inputs.number1.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"slowperiod\"\n\t\t).value;\n\t\tconfig.inputs.number2.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"smoothing\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle0.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle0.color.default = current.style.color;\n\n\t\tconfig.inputs.linestyle1.line.default = {\n\t\t\twidth: current.style.ema.width,\n\t\t\tlinedash: current.style.ema.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle1.color.default = current.style.ema.color;\n\n\t\tconfig.inputs.linestyle2.line.default = {\n\t\t\twidth: current.style.positive.width,\n\t\t\tlinedash: current.style.positive.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle2.color.default = current.style.positive.color;\n\n\t\tconfig.inputs.linestyle3.line.default = {\n\t\t\twidth: current.style.negative.width,\n\t\t\tlinedash: current.style.negative.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle3.color.default = current.style.negative.color;\n\n\t\treturn config;\n\t},\n\tmomentum: function (current) {\n\t\tlet config = JSON.parse(\n\t\t\tJSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"momentum\"])\n\t\t);\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\tconfig.inputs.color0.default = rgbToHex(current.style.fillColor);\n\t\treturn config;\n\t},\n\tproc: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"proc\"]));\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\tvroc: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"vroc\"]));\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\treturn config;\n\t},\n\trsi: function (current) {\n\t\tlet config = JSON.parse(JSON.stringify(InputConfig.INDICATOR_INPUT_CONFIG[\"rsi\"]));\n\t\tconfig.inputs.number.default = current.inputs.find(\n\t\t\t(inp) => inp.name === \"period\"\n\t\t).value;\n\n\t\tconfig.inputs.linestyle.line.default = {\n\t\t\twidth: current.style.width,\n\t\t\tlinedash: current.style.lineDash,\n\t\t};\n\t\tconfig.inputs.linestyle.color.default = current.style.color;\n\t\tconfig.inputs.color0.default = current.style.overbought.color.background;\n\t\tconfig.inputs.color1.default = current.style.oversold.color.background;\n\t\treturn config;\n\t},\n};\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgChartControlPanLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n className: \"pathStyle\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-53\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Oval\",\n fill: \"#FFFFFF\",\n cx: 10,\n cy: 10,\n r: 10\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon-2\",\n fill: \"#B7B7B7\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,0 C15.5228475,0 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 0,15.5228475 0,10 C0,4.4771525 4.4771525,0 10,0 Z M11.2928932,4.29289322 L6.29289322,9.29289322 C5.90236893,9.68341751 5.90236893,10.3165825 6.29289322,10.7071068 L11.2928932,15.7071068 C11.6834175,16.0976311 12.3165825,16.0976311 12.7071068,15.7071068 C13.0976311,15.3165825 13.0976311,14.6834175 12.7071068,14.2928932 L8.41421356,10 L12.7071068,5.70710678 C13.0976311,5.31658249 13.0976311,4.68341751 12.7071068,4.29289322 C12.3165825,3.90236893 11.6834175,3.90236893 11.2928932,4.29289322 Z\",\n id: \"Icon\"\n }))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChartControlPanLeft);\nexport default __webpack_public_path__ + \"static/media/chartControl_PanLeft.e400b350b9824486314713ea024601e5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from \"react\";\nimport InputConfig from \"./IndicatorInputsConfig\";\nimport { Modal } from \"react-bootstrap\";\n\nimport ColorPallete from \"components/Lib/ColorPallete/ColorPallete\";\nimport LineDropdown from \"components/Lib/LineDropdown/LineDropdown\";\n\nimport styles from \"./IndicatorInputPopUp.module.scss\";\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\nimport { ReactComponent as Close } from \"assets/icons/Close.svg\";\nimport { IndicatorFormatter } from \"./IndicatorMappers\";\nimport { MergedIndicatorConfig } from \"./IndicatorMapperEdit\";\n\nconst IndicatorInputPopUp = React.memo((props) => {\n\tconst { indicator } = props;\n\tlet { defaultLineStyle } = indicator;\n\tlet config = indicator.config\n\t\t? MergedIndicatorConfig[indicator.config.id](indicator.config)\n\t\t: InputConfig.INDICATOR_INPUT_CONFIG[indicator.name];\n\tlet isEdit = indicator.config ? true : false;\n\n\tconst { inputs } = config;\n\tconst inputList = inputs;\n\tconst [textDict, setTextDict] = useState({});\n\tconst [dropDownDict, setDropDownDict] = useState({});\n\tconst [colorDict, setColorDict] = useState({});\n\tconst [lineDict, setLineDict] = useState({});\n\n\tconst handleDropdownCallback = (name, data) => {\n\t\tdropDownDict[name] = data;\n\t\tsetDropDownDict(dropDownDict);\n\t};\n\n\tconst colorSelectionCallback = (data) => {\n\t\tcolorDict[data.name] = data.color;\n\t\tsetColorDict(colorDict);\n\t};\n\n\tconst lineSelectionCallback = (data) => {\n\t\tlineDict[data.name] = data;\n\t\tsetLineDict(lineDict);\n\t};\n\n\tconst onTextNumberChange = (e, range) => {\n\t\tconst reg = /^[0-9\\b]+$/;\n\t\tif (e.value !== \"\") {\n\t\t\tif (!reg.test(e.value)) {\n\t\t\t\te.value = textDict[e.name];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tparseInt(e.value) < parseInt(range[0]) ||\n\t\t\t\tparseInt(e.value) > parseInt(range[1])\n\t\t\t) {\n\t\t\t\tlet elem = document.getElementById(e.name);\n\t\t\t\telem.removeAttribute(\"hidden\");\n\t\t\t\ttextDict[e.name] = \"\";\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tlet elem = document.getElementById(e.name);\n\t\t\t\telem.setAttribute(\"hidden\", true);\n\t\t\t}\n\t\t}\n\t\ttextDict[e.name] = e.value;\n\t\tsetTextDict(textDict);\n\t};\n\tconst setDefaultValues = (type, input) => {\n\t\tswitch (input.type) {\n\t\t\tcase \"number\":\n\t\t\tcase \"text\":\n\t\t\t\ttextDict[input.name] = input.default;\n\t\t\t\tbreak;\n\t\t\tcase \"color\":\n\t\t\t\tcolorDict[input.name] = input.default;\n\t\t\t\tbreak;\n\t\t\tcase \"linestyle\":\n\t\t\t\tcolorDict[input.color.name] = input.color.default;\n\t\t\t\tlineDict[input.line.name] = input.line.default;\n\t\t\t\tbreak;\n\t\t\tcase \"dropdown\":\n\t\t\t\tdropDownDict[input.name] = input.selected;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t};\n\n\tlet inputItems = Object.keys(inputList).map((key) => {\n\t\tlet input = inputList[key];\n\t\tswitch (key.replace(/[0-9]/g, \"\")) {\n\t\t\tcase \"number\":\n\t\t\t\tsetDefaultValues(\"number\", input);\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tonTextNumberChange(currentTarget, input.range)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefaultValue={input.default}\n\t\t\t\t\t\t\t\taria-label={input.name}\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\tonKeyDown={(event) =>\n\t\t\t\t\t\t\t\t\t[\"e\", \"E\", \".\", \"-\"].includes(event.key) && event.preventDefault()\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\t\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\tcase \"color\":\n\t\t\t\tlet defaultColor =\n\t\t\t\t\t(!isEdit &&\n\t\t\t\t\t\tindicator.name === \"bollinger\" &&\n\t\t\t\t\t\tinput.name === \"Median\" &&\n\t\t\t\t\t\tdefaultLineStyle.color) ||\n\t\t\t\t\tinput.default;\n\t\t\t\tlet inputDefaultColor = {\n\t\t\t\t\tdefault: defaultColor,\n\t\t\t\t\tname: input.name,\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t};\n\t\t\t\tsetDefaultValues(\"color\", inputDefaultColor);\n\t\t\t\treturn (\n\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
\n\t\t\t\t);\n\t\t\tcase \"linestyle\":\n\t\t\t\tlet width = (!isEdit && defaultLineStyle.width) || input.line.default.width;\n\t\t\t\tlet linedash =\n\t\t\t\t\t(!isEdit && defaultLineStyle.lineDash) || input.line.default.linedash;\n\t\t\t\tlet color = (!isEdit && defaultLineStyle.color) || input.color.default;\n\t\t\t\tlet defaultInputlineStyle = {\n\t\t\t\t\ttype: \"linestyle\",\n\t\t\t\t\tcolor: { name: input.color.name, default: color },\n\t\t\t\t\tline: { name: input.line.name, default: { width: width, linedash: linedash } },\n\t\t\t\t};\n\t\t\t\tsetDefaultValues(\"linestyle\", defaultInputlineStyle);\n\t\t\t\treturn (\n\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\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\tcase \"dropdown\":\n\t\t\t\tsetDefaultValues(\"dropdown\", input);\n\t\t\t\treturn (\n\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
\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn <>;\n\t\t}\n\t});\n\tconst onApply = () => {\n\t\ttry {\n\t\t\tlet isValid = false;\n\t\t\tObject.keys(textDict).forEach((key) => {\n\t\t\t\tif (textDict[key] === \"\") {\n\t\t\t\t\tlet elem = document.getElementById(key);\n\t\t\t\t\telem.removeAttribute(\"hidden\");\n\t\t\t\t\tif (!isValid) {\n\t\t\t\t\t\tisValid = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (isValid) {\n\t\t\t\tthrow Error.name;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn e;\n\t\t}\n\t\tlet indicatorObjFormatter =\n\t\t\tIndicatorFormatter[indicator.config ? indicator.config.id : indicator.name];\n\t\tprops.onApply(\n\t\t\tindicatorObjFormatter({\n\t\t\t\tdropDownDict,\n\t\t\t\ttextDict,\n\t\t\t\tlineDict,\n\t\t\t\tcolorDict,\n\t\t\t\tinputs,\n\t\t\t\tindicator,\n\t\t\t})\n\t\t);\n\t\tprops.onClose();\n\t};\n\n\t// Below code to set the focus in Modal popup only when opened in dialog\n\tuseEffect(() => {\n\t\tconst focusableElements =\n\t\t\t'button, MSDropdown, LineDropdown, ColorPallete, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\t\tconst modal = document.querySelector(\"#indicatorModal\"); // select the modal by it's id\n\t\tconst firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n\t\tconst focusableContent = modal.querySelectorAll(focusableElements);\n\t\tconst lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n\n\t\tdocument.addEventListener(\"keydown\", function (e) {\n\t\t\tlet isTabPressed = e.key === \"Tab\" || e.code === \"Tab\";\n\n\t\t\tif (!isTabPressed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (e.shiftKey) {\n\t\t\t\t// if shift key pressed for shift + tab combination\n\t\t\t\tif (document.activeElement === firstFocusableElement) {\n\t\t\t\t\tlastFocusableElement.focus(); // add focus for the last focusable element\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// if tab key is pressed\n\t\t\t\tif (document.activeElement === lastFocusableElement) {\n\t\t\t\t\t// if focused has reached to last focusable element then focus first focusable element after pressing tab\n\t\t\t\t\tfirstFocusableElement.focus(); // add focus for the first focusable element\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tfirstFocusableElement.focus();\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{config.name} \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
{inputItems}
\n\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\nexport default IndicatorInputPopUp;\n","import Indicators from \"components/MarketsAndResearch/Charting/Indicators\";\nimport React from \"react\";\nconst IndicatorAccessibility = (props) => {\n\tconst chartData = props.chartData;\n\tlet indArr = props.selectedIndicators.map((ind) => ind.id);\n\tfunction isSubArray(A, B) {\n\t\tB.forEach((elem) => {\n\t\t\tif (!A.includes(elem)) return false;\n\t\t});\n\t\treturn true;\n\t}\n\treturn (\n\t\t
\n\t\t\t{Indicators.PRICE.column &&\n\t\t\t\tchartData.series &&\n\t\t\t\tchartData.columns.includes(\"diff\") && (\n\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\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{Indicators.PRICE.column.map((column, index) => (\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\t\n\t\t\t\t\t\t\t{Object.keys(chartData.series).map((keyName, index) => {\n\t\t\t\t\t\t\t\tconst data = chartData.series[keyName];\n\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\t\t\n\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\t\n\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\t\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
Price chart data
date\n\t\t\t\t\t\t\t\t\t\t{column}\n\t\t\t\t\t\t\t\t\t
{keyName}{data.close}{data.diff}{data.high}{data.hollow}{data.low}{data.open}
\n\t\t\t\t)}\n\t\t\t{chartData.series &&\n\t\t\t\tindArr.map((indKey, index) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tIndicators.INDICATOR_ACCESSIBILITY.includes(indKey) &&\n\t\t\t\t\t\tisSubArray(chartData.columns, Indicators.DICTIONARY[indKey].column)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\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\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{Indicators.DICTIONARY[indKey].column.map((column, index) => (\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\n\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\t\t{Object.keys(chartData.series).map((keyName, index) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{Indicators.DICTIONARY[indKey].column.map((column, index) => (\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))}\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\n\t\t\t\t\t\t\t
{Indicators.DICTIONARY[indKey].label}
date\n\t\t\t\t\t\t\t\t\t\t\t\t{column}\n\t\t\t\t\t\t\t\t\t\t\t
{keyName}{chartData.series[keyName][column]}
\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn <>;\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t
\n\t);\n};\nexport default IndicatorAccessibility;\n","import Indicators from \"components/MarketsAndResearch/Charting/Indicators\";\nimport Comparisons from \"components/MarketsAndResearch/Charting/Comparisons\";\nimport utils from \"utils/utils\";\n\nconst showDataOnLegendCard = (\n\targs,\n\tactivePanelIndicator,\n\tactivePanelIndex,\n\tindex,\n\tindicatorSettings\n) => {\n\tlet isNoClipIndicatorExists = getNoClipIndicator(args);\n\tlet comparisonXid = getComparisonXid(activePanelIndicator);\n\n\tvar element = getLegendDataCardElement(\n\t\targs,\n\t\tactivePanelIndex,\n\t\tindex,\n\t\tisNoClipIndicatorExists,\n\t\tcomparisonXid,\n\t\tactivePanelIndicator\n\t);\n\tif (element) {\n\t\tlet indicator = configureDataOnIndicator(\n\t\t\targs,\n\t\t\tcomparisonXid,\n\t\t\tisNoClipIndicatorExists,\n\t\t\tindex,\n\t\t\tactivePanelIndex,\n\t\t\tactivePanelIndicator\n\t\t);\n\n\t\tcreateDataSpanforLegendCard(\n\t\t\tindicatorSettings,\n\t\t\tindicator,\n\t\t\tactivePanelIndicator,\n\t\t\telement\n\t\t);\n\t}\n};\n\nconst getNoClipIndicator = (args) => {\n\treturn args.activePanel.indicators.some((x) =>\n\t\tIndicators.NO_CLIP_INDICATOR.includes(x.params.id)\n\t);\n};\n\nconst getComparisonXid = (activePanelIndicator) => {\n\treturn Comparisons.EXCHANGES.filter(\n\t\t(x) => x.xid === activePanelIndicator.params.symbol\n\t);\n};\n\nconst configureDataOnIndicator = (\n\targs,\n\tcomparisonXid,\n\tisNoClipIndicatorExists,\n\tindex,\n\tactivePanelIndex,\n\tactivePanelIndicator\n) => {\n\tlet getComparisonIndex;\n\tif (comparisonXid.length > 0) {\n\t\tgetComparisonIndex = args.panels[activePanelIndex].indicators.findIndex(\n\t\t\t(x) => x.params.symbol === comparisonXid[0].xid\n\t\t);\n\t}\n\n\tlet getIndicatorIndex;\n\tif (activePanelIndicator.params.id) {\n\t\tgetIndicatorIndex = args.panels[activePanelIndex].indicators.findIndex(\n\t\t\t(x) => x.params.uid === activePanelIndicator.params.uid\n\t\t);\n\t}\n\n\tif (isNoClipIndicatorExists && getComparisonIndex > -1)\n\t\treturn args.panels[activePanelIndex].indicators[getComparisonIndex];\n\telse return args.panels[activePanelIndex].indicators[getIndicatorIndex];\n};\n\nconst getLegendDataCardElement = (\n\targs,\n\tactivePanelIndex,\n\tindex,\n\tisNoClipIndicatorExists,\n\tcomparisonXid,\n\tactivePanelIndicator\n) => {\n\tlet element;\n\tlet activeIndicator = configureDataOnIndicator(\n\t\targs,\n\t\tcomparisonXid,\n\t\tisNoClipIndicatorExists,\n\t\tindex,\n\t\tactivePanelIndex,\n\t\tactivePanelIndicator\n\t);\n\n\tif (activeIndicator) {\n\t\telement = document.querySelector(\n\t\t\t`[data-uid=\"${activeIndicator.params.uid}\"] .mouseOverValue`\n\t\t);\n\t\telement.innerHTML = \"\";\n\t}\n\n\treturn element;\n};\n\nconst createDataSpanforLegendCard = (\n\tindicatorSettings,\n\tindicator,\n\tactivePanelIndicator,\n\telement\n) => {\n\tindicatorSettings.displayCardColumns.forEach((property) => {\n\t\tlet span = document.createElement(\"div\");\n\t\tspan.classList.add(\"cardValue\");\n\n\t\tlet value = indicator.data[property.name];\n\t\taddStyleToIndicatorDataLegends(activePanelIndicator, property, span);\n\n\t\tspan.innerHTML =\n\t\t\tutils.getFormattedNumber(value) +\n\t\t\t(activePanelIndicator.params.id === \"price\" ? \"%\" : \"\");\n\t\telement.appendChild(span);\n\t});\n};\nexport const addIndicatorDataToLegend = (args) => {\n\tlet activePanelIndex = args.activePanel.index;\n\targs.activePanel.indicators.forEach((activePanelIndicator, index) => {\n\t\tif (\n\t\t\tactivePanelIndicator.params.id === \"highlow\" ||\n\t\t\t(activePanelIndicator.params.id === \"volume\" && activePanelIndex === 0)\n\t\t)\n\t\t\treturn;\n\t\tif (Indicators.NO_CLIP_INDICATOR.includes(activePanelIndicator.params.id))\n\t\t\treturn false;\n\t\tvar indicatorSettings = Indicators.DICTIONARY[activePanelIndicator.params.id];\n\t\tif (index !== 0 && !indicatorSettings && activePanelIndicator.params.id === \"price\") {\n\t\t\tindicatorSettings = { displayCardColumns: [{ name: \"close\" }] };\n\t\t}\n\t\tif (indicatorSettings && indicatorSettings.displayCardColumns) {\n\t\t\tshowDataOnLegendCard(\n\t\t\t\targs,\n\t\t\t\tactivePanelIndicator,\n\t\t\t\tactivePanelIndex,\n\t\t\t\tindex,\n\t\t\t\tindicatorSettings\n\t\t\t);\n\t\t}\n\t});\n};\nexport const addStyleToIndicatorDataLegends = (indicator, property, span) => {\n\tvar indicatorStyle = indicator.params.style;\n\tlet currentColor = indicatorStyle[property.styleMarker];\n\tif (currentColor) {\n\t\tif (currentColor === Object(currentColor)) {\n\t\t\tspan.style.color = currentColor.color;\n\t\t} else {\n\t\t\tspan.style.color = currentColor;\n\t\t}\n\t}\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport format from \"@markit/format\";\nimport styles from \"./ChartingCard.module.scss\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\n\nconst YAxisFlag = React.memo(({ chart, priceFormat, chartRef }) => {\n\tlet [val, setVal] = useState(null);\n\tlet [position, setPosition] = useState({ top: null, left: null });\n\tlet divRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tif (chart) {\n\t\t\tchart.eventEmitter.on(\"FLAG_RENDER_CROSSHAIR\", updateFlag);\n\t\t\tchart.eventEmitter.on(\"FLAG_HIDE_CROSSHAIR\", hideFlag);\n\t\t\tchart.eventEmitter.on(\"FLAG_SHOW_CROSSHAIR\", showFlag);\n\t\t\treturn () => {\n\t\t\t\tchart.eventEmitter.off(\"FLAG_RENDER_CROSSHAIR\", updateFlag);\n\t\t\t\tchart.eventEmitter.off(\"FLAG_HIDE_CROSSHAIR\", hideFlag);\n\t\t\t\tchart.eventEmitter.off(\"FLAG_SHOW_CROSSHAIR\", showFlag);\n\t\t\t};\n\t\t}\n\t});\n\n\tconst updateFlag = (args) => {\n\t\tlet value = formatValue(args.val);\n\t\tif (\n\t\t\tchart.params.symbolCompare &&\n\t\t\tchart.params.symbolCompare.length === 0 &&\n\t\t\tpriceFormat === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t) {\n\t\t\tvalue = AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.label + value;\n\t\t} else {\n\t\t\tvalue = value + AdvanceChartConstant.PRICE_FORMATS.PERCENT.label;\n\t\t}\n\t\tsetVal(value);\n\t\tpositionFlag(args);\n\t};\n\tconst hideFlag = () => {\n\t\tconst el = divRef;\n\t\tif (el) {\n\t\t\tel.current.style.display = \"none\";\n\t\t}\n\t};\n\tconst showFlag = () => {\n\t\tconst el = divRef;\n\t\tif (el) {\n\t\t\tel.current.style.display = \"block\";\n\t\t}\n\t};\n\tconst positionFlag = ({ x, y }) => {\n\t\tconst [panel] = chartRef.current.getElementsByClassName(\"modcharts-panel\");\n\t\tconst left = x + 5;\n\t\tconst top = Math.floor(y + panel.offsetHeight + 6);\n\t\tsetPosition({ top: top, left: left });\n\t};\n\tconst formatValue = (value) => {\n\t\treturn format().number(value, getPrecision(value));\n\t};\n\tconst getPrecision = (value) => {\n\t\treturn value < 1 ? 3 : 2;\n\t};\n\treturn (\n\t\t\n\t\t\t
{val}
\n\t\t\n\t);\n});\n\nexport default YAxisFlag;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"XAxisFlag_modal-backdrop__1Xbt6\",\"show\":\"XAxisFlag_show__QyTy2\",\"LinesEllipsis\":\"XAxisFlag_LinesEllipsis__HWbRt\",\"xAxisFlag\":\"XAxisFlag_xAxisFlag__47b-q\"};","import React, { useState, useRef, forwardRef, useImperativeHandle } from \"react\";\nimport format from \"@markit/format\";\nimport styles from \"./XAxisFlag.module.scss\";\n\nconst XAxisFlag = forwardRef(({ timeInterval, chartData }, ref) => {\n\tconst interval = timeInterval.value;\n\tconst [val, setVal] = useState(null);\n\tconst [position, setPosition] = useState({ top: null, left: null });\n\tconst divRef = useRef(null);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tupdateFlag,\n\t\thideFlag,\n\t\tshowFlag,\n\t}));\n\tconst updateFlag = (args) => {\n\t\tsetVal(formatValue(args.date));\n\t\tpositionFlag(args);\n\t};\n\tconst hideFlag = () => {\n\t\tif (divRef?.current?.style) {\n\t\t\tdivRef.current.style.display = \"none\";\n\t\t}\n\t};\n\tconst showFlag = () => {\n\t\tif (divRef?.current?.style) {\n\t\t\tdivRef.current.style.display = \"block\";\n\t\t}\n\t};\n\n\tconst positionFlag = (args) => {\n\t\tlet offset = interval === \"Minute\" ? 60 : 30;\n\t\tlet leftrightoffset = interval === \"Minute\" ? 40 : 20;\n\t\tconst rect = chartData.rootMouse.node().getBoundingClientRect();\n\t\toffset = args.x + 140 >= rect.right ? offset + leftrightoffset : offset;\n\t\toffset = args.x <= rect.left ? offset - leftrightoffset : offset;\n\t\tsetPosition({ top: -20, left: args.x - offset });\n\t};\n\tconst formatValue = (value) => {\n\t\tif (interval === \"Minute\") return format().date(value, \"MMM DD YYYY hh:mm a\");\n\t\treturn format().date(value, \"MMM DD YYYY\");\n\t};\n\n\treturn (\n\t\t\n\t\t\t{val}\n\t\t\n\t);\n});\nexport default XAxisFlag;\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgChartControlPanRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n className: \"gray\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-52\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Oval\",\n fill: \"#FFFFFF\",\n cx: 10,\n cy: 10,\n r: 10\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon-3\",\n fill: \"#B7B7B7\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,0 C15.5228475,0 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 0,15.5228475 0,10 C0,4.4771525 4.4771525,0 10,0 Z M7.29289322,4.29289322 C6.90236893,4.68341751 6.90236893,5.31658249 7.29289322,5.70710678 L11.5857864,10 L7.29289322,14.2928932 C6.90236893,14.6834175 6.90236893,15.3165825 7.29289322,15.7071068 C7.68341751,16.0976311 8.31658249,16.0976311 8.70710678,15.7071068 L13.7071068,10.7071068 C14.0976311,10.3165825 14.0976311,9.68341751 13.7071068,9.29289322 L8.70710678,4.29289322 C8.31658249,3.90236893 7.68341751,3.90236893 7.29289322,4.29289322 Z\",\n id: \"Icon\"\n }))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChartControlPanRight);\nexport default __webpack_public_path__ + \"static/media/chartControl_PanRight.07c1cf3a7a35432348d8f0e21730ceab.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgChartControlZoomIn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-22\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#B7B7B7\",\n cx: 10,\n cy: 10,\n r: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15,9 L10.8333333,9 L10.8333333,4.83333333 C10.8333333,4.37309604 10.4602373,4 10,4 C9.53976271,4 9.16666667,4.37309604 9.16666667,4.83333333 L9.16666667,9 L5,9 C4.53976271,9 4.16666667,9.37309604 4.16666667,9.83333333 C4.16666667,10.2935706 4.53976271,10.6666667 5,10.6666667 L9.16666667,10.6666667 L9.16666667,14.8333333 C9.16666667,15.2935706 9.53976271,15.6666667 10,15.6666667 C10.4602373,15.6666667 10.8333333,15.2935706 10.8333333,14.8333333 L10.8333333,10.6666667 L15,10.6666667 C15.4602373,10.6666667 15.8333333,10.2935706 15.8333333,9.83333333 C15.8333333,9.37309604 15.4602373,9 15,9 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChartControlZoomIn);\nexport default __webpack_public_path__ + \"static/media/chartControl_ZoomIn.87cd13570ad846e5a72c587a0acc21e8.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgChartControlZoomOut(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop---Interactive-States\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-24\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,0 C4.4771525,0 0,4.4771525 0,10 C0,15.5228475 4.4771525,20 10,20 C15.5228475,20 20,15.5228475 20,10 C20,7.3478351 18.9464316,4.80429597 17.0710678,2.92893219 C15.195704,1.0535684 12.6521649,0 10,0 Z\",\n id: \"Path\",\n fill: \"#B7B7B7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15,10.8333333 L5,10.8333333 C4.53976271,10.8333333 4.16666667,10.4602373 4.16666667,10 C4.16666667,9.53976271 4.53976271,9.16666667 5,9.16666667 L15,9.16666667 C15.4602373,9.16666667 15.8333333,9.53976271 15.8333333,10 C15.8333333,10.4602373 15.4602373,10.8333333 15,10.8333333 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChartControlZoomOut);\nexport default __webpack_public_path__ + \"static/media/chartControl_ZoomOut.e7b2b0e5aaf86564cf9fd502b4d6d2b0.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgChartControlReset(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"RB5\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"RB5\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-7\",\n fill: \"#187ABA\",\n cx: 10,\n cy: 10,\n r: 10\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"streamline-icon-rotate-forward@48x48-copy-2\",\n transform: \"translate(10.000000, 4.000000)\",\n stroke: \"#FFFFFF\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.5\n }, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path\",\n points: \"0 5 2 2.5 0 0\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0728404,15.2967309 C12.5581217,15.2967309 14.5728404,13.2820123 14.5728404,10.7967309 C14.5728404,9.38472888 13.9225101,8.12461959 12.9050348,7.29958817 C12.1316399,6.67247212 11.1461197,6.29673094 10.0728404,6.29673094 C7.58755898,6.29673094 5.57284036,8.31144956 5.57284036,10.7967309\",\n id: \"Oval-Copy-8\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n transform: \"translate(10.072840, 10.796731) rotate(186.000000) translate(-10.072840, -10.796731) \"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChartControlReset);\nexport default __webpack_public_path__ + \"static/media/chartControl_Reset.21b7bbf0629544b881fdabed1d4e64e3.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useState, useRef } from \"react\";\nimport styles from \"./ChartingCard.module.scss\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\nimport { ReactComponent as PanLeft } from \"assets/icons/chartControl_PanLeft.svg\";\nimport { ReactComponent as PanRight } from \"assets/icons/chartControl_PanRight.svg\";\nimport { ReactComponent as ZoomIn } from \"assets/icons/chartControl_ZoomIn.svg\";\nimport { ReactComponent as ZoomOut } from \"assets/icons/chartControl_ZoomOut.svg\";\nimport { ReactComponent as Reset } from \"assets/icons/chartControl_Reset.svg\";\n\nconst PanZoomToolBar = React.memo(({ chart, pan, resetZoom, zoom }) => {\n\tlet divRef = useRef(null);\n\tlet [position, setPosition] = useState({ top: null, left: null });\n\n\tconst [buttonDisabledStatus, setButtonDisabledStatus] = useState({\n\t\tpanLeft: false,\n\t\tpanRight: false,\n\t\tzoomIn: false,\n\t\tzoomOut: false,\n\t});\n\n\tuseEffect(() => {\n\t\tif (chart) {\n\t\t\tchart.eventEmitter.on(\"RESIZE\", positionToolbar);\n\t\t\tchart.eventEmitter.on(\"BOUNDARY_STATUS\", updateButtonStatus);\n\t\t\tchart.eventEmitter.on(\"ZOOM_END\", updateButtonStatus);\n\t\t\treturn () => {\n\t\t\t\tchart.eventEmitter.off(\"RESIZE\", positionToolbar);\n\t\t\t\tchart.eventEmitter.off(\"BOUNDARY_STATUS\", updateButtonStatus);\n\t\t\t\tchart.eventEmitter.off(\"ZOOM_END\", updateButtonStatus);\n\t\t\t};\n\t\t}\n\t}, [chart]);\n\n\tconst updateButtonStatus = (args) => {\n\t\tsetButtonDisabledStatus({\n\t\t\tpanLeft: args.isAtLeftBoundary,\n\t\t\tpanRight: args.isAtRightBoundary,\n\t\t\tzoomIn: args.isAtZoomInBoundary,\n\t\t\tzoomOut: args.isAtZoomOutBoundary,\n\t\t});\n\t};\n\n\tconst positionToolbar = () => {\n\t\tconst { size: panelSize } = chart.panels[0];\n\t\tlet positionTop = panelSize.height - 10;\n\t\tsetPosition({ top: positionTop });\n\t};\n\n\treturn (\n\t\tchart &&\n\t\tchart.data &&\n\t\tObject.keys(chart.data).length > 0 && (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (!buttonDisabledStatus.zoomOut)\n\t\t\t\t\t\t\t\tzoom(1 / AdvanceChartConstant.PANZOOM.ZOOM_DISTANCE);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-disabled={buttonDisabledStatus.zoomOut}\n\t\t\t\t\t>\n\t\t\t\t\t\tZoom Out\n\t\t\t\t\t\t{buttonDisabledStatus.zoomOut ? (\n\t\t\t\t\t\t\t\n\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\t {\n\t\t\t\t\t\t\tif (!buttonDisabledStatus.zoomIn)\n\t\t\t\t\t\t\t\tzoom(AdvanceChartConstant.PANZOOM.ZOOM_DISTANCE);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-disabled={buttonDisabledStatus.zoomIn}\n\t\t\t\t\t>\n\t\t\t\t\t\tZoom In\n\t\t\t\t\t\t{buttonDisabledStatus.zoomIn ? (\n\t\t\t\t\t\t\t\n\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\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (!buttonDisabledStatus.panLeft) pan(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-disabled={buttonDisabledStatus.panLeft}\n\t\t\t\t\t>\n\t\t\t\t\t\tScroll Left\n\t\t\t\t\t\t{buttonDisabledStatus.panLeft ? (\n\t\t\t\t\t\t\t\n\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\t {\n\t\t\t\t\t\t\tif (!buttonDisabledStatus.panRight) pan(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-disabled={buttonDisabledStatus.panRight}\n\t\t\t\t\t>\n\t\t\t\t\t\tScroll Right\n\t\t\t\t\t\t{buttonDisabledStatus.panRight ? (\n\t\t\t\t\t\t\t\n\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\t resetZoom()}\n\t\t\t\t\tclassName=\"resetBtn\"\n\t\t\t\t\tstyle={{ marginRight: \"0\" }}\n\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\nexport default PanZoomToolBar;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport styles from \"../ChartingCard.module.scss\";\nimport formatter from \"utils/formatUtils\";\nimport Utils from \"utils/utils\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\n\nconst CrosshairTooltip = React.memo((props) => {\n\tconst chart = props.chart;\n\tlet activeState = props.activeValue;\n\tlet divRef = useRef(null);\n\tlet [isEventHover, setisEventHover] = useState({\n\t\tisHover: false,\n\t});\n\tlet [hoverValues, setHoverValues] = useState({\n\t\thigh: null,\n\t\tlow: null,\n\t\topen: null,\n\t\tclose: null,\n\t\tvolume: null,\n\t\tchange: null,\n\t});\n\tlet [position, setPosition] = useState({ topVal: null, leftVal: null });\n\n\tuseEffect(() => {\n\t\tif (chart) {\n\t\t\tchart.eventEmitter.on(\"ZOOM\", hideTooltip);\n\t\t\tchart.eventEmitter.on(\"CROSSHAIR_MOVE\", updateTooltip);\n\t\t\tchart.eventEmitter.on(\"CROSSHAIR_HIDE\", hideTooltip);\n\t\t\tchart.eventEmitter.on(\"EVENT_MOUSE_ENTER\", eventEnter);\n\t\t\tchart.eventEmitter.on(\"EVENT_MOUSE_LEAVE\", eventLeave);\n\t\t}\n\t\treturn () => unregisterChartEvents();\n\t});\n\n\tuseEffect(() => {\n\t\tactiveState = props.activeValue;\n\t}, [props.activeValue]);\n\n\tconst unregisterChartEvents = () => {\n\t\tif (chart) {\n\t\t\tchart.eventEmitter.off(\"ZOOM\", hideTooltip);\n\t\t\tchart.eventEmitter.off(\"CROSSHAIR_MOVE\", updateTooltip);\n\t\t\tchart.eventEmitter.off(\"CROSSHAIR_HIDE\", hideTooltip);\n\t\t\tchart.eventEmitter.off(\"EVENT_MOUSE_ENTER\", eventEnter);\n\t\t\tchart.eventEmitter.off(\"EVENT_MOUSE_LEAVE\", eventLeave);\n\t\t}\n\t};\n\n\tconst updateTooltip = (args) => {\n\t\tconst len = args.panels[0].indicators.length;\n\t\tfor (let i = 1; i < len; i++) {\n\t\t\tif (args.panels[0].indicators[i].params.id === \"price\") {\n\t\t\t\tactiveState = AdvanceChartConstant.PRICE_FORMATS.PERCENT.value;\n\t\t\t}\n\t\t}\n\t\tif (!args.activePanel.isUpper) {\n\t\t\thideTooltip();\n\t\t} else {\n\t\t\tsetHoverValues({\n\t\t\t\topen:\n\t\t\t\t\tactiveState === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t\t\t\t\t? formatter.price(args.open)\n\t\t\t\t\t\t: formatValue(args.open),\n\t\t\t\thigh:\n\t\t\t\t\tactiveState === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t\t\t\t\t? formatter.price(args.high)\n\t\t\t\t\t\t: formatValue(args.high),\n\t\t\t\tlow:\n\t\t\t\t\tactiveState === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t\t\t\t\t? formatter.price(args.low)\n\t\t\t\t\t\t: formatValue(args.low),\n\t\t\t\tclose:\n\t\t\t\t\tactiveState === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t\t\t\t\t? formatter.price(args.close)\n\t\t\t\t\t\t: formatValue(args.close),\n\t\t\t\tvolume: args.volume,\n\t\t\t\tchange:\n\t\t\t\t\tactiveState === AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t\t\t\t\t\t? formatter.percent(\n\t\t\t\t\t\t\t\t(args.close - chart.dataFrame[0].close) / chart.dataFrame[0].close,\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: formatter.percent(args.close / 100, 2),\n\t\t\t});\n\t\t\tpositionTooltip(args);\n\t\t}\n\t};\n\n\tconst formatValue = (val) => {\n\t\tif (chart.panels[0].isNormalized) {\n\t\t\treturn formatter.price(chart.getActualFromNormalized(val));\n\t\t} else {\n\t\t\treturn formatter.price(val);\n\t\t}\n\t};\n\n\tconst hideTooltip = () => {\n\t\tconst el = divRef.current;\n\t\tif (el) {\n\t\t\tel.style.visibility = \"hidden\";\n\t\t}\n\t};\n\n\tconst showTooltip = () => {\n\t\tconst el = divRef.current;\n\t\tif (el) {\n\t\t\tel.style.visibility = \"visible\";\n\t\t}\n\t};\n\n\tconst eventEnter = () => {\n\t\tsetisEventHover({ isHover: true });\n\t};\n\n\tconst eventLeave = () => {\n\t\tsetisEventHover({ isHover: false });\n\t};\n\n\tconst positionTooltip = (args) => {\n\t\tconst el = divRef.current;\n\t\tif (!el) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = chart.rootMouse.node().getBoundingClientRect();\n\t\tconst margin = 10;\n\t\tconst width = el.offsetWidth;\n\t\tconst height = el.offsetHeight;\n\t\tlet left = rect.left + margin + args.coords.x - 50;\n\t\tlet top = margin + args.coords.y;\n\t\t// bump left if right collision\n\t\tif (\n\t\t\tleft + width >\n\t\t\trect.left + chart.size.width - chart.panels[0].size.padding.right - 50\n\t\t) {\n\t\t\tleft = rect.left + args.coords.x - width - margin - 50;\n\t\t}\n\t\t// bump up if bottom collision\n\t\tif (top + height > chart.panels[0].size.height + margin) {\n\t\t\ttop = args.coords.y - height - margin;\n\t\t}\n\t\tsetPosition({ topVal: top, leftVal: left });\n\t\tshowTooltip();\n\t};\n\n\treturn (\n\t\t!isEventHover.isHover && (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\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\t\n\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\t\n\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\t\n\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\t\n\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\t\n\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
Open:{hoverValues.open}
High:{hoverValues.high}
Low:{hoverValues.low}
Close:{hoverValues.close}
Volume:{Utils.getVolumeHoverValue(hoverValues.volume)}
% Change:{hoverValues.change}
\n\t\t\t\n\t\t)\n\t);\n});\n\nexport default CrosshairTooltip;\n","import CommonTimeFrameConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/Common\";\n\nexport const CUSTOM_DATE_ID_VALUE = 99;\nexport const CUSTOM_DATE_ID = \"CUSTOM_DATE_ID\";\n\nconst DATE_OPTIONS = {\n\t...CommonTimeFrameConstant.DATE_OPTIONS,\n\tABOVEFIVEYEAR: {\n\t\tkey: \"\",\n\t\tlabel: \"Above 5 Year\",\n\t},\n\tABOVEFIVEDAY: {\n\t\tkey: \"\",\n\t\tlabel: \"Above 5 Day\",\n\t},\n\tABOVETWENTYONEDAY: {\n\t\tkey: \"\",\n\t\tlabel: \"Above 21 Day\",\n\t},\n\tTENYEAR: {\n\t\tkey: \"10Y\",\n\t\tlabel: \"10 Year\",\n\t},\n\tCUSTOM_DATE: {\n\t\tkey: \"\",\n\t\tlabel: \"Custom Date\",\n\t},\n};\n\nexport const TIME_FRAMES = [\n\t...CommonTimeFrameConstant.TIME_FRAMES,\n\t{\n\t\tkey: 9,\n\t\tkeyLabel: DATE_OPTIONS.ABOVEFIVEYEAR.key,\n\t\tlabel: DATE_OPTIONS.ABOVEFIVEYEAR.label,\n\t\tnumDays: \"\",\n\t\tdefaultPeriod: CommonTimeFrameConstant.PERIODS.MONTH,\n\t\tperiods: [\n\t\t\tCommonTimeFrameConstant.PERIODS.DAY,\n\t\t\tCommonTimeFrameConstant.PERIODS.WEEK,\n\t\t\tCommonTimeFrameConstant.PERIODS.MONTH,\n\t\t],\n\t\tenabled: false,\n\t},\n\t{\n\t\tkey: 10,\n\t\tkeyLabel: DATE_OPTIONS.ABOVEFIVEDAY.key,\n\t\tlabel: DATE_OPTIONS.ABOVEFIVEDAY.label,\n\t\tnumDays: \"\",\n\t\tdefaultPeriod: CommonTimeFrameConstant.PERIODS.FIVEMINUTE,\n\t\tperiods: [\n\t\t\tCommonTimeFrameConstant.PERIODS.FIVEMINUTE,\n\t\t\tCommonTimeFrameConstant.PERIODS.DAY,\n\t\t],\n\t\tenabled: false,\n\t},\n\t{\n\t\tkey: 11,\n\t\tkeyLabel: DATE_OPTIONS.ABOVETWENTYONEDAY.key,\n\t\tlabel: DATE_OPTIONS.ABOVETWENTYONEDAY.label,\n\t\tnumDays: \"\",\n\t\tdefaultPeriod: CommonTimeFrameConstant.PERIODS.DAY,\n\t\tperiods: [CommonTimeFrameConstant.PERIODS.DAY],\n\t\tenabled: false,\n\t},\n\t{\n\t\tkey: 12,\n\t\tkeyLabel: DATE_OPTIONS.TENYEAR.key,\n\t\tlabel: DATE_OPTIONS.TENYEAR.label,\n\t\tnumDays: \"3650\",\n\t\tdefaultPeriod: CommonTimeFrameConstant.PERIODS.MONTH,\n\t\tperiods: [\n\t\t\tCommonTimeFrameConstant.PERIODS.DAY,\n\t\t\tCommonTimeFrameConstant.PERIODS.WEEK,\n\t\t\tCommonTimeFrameConstant.PERIODS.MONTH,\n\t\t],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: CUSTOM_DATE_ID,\n\t\tkeyLabel: DATE_OPTIONS.CUSTOM_DATE.key,\n\t\tlabel: DATE_OPTIONS.CUSTOM_DATE.label,\n\t\tperiods: [],\n\t\tnumDays: \"0\",\n\t\tdefaultPeriod: {},\n\t\tenabled: true,\n\t},\n];\n\nconst UTILITY = {\n\tfindByKey(key) {\n\t\treturn TIME_FRAMES.find((rs) => rs.key === key);\n\t},\n\tfindByLabel(label) {\n\t\treturn TIME_FRAMES.find((rs) => rs.label === label);\n\t},\n};\n\nexport const DATEPICKERFILTERSTATE = {\n\tstartDate: false,\n\tendDate: false,\n\tdateSpan: CommonTimeFrameConstant.DEFAULT_TIMEFRAME_INDEX,\n};\n\nexport default {\n\tTIME_FRAMES,\n\tUTILITY,\n\tCUSTOM_DATE_ID,\n\tCUSTOM_DATE_ID_VALUE,\n\tDATEPICKERFILTERSTATE,\n};\n","import React, { useState, useRef } from \"react\";\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\nimport styles from \"components/MarketsAndResearch/Charting/ChartingCard/ChartingCard.module.scss\";\nimport languageEn from \"assets/language/en\";\nimport formatUtils from \"utils/formatUtils\";\nimport AdvanceTimeFrameConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/AdvanceTimeFrame\";\nimport DateRangePickerModal from \"components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchFilters/DateRangePickerModal/DateRangePickerModal\";\n\nconst TimeFrame = React.memo(\n\t({\n\t\tselectedTimeFrame,\n\t\tonFilterChange,\n\t\tdatePicker,\n\t\tupdateStateFromTimeFrame,\n\t\tchart,\n\t}) => {\n\t\tlet customDateRange;\n\t\tlet maxNumberOfYears = 25;\n\t\tif (datePicker.startDate && datePicker.endDate) {\n\t\t\tcustomDateRange = `${formatUtils.date(\n\t\t\t\tdatePicker.startDate,\n\t\t\t\t\"MM/DD/YY\"\n\t\t\t)} - ${formatUtils.date(datePicker.endDate, \"MM/DD/YY\")}`;\n\t\t} else {\n\t\t\tcustomDateRange = false;\n\t\t}\n\n\t\tconst [modalVisibility, setModalVisibility] = useState(false);\n\t\tconst datepickerRef = useRef(null);\n\n\t\tconst minStartDate = () => {\n\t\t\treturn formatUtils.moment().subtract(maxNumberOfYears, \"year\");\n\t\t};\n\n\t\tconst onModalClose = () => {\n\t\t\tsetModalVisibility(false);\n\t\t};\n\n\t\tconst interceptDateFilterSelection = (value) => {\n\t\t\tif (\n\t\t\t\tAdvanceTimeFrameConstant.UTILITY.findByLabel(value).key ===\n\t\t\t\tAdvanceTimeFrameConstant.CUSTOM_DATE_ID\n\t\t\t) {\n\t\t\t\tsetModalVisibility(true);\n\t\t\t} else {\n\t\t\t\tonFilterChange(AdvanceTimeFrameConstant.UTILITY.findByLabel(value).key);\n\t\t\t}\n\t\t};\n\n\t\tconst onDatePickerDateChange = (startDate, endDate) => {\n\t\t\tlet getTimeFrame;\n\t\t\tif (startDate && endDate) {\n\t\t\t\tgetTimeFrame = AdvanceTimeFrameConstant.TIME_FRAMES.filter(\n\t\t\t\t\t(timeFrame) => timeFrame.key === AdvanceTimeFrameConstant.CUSTOM_DATE_ID\n\t\t\t\t)[0];\n\t\t\t} else {\n\t\t\t\tgetTimeFrame = AdvanceTimeFrameConstant.TIME_FRAMES.filter(\n\t\t\t\t\t(timeFrame) => timeFrame.key === datePicker.dateSpan\n\t\t\t\t)[0];\n\t\t\t}\n\n\t\t\tgetIntervalForDatePicker(getTimeFrame, startDate, endDate);\n\n\t\t\t//update state at Parent Level.\n\t\t\tupdateStateFromTimeFrame(getTimeFrame);\n\t\t};\n\n\t\tconst getIntervalForDatePicker = (getTimeFrame, startDate, endDate) => {\n\t\t\tlet getTradingDaysData = chart.getTradingDays(startDate, endDate);\n\n\t\t\tconst intradayLimit = new Date();\n\t\t\tintradayLimit.setDate(intradayLimit.getDate() - 30);\n\n\t\t\tconst diffTime = Math.abs(endDate - startDate);\n\t\t\tlet diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n\t\t\tdiffDays = diffDays === 0 ? 1 : diffDays;\n\n\t\t\tlet timeFrameAndInterval = { periods: {}, defaultPeriod: {} };\n\n\t\t\tif (startDate >= intradayLimit) {\n\t\t\t\tif (diffDays <= 5 || getTradingDaysData <= 5) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(1);\n\t\t\t\t} else if (diffDays < 30 && diffDays >= 6) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(10);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (diffDays <= 5 || getTradingDaysData + 1 <= 5) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(11);\n\t\t\t\t} else if (diffDays < 30 && diffDays >= 6) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(3);\n\t\t\t\t} else if (diffDays < 365 && diffDays >= 30) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(3);\n\t\t\t\t} else if (diffDays >= 365 && diffDays < 1825) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(8);\n\t\t\t\t} else if (diffDays >= 1825) {\n\t\t\t\t\ttimeFrameAndInterval = AdvanceTimeFrameConstant.UTILITY.findByKey(9);\n\t\t\t\t}\n\t\t\t}\n\t\t\tgetTimeFrame.periods = timeFrameAndInterval.periods;\n\t\t\tgetTimeFrame.defaultPeriod = timeFrameAndInterval.defaultPeriod;\n\t\t\tgetTimeFrame.numDays = diffDays;\n\t\t\tgetTimeFrame.startDate = startDate;\n\t\t\tgetTimeFrame.endDate = endDate;\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t x.enabled).map(\n\t\t\t\t\t\t\t\t(timeFrame) => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\toption: timeFrame.label,\n\t\t\t\t\t\t\t\t\t\taction: timeFrame.key,\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\ttitlePrefix=\"Timeframe\"\n\t\t\t\t\t\t\ttitle={selectedTimeFrame.label}\n\t\t\t\t\t\t\tdropdownIconColor=\"#187ABA\"\n\t\t\t\t\t\t\tonSelectCallback={(value) => interceptDateFilterSelection(value)}\n\t\t\t\t\t\t\tcontrolled={true}\n\t\t\t\t\t\t\taria-labelledby=\"desktop_date_range\"\n\t\t\t\t\t\t\ttitleOverride={customDateRange}\n\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\n\t\t);\n\t}\n);\nexport default TimeFrame;\n","import React from \"react\";\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\nimport styles from \"components/MarketsAndResearch/Charting/ChartingCard/ChartingCard.module.scss\";\n\nconst Interval = React.memo(\n\t({ selectedInterval, selectedTimeFrame, onSelectCallback }) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\toption: period.label,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\ttitlePrefix=\"Interval\"\n\t\t\t\t\t\t\ttitle={selectedInterval.label}\n\t\t\t\t\t\t\tdropdownIconColor=\"#187ABA\"\n\t\t\t\t\t\t\tonSelectCallback={onSelectCallback}\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\nexport default Interval;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport { useQuery } from \"react-query\";\nimport { renderToString } from \"react-dom/server\";\n\nimport { ModchartsInteractive as Modcharts, Crosshair } from \"@markit/modcharts\";\nimport ChartAnalytics from \"@markit/analytics-modcharts\";\n\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\nimport TextToggle from \"components/Lib/TextToggle/TextToggle\";\nimport CollapsibleCard from \"components/Lib/CollapsibleCard/CollapsibleCard\";\nimport CandlestickLegend from \"components/Lib/Icons/CandlestickLegend/CandlestickLegend\";\nimport ChartEventsOverlay from \"components/Lib/ChartEventsOverlay/ChartEventsOverlay\";\nimport ChartEventsConstants from \"components/Lib/ChartEventsOverlay/ChartEventsConstants\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\n\nimport XrefAPI from \"services/APIs/Xref/XrefAPI\";\nimport { getSingleQuoteDetails } from \"services/APIs/Quote/QuoteAPI\";\nimport { getPeersDetails } from \"services/APIs/MorganStanley/Peers/PeersAPI\";\n\nimport { URLS } from \"utils/constants\";\nimport { getCookieValue, getFormattedNumber, isRealtimeNasdaqUser } from \"utils/utils\";\nimport formatter from \"utils/formatUtils\";\nimport FEATURE_FLAGS from \"utils/featureFlags\";\n\nimport { ReactComponent as Close } from \"assets/icons/Close.svg\";\nimport { ReactComponent as Visible } from \"assets/icons/Visible.svg\";\nimport { ReactComponent as Hidden } from \"assets/icons/Unhide.svg\";\nimport { ReactComponent as Edit } from \"assets/icons/Edit.svg\";\nimport ErrorIcon from \"assets/icons/ErrorIcon.svg\";\n\nimport LegendMovePanel from \"components/MarketsAndResearch/Charting/LegendMovePanel/LegendMovePanel\";\nimport Comparisons from \"components/MarketsAndResearch/Charting/Comparisons\";\nimport Menus from \"components/MarketsAndResearch/Charting/Menus/Menus\";\n\nimport Indicators from \"components/MarketsAndResearch/Charting/Indicators\";\nimport IndicatorInputPopUp from \"components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorInputPopUp\";\nimport IndicatorAccessibility from \"components/MarketsAndResearch/Charting/Indicators/IndicatorAccessibility/IndicatorAccessibility\";\nimport {\n\taddIndicatorDataToLegend,\n\taddStyleToIndicatorDataLegends,\n} from \"components/MarketsAndResearch/Charting/ChartingCard/IndicatorDataOnLegendsCard\";\nimport { DEFAULT_USE_LINE_STYLES } from \"components/MarketsAndResearch/Charting/Indicators/IndicatorsPopUp/IndicatorInputsConfig\";\n\nimport YAxisFlag from \"components/MarketsAndResearch/Charting/ChartingCard/YAxisFlag\";\nimport XAxisFlag from \"components/MarketsAndResearch/Charting/xAxisFlag/XAxisFlag\";\nimport PanZoomToolBar from \"components/MarketsAndResearch/Charting/ChartingCard/PanZoomToolBar\";\nimport CrosshairTooltip from \"components/MarketsAndResearch/Charting/ChartingCard/Crosshair/CrosshairTooltip\";\nimport TimeFrame from \"components/MarketsAndResearch/Charting/TimeFrame/TimeFrame\";\nimport Interval from \"components/MarketsAndResearch/Charting/Interval/Interval\";\n\nimport {\n\teventCustomData,\n\tIndicatorHighLowRender,\n} from \"components/MarketsAndResearch/ChartingCommon/Utility/CommonChartUtility\";\nimport { DEFAULT_TIMEFRAME_INDEX } from \"components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/Common\";\nimport {\n\tCUSTOM_DATE_ID_VALUE,\n\tDATEPICKERFILTERSTATE,\n\tTIME_FRAMES,\n} from \"components/MarketsAndResearch/ChartingCommon/Constants/TimeFrame/AdvanceTimeFrame\";\nimport AdvanceChartConstant from \"components/MarketsAndResearch/ChartingCommon/Constants/Chart/AdvanceChart\";\nimport Loader from \"components/MarketsAndResearch/ChartingCommon/Loader/Loader\";\nimport CustomLocale from \"components/MarketsAndResearch/ChartingCommon/Constants/Locale/CustomLocale\";\n\nimport styles from \"components/MarketsAndResearch/Charting/ChartingCard/ChartingCard.module.scss\";\nimport useBreakPoint from \"utils/useBreakPoint\";\nimport StateStorage from \"utils/StateStorage\";\nimport moment from \"moment\";\n\nconst CloseHtmlString = renderToString();\nconst HiddenHtmlString = renderToString();\nconst VisibleHtmlString = renderToString();\nconst EditHtmlString = renderToString();\n\nconst getLineStyleConfig = (id) =>\n\tAdvanceChartConstant.LINE_STYLES.find(({ label }) => label === id) ||\n\tAdvanceChartConstant.LINE_STYLES[0];\nconst getTimeFrameConfig = (id) =>\n\tid && typeof id !== \"number\"\n\t\t? id\n\t\t: TIME_FRAMES.find((timeFrame) => timeFrame.key === id) ||\n\t\t TIME_FRAMES[DEFAULT_TIMEFRAME_INDEX];\nconst ChartingCard = (props) => {\n\tconst { venueXid, userInfo, apiInstance } = props;\n\tconst stateStorage = new StateStorage({ key: \"chartingChartingCard\" });\n\tconst breakPoint = useBreakPoint();\n\tconst isMobile = breakPoint === \"mobile\";\n\tconst chartLoaderRef = useRef({});\n\tconst chartRef = useRef({});\n\tconst xAxisRef = useRef();\n\tconst isRealTimeQuote = isRealtimeNasdaqUser(userInfo);\n\n\tconst quoteQuery = useQuery(\n\t\t[URLS.QUOTE_PATH, apiInstance?.internalAuthToken, userInfo, venueXid],\n\t\t() => {\n\t\t\treturn getSingleQuoteDetails({\n\t\t\t\tapiInstance,\n\t\t\t\tvenueXid,\n\t\t\t\tisRealTimeQuote,\n\t\t\t});\n\t\t}\n\t);\n\n\tconst [selectedTimeFrame, setSelectedTimeFrame] = useState(\n\t\tgetTimeFrameConfig(stateStorage.get().timeFrame)\n\t);\n\tconst [selectedInterval, setSelectedInterval] = useState(\n\t\tstateStorage.get().interval || getTimeFrameConfig().defaultPeriod\n\t);\n\tconst [datePicker, setDatePicker] = useState(\n\t\tstateStorage.get().datePicker || DATEPICKERFILTERSTATE\n\t);\n\tconst [selectedLineStyle, setSelectedLineStyle] = useState(\n\t\tgetLineStyleConfig(stateStorage.get().lineStyle)\n\t);\n\tconst setLineStyleConfig = (lineStyle) => {\n\t\tstateStorage.set({ lineStyle: lineStyle.label });\n\t\tsetSelectedLineStyle(lineStyle);\n\t};\n\tconst [selectedPriceFormat, setSelectedPriceFormat] = useState(\n\t\tstateStorage.get().priceFormat || AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value\n\t);\n\tconst setPriceFormatConfig = (priceFormat) => {\n\t\tstateStorage.set({ priceFormat });\n\t\tsetSelectedPriceFormat(priceFormat);\n\t};\n\tconst [chart, setChart] = useState(null);\n\tconst [chartData, setChartData] = useState({});\n\tconst [selectedIndicators, setSelectedIndicators] = useState([]);\n\tconst [selectedComparisons, setSelectedComparisons] = useState([]);\n\tconst [peersXids, setPeersXids] = useState([]);\n\tconst [peersXrefs, setPeersXrefs] = useState(null);\n\tconst [peersData, setPeersData] = useState(null);\n\tconst [researchMSData, setResearchMSData] = useState(null);\n\tconst [researchMstarData, setResearchMstarData] = useState(null);\n\tconst [earningsData, setEarningsData] = useState(null);\n\tconst [dividendsData, setDividendsData] = useState(null);\n\tconst [finishedLoadingData, setFinishedLoadingData] = useState(false);\n\tconst [selectedEvents, setSelectedEvents] = useState({\n\t\tdividends: false,\n\t\tearnings: false,\n\t\thighlow: false,\n\t\tmorganstanleyratingscustom: false,\n\t\tmorningstarratingscustom: false,\n\t\tsplits: false,\n\t});\n\tconst [eventsData, setEventsData] = useState({});\n\tconst [eventVisible, setEventVisible] = useState({\n\t\tdividends: true,\n\t\tearnings: true,\n\t\thighlow: true,\n\t\tmorganstanleyratingscustom: true,\n\t\tmorningstarratingscustom: true,\n\t\tsplits: true,\n\t});\n\tconst [indicatorsVisiblitity, setIndicatorsVisiblity] = useState({});\n\tconst [indicatorInputConfig, setIndicatorInputConfig] = useState({\n\t\tisOpen: false,\n\t\tconfig: null,\n\t\tname: null,\n\t\tpanel: null,\n\t\tuid: null,\n\t});\n\tconst [defaultStyle, setDefaultStyle] = useState(\n\t\tJSON.parse(JSON.stringify(DEFAULT_USE_LINE_STYLES))\n\t);\n\tconst [availableStyle, setAvailableStyle] = useState([]);\n\tconst [updateError, setUpdateError] = useState({});\n\tconst [errorMSG, setErrorMSG] = useState(false);\n\tconst [errorMessageForUpper, setErrorMessageForUpper] = useState(false);\n\tconst [percentPrice] = useState(AdvanceChartConstant.PRICE_FORMATS.PERCENT);\n\tconst [absolutePrice, setAbsolutePrice] = useState(\n\t\tAdvanceChartConstant.PRICE_FORMATS.ABSOLUTE\n\t);\n\tconst xAxisLabels = () => {\n\t\tconst xAxisLabel = CustomLocale.labelTemplates.xAxis.doubleRow;\n\t\t// Use abbreviated day format for smaller breakpoints in the 5 day view\n\t\tconst intradayDateFormat =\n\t\t\tbreakPoint === \"mobile\" || breakPoint === \"sm-tablet\" ? \"%a\" : \"%A\";\n\t\tconst selectedNumDays = parseInt(selectedTimeFrame.numDays);\n\t\tif (selectedNumDays === 1) {\n\t\t\txAxisLabel.hours = { default: \"%X\", first: \"%A\" };\n\t\t\txAxisLabel.days.intraday = \"%A\";\n\t\t} else if (selectedNumDays < 6) {\n\t\t\txAxisLabel.hours = { default: intradayDateFormat, first: \"%-m/%-d\" };\n\t\t\txAxisLabel.days.intraday = \"%-m/%-d\";\n\t\t} else if (selectedNumDays <= 30) {\n\t\t\txAxisLabel.hours = { default: \"%e\", first: \"%b %Y\" };\n\t\t\txAxisLabel.days.intraday = \" \";\n\t\t} else if (selectedNumDays < 91) {\n\t\t\txAxisLabel.weeks = { default: \"%e\", first: \"%b %Y\" };\n\t\t} else if (selectedNumDays < 181) {\n\t\t\txAxisLabel.months = { default: \"%b\", first: \"%Y\" };\n\t\t}\n\t\tchart.setLocale(CustomLocale);\n\t};\n\n\tuseEffect(() => {\n\t\tfetchPeersData();\n\t\teventCustomData(props, \"charting\", [\n\t\t\tsetDividendsData,\n\t\t\tsetEarningsData,\n\t\t\tsetResearchMSData,\n\t\t\tsetResearchMstarData,\n\t\t]);\n\t}, [venueXid]);\n\n\tuseEffect(() => {\n\t\tfetchPeersXrefData(peersXids);\n\t}, [peersXids]);\n\n\tconst fetchPeersData = useCallback(async () => {\n\t\tif (!venueXid) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst equitiesPeersData = await getPeersDetails(apiInstance, venueXid);\n\n\t\tif (!equitiesPeersData || !equitiesPeersData.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst NUM_PEER_COMPARISONS = 4;\n\t\tlet newPeersXids = equitiesPeersData.map((peer) => peer.wsodIssue);\n\t\tnewPeersXids =\n\t\t\tnewPeersXids.length > NUM_PEER_COMPARISONS\n\t\t\t\t? newPeersXids.slice(0, NUM_PEER_COMPARISONS)\n\t\t\t\t: newPeersXids;\n\t\tsetPeersXids(newPeersXids);\n\n\t\tlet peersArray = [];\n\t\tequitiesPeersData\n\t\t\t.filter((peer) => peer.peerRank <= 4)\n\t\t\t.forEach((peer) => {\n\t\t\t\tpeersArray.push(peer);\n\t\t\t});\n\t\tsetPeersData(peersArray);\n\t}, [venueXid]);\n\n\tconst fetchPeersXrefData = useCallback(\n\t\tasync (venueXids) => {\n\t\t\tconst peersXrefData = await XrefAPI.getXrefs(apiInstance, venueXids);\n\t\t\tsetPeersXrefs(peersXrefData);\n\t\t},\n\t\t[peersXids]\n\t);\n\n\tconst processPeersXrefData = useCallback(() => {\n\t\tif (!peersXrefs || !peersXrefs.length || peersXrefs === \"error\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newPeersData = peersXrefs.map((peer) => {\n\t\t\tconst xid = peer?.xids?.venue;\n\t\t\tif (xid && peer.symbol) {\n\t\t\t\treturn {\n\t\t\t\t\txid: xid.toString(),\n\t\t\t\t\tsymbol: peer.symbol,\n\t\t\t\t\tcompanyName: peer.name,\n\t\t\t\t\tname: peer.symbol,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {};\n\t\t});\n\n\t\tsetPeersData(newPeersData);\n\t}, [peersXrefs]);\n\n\tuseEffect(() => {\n\t\tprocessPeersXrefData();\n\t}, [peersXrefs]);\n\n\tconst initNewChart = useCallback(() => {\n\t\tconst newChart = (window.chart = new Modcharts(\"#chartingCard\"));\n\t\tnew ChartAnalytics(newChart);\n\n\t\t// Only set the auth token if we are in non-integrated\n\t\tconst accessTokenCookie = getCookieValue(\"access_token\");\n\t\tif (!accessTokenCookie) {\n\t\t\tconst authToken = window.localStorage.getItem(\"internalAuthToken\");\n\t\t\tnewChart.setAuthToken(authToken);\n\t\t}\n\n\t\tconst newChartConfig = AdvanceChartConstant.CHART_CONFIG;\n\t\tnewChartConfig.params.symbol = venueXid;\n\t\tnewChartConfig.params.dataNormalized = selectedPriceFormat === \"percent\";\n\t\tnewChartConfig.params.panelHeightUpper = 339;\n\t\tnewChartConfig.params.panelHeightLower = 181;\n\t\tnewChartConfig.params.panelXAxis = \"all\";\n\t\tnewChartConfig.params.apiPath = `${apiInstance.baseUrl}${URLS.CHARTWORKS_SERIES_PATH}`;\n\t\tnewChartConfig.params.realtime = isRealTimeQuote;\n\t\tconst hasDatesSelected = datePicker.startDate && datePicker.endDate;\n\t\tnewChartConfig.prependNormalizedPoint = hasDatesSelected;\n\t\t// Set returnPreviousPoint to false for intraday charts and true for EOD charts\n\t\tnewChartConfig.params.returnPreviousPoint = selectedInterval.value !== \"Minute\";\n\t\tif (hasDatesSelected) {\n\t\t\tnewChartConfig.params.days = moment(datePicker.endDate).diff(\n\t\t\t\tmoment(datePicker.startDate),\n\t\t\t\t\"days\"\n\t\t\t);\n\t\t\t// set date range directly to chart rather than params, params didn't work as expected\n\t\t\tnewChart.setDateRange(\n\t\t\t\tformatter.date(datePicker.startDate, \"YYYY-MM-DD\"),\n\t\t\t\tformatter.date(datePicker.endDate, \"YYYY-MM-DD\")\n\t\t\t);\n\t\t} else {\n\t\t\tnewChartConfig.params.days = parseInt(selectedTimeFrame.numDays);\n\t\t}\n\t\tnewChartConfig.params.dataPeriod = selectedInterval.value;\n\t\tnewChartConfig.params.dataInterval = selectedInterval.interval;\n\t\tnewChartConfig.panels[0].indicators[0].markerType = selectedLineStyle.markerType;\n\t\tnewChart.load(newChartConfig, () => {\n\t\t\tconst chartData = newChart.exportData();\n\t\t\tsetChartData(chartData);\n\t\t});\n\t\tnewChart.primaryOhlcType = AdvanceChartConstant.DEFAULT_PANEL_PARAMS.primaryOhlcType;\n\t\tsetFinishedLoadingData(true);\n\n\t\tnewChart.crosshair = new Crosshair(newChart, {\n\t\t\tenabled: true,\n\t\t\tflagEnabled: true,\n\t\t\tpersist: false,\n\t\t\tprimaryOnly: false,\n\t\t\tsnapHorizontalToData: true,\n\t\t\tshowFlagCrosshairDisabled: true,\n\t\t\tshowCircle: true,\n\t\t});\n\n\t\tsetChart(newChart);\n\t\tsetErrorMSG(false);\n\t\tsetUpdateError({\n\t\t\tindicatorsCount: 2,\n\t\t\terrorVisible: false,\n\t\t});\n\t});\n\n\tuseEffect(() => {\n\t\tif (!quoteQuery.data || chart || !venueXid) return;\n\t\tinitNewChart();\n\t}, [venueXid, quoteQuery.data]);\n\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tchart.params.dataNormalized = selectedPriceFormat === \"percent\";\n\t\tchart.loadData(() => {\n\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t});\n\t\tregisterChartEvents();\n\n\t\treturn () => unregisterChartEvents();\n\t}, [selectedPriceFormat]);\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tregisterChartEvents();\n\t\tchart.setSymbolCompare(\n\t\t\t// xids to compare\n\t\t\tselectedComparisons.map((comparison) => comparison.xid),\n\t\t\t//Styles\n\t\t\tavailableStyle.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\twidth: item.width,\n\t\t\t\t\tcolor: item.color,\n\t\t\t\t\tlineDash: item.lineDash,\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tchart.loadData(() => {\n\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t});\n\t\treturn () => unregisterChartEvents();\n\t}, [selectedComparisons]);\n\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tregisterChartEvents();\n\t\tchart.loadData(() => {\n\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t});\n\t\treturn () => unregisterChartEvents();\n\t}, [selectedIndicators]);\n\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tregisterChartEvents();\n\t\tif (chart.panels?.length) {\n\t\t\tconst mainPanel = chart.panels[0];\n\t\t\tLineStyle(mainPanel);\n\t\t}\n\t\tchart.render();\n\t\treturn () => unregisterChartEvents();\n\t}, [selectedLineStyle]);\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tregisterChartEvents();\n\t\treturn () => {\n\t\t\tunregisterChartEvents();\n\t\t};\n\t}, [chart]);\n\n\tuseEffect(() => {\n\t\tif (!chart || !document.getElementById(\"chartingCard\")) return;\n\t\tregisterChartEvents();\n\t\tchart.setDataPeriod(selectedInterval.value);\n\t\tchart.setDataInterval(selectedInterval.interval);\n\t\txAxisLabels();\n\t\tconst hasDatesSelected = datePicker.startDate && datePicker.endDate;\n\t\tif (chart.params) {\n\t\t\tchart.params.prependNormalizedPoint = hasDatesSelected;\n\t\t\t// Set returnPreviousPoint to false for intraday charts and true for EOD charts\n\t\t\tchart.params.returnPreviousPoint = selectedInterval.value !== \"Minute\";\n\t\t}\n\t\t// This manually resets the domain to address MOID-384788. This can be removed after ModCharts is updated.\n\t\tchart.resetDomain();\n\t\tif (hasDatesSelected) {\n\t\t\tchart.setDateRange(\n\t\t\t\tformatter.date(datePicker.startDate, \"YYYY-MM-DD\"),\n\t\t\t\tformatter.date(datePicker.endDate, \"YYYY-MM-DD\")\n\t\t\t);\n\t\t} else {\n\t\t\tchart.setDays(selectedTimeFrame.numDays);\n\t\t}\n\t\tchart.loadData(() => {\n\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t});\n\n\t\treturn () => unregisterChartEvents();\n\t}, [chart, selectedTimeFrame, selectedInterval, datePicker]);\n\n\tuseEffect(() => {\n\t\tif (!chart?.panels?.length) return;\n\t\tregisterChartEvents();\n\t\tconst mainPanel = chart.panels[0];\n\n\t\tAddEvents(mainPanel);\n\t\tchart.loadData(() => {\n\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t});\n\t\treturn () => unregisterChartEvents();\n\t}, [selectedEvents]);\n\n\t//To check line styles for upper indicator/comparison on removing\n\tconst checkStylesRemove = (e, isComparison) => {\n\t\tlet index = defaultStyle.findIndex(\n\t\t\t(item) =>\n\t\t\t\titem.isAvailable === false &&\n\t\t\t\titem.color === e.params.style.color &&\n\t\t\t\titem.lineDash === e.params.style.lineDash\n\t\t);\n\t\tif (isComparison) {\n\t\t\t//compare style that is to be removed from comparison styles array\n\t\t\tlet i = availableStyle.findIndex(\n\t\t\t\t(item) =>\n\t\t\t\t\titem.isAvailable === false &&\n\t\t\t\t\titem.color === defaultStyle[index].color &&\n\t\t\t\t\titem.lineDash === defaultStyle[index].lineDash\n\t\t\t);\n\t\t\tavailableStyle.splice(i, 1);\n\t\t}\n\t\tif (index >= 0) {\n\t\t\tdefaultStyle[index].isAvailable = true;\n\t\t\tsetDefaultStyle([...defaultStyle]);\n\t\t}\n\t};\n\n\tconst getIndexOfAvailableStyle = () =>\n\t\tdefaultStyle.findIndex((item) => item.isAvailable === true);\n\n\t//To check line styles for upper indicator/comparison on adding\n\tconst checkStylesAdd = () => {\n\t\tconst index = getIndexOfAvailableStyle();\n\t\tdefaultStyle[index].isAvailable = false;\n\t\tavailableStyle.push(defaultStyle[index]);\n\t\tsetDefaultStyle([...defaultStyle]);\n\t};\n\n\tconst AddEvents = (mainPanel) => {\n\t\tif (mainPanel?.events?.length) {\n\t\t\tmainPanel.removeEvent(ChartEventsConstants.EVENT_TYPES.EARNINGS);\n\t\t\tmainPanel.removeEvent(ChartEventsConstants.EVENT_TYPES.CUSTOM);\n\t\t\tmainPanel.removeEvent(ChartEventsConstants.EVENT_TYPES.SPLITS);\n\t\t}\n\n\t\t// remove all events as well as highlow indicator.\n\t\tmainPanel.indicators.forEach((indicator) => {\n\t\t\tif (indicator.params.id === \"highlow\") mainPanel.removeIndicator(indicator);\n\t\t});\n\n\t\tif (selectedEvents.earnings && earningsData) {\n\t\t\tmainPanel.addEvent(ChartEventsConstants.EVENT_TYPES.CUSTOM, {\n\t\t\t\tname: ChartEventsConstants.EVENT_TYPES.EARNINGS,\n\t\t\t\tdataset: earningsData,\n\t\t\t});\n\t\t}\n\n\t\tif (selectedEvents.dividends && dividendsData) {\n\t\t\tmainPanel.addEvent(ChartEventsConstants.EVENT_TYPES.CUSTOM, {\n\t\t\t\tname: ChartEventsConstants.EVENT_TYPES.DIVIDENDS,\n\t\t\t\tdataset: dividendsData,\n\t\t\t});\n\t\t}\n\n\t\tif (selectedEvents.morganstanleyratingscustom && researchMSData) {\n\t\t\tmainPanel.addEvent(ChartEventsConstants.EVENT_TYPES.CUSTOM, {\n\t\t\t\tname: ChartEventsConstants.EVENT_TYPES.RATINGSMS,\n\t\t\t\tdataset: researchMSData,\n\t\t\t});\n\t\t}\n\n\t\tif (selectedEvents.morningstarratingscustom && researchMstarData) {\n\t\t\tmainPanel.addEvent(ChartEventsConstants.EVENT_TYPES.CUSTOM, {\n\t\t\t\tname: ChartEventsConstants.EVENT_TYPES.RATINGSMSTAR,\n\t\t\t\tdataset: researchMstarData,\n\t\t\t});\n\t\t}\n\n\t\tif (selectedEvents.highlow && eventVisible.highlow) {\n\t\t\tmainPanel.addIndicator(\n\t\t\t\tIndicators.DICTIONARY.highlow.value,\n\t\t\t\tIndicators.DICTIONARY.highlow.config\n\t\t\t);\n\t\t}\n\t\tif (selectedEvents.splits) {\n\t\t\tmainPanel.addEvent(ChartEventsConstants.EVENT_TYPES.SPLITS);\n\t\t}\n\t};\n\n\tconst LineStyle = (mainPanel) => {\n\t\tif (mainPanel.indicators && mainPanel.indicators.length) {\n\t\t\tconst firstIndicator = mainPanel.indicators[0];\n\t\t\tif (firstIndicator.params) {\n\t\t\t\tfirstIndicator.params.markerType = selectedLineStyle.markerType;\n\n\t\t\t\tif (firstIndicator.params.style) {\n\t\t\t\t\tfirstIndicator.params.style.color = selectedLineStyle.lineColor;\n\t\t\t\t\tfirstIndicator.params.style.width = 2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst updateLastCloseLabels = () => {\n\t\tconst i = chart.getIndicatorsById(\"previousclose\");\n\t\tif (i.length) {\n\t\t\tconst indicatorId = i[0].params.uid;\n\t\t\tconst lastCloseDate = formatter.date(\n\t\t\t\tchart.data[venueXid].previousclose[indicatorId][0].date,\n\t\t\t\t\"M/D/YYYY\"\n\t\t\t);\n\t\t\tconst lastClosePrice = formatter.price(\n\t\t\t\tchart.data[venueXid].previousclose[indicatorId][0].previousclose\n\t\t\t);\n\t\t\ti[0].params.text = `${lastCloseDate} Close ${lastClosePrice}`;\n\t\t}\n\t};\n\n\tconst dataLoadComplete = () => {\n\t\tupdateLastCloseLabels();\n\t\tupdateChartingCardHeight();\n\t};\n\n\tconst registerChartEvents = () => {\n\t\tchart.eventEmitter.on(\"PANEL_LEGEND_UPDATE\", panelLegendUpdate);\n\t\tchart.eventEmitter.on(\"EVENT_RENDER\", eventRenderDefault);\n\t\tchart.eventEmitter.on(\"EVENT_REMOVE\", eventRenderDefault);\n\t\tchart.eventEmitter.on(\"INDICATOR_HIGHLOW_RENDER\", (highLowData) =>\n\t\t\tIndicatorHighLowRender(highLowData, {\n\t\t\t\tminSpaceTop: 20,\n\t\t\t\tminSpaceBottom: 50,\n\t\t\t\tdefaultHighTextPosition: 0,\n\t\t\t})\n\t\t);\n\t\tchart.eventEmitter.on(\"LOAD_START\", chartLoaderRef.current.chartLoaderStart);\n\t\tchart.eventEmitter.on(\"LOAD_STOP\", chartLoaderRef.current.chartLoaderStop);\n\t\tchart.eventEmitter.on(\"RESIZE\", resizeArrowRepositionforLowerIndicator);\n\t\tchart.eventEmitter.on(\"FLAG_RENDER_XAXIS\", xAxisRef.current.updateFlag);\n\t\tchart.eventEmitter.on(\"FLAG_HIDE_XAXIS\", xAxisRef.current.hideFlag);\n\t\tchart.eventEmitter.on(\"CROSSHAIR_MOVE\", xAxisRef.current.showFlag);\n\t\tchart.eventEmitter.on(\"CROSSHAIR_MOVE\", addIndicatorDataToLegend);\n\t\tchart.eventEmitter.on(\"DATA_LOAD_COMPLETE\", dataLoadComplete);\n\t};\n\n\tconst unregisterChartEvents = () => {\n\t\tchart.eventEmitter.off(\"PANEL_LEGEND_UPDATE\", panelLegendUpdate);\n\t\tchart.eventEmitter.off(\"EVENT_RENDER\", eventRenderDefault);\n\t\tchart.eventEmitter.off(\"EVENT_REMOVE\", eventRenderDefault);\n\t\tchart.eventEmitter.off(\"INDICATOR_HIGHLOW_RENDER\", IndicatorHighLowRender);\n\t\tchart.eventEmitter.off(\"LOAD_START\", chartLoaderRef.current.chartLoaderStart);\n\t\tchart.eventEmitter.off(\"LOAD_STOP\", chartLoaderRef.current.chartLoaderStop);\n\t\tchart.eventEmitter.off(\"RESIZE\", resizeArrowRepositionforLowerIndicator);\n\t\tchart.eventEmitter.off(\"FLAG_RENDER_XAXIS\", xAxisRef.current.updateFlag);\n\t\tchart.eventEmitter.off(\"FLAG_HIDE_XAXIS\", xAxisRef.current.hideFlag);\n\t\tchart.eventEmitter.off(\"CROSSHAIR_MOVE\", xAxisRef.current.showFlag);\n\t\tchart.eventEmitter.off(\"CROSSHAIR_MOVE\", addIndicatorDataToLegend);\n\t\tchart.eventEmitter.off(\"DATA_LOAD_COMPLETE\", dataLoadComplete);\n\t};\n\n\tconst eventRenderDefault = (params) => {\n\t\tif (params.eventType) {\n\t\t\tif (params.eventType === ChartEventsConstants.EVENT_TYPES.CUSTOM) {\n\t\t\t\teventsData[ChartEventsConstants.EVENT_TYPES.RATINGSMSTAR] = [];\n\t\t\t\teventsData[ChartEventsConstants.EVENT_TYPES.RATINGSMS] = [];\n\t\t\t\teventsData[ChartEventsConstants.EVENT_TYPES.DIVIDENDS] = [];\n\t\t\t\teventsData[ChartEventsConstants.EVENT_TYPES.EARNINGS] = [];\n\t\t\t} else eventsData[params.eventType] = [];\n\t\t\tsetEventsData({ ...eventsData });\n\t\t\treturn;\n\t\t}\n\t\tconst coords = params.coords;\n\t\tconst eventData = [];\n\t\tfor (let elem of coords) {\n\t\t\teventData.push(elem);\n\t\t}\n\t\tif (params.id !== ChartEventsConstants.EVENT_TYPES.CUSTOM)\n\t\t\teventsData[params.id] = eventData;\n\t\telse eventsData[params.name] = eventData;\n\n\t\tsetEventsData({ ...eventsData });\n\t\tsetTimeout(() => {\n\t\t\tif (params.id !== ChartEventsConstants.EVENT_TYPES.CUSTOM)\n\t\t\t\tshowHideEvents(params.id);\n\t\t\telse showHideEvents(params.name);\n\t\t}, 1);\n\t};\n\n\tconst panelLegendUpdate = ({ legendElement, indicators, panel }) => {\n\t\tlegendElement.innerHTML = \"\";\n\t\tlet ul = panel.rootLegend.append(\"ul\").attr(\"class\", \"advancedChartLegend\");\n\n\t\t// handling indicators in temporary indicators variable and adding indicators those are hidden\n\n\t\tcreateLegendsForIndicator(indicators, panel, ul);\n\n\t\tif (panel === chart.panels[0]) createLegendsForEvents(indicators, panel, ul);\n\t};\n\n\tconst showSelectedEvents = (eventKey, panel, indicators) => {\n\t\tif (eventKey === \"highlow\") {\n\t\t\teventVisible[eventKey]\n\t\t\t\t? panel.addIndicator(\n\t\t\t\t\t\tIndicators.DICTIONARY.highlow.value,\n\t\t\t\t\t\tIndicators.DICTIONARY.highlow.config\n\t\t\t\t )\n\t\t\t\t: indicators.forEach((indicator) => {\n\t\t\t\t\t\tif (indicator.params.id === \"highlow\") panel.removeIndicator(indicator);\n\t\t\t\t });\n\t\t\tchart.render();\n\t\t} else {\n\t\t\tshowHideEvents(eventKey);\n\t\t}\n\t};\n\tconst fillLastDataDefault = (indicatorId, uid, index, symbol) => {\n\t\tif (!Indicators.PHASE1_INDICATORS.includes(indicatorId) && indicatorId !== \"price\")\n\t\t\treturn;\n\t\tlet data = indicatorId !== \"price\" ? chart.data[venueXid] : chart.data[symbol];\n\t\tlet indicatorSettings = Indicators.DICTIONARY[indicatorId];\n\t\tif (!indicatorSettings && index > 1)\n\t\t\tindicatorSettings = { displayCardColumns: [{ name: \"close\" }] };\n\n\t\tif (indicatorSettings) {\n\t\t\tlet element = document.querySelector(`[data-uid=\"${uid}\"] .mouseOverValue`);\n\t\t\telement.innerHTML = \"\";\n\t\t\tindicatorSettings.displayCardColumns.forEach((property) => {\n\t\t\t\tlet div = document.createElement(\"div\");\n\t\t\t\tdiv.classList.add(\"cardValue\");\n\t\t\t\tlet lastelemIndex = data[indicatorId][uid].length;\n\t\t\t\tif (lastelemIndex === 0) return;\n\t\t\t\tlet value = data[indicatorId][uid][lastelemIndex - 1][property.name];\n\t\t\t\tlet activePanelIndicator = chart.getIndicatorByUid(uid);\n\t\t\t\taddStyleToIndicatorDataLegends(activePanelIndicator, property, div);\n\t\t\t\tdiv.innerHTML =\n\t\t\t\t\tgetFormattedNumber(value) +\n\t\t\t\t\t(activePanelIndicator.params.id === \"price\" ? \"%\" : \"\");\n\t\t\t\telement.appendChild(div);\n\t\t\t});\n\t\t}\n\t};\n\n\tconst createLegendsForEvents = (indicators, panel, ul) => {\n\t\tlet li, iconText, iconString;\n\n\t\tObject.keys(selectedEvents)\n\t\t\t.filter((x) => selectedEvents[x])\n\t\t\t.forEach((evt) => {\n\t\t\t\tlet eventKey = AdvanceChartConstant.EVENT_DICT[evt].eventKey;\n\t\t\t\tlet eventName = AdvanceChartConstant.EVENT_DICT[evt].eventName;\n\n\t\t\t\ticonString = eventVisible[eventKey] ? VisibleHtmlString : HiddenHtmlString;\n\t\t\t\ticonText = eventVisible[eventKey] ? \"Hide\" : \"Show\";\n\t\t\t\t// legend label\n\t\t\t\tli = ul.append(\"li\");\n\t\t\t\tli.append(\"div\").attr(\"class\", \"label\").html(eventName);\n\t\t\t\tli.append(\"div\").attr(\"class\", \"mouseOverValue\");\n\t\t\t\tli.append(\"button\") // handling show hide of events\n\t\t\t\t\t.html(\n\t\t\t\t\t\t`${iconText} ${eventName} event${iconString}`\n\t\t\t\t\t)\n\t\t\t\t\t.on(\"click\", function () {\n\t\t\t\t\t\ticonString = eventVisible[eventKey] ? HiddenHtmlString : VisibleHtmlString;\n\t\t\t\t\t\ticonText = eventVisible[eventKey] ? \"Show\" : \"Hide\";\n\t\t\t\t\t\tthis.innerHTML = `${iconText} ${eventName} event${iconString}`;\n\t\t\t\t\t\teventVisible[eventKey] = !eventVisible[eventKey];\n\t\t\t\t\t\tsetEventVisible({ ...eventVisible });\n\t\t\t\t\t\tshowSelectedEvents(eventKey, panel, indicators);\n\t\t\t\t\t});\n\n\t\t\t\tli.append(\"button\")\n\t\t\t\t\t.attr(\"tab-index\", \"0\")\n\t\t\t\t\t.html(\n\t\t\t\t\t\t`Remove ${eventName} event${CloseHtmlString}`\n\t\t\t\t\t)\n\t\t\t\t\t.on(\"click\", () => handleEvents(eventKey));\n\t\t\t});\n\t};\n\n\tconst showHideEvents = (eventKey) => {\n\t\tvar chartElem = document.getElementById(\"chartingCard\");\n\t\tif (chartElem.nextElementSibling) {\n\t\t\tchartElem.nextElementSibling\n\t\t\t\t.querySelectorAll(\n\t\t\t\t\t`[data-eventtype=${AdvanceChartConstant.EVENT_DICT.events[eventKey]}`\n\t\t\t\t)\n\t\t\t\t.forEach((elem) => {\n\t\t\t\t\telem.classList.remove(\"invisible\", \"visible\");\n\t\t\t\t\telem.classList.add(\n\t\t\t\t\t\t`${\n\t\t\t\t\t\t\teventVisible[AdvanceChartConstant.EVENT_DICT.events[eventKey]]\n\t\t\t\t\t\t\t\t? \"visible\"\n\t\t\t\t\t\t\t\t: \"invisible\"\n\t\t\t\t\t\t}`\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t}\n\t};\n\n\tconst getLegendBorder = (indicator, li) => {\n\t\tlet lineDash = \"solid\";\n\t\tswitch (indicator.params.style.lineDash) {\n\t\t\tcase \"2,4\":\n\t\t\t\tlineDash = \"dotted\";\n\t\t\t\tbreak;\n\t\t\tcase \"6,2\":\n\t\t\t\tlineDash = \"dashed\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tlet borderStyle = `border-top: ${\n\t\t\tindicator.params.style.lineWidth || 2\n\t\t}px ${lineDash} ${indicator.params.style.color}`;\n\t\tif (indicator.params.style.lineDash === \"12,2\") {\n\t\t\tlet wrap = li.append(\"div\").attr(\"class\", \"longDashWrap\");\n\t\t\tlet i = 30;\n\t\t\twhile (i > 0) {\n\t\t\t\tlet longDash = wrap.append(\"div\").attr(\"class\", \"longDash\");\n\t\t\t\tlongDash.attr(\"style\", `background-color: ${indicator.params.style.color}`);\n\t\t\t\ti--;\n\t\t\t}\n\t\t} else li.attr(\"style\", borderStyle);\n\t};\n\n\tconst createLegendsForIndicator = (indicators, panel, ul) => {\n\t\tlet li, iconText, editText, iconString;\n\t\tindicators.forEach((indicator, index) => {\n\t\t\t// highlow is added as event so indicator legend not needed.\n\t\t\tif (\n\t\t\t\tindicator.params.id === \"highlow\" ||\n\t\t\t\t(indicator.params.id === \"volume\" && panel === chart.panels[0])\n\t\t\t)\n\t\t\t\treturn;\n\t\t\t// legend item group\n\t\t\tlet uid = indicator.params.uid;\n\t\t\tli = ul.append(\"li\").attr(\"data-uid\", uid);\n\t\t\tindicatorsVisiblitity[uid] =\n\t\t\t\tuid in indicatorsVisiblitity ? indicatorsVisiblitity[uid] : true;\n\t\t\tsetIndicatorsVisiblity({ ...indicatorsVisiblitity });\n\t\t\t// legend border\n\t\t\tif (indicator.params && indicator.params.style) {\n\t\t\t\tgetLegendBorder(indicator, li);\n\t\t\t}\n\t\t\tconst isComparison = indicator.params.name === \"Price\";\n\t\t\t// Below code for showing Legend label for Comparisons\n\t\t\tlet displaySymbol = \"\";\n\t\t\tdisplaySymbol = setDisplaySymbol(isComparison, indicator.params.symbol);\n\t\t\t// End Legend Label for Comparison\n\t\t\tlet legendName = setLegendName(isComparison, displaySymbol, indicator.params.name);\n\t\t\t// legend label\n\t\t\tli.append(\"div\").attr(\"class\", \"label\").html(legendName);\n\n\t\t\ticonString = setIconString(indicatorsVisiblitity[indicator.params.uid]);\n\t\t\ticonText = indicatorsVisiblitity[indicator.params.uid] ? \"Hide\" : \"Show\";\n\n\t\t\teditText = \"Edit Indicator \" + legendName;\n\n\t\t\t// handle the main price indicator separately\n\t\t\tif (index === 0 && panel === chart.panels[0]) {\n\t\t\t\tlet price = formatter.price(quoteQuery.data?.lastPrice);\n\t\t\t\tlet todaysChange = quoteQuery.data?.todaysChange;\n\n\t\t\t\tli.attr(\"id\", \"primaryPriceLegend\");\n\t\t\t\tli.attr(\"class\", \"priceLegend\");\n\t\t\t\tli.append(\"span\").html(\" \" + price + \"  \" + todaysChange);\n\t\t\t} else if (panel === chart.panels[0]) {\n\t\t\t\tli = addIndicatorInputs(indicator, li);\n\t\t\t\tli.append(\"div\").attr(\"class\", \"mouseOverValue\");\n\n\t\t\t\tli = createEditButton(indicator, editText, legendName, li, isComparison, \"upper\");\n\n\t\t\t\tli.append(\"button\")\n\t\t\t\t\t.html(\n\t\t\t\t\t\t`${iconText} ${legendName} indicator${iconString}`\n\t\t\t\t\t)\n\t\t\t\t\t.on(\"click\", function () {\n\t\t\t\t\t\tlet indicatorObj = setEyeButtonProperties(indicator);\n\t\t\t\t\t\tindicator.params.visible = indicatorObj.visible;\n\t\t\t\t\t\tchart.render();\n\t\t\t\t\t\ticonString = indicatorObj.iconString;\n\t\t\t\t\t\ticonText = indicatorObj.iconText;\n\t\t\t\t\t\tthis.innerHTML = `${iconText} ${indicator.params.name} indicator${iconString}`;\n\t\t\t\t\t\tindicatorsVisiblitity[indicator.params.uid] =\n\t\t\t\t\t\t\t!indicatorsVisiblitity[indicator.params.uid];\n\t\t\t\t\t\tsetIndicatorsVisiblity({ ...indicatorsVisiblitity });\n\t\t\t\t\t});\n\n\t\t\t\taddRemoveIndicatorButton(li, indicator, panel, isComparison);\n\t\t\t} else {\n\t\t\t\tli = addIndicatorInputs(indicator, li);\n\t\t\t\tli.append(\"div\").attr(\"class\", \"mouseOverValue\");\n\t\t\t\tli = createEditButton(indicator, editText, legendName, li, isComparison, \"lower\");\n\t\t\t\taddRemoveIndicatorButton(li, indicator, panel, isComparison);\n\t\t\t\tlowerIndicatorRepositionArrow(li, panel.size.width, indicator.params.uid, chart);\n\t\t\t}\n\t\t\tfillLastDataDefault(\n\t\t\t\tindicator.params.id,\n\t\t\t\tindicator.params.uid,\n\t\t\t\tindex,\n\t\t\t\tindicator.params.symbol\n\t\t\t);\n\t\t});\n\t};\n\n\tconst setIconString = (uid) => {\n\t\tlet iconString = \"\";\n\t\tif (uid) {\n\t\t\ticonString = VisibleHtmlString;\n\t\t} else {\n\t\t\ticonString = HiddenHtmlString;\n\t\t}\n\t\treturn iconString;\n\t};\n\n\tconst setLegendName = (isComparison, displaySymbol, name) => {\n\t\tlet legendName = \"\";\n\t\tif (isComparison) {\n\t\t\tlegendName = displaySymbol;\n\t\t} else {\n\t\t\tlegendName = name;\n\t\t}\n\t\treturn legendName;\n\t};\n\n\tconst addIndicatorInputs = (indicator, li) => {\n\t\tif (Indicators.PHASE1_INDICATORS.includes(indicator.params.id)) {\n\t\t\tswitch (indicator.params.id) {\n\t\t\t\tcase \"bollinger\":\n\t\t\t\t\tli.append(\"div\")\n\t\t\t\t\t\t.attr(\"class\", \"label\")\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\"(\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[0].value +\n\t\t\t\t\t\t\t\t\",\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[1].value +\n\t\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"mae\":\n\t\t\t\t\tli.append(\"div\")\n\t\t\t\t\t\t.attr(\"class\", \"label\")\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\"(\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[0].value +\n\t\t\t\t\t\t\t\t\",\" +\n\t\t\t\t\t\t\t\tMath.trunc((1 - indicator.params.inputs[1].value) * 100) +\n\t\t\t\t\t\t\t\t\",\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[3].value.toUpperCase() +\n\t\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"macd\":\n\t\t\t\t\tli.append(\"div\")\n\t\t\t\t\t\t.attr(\"class\", \"label\")\n\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\"(\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[0].value +\n\t\t\t\t\t\t\t\t\",\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[1].value +\n\t\t\t\t\t\t\t\t\",\" +\n\t\t\t\t\t\t\t\tindicator.params.inputs[2].value +\n\t\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sma\":\n\t\t\t\tcase \"wma\":\n\t\t\t\tcase \"momentum\":\n\t\t\t\tcase \"proc\":\n\t\t\t\tcase \"vroc\":\n\t\t\t\tcase \"rsi\":\n\t\t\t\t\tli.append(\"div\")\n\t\t\t\t\t\t.attr(\"class\", \"label\")\n\t\t\t\t\t\t.html(\"(\" + indicator.params.inputs[0].value + \")\");\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn li;\n\t};\n\n\tconst createEditButton = (indicator, editText, legendName, li, isComparison, panel) => {\n\t\tlet list = li;\n\t\tif (Indicators.PHASE1_INDICATORS.includes(indicator.params.id)) {\n\t\t\tlist\n\t\t\t\t.append(\"button\")\n\t\t\t\t.html(\n\t\t\t\t\t`${editText} ${legendName} indicator${EditHtmlString}`\n\t\t\t\t)\n\t\t\t\t.on(\"click\", function () {\n\t\t\t\t\t// here indicator pop up will open for phase 1 indicators list.\n\t\t\t\t\tlet ind = chart.getIndicatorByUid(indicator.params.uid);\n\t\t\t\t\tcheckStylesRemove(indicator, isComparison);\n\t\t\t\t\tsetIndicatorInputConfig({\n\t\t\t\t\t\tisOpen: true,\n\t\t\t\t\t\tisEdit: false,\n\t\t\t\t\t\tname: indicator.params.name,\n\t\t\t\t\t\tpanel: panel,\n\t\t\t\t\t\tconfig: ind.params,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\treturn list;\n\t};\n\n\tconst setDisplaySymbol = (isComparison, symbol) => {\n\t\tif (isComparison) {\n\t\t\tlet displaySymbol = \"\";\n\t\t\tconst xref = chart.xref[symbol];\n\t\t\tdisplaySymbol = `${xref.displaySymbol}`;\n\t\t\tif (Comparisons.EXCHANGES.filter((x) => x.xid === symbol).length > 0) {\n\t\t\t\tdisplaySymbol = Comparisons.EXCHANGES.filter((x) => x.xid === symbol)[0].name;\n\t\t\t}\n\t\t\treturn displaySymbol;\n\t\t}\n\t};\n\n\tconst setEyeButtonProperties = (indicator) => {\n\t\tlet indicatorObj = {};\n\t\tif (indicatorsVisiblitity[indicator.params.uid]) {\n\t\t\tindicatorObj.visible = false;\n\t\t\tindicatorObj.iconString = HiddenHtmlString;\n\t\t\tindicatorObj.iconText = \"Show\";\n\t\t} else {\n\t\t\tindicatorObj.visible = true;\n\t\t\tindicatorObj.iconString = VisibleHtmlString;\n\t\t\tindicatorObj.iconText = \"Hide\";\n\t\t}\n\t\treturn indicatorObj;\n\t};\n\n\tconst lowerIndicatorRepositionArrow = (li, width, uid, chartObj) => {\n\t\tif (chartObj.panels.length > 2) {\n\t\t\t//Lower Indicator reposition via UP/DOWN Arrow\n\t\t\tLegendMovePanel.AddArrowRepositionPanel(\n\t\t\t\tli,\n\t\t\t\twidth,\n\t\t\t\tuid,\n\t\t\t\tchartObj,\n\t\t\t\tfalse,\n\t\t\t\tupdateChartStateFromArrowRepositionPanel\n\t\t\t);\n\t\t}\n\t};\n\n\tconst setPriceFormat = (isComparison) => {\n\t\tif (isComparison && selectedComparisons.length < 2) {\n\t\t\tsetPriceFormatConfig(AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value);\n\t\t\tsetAbsolutePrice({ ...absolutePrice, disable: false });\n\t\t}\n\t};\n\n\tconst addRemoveIndicatorButton = (li, indicator, panel, isComparison) => {\n\t\tli.append(\"button\")\n\t\t\t.attr(\"aria-label\", `Remove ${indicator.params.name} indicator`)\n\t\t\t.html(CloseHtmlString)\n\t\t\t.on(\"click\", () => {\n\t\t\t\tif (isComparison) {\n\t\t\t\t\tsetSelectedComparisons(\n\t\t\t\t\t\tselectedComparisons.filter((comp) => comp.xid !== indicator.params.symbol)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsetSelectedIndicators(\n\t\t\t\t\t\tselectedIndicators.filter((indc) => indc.uid !== indicator.params.uid)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t//Moved outside of the if block removal of first or seccond lower indicator is not working.\n\n\t\t\t\tif (panel === chart.panels[0]) {\n\t\t\t\t\tif (Indicators.DEFAULT_USE.includes(indicator.params.id) || isComparison)\n\t\t\t\t\t\tcheckStylesRemove(indicator, isComparison);\n\t\t\t\t\tsetPriceFormat(isComparison);\n\t\t\t\t\tpanel.removeIndicator(indicator);\n\t\t\t\t\tsetUpdateError({\n\t\t\t\t\t\tindicatorsCount: chart.panels[0].indicators.filter(\n\t\t\t\t\t\t\t(x) => x.params.id !== \"highlow\"\n\t\t\t\t\t\t).length,\n\t\t\t\t\t\terrorVisible: false,\n\t\t\t\t\t});\n\t\t\t\t\tsetErrorMSG(false);\n\t\t\t\t\tupdateChartingCardHeight();\n\t\t\t\t} else {\n\t\t\t\t\tchart.removePanel(panel);\n\t\t\t\t\t//Reshuffle - Reposition Arrows depending upon which indicators we are removing\n\t\t\t\t\t//Since state update is not predictable in React we are using timeout with a delay of 300 ms\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (chart.panels.length > 1) {\n\t\t\t\t\t\t\t//Lower Indicator resuffle reposition\n\t\t\t\t\t\t\tLegendMovePanel.ReshuffleArrowRepositionPanel(\n\t\t\t\t\t\t\t\tpanel.size.width,\n\t\t\t\t\t\t\t\tchart,\n\t\t\t\t\t\t\t\tupdateChartStateFromArrowRepositionPanel\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 300);\n\t\t\t\t\tupdateChartingCardHeight();\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\tconst updateChartStateFromArrowRepositionPanel = (chartState) => {\n\t\tsetChart(chartState);\n\t};\n\n\tconst resizeArrowRepositionforLowerIndicator = () => {\n\t\tif (document.querySelectorAll(\".advancedChartLegend\").length > 2)\n\t\t\tdocument\n\t\t\t\t.querySelectorAll(\".advancedChartLegend\")\n\t\t\t\t.forEach((element, index, items) => {\n\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\telement.childNodes[0].childNodes[\n\t\t\t\t\t\t\telement.childNodes[0].childNodes.length - 1\n\t\t\t\t\t\t].setAttribute(\"style\", `left: ${chart.panels[0].size.width - 63}px;`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t};\n\n\tconst handleTimeFrameOnSelect = (value) => {\n\t\tconst timeFrame = getTimeFrameConfig(value);\n\t\tconst newDatePicker = {\n\t\t\tdateSpan: CUSTOM_DATE_ID_VALUE,\n\t\t\tstartDate: false,\n\t\t\tendDate: false,\n\t\t};\n\t\tstateStorage.set({\n\t\t\tdatePicker: newDatePicker,\n\t\t\ttimeFrame: value,\n\t\t\tinterval: timeFrame.defaultPeriod,\n\t\t});\n\t\tsetSelectedTimeFrame(timeFrame);\n\t\tsetSelectedInterval(timeFrame.defaultPeriod);\n\t\tsetDatePicker(newDatePicker);\n\t};\n\n\tconst updateStateFromTimeFrame = (timeFrame) => {\n\t\tconst newDatePicker = {\n\t\t\tdateSpan: CUSTOM_DATE_ID_VALUE,\n\t\t\tstartDate: timeFrame.startDate,\n\t\t\tendDate: timeFrame.endDate,\n\t\t};\n\t\tstateStorage.set({\n\t\t\tdatePicker: newDatePicker,\n\t\t\ttimeFrame,\n\t\t\tinterval: timeFrame.defaultPeriod,\n\t\t});\n\t\tsetSelectedTimeFrame(timeFrame);\n\t\tsetDatePicker(newDatePicker);\n\t\tsetSelectedInterval(timeFrame.defaultPeriod);\n\t};\n\n\tconst handleChartStyleOnSelect = (selectedLineStyleLabel) => {\n\t\tsetLineStyleConfig(\n\t\t\tAdvanceChartConstant.LINE_STYLES.filter(\n\t\t\t\t(lineStyle) => lineStyle.label === selectedLineStyleLabel\n\t\t\t)[0]\n\t\t);\n\t};\n\n\tconst handleChartIntervalOnSelect = (selectedIntervalLabel) => {\n\t\tconst interval = selectedTimeFrame.periods.filter(\n\t\t\t(period) => period.label === selectedIntervalLabel\n\t\t)[0];\n\t\tstateStorage.set({ interval });\n\t\tsetSelectedInterval(interval);\n\t};\n\n\tconst handleResetOnClick = () => {\n\t\tconst timeFrame = getTimeFrameConfig();\n\t\tstateStorage.set({}, true);\n\t\tsetSelectedTimeFrame(timeFrame);\n\t\tsetLineStyleConfig(AdvanceChartConstant.LINE_STYLES[0]);\n\t\tsetSelectedInterval(TIME_FRAMES[DEFAULT_TIMEFRAME_INDEX].defaultPeriod);\n\t\tsetDatePicker(DATEPICKERFILTERSTATE);\n\t\tsetDefaultStyle(JSON.parse(JSON.stringify(DEFAULT_USE_LINE_STYLES)));\n\t\tsetAvailableStyle([]);\n\t\tsetPriceFormatConfig(AdvanceChartConstant.PRICE_FORMATS.ABSOLUTE.value);\n\t\tsetAbsolutePrice({ ...absolutePrice, disable: false });\n\t\tsetIndicatorsVisiblity({});\n\t\tsetSelectedComparisons([]);\n\t\tsetSelectedEvents({\n\t\t\tdividends: false,\n\t\t\tearnings: false,\n\t\t\thighlow: false,\n\t\t\tmorganstanleyratingscustom: false,\n\t\t\tmorningstarratingscustom: false,\n\t\t\tsplits: false,\n\t\t});\n\t\tsetEventsData({});\n\t\tchart?.destroy();\n\t\tsetChart(null);\n\t\tinitNewChart();\n\t};\n\n\tconst canAddMoreLowerIndicators = (indicatorPanel) => {\n\t\tif (indicatorPanel === \"lower\") {\n\t\t\tif (updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER) {\n\t\t\t\tupdateError.errorVisible = false;\n\t\t\t\tsetErrorMSG(false);\n\t\t\t\tsetErrorMessageForUpper(true);\n\t\t\t}\n\t\t\tconst numLowerIndicators = chart.panels.length;\n\t\t\tif (numLowerIndicators - 1 >= AdvanceChartConstant.INDICATOR_LIMITS.LOWER) {\n\t\t\t\tsetErrorMSG(true);\n\t\t\t\tsetErrorMessageForUpper(false);\n\t\t\t\tupdateError.errorVisible = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst canAddMoreUpperIndicators = () => {\n\t\t// use AdvanceChartConstant.INDICATOR_LIMITS.LOWER for upper limit\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER) {\n\t\t\tsetErrorMSG(true);\n\t\t\tsetErrorMessageForUpper(true);\n\t\t\tupdateError.errorVisible = true;\n\t\t\treturn false;\n\t\t} else {\n\t\t\tsetUpdateError({\n\t\t\t\tindicatorsCount:\n\t\t\t\t\tchart.panels[0].indicators.filter((x) => x.params.id !== \"highlow\").length + 1,\n\t\t\t\terrorVisible: false,\n\t\t\t});\n\t\t\tsetErrorMSG(false);\n\t\t\tsetErrorMessageForUpper(false);\n\t\t}\n\t\treturn true;\n\t};\n\n\tconst handleIndicatorOnClick = (e) => {\n\t\tconst newIndicatorValue = e.target.dataset.value;\n\t\tconst newIndicatorPanel = e.target.dataset.panel;\n\t\tlet isIndicatorConfiguredForPopup =\n\t\t\tIndicators.PHASE1_INDICATORS.includes(newIndicatorValue);\n\n\t\tif (newIndicatorPanel === \"lower\" && canAddMoreLowerIndicators(newIndicatorPanel)) {\n\t\t\tif (isIndicatorConfiguredForPopup) {\n\t\t\t\topenPopup(newIndicatorValue, newIndicatorPanel);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\taddLowerIndicator(\n\t\t\t\tnewIndicatorValue,\n\t\t\t\tIndicators.DICTIONARY[newIndicatorValue].config\n\t\t\t);\n\t\t} else if (newIndicatorPanel === \"upper\" && canAddMoreUpperIndicators()) {\n\t\t\tif (isIndicatorConfiguredForPopup) {\n\t\t\t\topenPopup(newIndicatorValue, newIndicatorPanel);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// add Upper Indicator here\n\t\t\tlet newIndicatorUpper = chart.panels[0].addIndicator(\n\t\t\t\tnewIndicatorValue,\n\t\t\t\tIndicators.DICTIONARY[newIndicatorValue].config\n\t\t\t);\n\n\t\t\t// Indicators for which default line styles and colors are used\n\t\t\tsetSelectedIndicators([...selectedIndicators, { ...newIndicatorUpper.params }]);\n\t\t}\n\t};\n\n\tconst openPopup = (indicatorValue, indicatorPanel) => {\n\t\tlet defaultLineStyle = {};\n\t\tif (Indicators.DEFAULT_USE.includes(indicatorValue)) {\n\t\t\tlet index = getIndexOfAvailableStyle();\n\t\t\tdefaultLineStyle = defaultStyle[index];\n\t\t}\n\t\tsetIndicatorInputConfig({\n\t\t\tisOpen: true,\n\t\t\tisEdit: false,\n\t\t\tname: indicatorValue,\n\t\t\tpanel: indicatorPanel,\n\t\t\tdefaultLineStyle: defaultLineStyle,\n\t\t});\n\t};\n\n\tconst handleCompareExchangeOnClick = (e) => {\n\t\tconst newCompareIndex = e.currentTarget.getAttribute(\"data-index\");\n\t\tconst newExchangeCompare = Comparisons.EXCHANGES[newCompareIndex];\n\n\t\t// Check whether the comparison xid has already been added\n\t\tconst exchangeIndexToTest = selectedComparisons.findIndex(\n\t\t\t(selectedComparison) => selectedComparison.xid === newExchangeCompare.xid\n\t\t);\n\n\t\t// If xid is new, add to the comparisons array\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER) {\n\t\t\tsetErrorMSG(true);\n\t\t\tupdateError.errorVisible = true;\n\t\t\tif (!errorMSG) return;\n\t\t} else {\n\t\t\tsetUpdateError({\n\t\t\t\tindicatorsCount:\n\t\t\t\t\tchart.panels[0].indicators.filter((x) => x.params.id !== \"highlow\").length + 1,\n\t\t\t\terrorVisible: false,\n\t\t\t});\n\t\t\tsetErrorMSG(false);\n\t\t}\n\t\tif (exchangeIndexToTest < 0) {\n\t\t\tsetSelectedComparisons([...selectedComparisons, newExchangeCompare]);\n\t\t\tcheckStylesAdd();\n\t\t}\n\t\tsetAbsolutePrice({ ...absolutePrice, disable: true });\n\t\tsetPriceFormatConfig(AdvanceChartConstant.PRICE_FORMATS.PERCENT.value);\n\t};\n\tconst handleComparePeerOnClick = (e) => {\n\t\tconst newCompareIndex = e.currentTarget.getAttribute(\"data-index\");\n\t\tconst newPeerCompare = peersData[newCompareIndex];\n\n\t\t// Check whether the comparison xid has already been added\n\t\tconst peerIndexToTest = selectedComparisons.findIndex(\n\t\t\t(selectedComparison) => selectedComparison.xid === newPeerCompare.xid\n\t\t);\n\n\t\t// If xid is new, add to the comparisons array\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER) {\n\t\t\tsetErrorMSG(true);\n\t\t\tupdateError.errorVisible = true;\n\t\t\tif (!errorMSG) return;\n\t\t} else {\n\t\t\tsetUpdateError({\n\t\t\t\tindicatorsCount:\n\t\t\t\t\tchart.panels[0].indicators.filter((x) => x.params.id !== \"highlow\").length + 1,\n\t\t\t\terrorVisible: false,\n\t\t\t});\n\t\t\tsetErrorMSG(false);\n\t\t}\n\t\tif (peerIndexToTest < 0) {\n\t\t\tsetSelectedComparisons([...selectedComparisons, newPeerCompare]);\n\t\t\tcheckStylesAdd();\n\t\t}\n\t\tsetAbsolutePrice({ ...absolutePrice, disable: true });\n\t\tsetPriceFormatConfig(AdvanceChartConstant.PRICE_FORMATS.PERCENT.value);\n\t};\n\tconst handleCompareQuoteOnClick = (e) => {\n\t\t// Check whether the comparison xid has already been added\n\t\tconst quoteIndexToTest = selectedComparisons.findIndex(\n\t\t\t(selectedComparison) => selectedComparison.xid === e.xids.entity\n\t\t);\n\n\t\t// If xid is new, add to the comparisons array\n\t\t// using 6 as threshold as pricechart indicator is added by default\n\t\tif (updateError.indicatorsCount >= AdvanceChartConstant.INDICATOR_LIMITS.UPPER) {\n\t\t\tsetErrorMSG(true);\n\t\t\tupdateError.errorVisible = true;\n\t\t\tif (!errorMSG) return;\n\t\t} else {\n\t\t\tsetUpdateError({\n\t\t\t\tindicatorsCount:\n\t\t\t\t\tchart.panels[0].indicators.filter((x) => x.params.id !== \"highlow\").length + 1,\n\t\t\t\terrorVisible: false,\n\t\t\t});\n\t\t\tsetErrorMSG(false);\n\t\t}\n\t\tif (\n\t\t\t!isMaxLegendsRendered() &&\n\t\t\tquoteIndexToTest < 0 &&\n\t\t\tchart.params.symbol !== e.xids.venue.toString()\n\t\t) {\n\t\t\tsetSelectedComparisons([\n\t\t\t\t...selectedComparisons,\n\t\t\t\t{\n\t\t\t\t\txid: e.xids.venue.toString(),\n\t\t\t\t\tsymbol: e.symbol,\n\t\t\t\t\tcompanyName: e.name,\n\t\t\t\t\tname: e.symbol,\n\t\t\t\t},\n\t\t\t]);\n\t\t\tcheckStylesAdd();\n\t\t}\n\t\tsetAbsolutePrice({ ...absolutePrice, disable: true });\n\t\tsetPriceFormatConfig(AdvanceChartConstant.PRICE_FORMATS.PERCENT.value);\n\t};\n\tconst handleEvents = (eventKey) => {\n\t\tselectedEvents[eventKey] = !selectedEvents[eventKey];\n\t\teventVisible[eventKey] = true;\n\t\tsetSelectedEvents({ ...selectedEvents });\n\t\tsetEventVisible({ ...eventVisible });\n\t};\n\tconst clearEvents = () => {\n\t\tsetSelectedEvents({\n\t\t\tdividends: false,\n\t\t\tearnings: false,\n\t\t\thighlow: false,\n\t\t\tmorganstanleyratingscustom: false,\n\t\t\tmorningstarratingscustom: false,\n\t\t\tsplits: false,\n\t\t});\n\t\tsetEventVisible({\n\t\t\tdividends: true,\n\t\t\tearnings: true,\n\t\t\thighlow: true,\n\t\t\tmorganstanleyratingscustom: true,\n\t\t\tmorningstarratingscustom: true,\n\t\t\tsplits: true,\n\t\t});\n\t};\n\n\t/*\n\tinitial chart will have a height of 374px. 50px for the legend and 324px for the main panel.\n\tThis initial height is important so user doesn't have to scroll to see the whole chart on initial load.\n\tAs user adds more events/indicators/comparisons padding between panels needs to be consistent.\n\t*/\n\tconst updateChartingCardHeight = () => {\n\t\tconst chartingCardEl = document.getElementById(\"chartingCard\");\n\t\tconst mainPanelLegendEl = document.getElementsByClassName(\"modcharts-legend first\");\n\t\tconst chartHoverEl = document.querySelector(\".modcharts-rootmouse\");\n\t\tconst numOfPanels = chart?.panels?.length;\n\t\tconst mainPanelHeight = 324;\n\t\t// additional lower indicators will expand the chart by 283px\n\t\tconst lowerPanelHeight = (numOfPanels - 1) * 283 || 0;\n\t\tconst mainPanelLegendHeight = mainPanelLegendEl?.length\n\t\t\t? mainPanelLegendEl[0].clientHeight\n\t\t\t: 50;\n\t\t// adds top padding only to lower panels when the legend of the main panel wraps to a new line.\n\t\tif (numOfPanels > 1) {\n\t\t\tlet lowerPanels = [...document.getElementsByClassName(\"modcharts-panel\")];\n\t\t\tlowerPanels.forEach((el, ind) => {\n\t\t\t\tif (ind !== 0) {\n\t\t\t\t\treturn (el.style.paddingTop = `${mainPanelLegendHeight - 50}px`);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// offsets the top absolute position of the hoverable area provided by modcharts by the current legend height\n\t\tchartHoverEl.style.top = `${mainPanelLegendHeight}px`;\n\t\tchartingCardEl.style.height = `${\n\t\t\tmainPanelHeight + lowerPanelHeight + mainPanelLegendHeight\n\t\t}px`;\n\t};\n\tconst isMaxLegendsRendered = () => {\n\t\tconst activeEvents = Object.keys(selectedEvents).filter(\n\t\t\t(key) => selectedEvents[key] === true\n\t\t);\n\t\tconst activeIndicators = selectedIndicators.filter(({ panel }) => panel === \"upper\");\n\t\treturn (\n\t\t\tselectedComparisons.length + activeIndicators.length + activeEvents.length >=\n\t\t\tAdvanceChartConstant.INDICATOR_LIMITS.UPPER\n\t\t);\n\t};\n\tconst onChartingInputApply = (inputs) => {\n\t\tlet inputvalue = inputs.config.id || inputs.value;\n\t\tif (Indicators.DEFAULT_USE.includes(inputvalue)) {\n\t\t\taddIndicatorDefaultStyle(inputs.config.style);\n\t\t}\n\t\tif (!inputs.config.uid) {\n\t\t\tif (inputs.panel === \"upper\") {\n\t\t\t\tlet newIndicatorUpper = chart.panels[0].addIndicator(inputs.value, inputs.config);\n\t\t\t\tsetSelectedIndicators([...selectedIndicators, { ...newIndicatorUpper.params }]);\n\t\t\t} else {\n\t\t\t\taddLowerIndicator(inputs.value, inputs.config);\n\t\t\t}\n\t\t} else {\n\t\t\tchart.loadData(() => {\n\t\t\t\tsetChartData(chart ? chart.exportData() : {});\n\t\t\t});\n\t\t}\n\t};\n\n\tconst addLowerIndicator = (indicatorValue, indicatorConfig) => {\n\t\tconst numLowerIndicators = chart.panels.length;\n\t\tchart.addPanel(AdvanceChartConstant.DEFAULT_PANEL_PARAMS_LOWER);\n\n\t\tlet newIndicatorLower = chart.panels[numLowerIndicators].addIndicator(\n\t\t\tindicatorValue,\n\t\t\tindicatorConfig\n\t\t);\n\n\t\tsetSelectedIndicators([...selectedIndicators, { ...newIndicatorLower.params }]);\n\n\t\tupdateChartingCardHeight();\n\t};\n\tconst onCloseIndicatorPopup = (e) => {\n\t\tindicatorInputConfig.config &&\n\t\t\taddIndicatorDefaultStyle(indicatorInputConfig.config.style);\n\t\tsetIndicatorInputConfig((config) => {\n\t\t\treturn { ...config, isOpen: false };\n\t\t});\n\t};\n\n\tconst addIndicatorDefaultStyle = (indicatorStyle) => {\n\t\tlet index = defaultStyle.findIndex(\n\t\t\t(item) =>\n\t\t\t\titem.isAvailable === true &&\n\t\t\t\titem.color === indicatorStyle.color &&\n\t\t\t\titem.lineDash === indicatorStyle.lineDash\n\t\t);\n\t\tif (index >= 0) {\n\t\t\tdefaultStyle[index].isAvailable = false;\n\t\t\tsetDefaultStyle([...defaultStyle]);\n\t\t}\n\t};\n\t//#region PAN & ZOOM Callback & UTILITY\n\n\tconst rangeSize = () => {\n\t\tconst [min, max] = chart.xAxis.primaryScale.range();\n\t\treturn max - min;\n\t};\n\n\tconst pan = (panLeft) => {\n\t\tif (chart) {\n\t\t\tconst panRangeDistance = panLeft\n\t\t\t\t? rangeSize() * AdvanceChartConstant.PANZOOM.RANGE_RATIO\n\t\t\t\t: -rangeSize() * AdvanceChartConstant.PANZOOM.RANGE_RATIO;\n\t\t\tchart.zoomUtil.panChart({\n\t\t\t\tchart,\n\t\t\t\tdistance: panRangeDistance,\n\t\t\t\tduration: AdvanceChartConstant.PANZOOM.DURATION,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst resetZoom = () => {\n\t\tif (chart) {\n\t\t\tchart.zoomUtil.resetZoomCenter({\n\t\t\t\tchart,\n\t\t\t\tduration: AdvanceChartConstant.PANZOOM.DURATION,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst zoom = (distance) => {\n\t\tif (chart) {\n\t\t\tchart.zoomUtil.zoomChart({\n\t\t\t\tchart,\n\t\t\t\tduration: AdvanceChartConstant.PANZOOM.DURATION,\n\t\t\t\tscale: distance,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst getStyleForChartLegend = () => {\n\t\tif (errorMSG) {\n\t\t\tif (FEATURE_FLAGS.MSQR_7541_BORDER_COLOR) return styles.chartLegendMaxErr;\n\t\t\telse return styles.chartLegendMaxErrWithFlag;\n\t\t}\n\t\treturn \"\";\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{errorMSG && (\n\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\t

\n\t\t\t\t\t\t\t\t\t\t{errorMessageForUpper\n\t\t\t\t\t\t\t\t\t\t\t? AdvanceChartConstant.ERROR_MESSAGES.UPPER_ERROR\n\t\t\t\t\t\t\t\t\t\t\t: AdvanceChartConstant.ERROR_MESSAGES.LOWER_ERROR}\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\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\" \"}Reset Chart\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{!isMobile && (\n\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\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{!isMobile && (\n\t\t\t\t\t\t\t\t\t setErrorMSG(false)}\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\t setErrorMSG(false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{!isMobile && (\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\t
\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\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\t\toption: chartStyle.label,\n\t\t\t\t\t\t\t\t\t\t\ticon: chartStyle.icon,\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\ttitle={selectedLineStyle.label}\n\t\t\t\t\t\t\t\t\tshowLeftIcon={true}\n\t\t\t\t\t\t\t\t\tdropdownIconColor=\"#187ABA\"\n\t\t\t\t\t\t\t\t\tonSelectCallback={handleChartStyleOnSelect}\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\t
\n\t\t\t\t\t\t{selectedLineStyle.markerType === \"candlestick\" && (\n\t\t\t\t\t\t\t<>\n\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\tPositive\n\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\t\t\n\t\t\t\t\t\t\t\t\tNegative\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\t{selectedLineStyle.markerType === \"ohlc\" && (\n\t\t\t\t\t\t\t<>\n\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\tPositive\n\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\t\t
\n\t\t\t\t\t\t\t\t\tNegative\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\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{!isMobile && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{indicatorInputConfig.isOpen && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{finishedLoadingData ? <> : }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{eventsData && Object.keys(eventsData).length > 0 && (\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\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default React.memo(ChartingCard);\n","// extracted by mini-css-extract-plugin\nexport default {\"mainContainer\":\"Charting_mainContainer__NThY7\"};","import React from \"react\";\n\nimport ChartingCard from \"./ChartingCard/ChartingCard\";\nimport styles from \"./Charting.module.scss\";\n\nconst Charting = (props) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Charting;\n","import * as React from \"react\";\nimport ChartistGraph from \"react-chartist\";\nimport \"./TrendChart.style.scss\";\nexport default class Cell extends React.Component {\n\trender() {\n\t\tlet optionsBarChart = {\n\t\t\tseriesBarDistance: 5,\n\t\t\tchartPadding: {\n\t\t\t\ttop: 0,\n\t\t\t\tright: 0,\n\t\t\t\tbottom: 0,\n\t\t\t\tleft: 0,\n\t\t\t},\n\t\t\tshowLabel: false,\n\t\t\taxisX: {\n\t\t\t\tshowGrid: false,\n\t\t\t\tshowLabel: false,\n\t\t\t\toffset: 0,\n\t\t\t},\n\t\t\taxisY: {\n\t\t\t\tshowLabel: false,\n\t\t\t\tshowGrid: false,\n\t\t\t\toffset: 0,\n\t\t\t},\n\t\t};\n\n\t\tconst { content, header, className, IsChart } = this.props;\n\t\treturn header ? (\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t\t\t{IsChart ? (\n\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\t\tcontent\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"lib_Table\":\"DataTable_lib_Table__patez\"};","import * as React from \"react\";\nimport Cell from \"./Cell\";\nimport styles from \"./DataTable.module.scss\";\n\nclass DataTable extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.renderHeadingRow = this.renderHeadingRow.bind(this);\n\t\tthis.renderRow = this.renderRow.bind(this);\n\t}\n\n\trenderHeadingRow = (_cell, cellIndex) => {\n\t\tconst { headers } = this.props;\n\n\t\tlet classNameCol = `${headers[cellIndex].IsBold ? \"Cell-IsBold\" : \"\"} ${\n\t\t\theaders[cellIndex].CellStyle ? \"CellStyle\" : \"\"\n\t\t} ${headers[cellIndex].CellBackground ? \"CellBackground\" : \"\"}`;\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t};\n\n\trenderRow = (_row, rowIndex) => {\n\t\tconst { rows, rowsStyle } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{rows[rowIndex].map((_cell, cellIndex) => {\n\t\t\t\t\tlet classNamesRow = `${rows[rowIndex][cellIndex].IsBold ? \"Cell-IsBold\" : \"\"} ${\n\t\t\t\t\t\trows[rowIndex][cellIndex].IsChart ? \"Cell-FixedWidth\" : \"\"\n\t\t\t\t\t} ${rows[rowIndex][cellIndex].CellStyle ? \"CellStyle\" : \"\"} ${\n\t\t\t\t\t\trows[rowIndex][cellIndex].CellBackground ? \"CellBackground\" : \"\"\n\t\t\t\t\t}`;\n\t\t\t\t\treturn (\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\trender() {\n\t\tconst theadMarkup = (\n\t\t\t\n\t\t\t\t{this.props.headers.map(this.renderHeadingRow)}\n\t\t\t\n\t\t);\n\t\tconst tbodyMarkup = this.props.rows.map(this.renderRow);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{theadMarkup}\n\t\t\t\t{tbodyMarkup}\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default DataTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"StatementDetailsTable_modal-backdrop__qvmo3\",\"show\":\"StatementDetailsTable_show__6I+9m\",\"LinesEllipsis\":\"StatementDetailsTable_LinesEllipsis__3izxS\",\"incomeStatementTable\":\"StatementDetailsTable_incomeStatementTable__C7xqf\",\"dvRowHeaderContainer\":\"StatementDetailsTable_dvRowHeaderContainer__fUeNc\"};","import React, { Component } from \"react\";\nimport DataTable from \"../../../Lib/Table/DataTable\";\nimport styles from \"./StatementDetailsTable.module.scss\";\nimport formatter from \"../../../../utils/formatUtils\";\nimport utils from \"utils/utils\";\nimport MSSpinner from \"../../../Lib/MSSpinner/MSSpinner\";\nimport filterEmptyData from \"utils/financialsEmptyColumns\";\n\nexport class StatementDetailsTable extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\ttableData: {\n\t\t\t\theadersData: [],\n\t\t\t\trowsData: [],\n\t\t\t},\n\t\t\tuniqueCurrencyflag: 0,\n\t\t};\n\n\t\tthis.parseTableData = this.parseTableData.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.financialStatementsData) {\n\t\t\tthis.parseTableData(this.props.financialStatementsData);\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.financialStatementsData !== this.props.financialStatementsData) {\n\t\t\tthis.parseTableData(this.props.financialStatementsData);\n\t\t}\n\t}\n\n\tshouldFetchData(prevProps) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\t\tlet fetchTableData = false;\n\t\tif (\n\t\t\tprevProps.entityXid !== this.props.entityXid ||\n\t\t\tprevProps.periodType !== this.props.periodType\n\t\t) {\n\t\t\tfetchTableData = true;\n\t\t}\n\t\treturn (\n\t\t\tfetchTableData &&\n\t\t\tthis.props.entityXid &&\n\t\t\tthis.props.financialStatementsData === null\n\t\t);\n\t}\n\n\tparseTableData = (data) => {\n\t\tlet colsArr = [];\n\t\tlet rowsArr = [];\n\t\tthis.dynamicHeader = [];\n\t\tthis.uniqueCurrencies = utils.getUniqueCurrencies(data.currencies);\n\n\t\tif (!data?.fiscalYears || !data?.rows) {\n\t\t\treturn;\n\t\t}\n\n\t\tdata.fiscalYears.map((item, index) =>\n\t\t\tthis.createColumnData(\n\t\t\t\titem,\n\t\t\t\tindex,\n\t\t\t\tdata.fiscalQuarters,\n\t\t\t\tdata.periodEndDates,\n\t\t\t\tcolsArr,\n\t\t\t\tdata.currencies\n\t\t\t)\n\t\t);\n\t\tlet colObj = {};\n\n\t\t// Last Column Trend visible for large devices\n\t\t// TODO: update template literals to use JSX React Syntax\n\t\tif (!this.props.isMobile) {\n\t\t\tif (\n\t\t\t\tthis.props.periodType === \"Annual\" &&\n\t\t\t\tdata.fiscalYears &&\n\t\t\t\tthis.uniqueCurrencies.length === 1\n\t\t\t) {\n\t\t\t\tcolObj.CellValue = `Trend `;\n\t\t\t} else if (\n\t\t\t\tthis.props.periodType === \"Interim\" &&\n\t\t\t\tdata.fiscalYears &&\n\t\t\t\tdata.fiscalQuarters &&\n\t\t\t\tdata.fiscalYears[data.fiscalQuarters.length - 1] &&\n\t\t\t\tthis.uniqueCurrencies.length === 1\n\t\t\t) {\n\t\t\t\tcolObj.CellValue = `Trend `;\n\t\t\t} else {\n\t\t\t\tcolObj.CellValue = \"\";\n\t\t\t}\n\t\t\tcolsArr.push(colObj);\n\t\t}\n\t\t// ENDS Last Column Trend visible for large devices\n\t\tlet currency = this.uniqueCurrencies;\n\t\tdata.rows.map((item) =>\n\t\t\tthis.createRowData(item, rowsArr, data.periodEndDates, currency)\n\t\t);\n\n\t\tif (rowsArr.length > 0) {\n\t\t\tlet obj = filterEmptyData.filterEmptyData(\n\t\t\t\trowsArr,\n\t\t\t\tdata.fiscalYears.length,\n\t\t\t\tcolsArr\n\t\t\t);\n\t\t\tthis.setState({ tableData: obj });\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\ttableData: {\n\t\t\t\t\theadersData: colsArr,\n\t\t\t\t\trowsData: rowsArr,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t};\n\n\tcreateColumnData(item, index, fiscalQuarters, periodEndDates, colsArr, currencies) {\n\t\tlet colObj = {};\n\t\tcolObj.CellValue =\n\t\t\tthis.props.periodType === \"Annual\" ? \"Fiscal Year End:\" : \"Fiscal Qrtr End:\";\n\t\tif (index === 0) {\n\t\t\tif (periodEndDates && periodEndDates.length > 0) {\n\t\t\t\tlet date = new Date(periodEndDates[0]);\n\t\t\t\tcolObj.CellValue += ` ${date.toLocaleString(\"default\", {\n\t\t\t\t\tmonth: \"long\",\n\t\t\t\t})} ${date.getDate()}`;\n\t\t\t}\n\t\t\tcolsArr.push(colObj);\n\t\t\tcolObj = {};\n\t\t}\n\t\tif (this.props.periodType === \"Annual\") {\n\t\t\tcolObj.CellValue =\n\t\t\t\titem + (this.uniqueCurrencies.length === 1 ? \"\" : `
(${currencies[index]})`);\n\t\t} else if (this.props.periodType === \"Interim\") {\n\t\t\tcolObj.CellValue =\n\t\t\t\t`Q${fiscalQuarters[index]} ${item}` +\n\t\t\t\t(this.uniqueCurrencies.length === 1 ? \"\" : `
(${currencies[index]})`);\n\t\t} else {\n\t\t\tcolObj.CellValue = \"\";\n\t\t}\n\n\t\tcolsArr.push(colObj);\n\t}\n\n\taddRowHeader(item, isBold) {\n\t\tlet tempRowObject = {};\n\t\tif (this.props.rowHeaderAsTooltip && this.props.isMobile) {\n\t\t\ttempRowObject.CellValue = utils.buildTooltip(\n\t\t\t\t\"financial-description-tooltip-desc\",\n\t\t\t\titem.dataPointLabel,\n\t\t\t\t\"text\",\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{item.dataPointLabel}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t);\n\t\t} else {\n\t\t\ttempRowObject.CellValue = item.dataPointLabel;\n\t\t}\n\t\tif (isBold) {\n\t\t\ttempRowObject.CellBackground = \"CellBackground\";\n\t\t\ttempRowObject.IsBold = true;\n\t\t}\n\n\t\treturn tempRowObject;\n\t}\n\n\tcreateRowData(item, tableRowsArray, periodEndDates, currency) {\n\t\tconst tempRowArray = [];\n\t\tconst isBold = item && item.bold === \"y\";\n\t\tconst rowTemplate = {\n\t\t\tCellBackground: isBold && \"CellBackground\",\n\t\t\tIsBold: isBold,\n\t\t};\n\n\t\ttempRowArray.push(this.addRowHeader(item, isBold));\n\n\t\tlet trend = [];\n\n\t\tif (item.values) {\n\t\t\titem.values.forEach((inneritem) => {\n\t\t\t\ttempRowArray.push({\n\t\t\t\t\t...rowTemplate,\n\t\t\t\t\tCellValue: formatter.currencyMagnitude(\n\t\t\t\t\t\tinneritem,\n\t\t\t\t\t\t2,\n\t\t\t\t\t\tcurrency.length === 1 && currency[0] === \"USD\" ? \"USD\" : \" \"\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\ttrend.push(inneritem);\n\t\t\t});\n\t\t} else {\n\t\t\tlet arrCount = 0;\n\t\t\tif (periodEndDates && periodEndDates.length) {\n\t\t\t\tarrCount = periodEndDates.length;\n\t\t\t}\n\n\t\t\tfor (let count = 0; count < arrCount; count++) {\n\t\t\t\ttempRowArray.push({ ...rowTemplate, CellValue: formatter.options.errorString });\n\t\t\t\ttrend.push(null);\n\t\t\t}\n\t\t}\n\n\t\tif (!this.props.isMobile) {\n\t\t\ttempRowArray.push(this.formatDesktopTrends(trend, isBold, currency.length));\n\t\t}\n\t\ttableRowsArray.push(tempRowArray);\n\t}\n\n\tformatDesktopTrends(trend, isBold, currencyFlag) {\n\t\tif (currencyFlag === 1) {\n\t\t\treturn {\n\t\t\t\tIsChart: true,\n\t\t\t\tCellBackground: isBold && \"CellBackground\",\n\t\t\t\tCellValue: [...trend].reverse(),\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tCellBackground: isBold && \"CellBackground\",\n\t\t\t};\n\t\t}\n\t}\n\n\trender() {\n\t\tlet isContentReady =\n\t\t\tthis.props.financialStatementsData && this.props.financialStatementsData !== null;\n\n\t\treturn (\n\t\t\t\n\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\nexport default StatementDetailsTable;\n","const FILING_TYPE = [\n\t{ label: \"Annual Financials\", value: \"10-K\" },\n\t{ label: \"Quarterly Financials\", value: \"10-Q\" },\n\t{ label: \"Company Current Events\", value: \"8-K\" },\n\t{ label: \"Foreign Issuer Annual Report\", value: \"20-F\" },\n\t{ label: \"Foreign Issuer Current Report\", value: \"6-K\" },\n\t{ label: \"Employee Stock Purchase Plan Annual Report\", value: \"11-K\" },\n\t{ label: \"New Insider\", value: \"3\" },\n\t{ label: \"Insider Buy/Sell\", value: \"4\" },\n\t{ label: \"Insider Year End Report\", value: \"5\" },\n\t{ label: \">5% Ownership\", value: \"SC 13G\" },\n\t{ label: \"Notification of Late Filing\", value: \"NT-11K\" },\n\t{ label: \"Notification of Late Filing\", value: \"12b-25\" },\n\t{ label: \"Notification of Termination of Registration\", value: \"15-12B\" },\n\t{ label: \"Registration of Employee Benefit Plan\", value: \"S-8\" },\n\t{ label: \"Registration of Employee Benefit Plan\", value: \"S-8 POS\" },\n\t{ label: \"Definitive Proxy Statement\", value: \"DEF 14A\" },\n\t{ label: \"Announcement of >5% Acquisition\", value: \"SC 13D\" },\n\t{ label: \"Annual Financials - Small Business\", value: \"10KSB\" },\n\t{ label: \"Registration for New Securities\", value: \"S-1\" },\n\t{ label: \"Registration For Specific Situations\", value: \"S-3\" },\n\t{ label: \"Registration Statement\", value: \"8-A12B\" },\n\t{ label: \"Withdrawal of Listing On Exchange\", value: \"25\" },\n\t{ label: \"FWP\", value: \"Free Writing Prospectus\" },\n];\n\nconst TIME_FRAMES = [\n\t{\n\t\tlabel: \"Current Year\",\n\t},\n\t{\n\t\tlabel: \"Last Month\",\n\t},\n\t{\n\t\tlabel: \"Last 3 Months\",\n\t},\n\t{\n\t\tlabel: \"Last 6 Months\",\n\t},\n\t{\n\t\tlabel: \"12 Months\",\n\t},\n\t{\n\t\tlabel: \"Last 2 Years\",\n\t},\n\t{\n\t\tlabel: \"Last 3 Years\",\n\t},\n\t{\n\t\tlabel: \"Last 4 Years\",\n\t},\n];\n\nconst SEC_FILING_REPORT_TIME = [\n\t{\n\t\tlabel: \"All Filings\",\n\t\tvalue: \"\",\n\t},\n\t{\n\t\tlabel: \"Quarterly Reports (10-Q)\",\n\t\tvalue: \"10-Q\",\n\t},\n\t{\n\t\tlabel: \"Annual Reports (10-K)\",\n\t\tvalue: \"10-K\",\n\t},\n\t{\n\t\tlabel: \"Other Reports\",\n\t\tvalue: \"-10-Q,10-k\", // list all the reports types that should be ignored in api call\n\t},\n];\n\nexport default {\n\tFILING_TYPE,\n\tTIME_FRAMES,\n\tSEC_FILING_REPORT_TIME,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"SecFilingTable_modal-backdrop__ev8PC\",\"show\":\"SecFilingTable_show__1yV8f\",\"LinesEllipsis\":\"SecFilingTable_LinesEllipsis__ACpbm\",\"secFilingContainer\":\"SecFilingTable_secFilingContainer__PT68v\",\"dataContainer\":\"SecFilingTable_dataContainer__5FZFp\",\"spinnerStyle\":\"SecFilingTable_spinnerStyle__VVkbr\",\"componentContainer\":\"SecFilingTable_componentContainer__Lou8P\",\"eventControlContainer\":\"SecFilingTable_eventControlContainer__9dYjJ\",\"eventControlWrapper\":\"SecFilingTable_eventControlWrapper__TSp50\",\"eventsControl\":\"SecFilingTable_eventsControl__4Tx5X\",\"eventsControlRight\":\"SecFilingTable_eventsControlRight__lz2+W\",\"secFilingTableWrapper\":\"SecFilingTable_secFilingTableWrapper__koVqj\",\"secFilingTable\":\"SecFilingTable_secFilingTable__Q6mtf\",\"pdfButton\":\"SecFilingTable_pdfButton__Ed0B2\",\"noWordWrap\":\"SecFilingTable_noWordWrap__b0Qg1\"};","import React, { Component } from \"react\";\nimport MSDropdown from \"../../../Lib/MSDropdown/MSDropdown\";\nimport SecFilingConstants from \"./SecFilingConstant\";\nimport styles from \"./SecFilingTable.module.scss\";\nimport formatter from \"../../../../utils/formatUtils\";\nimport MSSpinner from \"../../../Lib/MSSpinner/MSSpinner\";\nimport PaginationFooter from \"../../../Lib/PaginationFooter/PaginationFooter\";\nimport Utils from \"../../../../utils/utils\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\n\nimport SecFilingsAPIUtils from \"services/APIs/SecFilings/SecFilingsAPI\";\nimport NoData from \"components/Lib/NoData/NoData\";\n\nexport class SecFilingTable extends Component {\n\tfilterParams = {\n\t\tstartDate: formatter.moment().startOf(\"year\").format(\"YYYY-MM-DD\"),\n\t\tendDate: formatter.moment().format(\"YYYY-MM-DD\"),\n\t\tpageOffset: 0,\n\t\tformType: \"\",\n\t};\n\thasBeenCalled = false;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\ttableData: {\n\t\t\t\theadersData: [\n\t\t\t\t\t{ CellValue: \"Filing Date\", CellMap: \"filingDate\" },\n\t\t\t\t\t{ CellValue: \"Period\", CellMap: \"filingDate\" },\n\t\t\t\t\t{ CellValue: \"Type\", CellMap: \"formType\" },\n\t\t\t\t\t{ CellValue: \"Name\", CellMap: \"category\" },\n\t\t\t\t],\n\t\t\t\trowsData: [],\n\t\t\t},\n\t\t\tselectedFiling: SecFilingConstants.SEC_FILING_REPORT_TIME[0],\n\t\t\tselectedTimePeriod: SecFilingConstants.TIME_FRAMES[0].label,\n\t\t\tpage: 1,\n\t\t\ttotalPages: 1,\n\t\t\ttotalItems: null,\n\t\t\tstartingItem: 1,\n\t\t\tendingItem: 10,\n\t\t\tlimit: 10,\n\t\t\tsecFilingTableData: null,\n\t\t\tisContentReady: true,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.fetchNewSecFilingData(\n\t\t\tthis.state.startingItem === 1 ? 0 : this.state.startingItem\n\t\t);\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.shouldFetchData(prevProps)) {\n\t\t\tthis.fetchNewSecFilingData(\n\t\t\t\tthis.state.startingItem === 1 ? 0 : this.state.startingItem\n\t\t\t);\n\t\t}\n\n\t\tif (prevState.secFilingTableData !== this.state.secFilingTableData) {\n\t\t\tthis.hasBeenCalled = false;\n\t\t\tthis.updatePagination();\n\t\t}\n\t}\n\n\tfetchNewSecFilingData = async (currentPage) => {\n\t\tthis.setState({\n\t\t\tsecFilingTableData: null,\n\t\t\tisContentReady: false,\n\t\t});\n\t\tconst newSecFilingData = await SecFilingsAPIUtils.getDocumentList(\n\t\t\tthis.props.apiInstance,\n\t\t\t{\n\t\t\t\t...this.filterParams,\n\t\t\t\tcik: this.props.cik,\n\t\t\t\tlimit: this.state.limit,\n\t\t\t\toffset: currentPage,\n\t\t\t}\n\t\t);\n\n\t\tthis.setState({\n\t\t\tsecFilingTableData: newSecFilingData,\n\t\t\tisContentReady: true,\n\t\t});\n\t};\n\n\tupdatePagination() {\n\t\tconst limit = 10;\n\t\tconst offset = limit * this.state.page - 10;\n\t\tconst startingItem = offset + 1;\n\t\tconst endingItem = offset + limit;\n\t\tlet totalPages;\n\t\tconst totalItems = Utils.getObjectPropertyValue(\n\t\t\tthis.state.secFilingTableData,\n\t\t\t\"pagination.totalItems\"\n\t\t);\n\t\ttotalPages = Math.ceil(totalItems / limit);\n\t\tlet trueEndItem;\n\t\tif (endingItem > totalItems) {\n\t\t\ttrueEndItem = totalItems;\n\t\t} else {\n\t\t\ttrueEndItem = endingItem;\n\t\t}\n\t\tthis.setState({\n\t\t\ttotalPages: totalPages,\n\t\t\ttotalItems: totalItems,\n\t\t\tstartingItem: startingItem,\n\t\t\tendingItem: trueEndItem,\n\t\t});\n\t}\n\t//this function governs expected behavior for pagination, and is passed as a prop for handling the clicks in the pagination component. This updates state so that the pagination controls and api calls can remain in sync and updated correctly.\n\tarrowClickCallback = (behavior) => {\n\t\tlet newPage = this.state.page;\n\t\tswitch (behavior) {\n\t\t\tcase \"skipToBeginning\":\n\t\t\t\tnewPage = 1;\n\t\t\t\tbreak;\n\t\t\tcase \"skipToEnd\":\n\t\t\t\tnewPage = this.state.totalPages;\n\t\t\t\tbreak;\n\t\t\tcase \"previousPage\":\n\t\t\t\tif (this.state.page > 1) {\n\t\t\t\t\tnewPage = this.state.page - 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"nextPage\":\n\t\t\t\tif (this.state.page < this.state.totalPages) {\n\t\t\t\t\tnewPage = this.state.page + 1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tif (newPage !== this.state.page) {\n\t\t\tif (!this.hasBeenCalled) {\n\t\t\t\tthis.fetchNewSecFilingData(\n\t\t\t\t\tthis.state.startingItem === 1 ? 0 : newPage * this.state.limit - 10\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tpage: newPage,\n\t\t\t\t});\n\t\t\t\tthis.hasBeenCalled = true;\n\t\t\t}\n\t\t}\n\t};\n\n\tshouldFetchData = (prevProps) => {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\t\tlet fetchTableData = false;\n\t\tif (prevProps.venueXid !== this.props.venueXid) {\n\t\t\tfetchTableData = true;\n\t\t}\n\t\treturn fetchTableData;\n\t};\n\n\thandleFilingTypeOnSelect = (selectedFilingTypeLabel) => {\n\t\tlet secFilingFilterParam = SecFilingConstants.SEC_FILING_REPORT_TIME.filter(\n\t\t\t(filingType) => filingType.label === selectedFilingTypeLabel\n\t\t)[0];\n\t\tthis.filterParams.formType = secFilingFilterParam.value;\n\n\t\tthis.fetchNewSecFilingData(this.state.startingItem === 1 ? 0 : 1);\n\n\t\t//reset to first page\n\t\tthis.setState({\n\t\t\tselectedFiling: secFilingFilterParam,\n\t\t\tpage: 1,\n\t\t});\n\t};\n\n\thandleTimePeriodOnSelect = (selectedTimePeriodLabel) => {\n\t\tthis.updateFilterParamOnTimePeriodChange(selectedTimePeriodLabel);\n\n\t\tthis.fetchNewSecFilingData(this.state.startingItem === 1 ? 0 : 1);\n\n\t\t//reset to first page\n\t\tthis.setState({\n\t\t\tselectedTimePeriod: selectedTimePeriodLabel,\n\t\t\tpage: 1,\n\t\t});\n\t};\n\n\tupdateFilterParamOnTimePeriodChange = (selectedFilingTypeLabel) => {\n\t\tswitch (selectedFilingTypeLabel) {\n\t\t\tcase \"Current Year\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.startOf(\"year\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last Month\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(1, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last 3 Months\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(3, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last 6 Months\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(6, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"12 Months\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(12, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last 2 Years\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(24, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last 3 Years\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(36, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tcase \"Last 4 Years\":\n\t\t\t\tthis.filterParams.startDate = formatter\n\t\t\t\t\t.moment()\n\t\t\t\t\t.subtract(48, \"months\")\n\t\t\t\t\t.format(\"YYYY-MM-DD\");\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tloadSecFilingsPdfData = (feedId, documentTag) => {\n\t\twindow.open(\n\t\t\t`${window.MD.MSO_DOMAIN}/ms-research/markets-and-research/SecFilingsPdf?feedId=${feedId}&documentTag=${documentTag}`\n\t\t);\n\t};\n\n\trenderSecFilingFullTable = () => {\n\t\tconst contentReady = this.state.secFilingTableDataStatus !== null;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.state.isContentReady ? (\n\t\t\t\t\tthis.state.secFilingTableData && this.state.secFilingTableData.items ? (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\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\t\t\n\t\t\t\t\t\t\t\t\t\t{this.renderDataColumnHeaders()}\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\t{this.renderSecFilingDataTable()}\n\t\t\t\t\t\t\t
SEC Filing Data
\n\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\t\n\t\t\t\t\t\t\t{`There is no SEC Fillings data available for ${this.props.symbol}`}\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t) : (\n\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
\n\t\t);\n\t};\n\n\trenderSecFilingDataTable() {\n\t\tconst header = this.state.tableData.headersData.map((x) => x.CellMap);\n\t\treturn this.state.secFilingTableData.items.map((item, index) =>\n\t\t\tthis.renderTableRow(item, index, header)\n\t\t);\n\t}\n\n\trenderTableRow = (item, parentIndex, header) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t{header.map((tdKey, index) => {\n\t\t\t\t\tswitch (tdKey) {\n\t\t\t\t\t\tcase \"filingDate\":\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{formatter.moment(item[tdKey]).format(\"MM/DD/YYYY\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tcase \"formType\":\n\t\t\t\t\t\t\treturn (\n\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\t\t{item[tdKey]}\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\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn {item[tdKey]};\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\n\t\t);\n\t};\n\trenderDataColumnHeaders = () => {\n\t\treturn this.state.tableData.headersData.map((header, index) => {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{header.CellValue}\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t};\n\n\trender() {\n\t\tconst secFilingConstantsMapping = (filing) => ({\n\t\t\toption: filing.label,\n\t\t});\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\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\t\t\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\t{\n\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
\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\t
\n\t\t\t\t\t\t\t{this.renderSecFilingFullTable()}\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\nexport default SecFilingTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"StatementOverview_modal-backdrop__e+SJ5\",\"show\":\"StatementOverview_show__oxSGH\",\"LinesEllipsis\":\"StatementOverview_LinesEllipsis__r8s73\",\"incomeStatementTable\":\"StatementOverview_incomeStatementTable__Cr-dD\"};","import React, { Component } from \"react\";\nimport DataTable from \"../../../Lib/Table/DataTable\";\nimport styles from \"./StatementOverview.module.scss\";\nimport formatter from \"../../../../utils/formatUtils\";\nimport { FINANCIAL_STATEMENT_TYPE, PERIOD_TYPE } from \"../../../../utils/constants\";\nimport Utils from \"utils/utils\";\nimport {\n\tCHANGE_BALANCESHEEET_COLUMNS,\n\tFINANCIAL_TABS,\n\tFINANCIAL_TABS_TOOLTIPS,\n\tCASHFLOW_ROW,\n} from \"../FinancialsCard/FinancialsConstants\";\nimport MSSpinner from \"../../../Lib/MSSpinner/MSSpinner\";\nimport filterEmptyData from \"utils/financialsEmptyColumns\";\nimport utils from \"utils/utils\";\n\nconst StatementOverviewTooltip = (tooltipText, rowText) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t{Utils.buildTooltip(\n\t\t\t\t`income-statement-${rowText.toLowerCase().replace(\" \", \"-\")}`,\n\t\t\t\ttooltipText,\n\t\t\t\t\"button\"\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport class StatementOverview extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\ttableData: {\n\t\t\t\theadersData: [],\n\t\t\t\trowsData: [],\n\t\t\t},\n\t\t};\n\t\tthis.parseTableData = this.parseTableData.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.parseTableData(\n\t\t\tthis.props.statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW\n\t\t\t\t? this.props.financialStatementsData\n\t\t\t\t: this.props.financialStatementsKeyData,\n\t\t\tthis.props.financialRatiosHistoryData\n\t\t);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tthis.props.statementType !== prevProps.statementType ||\n\t\t\tthis.props.periodType !== prevProps.periodType ||\n\t\t\tthis.props.financialStatementsKeyData !== prevProps.financialStatementsKeyData ||\n\t\t\tthis.props.financialStatementsData !== prevProps.financialStatementsData ||\n\t\t\tthis.props.financialRatiosHistoryData !== prevProps.financialRatiosHistoryData\n\t\t) {\n\t\t\tlet ydata = this.props.financialStatementsKeyData;\n\t\t\tif (this.props.statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW) {\n\t\t\t\tydata = this.props.financialStatementsData;\n\t\t\t}\n\t\t\tthis.parseTableData(ydata, this.props.financialRatiosHistoryData);\n\t\t}\n\t}\n\n\ttoolTipText(statementType) {\n\t\tif (statementType != null) {\n\t\t\tswitch (statementType) {\n\t\t\t\tcase FINANCIAL_TABS.IncomeStatement:\n\t\t\t\t\treturn FINANCIAL_TABS_TOOLTIPS.ToolTip_IncomeStatement;\n\t\t\t\tcase FINANCIAL_TABS.BalanceSheet:\n\t\t\t\t\treturn FINANCIAL_TABS_TOOLTIPS.ToolTip_BalanceSheet;\n\t\t\t\tcase FINANCIAL_TABS.CashFlow:\n\t\t\t\t\treturn FINANCIAL_TABS_TOOLTIPS.ToolTip_CashFlow;\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\treverseRowValues = (arr) => {\n\t\tif (this.props.statementType !== FINANCIAL_STATEMENT_TYPE.CASH_FLOW) {\n\t\t\treturn arr.reverse();\n\t\t}\n\t\treturn arr;\n\t};\n\n\tparseTableData = (ydata, yratioDataComplete) => {\n\t\tif (!ydata) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet data = Object.assign(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tfiscalYears: this.reverseRowValues(\n\t\t\t\t\tydata.fiscalYears ? [...ydata.fiscalYears] : []\n\t\t\t\t),\n\t\t\t\trows: ydata.rows\n\t\t\t\t\t? ydata.rows.map((x) => {\n\t\t\t\t\t\t\tif (x.values) {\n\t\t\t\t\t\t\t\tx.values = this.reverseRowValues([...x.values]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn x;\n\t\t\t\t\t })\n\t\t\t\t\t: [],\n\t\t\t\tperiodEndDates: this.reverseRowValues(\n\t\t\t\t\tydata.periodEndDates ? [...ydata.periodEndDates] : []\n\t\t\t\t),\n\t\t\t\tfiscalQuarters: this.reverseRowValues(\n\t\t\t\t\tydata.fiscalQuarters ? [...ydata.fiscalQuarters] : []\n\t\t\t\t),\n\t\t\t\tcurrencies: this.reverseRowValues(ydata.currencies ? [...ydata.currencies] : []),\n\t\t\t}\n\t\t);\n\t\tlet filterValue = this.props.periodType === PERIOD_TYPE.ANNUAL ? \"1Y\" : \"3M\";\n\t\tlet ratioData;\n\t\tif (yratioDataComplete && Object.keys(yratioDataComplete).length) {\n\t\t\tlet ratioDataComplete = [...yratioDataComplete].reverse();\n\t\t\tratioData = ratioDataComplete.filter(function (operation) {\n\t\t\t\treturn operation.period === filterValue;\n\t\t\t});\n\t\t}\n\n\t\tlet tableColumnsArray = [];\n\t\tlet tableRowsArray = [];\n\t\tthis.dynamicHeader = [];\n\n\t\tdata.fiscalYears.forEach((item, index) =>\n\t\t\tthis.createColumnData(\n\t\t\t\titem,\n\t\t\t\tindex,\n\t\t\t\tdata.fiscalQuarters,\n\t\t\t\tdata.periodEndDates,\n\t\t\t\ttableColumnsArray,\n\t\t\t\tdata.currencies\n\t\t\t)\n\t\t);\n\n\t\tlet emptyIteratorLength = data.fiscalQuarters.length;\n\n\t\tdata.rows.forEach((item, index) =>\n\t\t\tthis.createRowData(\n\t\t\t\titem,\n\t\t\t\tindex,\n\t\t\t\ttableRowsArray,\n\t\t\t\tratioData,\n\t\t\t\tdata.rows.length,\n\t\t\t\temptyIteratorLength\n\t\t\t)\n\t\t);\n\n\t\tlet filteredRowsArr =\n\t\t\tthis.props.statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW\n\t\t\t\t? this.filterCashFlowRowData(tableRowsArray, emptyIteratorLength)\n\t\t\t\t: tableRowsArray;\n\t\tif (filteredRowsArr.length > 0) {\n\t\t\tlet obj = filterEmptyData.filterEmptyData(\n\t\t\t\tfilteredRowsArr,\n\t\t\t\temptyIteratorLength,\n\t\t\t\ttableColumnsArray\n\t\t\t);\n\t\t\tthis.setState({ tableData: obj });\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\ttableData: {\n\t\t\t\t\theadersData: tableColumnsArray,\n\t\t\t\t\trowsData: filteredRowsArr,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t};\n\n\tfilterCashFlowRows(emptyIteratorLength, cellValue) {\n\t\tconst tempRowArray = [];\n\t\ttempRowArray.push({ CellValue: cellValue });\n\n\t\tfor (let count = 0; count < emptyIteratorLength; count++) {\n\t\t\ttempRowArray.push({ CellValue: formatter.options.errorString });\n\t\t}\n\n\t\treturn tempRowArray;\n\t}\n\n\tcreateCashFlowReturnArray(tableRowsArray) {\n\t\tlet returnArray = [];\n\t\ttableRowsArray.forEach((item) => {\n\t\t\tlet cellVal = item && item[0] && item[0].CellValue;\n\t\t\tif (cellVal === CASHFLOW_ROW.OCF.shortName) {\n\t\t\t\treturnArray[0] = item;\n\t\t\t}\n\t\t\tif (cellVal === CASHFLOW_ROW.ICF.shortName) {\n\t\t\t\treturnArray[1] = item;\n\t\t\t}\n\t\t\tif (cellVal === CASHFLOW_ROW.FCF.shortName) {\n\t\t\t\treturnArray[2] = item;\n\t\t\t}\n\t\t\tif (returnArray.length === 3) return;\n\t\t});\n\n\t\treturn returnArray;\n\t}\n\n\tfilterCashFlowRowData(tableRowsArray, emptyIteratorLength) {\n\t\tlet investingCashFlow = false;\n\t\tlet operatingCashFlowExists = false;\n\n\t\tfor (var rowData of tableRowsArray) {\n\t\t\tlet val = rowData && rowData[0] && rowData[0].CellValue;\n\t\t\tif (val === CASHFLOW_ROW.ICF.shortName) {\n\t\t\t\tinvestingCashFlow = true;\n\t\t\t} else if (val === CASHFLOW_ROW.OCF.shortName) {\n\t\t\t\toperatingCashFlowExists = true;\n\t\t\t}\n\t\t}\n\n\t\tif (!operatingCashFlowExists) {\n\t\t\ttableRowsArray.push(\n\t\t\t\tthis.filterCashFlowRows(emptyIteratorLength, CASHFLOW_ROW.OCF.shortName)\n\t\t\t);\n\t\t}\n\n\t\tif (!investingCashFlow) {\n\t\t\ttableRowsArray.push(\n\t\t\t\tthis.filterCashFlowRows(emptyIteratorLength, CASHFLOW_ROW.ICF.shortName)\n\t\t\t);\n\n\t\t\ttableRowsArray.push(\n\t\t\t\tthis.filterCashFlowRows(emptyIteratorLength, CASHFLOW_ROW.FCF.shortName)\n\t\t\t);\n\t\t}\n\t\treturn this.createCashFlowReturnArray(tableRowsArray);\n\t}\n\n\tcreateColumnData(item, index, fiscalQuarters, periodEndDates, colsArr, currencies) {\n\t\tlet colObj = {};\n\t\tif (index === 0) {\n\t\t\tcolObj.CellValue = ``;\n\t\t\tcolsArr.push(colObj);\n\t\t\tcolObj = {};\n\t\t}\n\t\tif (this.props.periodType === \"Annual\") {\n\t\t\tcolObj.CellValue =\n\t\t\t\titem +\n\t\t\t\t(utils.getUniqueCurrencies(currencies).length === 1\n\t\t\t\t\t? \"\"\n\t\t\t\t\t: `
(${currencies[index]})`);\n\t\t} else if (this.props.periodType === PERIOD_TYPE.INTERIM) {\n\t\t\tcolObj.CellValue = `Q${fiscalQuarters[index]} ${item}`;\n\t\t} else {\n\t\t\tcolObj.CellValue = \"\";\n\t\t}\n\t\tcolsArr.push(colObj);\n\t}\n\n\tmapRowHeaders(item) {\n\t\tconst rowObj = {};\n\t\tconst isMapBalanceSheetRowHeader =\n\t\t\tthis.props.statementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET &&\n\t\t\titem.dataPointLabel ===\n\t\t\t\tCHANGE_BALANCESHEEET_COLUMNS.Total_Liabilities.apiColumnName;\n\n\t\tif (isMapBalanceSheetRowHeader)\n\t\t\trowObj.CellValue = CHANGE_BALANCESHEEET_COLUMNS.Total_Liabilities.displayName;\n\t\telse {\n\t\t\tconst dataPointLabel = Object.keys(CASHFLOW_ROW).filter(\n\t\t\t\t(x) => CASHFLOW_ROW[x].description === item.dataPointLabel\n\t\t\t);\n\t\t\trowObj.CellValue = dataPointLabel.length\n\t\t\t\t? CASHFLOW_ROW[dataPointLabel].shortName\n\t\t\t\t: item.dataPointLabel;\n\t\t}\n\n\t\treturn rowObj;\n\t}\n\n\tcreateFormattedRowArray(item, emptyIterationLength) {\n\t\tconst tempRowArray = [];\n\t\ttempRowArray.push(this.mapRowHeaders(item));\n\n\t\tif (item.values) {\n\t\t\titem.values.forEach((inneritem) => {\n\t\t\t\tlet currency =\n\t\t\t\t\tthis.props.statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW\n\t\t\t\t\t\t? this.props.financialStatementsData?.currencies[0]\n\t\t\t\t\t\t: this.props.financialStatementsKeyData?.currencies[0];\n\t\t\t\ttempRowArray.push({\n\t\t\t\t\tCellValue: formatter.currencyMagnitude(\n\t\t\t\t\t\tinneritem,\n\t\t\t\t\t\t2,\n\t\t\t\t\t\tcurrency === \"USD\" ? \"USD\" : \" \"\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tfor (let count = 0; count < emptyIterationLength; count++) {\n\t\t\t\ttempRowArray.push({ CellValue: formatter.options.errorString });\n\t\t\t}\n\t\t}\n\n\t\treturn tempRowArray;\n\t}\n\n\tcreateRowData(item, index, tableRowsArray, ratioData, noOfItems, emptyIterationLength) {\n\t\tlet tooltipText = this.toolTipText(this.props.statementType);\n\t\tlet tempRowObject = {};\n\t\tlet tempRowArray = [];\n\n\t\ttableRowsArray.push(this.createFormattedRowArray(item, emptyIterationLength));\n\n\t\tif (\n\t\t\tratioData &&\n\t\t\tthis.props.statementType !== FINANCIAL_STATEMENT_TYPE.CASH_FLOW &&\n\t\t\tnoOfItems - 1 === index\n\t\t) {\n\t\t\ttempRowObject = {};\n\t\t\ttempRowArray = [];\n\t\t\tif (this.props.statementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET) {\n\t\t\t\ttempRowObject.CellValue = StatementOverviewTooltip(tooltipText, \"Debt to Assets\");\n\t\t\t} else if (this.props.statementType === FINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT) {\n\t\t\t\ttempRowObject.CellValue = StatementOverviewTooltip(tooltipText, \"Profit Margin\");\n\t\t\t} else {\n\t\t\t\ttempRowObject.CellValue = \"\";\n\t\t\t}\n\t\t\ttempRowArray.push(tempRowObject);\n\t\t\ttempRowObject = {};\n\t\t\tfor (const ratio of ratioData) {\n\t\t\t\tlet ratioValue;\n\t\t\t\tif (this.props.statementType === FINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT) {\n\t\t\t\t\tratioValue = ratio.margin.netProfitNormalized;\n\t\t\t\t} else if (this.props.statementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET) {\n\t\t\t\t\tratioValue = ratio.leverage.debtToAssets;\n\t\t\t\t}\n\t\t\t\ttempRowObject.CellValue = formatter.percent(ratioValue, 2, {\n\t\t\t\t\tshowSign: false,\n\t\t\t\t});\n\t\t\t\ttempRowArray.push(tempRowObject);\n\t\t\t\ttempRowObject = {};\n\t\t\t}\n\t\t\ttableRowsArray.push(tempRowArray);\n\t\t}\n\t}\n\n\trender() {\n\t\tlet isContentReady =\n\t\t\t(this.props.statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW &&\n\t\t\t\tthis.props.financialStatementsData !== null) ||\n\t\t\tthis.props.statementType !== FINANCIAL_STATEMENT_TYPE.CASH_FLOW ||\n\t\t\t(this.props.financialStatementsKeyData !== null &&\n\t\t\t\tthis.props.financialRatiosHistoryData !== null);\n\n\t\treturn (\n\t\t\t\n\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\nexport default StatementOverview;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"FinancialsCard_modal-backdrop__Fb691\",\"show\":\"FinancialsCard_show__GodO3\",\"LinesEllipsis\":\"FinancialsCard_LinesEllipsis__fdPp3\",\"smartText\":\"FinancialsCard_smartText__UesnF\",\"dataContainer\":\"FinancialsCard_dataContainer__Lozl7\",\"spinnerStyle\":\"FinancialsCard_spinnerStyle__iIYsB\",\"componentContainer\":\"FinancialsCard_componentContainer__Yasl0\",\"topSimpleText\":\"FinancialsCard_topSimpleText__bgAhH\",\"tabContainer\":\"FinancialsCard_tabContainer__E7hJR\",\"leftComponent\":\"FinancialsCard_leftComponent__H7HpU\",\"rightComponent\":\"FinancialsCard_rightComponent__BDNXE\",\"bottomComponent\":\"FinancialsCard_bottomComponent__Ii88V\",\"textToggleOutsideContainer\":\"FinancialsCard_textToggleOutsideContainer__+4bvR\",\"textToggleMobileContainer\":\"FinancialsCard_textToggleMobileContainer__eg6h5\",\"currencyLabel\":\"FinancialsCard_currencyLabel__4TRdD\"};","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport Tabs from \"../../../Lib/Tabs/Tabs\";\nimport {\n\tFINANCIAL_STATEMENT_TYPE,\n\tMARKETS_AND_RESEARCH_ROUTE_NAMES,\n} from \"../../../../utils/constants\";\nimport { Link } from \"react-router-dom\";\nimport { FINANCIAL_PERIOD_TYPE, FINANCIAL_TABS } from \"./FinancialsConstants\";\nimport CollapsibleCard from \"../../../Lib/CollapsibleCard/CollapsibleCard\";\nimport StatementDetailsTable from \"../StatementDetailsTable/StatementDetailsTable\";\nimport SecFilingTable from \"../SecFiling/SecFilingTable\";\nimport StatementOverview from \"../StatementOverview/StatementOverview\";\nimport FinancialsChartContainer from \"../FinancialsChartContainer\";\nimport TextToggle from \"../../../Lib/TextToggle/TextToggle\";\nimport styles from \"./FinancialsCard.module.scss\";\n\nimport FinancialStatementsAPIUtils from \"services/APIs/Equities/Morningstar/FinancialStatements/FinancialStatementsAPI\";\nimport FinancialRatiosAPIUtils from \"services/APIs/Equities/Morningstar/FinancialRatios/FinancialRatiosAPI\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\nimport NoData from \"components/Lib/NoData/NoData\";\nimport utils from \"utils/utils\";\n\nconst FinancialsCard = (props) => {\n\tconst isMobile = props.isMobile;\n\tconst [periodType, setPeriodType] = useState(FINANCIAL_PERIOD_TYPE[1]);\n\tconst [activeSelectedTab, setActiveSelectedTab] = useState(\n\t\tprops.activeTab || \"Income Statement\"\n\t);\n\tconst [isContentReady, setIsContentReady] = useState(false);\n\tconst [isContentValidated, setIsContentValidated] = useState(false);\n\tconst [validatedData, setValidatedData] = useState(null);\n\tconst [financialKeyData, setFinancialKeyData] = useState(null);\n\tconst [financialStatementsData, setFinancialStatementsData] = useState(null);\n\tconst [financialRatiosData, setFinancialRatiosData] = useState(null);\n\tconst [financialKeyCurrency, setFinancialKeyCurrency] = useState([]);\n\tconst [financialStatementsCurrency, setFinancialStatementsCurrency] = useState([]);\n\tconst [financialKeyCurrencyLabel, setFinancialKeyCurrencyLabel] = useState([]);\n\tconst [financialStatementsCurrencyLabel, setFinancialStatementsCurrencyLabel] =\n\t\tuseState([]);\n\n\tconst pointLabelOptions = { showPointLabel: false };\n\n\tuseEffect(() => {\n\t\tfetchNewData(activeSelectedTab, periodType);\n\t}, [props.isMobile]);\n\n\tuseEffect(() => {\n\t\tsetFinancialKeyData(props.financialStatementsKeyData);\n\t}, [props.financialStatementsKeyData]);\n\n\tuseEffect(() => {\n\t\tsetFinancialStatementsData(props.financialStatementsData);\n\t}, [props.financialStatementsData]);\n\n\tuseEffect(() => {\n\t\tsetFinancialRatiosData(props.financialRatiosHistoryData);\n\t}, [props.financialRatiosHistoryData]);\n\n\tuseEffect(() => {\n\t\tif (financialKeyData && financialStatementsData && financialRatiosData) {\n\t\t\tsetIsContentReady(true);\n\t\t\tsetFinancialKeyCurrency(utils.getUniqueCurrencies(financialKeyData?.currencies));\n\t\t\tsetFinancialStatementsCurrency(\n\t\t\t\tutils.getUniqueCurrencies(financialStatementsData?.currencies)\n\t\t\t);\n\t\t\tsetFinancialKeyCurrencyLabel(\n\t\t\t\tutils.fetchUniqueCurrency(financialKeyData?.currencies)\n\t\t\t);\n\t\t\tsetFinancialStatementsCurrencyLabel(\n\t\t\t\tutils.fetchUniqueCurrency(financialStatementsData?.currencies)\n\t\t\t);\n\t\t\tvalidateData();\n\t\t}\n\t}, [financialKeyData, financialStatementsData, financialRatiosData]);\n\n\tuseEffect(() => {\n\t\tif (isContentReady) {\n\t\t\tvalidateData();\n\t\t}\n\t}, [isContentReady]);\n\n\tconst fetchNewData = async (tabLabel, newPeriodType) => {\n\t\tif (\n\t\t\ttabLabel === FINANCIAL_TABS.IncomeStatement ||\n\t\t\ttabLabel === FINANCIAL_TABS.BalanceSheet ||\n\t\t\ttabLabel === FINANCIAL_TABS.CashFlow\n\t\t) {\n\t\t\tsetFinancialKeyData(null);\n\t\t\tsetFinancialRatiosData(null);\n\t\t\tsetFinancialStatementsData(null);\n\t\t\tsetIsContentReady(false);\n\t\t\tsetIsContentValidated(false);\n\t\t\tsetValidatedData(null);\n\n\t\t\tconst newFinancialKeyData = await FinancialStatementsAPIUtils.getKeyData(\n\t\t\t\tprops.apiInstance,\n\t\t\t\tprops.entityXid,\n\t\t\t\ttabLabel,\n\t\t\t\tnewPeriodType.value,\n\t\t\t\tprops.numPeriods\n\t\t\t);\n\n\t\t\tif (newFinancialKeyData && newFinancialKeyData.rows) {\n\t\t\t\tsetFinancialKeyData(newFinancialKeyData);\n\t\t\t} else {\n\t\t\t\tsetFinancialKeyData({});\n\t\t\t}\n\n\t\t\tconst newFinancialRatiosData =\n\t\t\t\tawait FinancialRatiosAPIUtils.getFinancialRatiosHistory(\n\t\t\t\t\tprops.apiInstance,\n\t\t\t\t\tprops.venueXid,\n\t\t\t\t\ttrue,\n\t\t\t\t\tprops.numPeriods\n\t\t\t\t);\n\n\t\t\tif (newFinancialRatiosData && newFinancialRatiosData.operations) {\n\t\t\t\tsetFinancialRatiosData(newFinancialRatiosData.operations);\n\t\t\t} else {\n\t\t\t\tsetFinancialRatiosData([]);\n\t\t\t}\n\n\t\t\tconst newFinancialStatementsData =\n\t\t\t\tawait FinancialStatementsAPIUtils.getFinancialStatements(\n\t\t\t\t\tprops.apiInstance,\n\t\t\t\t\tprops.entityXid,\n\t\t\t\t\ttabLabel,\n\t\t\t\t\tnewPeriodType.value,\n\t\t\t\t\tprops.numPeriods\n\t\t\t\t);\n\n\t\t\tif (newFinancialStatementsData?.rows) {\n\t\t\t\tsetFinancialStatementsData(newFinancialStatementsData);\n\t\t\t} else {\n\t\t\t\tsetFinancialStatementsData({});\n\t\t\t}\n\t\t}\n\t};\n\n\tconst onTabClick = (tabLabel) => {\n\t\t// Do nothing if the active tab was clicked\n\t\tif (tabLabel === activeSelectedTab) return;\n\t\t// Otherwise, fetch new data and set the new active tab\n\t\tfetchNewData(tabLabel, periodType);\n\t\twindow.dataLayer.push({\n\t\t\tevent: \"financialTabClick\",\n\t\t\teventProps: {\n\t\t\t\ttabName: tabLabel,\n\t\t\t},\n\t\t});\n\t\tsetActiveSelectedTab(tabLabel);\n\t};\n\tconst handleToggle = (newToggleText) => {\n\t\tconst newPeriodType = FINANCIAL_PERIOD_TYPE.filter(\n\t\t\t(x) => x.value === newToggleText\n\t\t)[0];\n\n\t\tif (periodType === newPeriodType) {\n\t\t\treturn;\n\t\t}\n\n\t\tfetchNewData(activeSelectedTab, newPeriodType);\n\t\tsetPeriodType(newPeriodType);\n\t};\n\n\tconst chartOptions = { height: 250 };\n\tconst displayNoActivitySection = (statementType) => {\n\t\treturn (\n\t\t\t{`There is no ${statementType} data available for ${props.symbol}`}\n\t\t);\n\t};\n\tconst getFinancialChartContainer = (statementType) => {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t};\n\tconst getIncomeStatementOverviewContainer = (statementType) => {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t};\n\tconst getIncomeStatementTableComponent = (statementType) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t
{financialStatementsCurrencyLabel}
\n\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\tconst getTextToggleComponent = () => {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t};\n\n\tconst validateData = useCallback(() => {\n\t\tconst validatedData =\n\t\t\tfinancialStatementsData &&\n\t\t\tObject.keys(financialStatementsData).length &&\n\t\t\tfinancialKeyData &&\n\t\t\tObject.keys(financialKeyData).length &&\n\t\t\tfinancialRatiosData &&\n\t\t\tObject.keys(financialRatiosData).length\n\t\t\t\t? true\n\t\t\t\t: false;\n\t\tsetIsContentValidated(true);\n\t\tsetValidatedData(validatedData);\n\t}, [financialKeyData, financialRatiosData, financialStatementsData]);\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t onTabClick(k)}\n\t\t\t\t\tshouldUseLinks={true}\n\t\t\t\t\tnavName={\"/ms-research/markets-and-research/Stocks/Financials\"}\n\t\t\t\t>\n\t\t\t\t\t
\n\t\t\t\t\t\t{getTextToggleComponent()}\n\t\t\t\t\t\t{isContentValidated ? (\n\t\t\t\t\t\t\tvalidatedData ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{financialKeyCurrency.length === 1 && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{financialKeyCurrencyLabel}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT\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{getIncomeStatementOverviewContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT\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\t{!isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT\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
\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\t{getIncomeStatementTableComponent(\n\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT\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\t\tdisplayNoActivitySection(FINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\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\t
\n\t\t\t\t\t\t{getTextToggleComponent()}\n\t\t\t\t\t\t{isContentValidated ? (\n\t\t\t\t\t\t\tvalidatedData ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{financialKeyCurrency.length === 1 && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{financialKeyCurrencyLabel}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.BALANCE_SHEET\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{getIncomeStatementOverviewContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.BALANCE_SHEET\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\t{!isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.BALANCE_SHEET\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
\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\t{getIncomeStatementTableComponent(\n\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.BALANCE_SHEET\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\t\tdisplayNoActivitySection(FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\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\t
\n\t\t\t\t\t\t{getTextToggleComponent()}\n\t\t\t\t\t\t{isContentValidated ? (\n\t\t\t\t\t\t\tvalidatedData ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{financialStatementsCurrency.length === 1 && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{financialStatementsCurrencyLabel}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(FINANCIAL_STATEMENT_TYPE.CASH_FLOW)}\n\t\t\t\t\t\t\t\t\t\t\t\t{getIncomeStatementOverviewContainer(\n\t\t\t\t\t\t\t\t\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.CASH_FLOW\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\t{!isMobile &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetFinancialChartContainer(FINANCIAL_STATEMENT_TYPE.CASH_FLOW)}\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)}\n\t\t\t\t\t\t\t\t\t{getIncomeStatementTableComponent(FINANCIAL_STATEMENT_TYPE.CASH_FLOW)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tdisplayNoActivitySection(FINANCIAL_STATEMENT_TYPE.CASH_FLOW)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\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\t
\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\nexport default FinancialsCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"Financials_modal-backdrop__mdNGD\",\"show\":\"Financials_show__jFFUR\",\"LinesEllipsis\":\"Financials_LinesEllipsis__laexU\",\"mainContainer\":\"Financials_mainContainer__fbWKZ\"};","import React, { Component } from \"react\";\nimport FinancialsCard from \"./FinancialsCard/FinancialsCard\";\nimport styles from \"./Financials.module.scss\";\n\nimport FinancialStatementsAPIUtils from \"services/APIs/Equities/Morningstar/FinancialStatements/FinancialStatementsAPI\";\nimport FinancialRatiosAPIUtils from \"services/APIs/Equities/Morningstar/FinancialRatios/FinancialRatiosAPI\";\n\nimport { RESPONSIVE_BREAKPOINTS, FINANCIAL_STATEMENT_TYPE } from \"utils/constants\";\nimport { FINANCIAL_PERIOD_TYPE } from \"./FinancialsCard/FinancialsConstants\";\n\nclass Financials extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tlet mobile = window.matchMedia(\n\t\t\t`(max-width: ${RESPONSIVE_BREAKPOINTS.MEDIA_BREAKPOINTS_MAX.MEDIA_BREAKPOINT_MAX_SM}px)`\n\t\t).matches;\n\n\t\tthis.state = {\n\t\t\tfinancialStatementsKeyData: null,\n\t\t\tfinancialRatiosHistoryData: null,\n\t\t\tfinancialStatementsData: null,\n\t\t\tSecFilingsData: null,\n\t\t\tnumPeriods: mobile ? 3 : 5,\n\t\t\tisMobile: mobile,\n\t\t};\n\t}\n\n\tresizeListener = () => {\n\t\tlet mobile = window.matchMedia(\n\t\t\t`(max-width: ${RESPONSIVE_BREAKPOINTS.MEDIA_BREAKPOINTS_MAX.MEDIA_BREAKPOINT_MAX_SM}px)`\n\t\t).matches;\n\t\tthis.setState({ isMobile: mobile, numPeriods: mobile ? 3 : 5 });\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.fetchFinancialStatementsKeyData();\n\t\tthis.fetchFinancialRatiosHistoryData();\n\t\tthis.fetchFinancialStatementsData();\n\t\twindow.addEventListener(\"resize\", this.resizeListener);\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.isPropUpdated(prevProps, \"venueXid\")) {\n\t\t\tthis.fetchFinancialRatiosHistoryData();\n\t\t}\n\t\tif (this.isPropUpdated(prevProps, \"entityXid\")) {\n\t\t\tthis.fetchFinancialStatementsKeyData();\n\t\t\tthis.fetchFinancialStatementsData();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this.resizeListener);\n\t}\n\n\tisPropUpdated(prevProps, verificationProp) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn prevProps[verificationProp] !== this.props[verificationProp];\n\t}\n\n\tasync fetchFinancialStatementsKeyData() {\n\t\tif (this.props.entityXid) {\n\t\t\tconst financialStatementsKeyData = await FinancialStatementsAPIUtils.getKeyData(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.props.entityXid,\n\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT,\n\t\t\t\tFINANCIAL_PERIOD_TYPE[1].value,\n\t\t\t\tthis.state.numPeriods\n\t\t\t);\n\n\t\t\tif (financialStatementsKeyData && financialStatementsKeyData.rows) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialStatementsKeyData: financialStatementsKeyData,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialStatementsKeyData: {},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tasync fetchFinancialRatiosHistoryData() {\n\t\tif (this.props.venueXid) {\n\t\t\tconst financialRatiosHistoryData =\n\t\t\t\tawait FinancialRatiosAPIUtils.getFinancialRatiosHistory(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tthis.props.venueXid,\n\t\t\t\t\ttrue,\n\t\t\t\t\tthis.state.numPeriods\n\t\t\t\t);\n\n\t\t\tif (financialRatiosHistoryData && financialRatiosHistoryData.operations) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialRatiosHistoryData: financialRatiosHistoryData.operations,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialRatiosHistoryData: [],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tasync fetchFinancialStatementsData() {\n\t\tif (this.props.entityXid) {\n\t\t\tconst financialStatementsData =\n\t\t\t\tawait FinancialStatementsAPIUtils.getFinancialStatements(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tthis.props.entityXid,\n\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT,\n\t\t\t\t\tFINANCIAL_PERIOD_TYPE[1].value,\n\t\t\t\t\tthis.state.numPeriods\n\t\t\t\t);\n\n\t\t\tif (financialStatementsData) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialStatementsData: financialStatementsData,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfinancialStatementsData: {},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default Financials;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"MarketsAndResearch_modal-backdrop__D6eVg\",\"show\":\"MarketsAndResearch_show__IWbEq\",\"LinesEllipsis\":\"MarketsAndResearch_LinesEllipsis__RSjs2\",\"mainContainer\":\"MarketsAndResearch_mainContainer__8kwBz\",\"contentContainer\":\"MarketsAndResearch_contentContainer__zwCxZ\",\"quoteBarContainer\":\"MarketsAndResearch_quoteBarContainer__MbP--\",\"quoteAndNavContainer\":\"MarketsAndResearch_quoteAndNavContainer__7rcOq\"};","import React, { Component, Suspense, lazy } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n\tQUOTE_MODULE_MARKETS_RESEARCH,\n\tMARKETS_AND_RESEARCH_PAGES,\n\tMARKETS_AND_RESEARCH_ROUTE_NAMES,\n} from \"utils/constants\";\nimport SubNavigation from \"./SubNavigation/SubNavigation\";\nimport RedesignBanner from \"components/Lib/RedesignBanner/RedesignBanner\";\nimport MSSpinner from \"components/Lib/MSSpinner/MSSpinner\";\nimport { FINANCIAL_TABS } from \"components/MarketsAndResearch/Financials/FinancialsCard/FinancialsConstants\";\nimport \"url-search-params-polyfill\";\nimport Utils from \"utils/utils\";\nimport ActionCreators from \"store/actions/actions\";\nimport Disclosures from \"components/Lib/Disclosures/Disclosures\";\nimport actionTypes from \"store/actions/actionTypes\";\nimport Charting from \"./Charting/Charting\";\nimport Financials from \"./Financials/Financials\";\nimport XrefAPI from \"services/APIs/Xref/XrefAPI\";\nimport styles from \"./MarketsAndResearch.module.scss\";\nimport { ApiInstanceAndUserInfoContext } from \"components/App\";\n\nconst Quote = lazy(() => import(\"components/MarketsAndResearch/Quote/Quote\"));\nconst Overview = lazy(() => import(\"components/MarketsAndResearch/Overview/Overview\"));\nconst News = lazy(() => import(\"components/MarketsAndResearch/News/News\"));\nconst AnalystResearch = lazy(() =>\n\timport(\"components/MarketsAndResearch/AnalystResearch/AnalystResearch\")\n);\nconst Earnings = lazy(() => import(\"components/MarketsAndResearch/Earnings/Earnings\"));\nconst Dividends = lazy(() => import(\"components/MarketsAndResearch/Dividends/Dividends\"));\nconst Options = lazy(() => import(\"components/MarketsAndResearch/Options/Options\"));\n\nclass MarketsAndResearchApp extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tmoduleName: QUOTE_MODULE_MARKETS_RESEARCH,\n\t\t\tsymbol: null,\n\t\t\tviewType: null,\n\t\t\tvenueXid: null,\n\t\t\txrefName: null,\n\t\t\tcomponentRouteName: null,\n\t\t\tisContentReady: false,\n\t\t\tentityXid: null,\n\t\t\tcik: \"\",\n\t\t\tlegacyCompany: null,\n\t\t\txrefCallResolved: false,\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tconst query = new URLSearchParams(this.props.location.search); // this needs to here, because location property is available in this lifecycle\n\t\tconst symbol = query.get(\"symbol\");\n\t\tconst viewType = query.get(\"viewType\") ? query.get(\"viewType\").toLowerCase() : null; // modal, desktop, mobile\n\n\t\tconst componentName = this.getRouteComponentName();\n\n\t\tthis.setState({ symbol, viewType, componentRouteName: componentName });\n\t}\n\tgetXrefErrorMessage = (errorDetails) => {\n\t\tif (errorDetails?.response?.data?.error?.code === 404) {\n\t\t\tthis.props.history.replace(\n\t\t\t\t`/ms-research/markets-and-research/Stocks/QuoteError?symbol=${this.state.symbol}`\n\t\t\t);\n\t\t}\n\t\tthis.props.dispatchXrefError();\n\t};\n\tasync componentDidUpdate(prevProps, prevState) {\n\t\tconst componentName = this.getRouteComponentName();\n\n\t\tif (\n\t\t\tprevProps.apiInstance?.internalAuthToken !==\n\t\t\t\tthis.props.apiInstance?.internalAuthToken ||\n\t\t\tthis.shouldFetchXref(prevProps, prevState)\n\t\t) {\n\t\t\tthis.props.dispatchLoadedXref();\n\t\t\tconst xrefData = await XrefAPI.getXrefBySymbol(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.state.symbol,\n\t\t\t\tthis.props.dispatchXrefSuccess,\n\t\t\t\tthis.getXrefErrorMessage\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\txrefCallResolved: true,\n\t\t\t});\n\t\t\tif (xrefData) {\n\t\t\t\tconst symbol = xrefData.symbol;\n\t\t\t\tconst venueXid = xrefData.xids?.venue;\n\t\t\t\tconst xrefName = xrefData.name;\n\t\t\t\tconst entityXid = xrefData?.xids?.entity;\n\t\t\t\tconst legacyCompany = xrefData.xids?.legacyCompany;\n\t\t\t\tconst cik = xrefData.supplementalData?.find(({ name }) => name === \"cik\")?.value;\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tsymbol,\n\t\t\t\t\tvenueXid,\n\t\t\t\t\txrefName,\n\t\t\t\t\tcomponentRouteName: componentName,\n\t\t\t\t\tentityXid,\n\t\t\t\t\tcik,\n\t\t\t\t\tcontentReady: false,\n\t\t\t\t\tlegacyCompany,\n\t\t\t\t});\n\t\t\t\tthis.props.dispatchLoadDividendsData(this.props.apiInstance, venueXid);\n\t\t\t\tthis.props.dispatchLoadHistoricalDividendsData(this.props.apiInstance, venueXid);\n\t\t\t\tthis.props.dispatchLoadFinancialRatiosData(this.props.apiInstance, venueXid);\n\t\t\t\tthis.props.dispatchLoadEarningsEstimatesCurrentData(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tvenueXid\n\t\t\t\t);\n\t\t\t\tthis.props.dispatchLoadEarningsEstimatesTrendsData(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tvenueXid\n\t\t\t\t);\n\t\t\t\tthis.props.dispatchDocumentDetailsData(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tvenueXid,\n\t\t\t\t\t\"MorningstarResearch\"\n\t\t\t\t);\n\t\t\t\tthis.props.dispatchDocumentDetailsData(\n\t\t\t\t\tthis.props.apiInstance,\n\t\t\t\t\tvenueXid,\n\t\t\t\t\t\"MorganStanleyResearch\"\n\t\t\t\t);\n\t\t\t\tthis.props.dispatchDividendsGrowthRateData(this.props.apiInstance, venueXid);\n\t\t\t}\n\t\t}\n\n\t\tif (this.contentReady() && !this.state.isContentReady) {\n\t\t\tthis.setState({ isContentReady: true });\n\t\t}\n\t}\n\n\tshouldFetchXref(prevProps, prevState) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.state.symbol && prevState.symbol !== this.state.symbol;\n\t}\n\n\tgetRouteComponentName() {\n\t\tlet componentName = null;\n\t\tif (this.hasValidRoute()) {\n\t\t\tcomponentName = this.props.match.params.name;\n\t\t}\n\t\treturn componentName;\n\t}\n\n\thasValidRoute() {\n\t\treturn (\n\t\t\tthis.props.match &&\n\t\t\tthis.props.match.params &&\n\t\t\tthis.props.match.params.product &&\n\t\t\tthis.props.match.params.name\n\t\t);\n\t}\n\n\tcontentReady() {\n\t\treturn (\n\t\t\tthis.props.ratiosDataStatus &&\n\t\t\tthis.props.ratiosDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.dividendsDataStatus &&\n\t\t\tthis.props.dividendsDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.researchDataStatus &&\n\t\t\tthis.props.researchDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.researchDocumentStatus &&\n\t\t\tthis.props.researchDocumentStatus !== \"FETCHING\" &&\n\t\t\tthis.props.historicalDividendsDataStatus &&\n\t\t\tthis.props.historicalDividendsDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.earningsEstimatesCurrentDataStatus &&\n\t\t\tthis.props.earningsEstimatesCurrentDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.earningsEstimatesTrendsDataStatus &&\n\t\t\tthis.props.earningsEstimatesTrendsDataStatus !== \"FETCHING\" &&\n\t\t\tthis.props.dividendsGrowthRateDataStatus &&\n\t\t\tthis.props.dividendsGrowthRateDataStatus !== \"FETCHING\"\n\t\t);\n\t}\n\trender() {\n\t\tlet component;\n\t\tif (this.hasValidRoute()) {\n\t\t\tconst componentName = this.props.match.params.name.toLowerCase();\n\t\t\tswitch (componentName) {\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.OVERVIEW:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{({ userInfo }) => (\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\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.CHARTING:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{({ userInfo, apiInstance }) => (\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\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.NEWS:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.ANALYST_RESEARCH:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{({ userInfo, apiInstance }) => (\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\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.EARNINGS:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.DIVIDENDS:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.FINANCIALS:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase MARKETS_AND_RESEARCH_PAGES.OPTIONS:\n\t\t\t\t\tcomponent = (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{({ userInfo, apiInstance }) => (\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\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treturn
Not Found!
;\n\t\t\t}\n\t\t}\n\t\tconst spinnerStyle = {\n\t\t\tminHeight: \"100px\",\n\t\t};\n\n\t\tif (!this.state.xrefCallResolved) {\n\t\t\treturn
;\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{({ userInfo, apiInstance }) =>\n\t\t\t\t\t\tuserInfo?.redesignFlag?.toUpperCase() === \"Y\" && (\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\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t}>\n\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\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{component}\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
\n\t\t);\n\t}\n}\n\n// listen to redux state changes\nconst mapStateToProps = (state) => {\n\t//sharedReducer\n\treturn {\n\t\txrefDataStatus: state.optionsReducer.xrefDataStatus,\n\t\tdividendsDataStatus: state.optionsReducer.dividendsDataStatus,\n\t\thistoricalDividendsDataStatus: state.optionsReducer.historicalDividendsDataStatus,\n\t\tratiosDataStatus: state.optionsReducer.ratiosDataStatus,\n\t\tearningsEstimatesCurrentDataStatus:\n\t\t\tstate.equitiesReducer.earningsEstimatesCurrentDataStatus,\n\t\tearningsEstimatesTrendsDataStatus:\n\t\t\tstate.equitiesReducer.earningsEstimatesTrendsDataStatus,\n\t\tresearchDataStatus: state.researchReducer.researchDataStatus,\n\t\tresearchDocumentStatus: state.researchReducer.researchDocumentStatus,\n\t\tmorningstarDocumentData: state.researchReducer.morningstarDocumentsData,\n\t\tmsDocumentData: state.researchReducer.msDocumentsData,\n\t\tdividendsGrowthRateDataStatus:\n\t\t\tstate.dividendGrowthRateReducer.dividendsGrowthRateDataStatus,\n\t};\n};\n\n// dispatch events from container to redux by creating a mapping function\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchLoadDividendsData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchDividendsData(apiInstance, venueXid)),\n\t\tdispatchLoadHistoricalDividendsData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchHistoricalDividendsData(apiInstance, venueXid)),\n\t\tdispatchLoadFinancialRatiosData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchFinancialRatiosData(apiInstance, venueXid)),\n\t\tdispatchLoadEarningsEstimatesCurrentData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchEarningsEstimatesCurrentData(apiInstance, venueXid)),\n\t\tdispatchLoadEarningsEstimatesTrendsData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchEarningsEstimatesTrendsData(apiInstance, venueXid)),\n\t\tdispatchLoadedXref: () =>\n\t\t\tdispatch({ type: actionTypes.XREF_API_TRANSITION, name: \"load\" }),\n\t\tdispatchXrefSuccess: () =>\n\t\t\tdispatch({ type: actionTypes.XREF_API_TRANSITION, name: \"success\" }),\n\t\tdispatchXrefError: () =>\n\t\t\tdispatch({ type: actionTypes.XREF_API_TRANSITION, name: \"failure\" }),\n\t\tdispatchUpdateRoute: (routeName) =>\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.UPDATE_MARKETS_RESEARCH_ROUTE_NAME,\n\t\t\t\trouteName: routeName,\n\t\t\t}),\n\t\tdispatchDocumentDetailsData: (apiInstance, venueXid, type) =>\n\t\t\tdispatch(ActionCreators.fetchDocumentDetailsData(apiInstance, venueXid, type)),\n\t\tdispatchDividendsGrowthRateData: (apiInstance, venueXid) =>\n\t\t\tdispatch(ActionCreators.fetchDividendsGrowthRateData(apiInstance, venueXid)),\n\t\tdispatchUserInfoSuccess: () =>\n\t\t\tdispatch({ type: actionTypes.USER_INFO_API_TRANSITION, name: \"success\" }),\n\t\tdispatchUserInfoError: () =>\n\t\t\tdispatch({ type: actionTypes.USER_INFO_API_TRANSITION, name: \"failure\" }),\n\t};\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MarketsAndResearchApp);\n","const getQueryParam = (queryParams, param) => {\n\tconst query = new URLSearchParams(queryParams, param);\n\tconst outputParam = query.get(param);\n\tif (outputParam) {\n\t\treturn outputParam.toLowerCase();\n\t}\n\treturn outputParam;\n};\n\nexport default {\n\tgetQueryParam,\n};\n","import React, { Component } from \"react\";\n\nimport ResearchAPIUtils from \"services/APIs/Research/ResearchAPI\";\n\nimport AllResearchCard from \"../../../components/MarketsAndResearch/AnalystResearch/AllResearchCard/AllResearchCard\";\nimport Disclosures from \"components/Lib/Disclosures/Disclosures\";\nimport {\n\tbuildDefaultFilterState,\n\tDateSpan,\n} from \"../../MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchAPIParams\";\nimport ResearchAppUtils from \"./ResearchApp.utils\";\nimport Utils from \"utils/utils\";\n\nimport languageEn from \"assets/language/en\";\n\nclass ResearchApp extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tsymbol: null,\n\t\t\tvenueXid: null,\n\t\t\tuserInfo: null,\n\t\t\tlanguage: null,\n\t\t\tlocale: null,\n\t\t\tfilterData: buildDefaultFilterState(),\n\t\t\tlegacyCompany: null,\n\t\t\tresearchDocumentsData: null,\n\t\t\thasAllResearchDocumentsData: false,\n\t\t\tresearchOffset: 0,\n\t\t\tallResearchCardHeightChanged: false,\n\t\t\tallResearchCardHeight: 0,\n\t\t};\n\t\tthis.PAGE_LIMIT = 10;\n\t\tthis.setResearchOffsetCallback = this.setResearchOffsetCallback.bind(this);\n\t\tthis.onFilterChange = this.onFilterChange.bind(this);\n\t\tthis.onDatePickerDateChange = this.onDatePickerDateChange.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setLanguage();\n\t\tthis.fetchResearchDocuments();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tprevProps.apiInstance?.internalAuthToken !==\n\t\t\tthis.props.apiInstance?.internalAuthToken\n\t\t) {\n\t\t\tthis.fetchResearchDocuments();\n\t\t}\n\n\t\tif (this.isStateUpdated(prevState, \"filterData\") && !this.state.venueXid) {\n\t\t\tthis.fetchResearchDocuments();\n\t\t}\n\t\tif (this.isStateUpdated(prevState, \"researchOffset\") && !this.state.venueXid) {\n\t\t\tthis.fetchResearchDocuments();\n\t\t}\n\t\tif (this.isStateUpdated(prevState, \"symbol\")) {\n\t\t\tthis.setState({ researchOffset: 0 });\n\t\t}\n\t\t// Sets a new card height when there is new research data. Requires a delay to get correct height.\n\t\tif (\n\t\t\tthis.state.allResearchCardHeight !==\n\t\t\tdocument.getElementById(\"allResearchCardHeight\")?.clientHeight\n\t\t) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tallResearchCardHeight: document.getElementById(\"allResearchCardHeight\")\n\t\t\t\t\t\t?.clientHeight,\n\t\t\t\t});\n\t\t\t}, 250);\n\t\t}\n\n\t\t/*\n\t\tWhen user clicks on pagination it sets allResearchCardHeightChanged to true.\n\t\tThat then allows the page to scroll up or down based on the difference between\n\t\tthe All Research Card height that was loss or gained.\n\t\t*/\n\t\tif (\n\t\t\tthis.isStateUpdated(prevState, \"allResearchCardHeight\") &&\n\t\t\tthis.state.allResearchCardHeightChanged\n\t\t) {\n\t\t\tlet prev = prevState.allResearchCardHeight;\n\t\t\tlet curr = this.state.allResearchCardHeight;\n\t\t\tif (prev > curr) {\n\t\t\t\tlet heightLoss = -(prev - curr);\n\t\t\t\tUtils.postScrollBy(0, heightLoss);\n\t\t\t} else {\n\t\t\t\tlet heightGrowth = curr - prev;\n\t\t\t\tUtils.postScrollBy(0, heightGrowth);\n\t\t\t}\n\t\t\tthis.setState({ allResearchCardHeightChanged: false });\n\t\t}\n\t}\n\n\tisPropUpdated(prevProps, verificationProp) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn prevProps[verificationProp] !== this.props[verificationProp];\n\t}\n\n\tisStateUpdated(prevState, verificationState) {\n\t\tif (!prevState) {\n\t\t\treturn false;\n\t\t}\n\t\treturn prevState[verificationState] !== this.state[verificationState];\n\t}\n\n\t// obtain url query paramater for language translation (assumption is there will always be a lang parameter passed to the application)\n\tsetLanguage() {\n\t\tlet lang = ResearchAppUtils.getQueryParam(this.props.location.search, \"lang\");\n\t\tswitch (lang) {\n\t\t\tcase \"fr\":\n\t\t\t\timport(\"../../../assets/language/fr\").then((data) =>\n\t\t\t\t\tthis.setState({ language: data.default })\n\t\t\t\t);\n\t\t\t\timport(\"date-fns/locale/fr\").then((data) =>\n\t\t\t\t\tthis.setState({ locale: data.default })\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"en\":\n\t\t\tdefault:\n\t\t\t\timport(\"../../../assets/language/en\").then((data) =>\n\t\t\t\t\tthis.setState({ language: data.default })\n\t\t\t\t);\n\t\t\t\timport(\"date-fns/locale/en-US\").then((data) =>\n\t\t\t\t\tthis.setState({ locale: data.default })\n\t\t\t\t);\n\t\t}\n\t}\n\n\tsetStateCallback = (symbol, venueXid, legacyCompany) => {\n\t\tthis.setState({\n\t\t\tsymbol,\n\t\t\tvenueXid,\n\t\t\tlegacyCompany,\n\t\t});\n\t};\n\n\tsetFilterDataCallback = (filterData) => {\n\t\tthis.setState({ filterData });\n\t};\n\n\tonDatePickerDateChange = (startDate, endDate) => {\n\t\tthis.setState({\n\t\t\tfilterData: {\n\t\t\t\t...this.state.filterData,\n\t\t\t\tdateSpan: DateSpan.CUSTOM_DATE_ID,\n\t\t\t\tstartDate: startDate,\n\t\t\t\tendDate: endDate,\n\t\t\t},\n\t\t});\n\t};\n\n\tsetResearchOffsetCallback = (nextOffset) => {\n\t\tthis.setState({ researchOffset: nextOffset });\n\t\tthis.setState({ allResearchCardHeightChanged: true });\n\t};\n\n\tclearFilterCallback = () => {\n\t\tthis.setState({\n\t\t\tsymbol: null,\n\t\t\tvenueXid: null,\n\t\t\tfilterData: buildDefaultFilterState(),\n\t\t\tlegacyCompany: null,\n\t\t\tresearchDocumentsData: null,\n\t\t\thasAllResearchDocumentsData: false,\n\t\t\tresearchOffset: 0,\n\t\t});\n\t};\n\n\tonFilterChange(fieldOrObject, value) {\n\t\tlet updatedFields = fieldOrObject;\n\t\tif (typeof fieldOrObject === \"string\" || fieldOrObject instanceof String) {\n\t\t\tupdatedFields = { ...this.state.filterData, [fieldOrObject]: value };\n\t\t}\n\t\t// Update state of filter data and reset the offset back to 0 on filter changes\n\t\tthis.setState({ filterData: updatedFields, researchOffset: 0 });\n\t}\n\n\tasync fetchResearchDocuments() {\n\t\tconst {\n\t\t\tvenueXid,\n\t\t\tlegacyCompany,\n\t\t\tfilterData,\n\t\t\thasAllResearchDocumentsData,\n\t\t\tresearchOffset,\n\t\t} = this.state;\n\n\t\tconst researchDocumentsData = await ResearchAPIUtils.getResearchDocuments(\n\t\t\tthis.props.apiInstance,\n\t\t\tvenueXid,\n\t\t\tfilterData,\n\t\t\tthis.PAGE_LIMIT,\n\t\t\tresearchOffset,\n\t\t\tlegacyCompany,\n\t\t\tvenueXid ? false : true\n\t\t);\n\t\tif (!hasAllResearchDocumentsData) {\n\t\t\tthis.setState({\n\t\t\t\thasAllResearchDocumentsData: !hasAllResearchDocumentsData,\n\t\t\t\tresearchDocumentsData,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ researchDocumentsData });\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\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\nexport default ResearchApp;\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","/*! *****************************************************************************\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { consoleSandbox, getGlobalObject } from './misc';\n\n// TODO: Implement different loggers for different environments\nconst global = getGlobalObject();\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\n/** JSDoc */\nclass Logger {\n /** JSDoc */\n private _enabled: boolean;\n\n /** JSDoc */\n public constructor() {\n this._enabled = false;\n }\n\n /** JSDoc */\n public disable(): void {\n this._enabled = false;\n }\n\n /** JSDoc */\n public enable(): void {\n this._enabled = true;\n }\n\n /** JSDoc */\n public log(...args: any[]): void {\n if (!this._enabled) {\n return;\n }\n consoleSandbox(() => {\n global.console.log(`${PREFIX}[Log]: ${args.join(' ')}`);\n });\n }\n\n /** JSDoc */\n public warn(...args: any[]): void {\n if (!this._enabled) {\n return;\n }\n consoleSandbox(() => {\n global.console.warn(`${PREFIX}[Warn]: ${args.join(' ')}`);\n });\n }\n\n /** JSDoc */\n public error(...args: any[]): void {\n if (!this._enabled) {\n return;\n }\n consoleSandbox(() => {\n global.console.error(`${PREFIX}[Error]: ${args.join(' ')}`);\n });\n }\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nconst logger = (global.__SENTRY__.logger as Logger) || (global.__SENTRY__.logger = new Logger());\n\nexport { logger };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nenum States {\n /** Pending */\n PENDING = 'PENDING',\n /** Resolved / OK */\n RESOLVED = 'RESOLVED',\n /** Rejected / Error */\n REJECTED = 'REJECTED',\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States = States.PENDING;\n private _handlers: Array<{\n done: boolean;\n onfulfilled?: ((value: T) => T | PromiseLike) | null;\n onrejected?: ((reason: any) => any) | null;\n }> = [];\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public static resolve(value: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n }\n\n /** JSDoc */\n public static reject(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n }\n\n /** JSDoc */\n public static all(collection: Array>): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n if (!Array.isArray(collection)) {\n reject(new TypeError(`Promise.all requires an array as input.`));\n return;\n }\n\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n\n let counter = collection.length;\n const resolvedCollection: U[] = [];\n\n collection.forEach((item, index) => {\n SyncPromise.resolve(item)\n .then(value => {\n resolvedCollection[index] = value;\n counter -= 1;\n\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._attachHandler({\n done: false,\n onfulfilled: result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: reason => {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n } catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve((val as unknown) as any);\n });\n });\n }\n\n /** JSDoc */\n public toString(): string {\n return '[object SyncPromise]';\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n // TODO: FIXME\n /** JSDoc */\n private readonly _attachHandler = (handler: {\n /** JSDoc */\n done: boolean;\n /** JSDoc */\n onfulfilled?(value: T): any;\n /** JSDoc */\n onrejected?(reason: any): any;\n }) => {\n this._handlers = this._handlers.concat(handler);\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler.done) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler.onfulfilled((this._value as unknown) as any);\n }\n }\n\n if (this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(this._value);\n }\n }\n\n handler.done = true;\n });\n };\n}\n\nexport { SyncPromise };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Primitive } from '@sentry/types';\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: any): boolean {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: any): wat is Primitive {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: any): boolean {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: any): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: any): boolean {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: any): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n","import { User } from './user';\n\n/**\n * @inheritdoc\n */\nexport interface Session extends SessionContext {\n /** JSDoc */\n update(context?: SessionContext): void;\n\n /** JSDoc */\n close(status?: SessionStatus): void;\n\n /** JSDoc */\n toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n };\n}\n\n/**\n * Session Context\n */\nexport interface SessionContext {\n sid?: string;\n did?: string;\n timestamp?: number;\n started?: number;\n duration?: number;\n status?: SessionStatus;\n release?: string;\n environment?: string;\n userAgent?: string;\n ipAddress?: string;\n errors?: number;\n user?: User | null;\n}\n\n/**\n * Session Status\n */\nexport enum SessionStatus {\n /** JSDoc */\n Ok = 'ok',\n /** JSDoc */\n Exited = 'exited',\n /** JSDoc */\n Crashed = 'crashed',\n /** JSDoc */\n Abnormal = 'abnormal',\n}\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n CaptureContext,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n Scope as ScopeInterface,\n ScopeContext,\n Severity,\n Span,\n Transaction,\n User,\n} from '@sentry/types';\nimport { dateTimestampInSeconds, getGlobalObject, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n\nimport { Session } from './session';\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nexport class Scope implements ScopeInterface {\n /** Flag if notifiying is happening. */\n protected _notifyingListeners: boolean = false;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void> = [];\n\n /** Callback list that will be called after {@link applyToEvent}. */\n protected _eventProcessors: EventProcessor[] = [];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[] = [];\n\n /** User */\n protected _user: User = {};\n\n /** Tags */\n protected _tags: { [key: string]: Primitive } = {};\n\n /** Extra */\n protected _extra: Extras = {};\n\n /** Contexts */\n protected _contexts: Contexts = {};\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: Severity;\n\n /** Transaction Name */\n protected _transactionName?: string;\n\n /** Span */\n protected _span?: Span;\n\n /** Session */\n protected _session?: Session;\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n public static clone(scope?: Scope): Scope {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n this._user = user || {};\n if (this._session) {\n this._session.update({ user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: Severity): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n public setTransaction(name?: string): this {\n return this.setTransactionName(name);\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSpan(span?: Span): this {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSpan(): Span | undefined {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n public getTransaction(): Transaction | undefined {\n // often, this span will be a transaction, but it's not guaranteed to be\n const span = this.getSpan() as undefined | (Span & { spanRecorder: { spans: Span[] } });\n\n // try it the new way first\n if (span?.transaction) {\n return span?.transaction;\n }\n\n // fallback to the old way (known bug: this only finds transactions with sampled = true)\n if (span?.spanRecorder?.spans[0]) {\n return span.spanRecorder.spans[0] as Transaction;\n }\n\n // neither way found a transaction\n return undefined;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext as (scope: T) => T)(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext as ScopeContext;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? [...this._breadcrumbs, mergedBreadcrumb].slice(-maxBreadcrumbs)\n : [...this._breadcrumbs, mergedBreadcrumb];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n public applyToEvent(event: Event, hint?: EventHint): PromiseLike {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relys on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction?.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n protected _notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint?: EventHint,\n index: number = 0,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n if (isThenable(result)) {\n (result as PromiseLike)\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n private _applyFingerprint(event: Event): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors(): EventProcessor[] {\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n const global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback: EventProcessor): void {\n getGlobalEventProcessors().push(callback);\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","import { isString } from './is';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem: unknown): string {\n type SimpleNode = {\n parentNode: SimpleNode;\n } | null;\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const MAX_OUTPUT_LEN = 80;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n const allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nexport class Memo {\n /** Determines if WeakSet is available */\n private readonly _hasWeakSet: boolean;\n /** Either WeakSet or Array */\n private readonly _inner: any;\n\n public constructor() {\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n public memoize(obj: any): boolean {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < this._inner.length; i++) {\n const value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n }\n\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n public unmemoize(obj: any): void {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n } else {\n for (let i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n }\n}\n","const defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n","import { isRegExp, isString } from './is';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n // eslint-disable-next-line no-param-reassign\n colno = ll;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value: string, pattern: RegExp | string): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return (pattern as RegExp).test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExtendedError, WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName } from './stacktrace';\nimport { truncate } from './string';\n\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacementFactory A function that should be used to wrap a given method, returning the wrapped method which\n * will be substituted in for `source[name]`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nfunction getWalkSource(\n value: any,\n): {\n [key: string]: any;\n} {\n if (isError(value)) {\n const error = value as ExtendedError;\n const err: {\n [key: string]: any;\n stack: string | undefined;\n message: string;\n name: string;\n } = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n\n for (const i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n\n return err;\n }\n\n if (isEvent(value)) {\n /**\n * Event-like interface that's usable in browser and node\n */\n interface SimpleEvent {\n [key: string]: unknown;\n type: string;\n target?: unknown;\n currentTarget?: unknown;\n }\n\n const event = value as SimpleEvent;\n\n const source: {\n [key: string]: any;\n } = {};\n\n source.type = event.type;\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event.target)\n ? htmlTreeAsString(event.target)\n : Object.prototype.toString.call(event.target);\n } catch (_oO) {\n source.target = '';\n }\n\n try {\n source.currentTarget = isElement(event.currentTarget)\n ? htmlTreeAsString(event.currentTarget)\n : Object.prototype.toString.call(event.currentTarget);\n } catch (_oO) {\n source.currentTarget = '';\n }\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event.detail;\n }\n\n for (const i in event) {\n if (Object.prototype.hasOwnProperty.call(event, i)) {\n source[i] = event;\n }\n }\n\n return source;\n }\n\n return value as {\n [key: string]: any;\n };\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const serialized = normalize(object, depth);\n\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return serialized as T;\n}\n\n/**\n * Transform any non-primitive, BigInt, or Symbol-type value into a string. Acts as a no-op on strings, numbers,\n * booleans, null, and undefined.\n *\n * @param value The value to stringify\n * @returns For non-primitive, BigInt, and Symbol-type values, a string denoting the value's type, type and value, or\n * type and `description` property, respectively. For non-BigInt, non-Symbol primitives, returns the original value,\n * unchanged.\n */\nfunction serializeValue(value: any): any {\n const type = Object.prototype.toString.call(value);\n\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n\n const normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\nfunction normalizeValue(value: T, key?: any): T | string {\n if (key === 'domain' && value && typeof value === 'object' && ((value as unknown) as { _events: any })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n if (typeof (global as any) !== 'undefined' && (value as unknown) === global) {\n return '[Global]';\n }\n\n if (typeof (window as any) !== 'undefined' && (value as unknown) === window) {\n return '[Window]';\n }\n\n if (typeof (document as any) !== 'undefined' && (value as unknown) === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n // symbols and bigints are considered primitives by TS, but aren't natively JSON-serilaizable\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n return value;\n}\n\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function walk(key: string, value: any, depth: number = +Infinity, memo: Memo = new Memo()): any {\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // If value implements `toJSON` method, call it and return early\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n const normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n const source = getWalkSource(value);\n\n // Create an accumulator that will act as a parent for all future itterations of that branch\n const acc = Array.isArray(value) ? [] : {};\n\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n\n // Walk all keys of the source\n for (const innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n (acc as { [key: string]: any })[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n\n // Return accumulated values\n return acc;\n}\n\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function normalize(input: any, depth?: number): any {\n try {\n return JSON.parse(JSON.stringify(input, (key: string, value: any) => walk(key, value, depth)));\n } catch (_oO) {\n return '**non-serializable**';\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception: any, maxLength: number = 40): string {\n const keys = Object.keys(getWalkSource(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val: T): T {\n if (isPlainObject(val)) {\n const obj = val as { [key: string]: any };\n const rv: { [key: string]: any } = {};\n for (const key of Object.keys(obj)) {\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n return rv as T;\n }\n\n if (Array.isArray(val)) {\n return (val as any[]).map(dropUndefinedKeys) as any;\n }\n\n return val;\n}\n","import { Session as SessionInterface, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, uuid4 } from '@sentry/utils';\n\n/**\n * @inheritdoc\n */\nexport class Session implements SessionInterface {\n public userAgent?: string;\n public errors: number = 0;\n public release?: string;\n public sid: string = uuid4();\n public did?: string;\n public timestamp: number = Date.now();\n public started: number = Date.now();\n public duration: number = 0;\n public status: SessionStatus = SessionStatus.Ok;\n public environment?: string;\n public ipAddress?: string;\n\n constructor(context?: Omit) {\n if (context) {\n this.update(context);\n }\n }\n\n /** JSDoc */\n // eslint-disable-next-line complexity\n update(context: SessionContext = {}): void {\n if (context.user) {\n if (context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n\n if (!context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n this.timestamp = context.timestamp || Date.now();\n\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.did) {\n this.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n this.duration = this.timestamp - this.started;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n }\n\n /** JSDoc */\n close(status?: Exclude): void {\n if (status) {\n this.update({ status });\n } else if (this.status === SessionStatus.Ok) {\n this.update({ status: SessionStatus.Exited });\n } else {\n this.update();\n }\n }\n\n /** JSDoc */\n toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n } {\n return dropUndefinedKeys({\n sid: `${this.sid}`,\n init: true,\n started: new Date(this.started).toISOString(),\n timestamp: new Date(this.timestamp).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? `${this.did}` : undefined,\n duration: this.duration,\n attrs: dropUndefinedKeys({\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent,\n }),\n });\n }\n}\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n SessionContext,\n Severity,\n Span,\n SpanContext,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport { consoleSandbox, dateTimestampInSeconds, getGlobalObject, isNodeEnv, logger, uuid4 } from '@sentry/utils';\n\nimport { Carrier, DomainAsCarrier, Layer } from './interfaces';\nimport { Scope } from './scope';\nimport { Session } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 3;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nconst MAX_BREADCRUMBS = 100;\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[] = [{}];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this.getStackTop().scope = scope;\n this.bindClient(client);\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope | undefined {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint): string {\n const eventId = (this._lastEventId = uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: exception,\n syntheticException,\n };\n }\n\n this._invokeClient('captureException', exception, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint): string {\n const eventId = (this._lastEventId = uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: message,\n syntheticException,\n };\n }\n\n this._invokeClient('captureMessage', message, level, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = (this._lastEventId = uuid4());\n this._invokeClient('captureEvent', event, {\n ...hint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSpan(context: SpanContext): Span {\n return this._callExtensionMethod('startSpan', context);\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n // End existing session if there's one\n this.endSession();\n\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n const session = new Session({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...context,\n });\n if (scope) {\n scope.setSession(session);\n }\n return session;\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession && scope.getSession();\n if (session) {\n session.close();\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n scope.setSession();\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _invokeClient(method: M, ...args: any[]): void {\n const { scope, client } = this.getStackTop();\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (client as any)[method](...args, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/** Returns the global shim registry. */\nexport function getMainCarrier(): Carrier {\n const carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Returns the active domain, if one exists\n *\n * @returns The domain, or undefined if there is no active domain\n */\nexport function getActiveDomain(): DomainAsCarrier | undefined {\n const sentry = getMainCarrier().__SENTRY__;\n\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n try {\n const activeDomain = getActiveDomain();\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) return carrier.__SENTRY__.hub;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n","import { getCurrentHub, Hub, Scope } from '@sentry/hub';\nimport {\n Breadcrumb,\n CaptureContext,\n CustomSamplingContext,\n Event,\n Extra,\n Extras,\n Primitive,\n Severity,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\n\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method: string, ...args: any[]): T {\n const hub = getCurrentHub();\n if (hub && hub[method as keyof Hub]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (hub[method as keyof Hub] as any)(...args);\n }\n throw new Error(`No hub defined or ${method} was not found on the hub, please open a bug report.`);\n}\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception: any, captureContext?: CaptureContext): string {\n let syntheticException: Error;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception as Error;\n }\n return callOnHub('captureException', exception, {\n captureContext,\n originalException: exception,\n syntheticException,\n });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | Severity): string {\n let syntheticException: Error;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception as Error;\n }\n\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException,\n ...context,\n });\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event: Event): string {\n return callOnHub('captureEvent', event);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback: (scope: Scope) => void): void {\n callOnHub('configureScope', callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb): void {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n callOnHub('setContext', name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n callOnHub('setExtras', extras);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n callOnHub('setTags', tags);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n callOnHub('setExtra', key, extra);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n callOnHub('setTag', key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n callOnHub('setUser', user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback: (scope: Scope) => void): void {\n callOnHub('withScope', callback);\n}\n\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method: string, ...args: any[]): void {\n callOnHub('_invokeClient', method, ...args);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(\n context: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): Transaction {\n return callOnHub('startTransaction', { ...context }, customSamplingContext);\n}\n","import axios from \"axios\";\nimport Utils from \"../utils/utils\";\nimport { CLIENTS } from \"../utils/constants\";\nimport * as Sentry from \"@sentry/browser\";\nwindow.MD = window.MD || {};\n\n// Set up auth and initialize axios\n// Only call on initial App load or when we explicitly need to set a new auth token\nconst init = (newInternalAuthToken) => {\n\t// Store the auth token in local storage so we can load the iframe in a new tab internally\n\tif (newInternalAuthToken) {\n\t\twindow.localStorage.setItem(\"internalAuthToken\", newInternalAuthToken);\n\t}\n\tlet internalAuthToken = window.localStorage.getItem(\"internalAuthToken\");\n\n\tlet apiUrl;\n\tlet basePath;\n\n\tswitch (window.MD.CLIENT) {\n\t\tcase CLIENTS.MORGAN_STANLEY:\n\t\t\tapiUrl = window.MD.MSO_DOMAIN\n\t\t\t\t? window.MD.MSO_DOMAIN\n\t\t\t\t: \"https://markets-dev.morganstanleyclientserv.com\";\n\t\t\tbasePath = `${apiUrl}/ms-research/api`;\n\t\t\tbreak;\n\t\tcase undefined && window.location.hostname === \"localhost\":\n\t\t\tapiUrl = window.MD.MSO_DOMAIN\n\t\t\t\t? window.MD.MSO_DOMAIN\n\t\t\t\t: \"https://markets-dev.morganstanleyclientserv.com\";\n\t\t\tbasePath = `${apiUrl}/ms-research/api`;\n\t\t\tbreak;\n\t\tcase CLIENTS.CANACCORD_GENUITY:\n\t\t\tapiUrl = window.MD.CG_API_DOMAIN\n\t\t\t\t? window.MD.CG_API_DOMAIN\n\t\t\t\t: \"https://markets.junodev.finlogik.com\";\n\t\t\tbasePath = `${apiUrl}/cg-research/api`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tconst config = {\n\t\tbaseURL: basePath,\n\t\theaders: {\n\t\t\tAccept: \"application/json\",\n\t\t},\n\t};\n\n\t// Only add an authorization header if we don't have an access_token cookie.\n\t// Otherwise, the Bearer token in the auth header will override the cookie value\n\t// and internal users could see issues when switching between environments or between\n\t// integrated and non-integrated/storybook.\n\tconst accessTokenCookie = Utils.getCookieValue(\"access_token\");\n\n\tif (!accessTokenCookie && internalAuthToken) {\n\t\tconfig.headers = {\n\t\t\tAccept: \"application/json\",\n\t\t\tauthorization: `Bearer ${internalAuthToken}`,\n\t\t};\n\t} else {\n\t\tconfig.withCredentials = true;\n\t}\n\n\tconst instance = axios.create(config);\n\tlet CancelToken = axios.CancelToken;\n\tinstance.interceptors.response.use(\n\t\t(response) => {\n\t\t\treturn response;\n\t\t},\n\t\tasync (error) => {\n\t\t\tconst isAuthError = error && error.response && error.response.status === 401;\n\t\t\tconst isNetworkError =\n\t\t\t\terror && error.message && error.message.toLowerCase() === \"network error\";\n\t\t\tif (isNetworkError || isAuthError) {\n\t\t\t\t//fetch new token and reload page\n\t\t\t\tUtils.fetchToken();\n\t\t\t\treturn Promise.resolve({ message: \"redirecting\" });\n\t\t\t}\n\t\t\treturn Promise.reject({ ...error });\n\t\t}\n\t);\n\tinstance.interceptors.response.use(\n\t\t(response) => response,\n\t\t(error) => {\n\t\t\tSentry.captureException(error);\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t);\n\n\tconst get = (url, parameters) => instance.get(url, parameters);\n\tconst post = (url, parameters) => instance.post(url, parameters);\n\n\treturn {\n\t\tinstance,\n\t\tget,\n\t\tpost,\n\t\tconfig: {\n\t\t\tCancelToken,\n\t\t},\n\t\tbaseUrl: config.baseURL,\n\t\tinternalAuthToken,\n\t};\n};\n\nexport default { init };\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport MSSpinner from \"../../../Lib/MSSpinner/MSSpinner\";\nimport SecFilingsAPIUtils from \"services/APIs/SecFilings/SecFilingsAPI\";\n\nconst SecFilingsPdf = (props) => {\n\tconst [secFilingPdf, setSecFilingsPdf] = useState(null);\n\tlet feedId, documentTag;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tfor (const [key, value] of urlParams) {\n\t\tif (key === \"feedId\") {\n\t\t\tfeedId = value;\n\t\t}\n\t\tif (key === \"documentTag\") {\n\t\t\tdocumentTag = value;\n\t\t}\n\t}\n\n\tconst loadSecFilingsPdfData = async (feedId, documentTag) => {\n\t\tlet secFilingsResult = await SecFilingsAPIUtils.getDocument(\n\t\t\tprops.apiInstance,\n\t\t\tfeedId,\n\t\t\tdocumentTag\n\t\t);\n\t\tsetSecFilingsPdf(secFilingsResult);\n\t};\n\n\tuseEffect(() => {\n\t\tloadSecFilingsPdfData(feedId, documentTag);\n\t}, [loadSecFilingsPdfData, feedId, documentTag]);\n\n\tconst isContentReady = () => {\n\t\treturn secFilingPdf !== null;\n\t};\n\n\treturn ;\n};\n\nexport default SecFilingsPdf;\n","import React, { useEffect, useCallback } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ActionCreators from \"../../../../../store/actions/actions\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\n\nconst ResearchPdf = (props) => {\n\tconst dispatch = useDispatch();\n\tconst researchPdfDataStatus = useSelector(\n\t\t(state) => state.researchReducer.researchPdfStatus\n\t);\n\n\tlet documentId;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tfor (const [key, value] of urlParams) {\n\t\tif (key === \"documentId\") {\n\t\t\tdocumentId = value;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst loadResearchPdfData = useCallback(\n\t\t(documentId) => {\n\t\t\tdispatch(ActionCreators.fetchResearchPdfData(props.apiInstance, documentId));\n\t\t},\n\t\t[dispatch, props.apiInstance]\n\t);\n\n\tuseEffect(() => {\n\t\tloadResearchPdfData(documentId);\n\t}, [loadResearchPdfData, documentId]);\n\n\tconst isContentReady = () => {\n\t\treturn researchPdfDataStatus && researchPdfDataStatus !== \"FETCHING\";\n\t};\n\n\treturn (\n\t\t// the pdf blob is appended to the document body in the researchActions file\n\t\t
\n\t\t\t{!isContentReady() && }\n\t\t
\n\t);\n};\n\nexport default ResearchPdf;\n","import { URLS } from \"utils/constants\";\n\nexport const getUserInfo = async (apiInstance) => {\n\tif (!apiInstance) return;\n\n\tconst CancelToken = apiInstance.config.CancelToken;\n\tconst source = CancelToken.source();\n\tconst response = await apiInstance.get(`${URLS.USER_INFO_PATH}`, {\n\t\tcancelToken: source.token,\n\t});\n\n\treturn response?.data?.data;\n};\n\nexport default { getUserInfo };\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ErrorMessage_modal-backdrop__n8B39\",\"show\":\"ErrorMessage_show__dO7eG\",\"LinesEllipsis\":\"ErrorMessage_LinesEllipsis__BwvZR\",\"mainErrorContainer\":\"ErrorMessage_mainErrorContainer__T0gFh\",\"quoteBarContainer\":\"ErrorMessage_quoteBarContainer__SqYEZ\",\"messageText\":\"ErrorMessage_messageText__C6DOJ\",\"symbolMessageContainer\":\"ErrorMessage_symbolMessageContainer__TbZxz\",\"symbolInfo\":\"ErrorMessage_symbolInfo__mwk0Q\",\"quoteSearchContainer\":\"ErrorMessage_quoteSearchContainer__Yvtpm\"};","import { useContext } from \"react\";\nimport { ApiInstanceAndUserInfoContext } from \"components/App\";\nimport QuoteSearch from \"components/Lib/QuoteSearch/QuoteSearch\";\nimport Disclosures from \"components/Lib/Disclosures/Disclosures\";\nimport styles from \"./ErrorMessage.module.scss\";\n\nexport const QuoteErrorMessage = (props) => {\n\tconst { apiInstance = {} } = useContext(ApiInstanceAndUserInfoContext);\n\tconst queryParameters = new URLSearchParams(window.location.search);\n\tconst symbol = queryParameters.get(\"symbol\");\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tWe couldn't find the symbol '{symbol}'.\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t
\n\t);\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","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Event, Integration } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** JSDoc */\ninterface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n\n public constructor(private readonly _options: Partial = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n }\n\n /** JSDoc */\n private _shouldDropEvent(event: Event, options: Partial): boolean {\n if (this._isSentryError(event, options)) {\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (this._isDeniedUrl(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!this._isAllowedUrl(event, options)) {\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n }\n\n /** JSDoc */\n private _isSentryError(event: Event, options: Partial): boolean {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return (\n (event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false\n );\n } catch (_oO) {\n return false;\n }\n }\n\n /** JSDoc */\n private _isIgnoredError(event: Event, options: Partial): boolean {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(message =>\n // Not sure why TypeScript complains here...\n (options.ignoreErrors as Array).some(pattern => isMatchingPattern(message, pattern)),\n );\n }\n\n /** JSDoc */\n private _isDeniedUrl(event: Event, options: Partial): boolean {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? false : options.denyUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _isAllowedUrl(event: Event, options: Partial): boolean {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? true : options.allowUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _mergeOptions(clientOptions: Partial = {}): Partial {\n return {\n allowUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(this._options.whitelistUrls || []),\n ...(this._options.allowUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(this._options.blacklistUrls || []),\n ...(this._options.denyUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(this._options.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n };\n }\n\n /** JSDoc */\n private _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n }\n\n /** JSDoc */\n private _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n const frames = event.stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n if (event.exception) {\n const frames =\n event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n return null;\n } catch (oO) {\n logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n }\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\n\nlet originalFunctionToString: () => void;\n\n/** Patch toString calls to return proper name for wrapped functions */\nexport class FunctionToString implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'FunctionToString';\n\n /**\n * @inheritDoc\n */\n public name: string = FunctionToString.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function(this: WrappedFunction, ...args: any[]): string {\n const context = this.__sentry_original__ || this;\n return originalFunctionToString.apply(context, args);\n };\n }\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 const setPrototypeOf =\n Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);\n\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj: TTarget, proto: TProto): TTarget & TProto {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj as TTarget & TProto;\n}\n\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj: TTarget, proto: TProto): TTarget & TProto {\n for (const prop in proto) {\n // eslint-disable-next-line no-prototype-builtins\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n\n return obj as TTarget & TProto;\n}\n","import { setPrototypeOf } from './polyfill';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public constructor(public message: string) {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { SentryError } from './error';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\n/** Error message */\nconst ERROR_MESSAGE = 'Invalid Dsn';\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nexport class Dsn implements DsnComponents {\n /** Protocol used to connect to Sentry. */\n public protocol!: DsnProtocol;\n /** Public authorization key. */\n public user!: string;\n /** Private authorization key (deprecated, optional). */\n public pass!: string;\n /** Hostname of the Sentry instance. */\n public host!: string;\n /** Port of the Sentry instance. */\n public port!: string;\n /** Path */\n public path!: string;\n /** Project ID */\n public projectId!: string;\n\n /** Creates a new Dsn component */\n public constructor(from: DsnLike) {\n if (typeof from === 'string') {\n this._fromString(from);\n } else {\n this._fromComponents(from);\n }\n\n this._validate();\n }\n\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n public toString(withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, user } = this;\n return (\n `${protocol}://${user}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n }\n\n /** Parses a string into this Dsn. */\n private _fromString(str: string): void {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n\n const [protocol, user, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n this._fromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, user });\n }\n\n /** Maps Dsn components into this instance. */\n private _fromComponents(components: DsnComponents): void {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n }\n\n /** Validates this Dsn and throws on error. */\n private _validate(): void {\n ['protocol', 'user', 'host', 'projectId'].forEach(component => {\n if (!this[component as keyof DsnComponents]) {\n throw new SentryError(`${ERROR_MESSAGE}: ${component} missing`);\n }\n });\n\n if (!this.projectId.match(/^\\d+$/)) {\n throw new SentryError(`${ERROR_MESSAGE}: Invalid projectId ${this.projectId}`);\n }\n\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(`${ERROR_MESSAGE}: Invalid protocol ${this.protocol}`);\n }\n\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(`${ERROR_MESSAGE}: Invalid port ${this.port}`);\n }\n }\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Integration, Options } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport interface IntegrationIndex {\n [key: string]: Integration;\n}\n\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options: Options): Integration[] {\n const defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n const userIntegrations = options.integrations;\n let integrations: Integration[] = [];\n if (Array.isArray(userIntegrations)) {\n const userIntegrationsNames = userIntegrations.map(i => i.name);\n const pickedIntegrationsNames: string[] = [];\n\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(defaultIntegration => {\n if (\n userIntegrationsNames.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames.indexOf(defaultIntegration.name) === -1\n ) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames.push(defaultIntegration.name);\n }\n });\n\n // Don't add same user integration twice\n userIntegrations.forEach(userIntegration => {\n if (pickedIntegrationsNames.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames.push(userIntegration.name);\n }\n });\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n } else {\n integrations = [...defaultIntegrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n const integrationsNames = integrations.map(i => i.name);\n const alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/** Setup given integration */\nexport function setupIntegration(integration: Integration): void {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(`Integration installed: ${integration.name}`);\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options: O): IntegrationIndex {\n const integrations: IntegrationIndex = {};\n getIntegrationsToSetup(options).forEach(integration => {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n","/* eslint-disable max-lines */\nimport { Scope, Session } from '@sentry/hub';\nimport {\n Client,\n Event,\n EventHint,\n Integration,\n IntegrationClass,\n Options,\n SessionStatus,\n Severity,\n} from '@sentry/types';\nimport {\n dateTimestampInSeconds,\n Dsn,\n isPrimitive,\n isThenable,\n logger,\n normalize,\n SentryError,\n SyncPromise,\n truncate,\n uuid4,\n} from '@sentry/utils';\n\nimport { Backend, BackendClass } from './basebackend';\nimport { IntegrationIndex, setupIntegrations } from './integration';\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /**\n * The backend used to physically interact in the environment. Usually, this\n * will correspond to the client. When composing SDKs, however, the Backend\n * from the root SDK will be used.\n */\n protected readonly _backend: B;\n\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: Dsn;\n\n /** Array of used integrations. */\n protected _integrations: IntegrationIndex = {};\n\n /** Number of call being processed */\n protected _processing: number = 0;\n\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n protected constructor(backendClass: BackendClass, options: O) {\n this._backend = new backendClass(options);\n this._options = options;\n\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._getBackend()\n .eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n const promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(String(message), level, hint)\n : this._getBackend().eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!session.release) {\n logger.warn('Discarded session because of missing release');\n } else {\n this._sendSession(session);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): Dsn | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n return this._isClientProcessing(timeout).then(ready => {\n return this._getBackend()\n .getTransport()\n .close(timeout)\n .then(transportFlushed => ready && transportFlushed);\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n public setupIntegrations(): void {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n try {\n return (this._integrations[integration.id] as T) || null;\n } catch (_oO) {\n logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n let userAgent;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n const user = event.user;\n if (!session.userAgent) {\n const headers = event.request ? event.request.headers : {};\n for (const key in headers) {\n if (key.toLowerCase() === 'user-agent') {\n userAgent = headers[key];\n break;\n }\n }\n }\n\n session.update({\n ...(crashed && { status: SessionStatus.Crashed }),\n user,\n userAgent,\n errors: session.errors + Number(errored || crashed),\n });\n }\n\n /** Deliver captured session to Sentry */\n protected _sendSession(session: Session): void {\n this._getBackend().sendSession(session);\n }\n\n /** Waits for the client to be done with processing. */\n protected _isClientProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._processing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Returns the current backend. */\n protected _getBackend(): B {\n return this._backend;\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n const { normalizeDepth = 3 } = this.getOptions();\n const prepared: Event = {\n ...event,\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = SyncPromise.resolve(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n protected _normalizeEvent(event: Event | null, depth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth),\n }),\n };\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n protected _applyClientOptions(event: Event): void {\n const options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n protected _applyIntegrationsMetadata(event: Event): void {\n const sdkInfo = event.sdk;\n const integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\n }\n }\n\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n protected _sendEvent(event: Event): void {\n this._getBackend().sendEvent(event);\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n logger.error(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeSend, sampleRate } = this.getOptions();\n\n if (!this._isEnabled()) {\n return SyncPromise.reject(new SentryError('SDK not enabled, will not send event.'));\n }\n\n const isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, scope, hint)\n .then(prepared => {\n if (prepared === null) {\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n const isInternalException = hint && hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n const beforeSendResult = beforeSend(prepared, hint);\n if (typeof beforeSendResult === 'undefined') {\n throw new SentryError('`beforeSend` method has to return `null` or a valid event.');\n } else if (isThenable(beforeSendResult)) {\n return (beforeSendResult as PromiseLike).then(\n event => event,\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n }\n return beforeSendResult;\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n const session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this._sendEvent(processedEvent);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason as Error,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._processing += 1;\n promise.then(\n value => {\n this._processing -= 1;\n return value;\n },\n reason => {\n this._processing -= 1;\n return reason;\n },\n );\n }\n}\n","/** The status of an event. */\n// eslint-disable-next-line import/export\nexport enum Status {\n /** The status could not be determined. */\n Unknown = 'unknown',\n /** The event was skipped due to configuration or callbacks. */\n Skipped = 'skipped',\n /** The event was sent to Sentry successfully. */\n Success = 'success',\n /** The client is currently rate limited and will try again later. */\n RateLimit = 'rate_limit',\n /** The event could not be processed. */\n Invalid = 'invalid',\n /** A server-side error ocurred during submission. */\n Failed = 'failed',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace Status {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n export function fromHttpCode(code: number): Status {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n\n if (code === 429) {\n return Status.RateLimit;\n }\n\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n\n if (code >= 500) {\n return Status.Failed;\n }\n\n return Status.Unknown;\n }\n}\n","import { Event, Response, Status, Transport } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n\n/** Noop transport */\nexport class NoopTransport implements Transport {\n /**\n * @inheritDoc\n */\n public sendEvent(_: Event): PromiseLike {\n return SyncPromise.resolve({\n reason: `NoopTransport: Event has been skipped because no Dsn is configured.`,\n status: Status.Skipped,\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(_?: number): PromiseLike {\n return SyncPromise.resolve(true);\n }\n}\n","/** JSDoc */\n// eslint-disable-next-line import/export\nexport enum Severity {\n /** JSDoc */\n Fatal = 'fatal',\n /** JSDoc */\n Error = 'error',\n /** JSDoc */\n Warning = 'warning',\n /** JSDoc */\n Log = 'log',\n /** JSDoc */\n Info = 'info',\n /** JSDoc */\n Debug = 'debug',\n /** JSDoc */\n Critical = 'critical',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace Severity {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n export function fromString(level: string): Severity {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n}\n","import { Event, EventHint, Options, Session, Severity, Transport } from '@sentry/types';\nimport { logger, SentryError } from '@sentry/utils';\n\nimport { NoopTransport } from './transports/noop';\n\n/**\n * Internal platform-dependent Sentry SDK Backend.\n *\n * While {@link Client} contains business logic specific to an SDK, the\n * Backend offers platform specific implementations for low-level operations.\n * These are persisting and loading information, sending events, and hooking\n * into the environment.\n *\n * Backends receive a handle to the Client in their constructor. When a\n * Backend automatically generates events, it must pass them to\n * the Client for validation and processing first.\n *\n * Usually, the Client will be of corresponding type, e.g. NodeBackend\n * receives NodeClient. However, higher-level SDKs can choose to instantiate\n * multiple Backends and delegate tasks between them. In this case, an event\n * generated by one backend might very well be sent by another one.\n *\n * The client also provides access to options via {@link Client.getOptions}.\n * @hidden\n */\nexport interface Backend {\n /** Creates a {@link Event} from an exception. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventFromException(exception: any, hint?: EventHint): PromiseLike;\n\n /** Creates a {@link Event} from a plain message. */\n eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike;\n\n /** Submits the event to Sentry */\n sendEvent(event: Event): void;\n\n /** Submits the session to Sentry */\n sendSession(session: Session): void;\n\n /**\n * Returns the transport that is used by the backend.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n *\n * @returns The transport.\n */\n getTransport(): Transport;\n}\n\n/**\n * A class object that can instantiate Backend objects.\n * @hidden\n */\nexport type BackendClass = new (options: O) => B;\n\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nexport abstract class BaseBackend implements Backend {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** Cached transport used internally. */\n protected _transport: Transport;\n\n /** Creates a new backend instance. */\n public constructor(options: O) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public eventFromException(_exception: any, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromException` method');\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(_message: string, _level?: Severity, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): void {\n this._transport.sendEvent(event).then(null, reason => {\n logger.error(`Error while sending event: ${reason}`);\n });\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): void {\n if (!this._transport.sendSession) {\n logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n this._transport.sendSession(session).then(null, reason => {\n logger.error(`Error while sending session: ${reason}`);\n });\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._transport;\n }\n\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n protected _setupTransport(): Transport {\n return new NoopTransport();\n }\n}\n","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isNativeFetch(func: Function): boolean {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (!supportsFetch()) {\n return false;\n }\n\n const global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === `function`) {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n const global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chrome = (global as any).chrome;\n const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n","/**\n * This was originally forked from https://github.com/occ/TraceKit, but has since been\n * largely modified and is now maintained as part of Sentry JS SDK.\n */\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/**\n * An object representing a single stack frame.\n * {Object} StackFrame\n * {string} url The JavaScript or HTML file URL.\n * {string} func The function name, or empty for anonymous functions (if guessing did not work).\n * {string[]?} args The arguments passed to the function, if known.\n * {number=} line The line number, if known.\n * {number=} column The column number, if known.\n * {string[]} context An array of source code lines; the middle element corresponds to the correct line#.\n */\nexport interface StackFrame {\n url: string;\n func: string;\n args: string[];\n line: number | null;\n column: number | null;\n}\n\n/**\n * An object representing a JavaScript stack trace.\n * {Object} StackTrace\n * {string} name The name of the thrown exception.\n * {string} message The exception error message.\n * {TraceKit.StackFrame[]} stack An array of stack frames.\n */\nexport interface StackTrace {\n name: string;\n message: string;\n mechanism?: string;\n stack: StackFrame[];\n failed?: boolean;\n}\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nconst geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nconst chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function computeStackTrace(ex: any): StackTrace {\n let stack = null;\n let popSize = 0;\n\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n popSize = ex.framesToPop;\n } else if (reactMinifiedRegexp.test(ex.message)) {\n popSize = 1;\n }\n }\n\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, complexity\nfunction computeStackTraceFromStackProp(ex: any): StackTrace | null {\n if (!ex || !ex.stack) {\n return null;\n }\n\n const stack = [];\n const lines = ex.stack.split('\\n');\n let isEval;\n let submatch;\n let parts;\n let element;\n\n for (let i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n // working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n url: parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n } else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n } else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || `eval`;\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n } else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = (ex.columnNumber as number) + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n } else {\n continue;\n }\n\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n\n stack.push(element);\n }\n\n if (!stack.length) {\n return null;\n }\n\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack,\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction computeStackTraceFromStacktraceProp(ex: any): StackTrace | null {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace;\n const opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n const opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\((.*)\\))? in (.*):\\s*$/i;\n const lines = stacktrace.split('\\n');\n const stack = [];\n let parts;\n\n for (let line = 0; line < lines.length; line += 2) {\n let element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n } else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n\n if (!stack.length) {\n return null;\n }\n\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack,\n };\n}\n\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace: StackTrace, popSize: number): StackTrace {\n try {\n return {\n ...stacktrace,\n stack: stacktrace.stack.slice(popSize),\n };\n } catch (e) {\n return stacktrace;\n }\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractMessage(ex: any): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n","import { Event, Exception, StackFrame } from '@sentry/types';\nimport { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\n\nimport { computeStackTrace, StackFrame as TraceKitStackFrame, StackTrace as TraceKitStackTrace } from './tracekit';\n\nconst STACKTRACE_LIMIT = 50;\n\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace: TraceKitStackTrace): Exception {\n const frames = prepareFramesForEvent(stacktrace.stack);\n\n const exception: Exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n\n if (frames && frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n exception: Record,\n syntheticException?: Error,\n rejection?: boolean,\n): Event {\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n rejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n const stacktrace = computeStackTrace(syntheticException);\n const frames = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames,\n };\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace: TraceKitStackTrace): Event {\n const exception = exceptionFromStacktrace(stacktrace);\n\n return {\n exception: {\n values: [exception],\n },\n };\n}\n\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack: TraceKitStackFrame[]): StackFrame[] {\n if (!stack || !stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n const firstFrameFunction = localStack[0].func || '';\n const lastFrameFunction = localStack[localStack.length - 1].func || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(\n (frame: TraceKitStackFrame): StackFrame => ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }),\n )\n .reverse();\n}\n","import { Event, EventHint, Options, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n SyncPromise,\n} from '@sentry/utils';\n\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n\n/**\n * Builds and Event from a Exception\n * @hidden\n */\nexport function eventFromException(options: Options, exception: unknown, hint?: EventHint): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n options: Options,\n message: string,\n level: Severity = Severity.Info,\n hint?: EventHint,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, {\n attachStacktrace: options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n exception: unknown,\n syntheticException?: Error,\n options: {\n rejection?: boolean;\n attachStacktrace?: boolean;\n } = {},\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n // eslint-disable-next-line no-param-reassign\n exception = errorEvent.error;\n event = eventFromStacktrace(computeStackTrace(exception as Error));\n return event;\n }\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name, code, and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n const domException = exception as DOMException;\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception as Error)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception as Error));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n const objectException = exception as Record;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception as string, syntheticException, options);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(\n input: string,\n syntheticException?: Error,\n options: {\n attachStacktrace?: boolean;\n } = {},\n): Event {\n const event: Event = {\n message: input,\n };\n\n if (options.attachStacktrace && syntheticException) {\n const stacktrace = computeStackTrace(syntheticException);\n const frames = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames,\n };\n }\n\n return event;\n}\n","import { Event, SentryRequest, Session } from '@sentry/types';\n\nimport { API } from './api';\n\n/** Creates a SentryRequest from an event. */\nexport function sessionToSentryRequest(session: Session, api: API): SentryRequest {\n const envelopeHeaders = JSON.stringify({\n sent_at: new Date().toISOString(),\n });\n const itemHeaders = JSON.stringify({\n type: 'session',\n });\n\n return {\n body: `${envelopeHeaders}\\n${itemHeaders}\\n${JSON.stringify(session)}`,\n type: 'session',\n url: api.getEnvelopeEndpointWithUrlEncodedAuth(),\n };\n}\n\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event: Event, api: API): SentryRequest {\n // since JS has no Object.prototype.pop()\n const { __sentry_samplingMethod: samplingMethod, __sentry_sampleRate: sampleRate, ...otherTags } = event.tags || {};\n event.tags = otherTags;\n\n const useEnvelope = event.type === 'transaction';\n\n const req: SentryRequest = {\n body: JSON.stringify(event),\n type: event.type || 'event',\n url: useEnvelope ? api.getEnvelopeEndpointWithUrlEncodedAuth() : api.getStoreEndpointWithUrlEncodedAuth(),\n };\n\n // https://develop.sentry.dev/sdk/envelopes/\n\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n const envelopeHeaders = JSON.stringify({\n event_id: event.event_id,\n sent_at: new Date().toISOString(),\n });\n const itemHeaders = JSON.stringify({\n type: event.type,\n\n // TODO: Right now, sampleRate may or may not be defined (it won't be in the cases of inheritance and\n // explicitly-set sampling decisions). Are we good with that?\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n\n // The content-type is assumed to be 'application/json' and not part of\n // the current spec for transaction items, so we don't bloat the request\n // body with it.\n //\n // content_type: 'application/json',\n //\n // The length is optional. It must be the number of bytes in req.Body\n // encoded as UTF-8. Since the server can figure this out and would\n // otherwise refuse events that report the length incorrectly, we decided\n // not to send the length to avoid problems related to reporting the wrong\n // size and to reduce request body size.\n //\n // length: new TextEncoder().encode(req.body).length,\n });\n // The trailing newline is optional. We intentionally don't send it to avoid\n // sending unnecessary bytes.\n //\n // const envelope = `${envelopeHeaders}\\n${itemHeaders}\\n${req.body}\\n`;\n const envelope = `${envelopeHeaders}\\n${itemHeaders}\\n${req.body}`;\n req.body = envelope;\n }\n\n return req;\n}\n","import { DsnLike } from '@sentry/types';\nimport { Dsn, urlEncode } from '@sentry/utils';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Helper class to provide urls to different Sentry endpoints. */\nexport class API {\n /** The internally used Dsn object. */\n private readonly _dsnObject: Dsn;\n /** Create a new instance of API */\n public constructor(public dsn: DsnLike) {\n this._dsnObject = new Dsn(dsn);\n }\n\n /** Returns the Dsn object. */\n public getDsn(): Dsn {\n return this._dsnObject;\n }\n\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n public getBaseApiEndpoint(): string {\n const dsn = this._dsnObject;\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n }\n\n /** Returns the store endpoint URL. */\n public getStoreEndpoint(): string {\n return this._getIngestEndpoint('store');\n }\n\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getStoreEndpointWithUrlEncodedAuth(): string {\n return `${this.getStoreEndpoint()}?${this._encodedAuth()}`;\n }\n\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getEnvelopeEndpointWithUrlEncodedAuth(): string {\n return `${this._getEnvelopeEndpoint()}?${this._encodedAuth()}`;\n }\n\n /** Returns only the path component for the store endpoint. */\n public getStoreEndpointPath(): string {\n const dsn = this._dsnObject;\n return `${dsn.path ? `/${dsn.path}` : ''}/api/${dsn.projectId}/store/`;\n }\n\n /**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\n public getRequestHeaders(clientName: string, clientVersion: string): { [key: string]: string } {\n const dsn = this._dsnObject;\n const header = [`Sentry sentry_version=${SENTRY_API_VERSION}`];\n header.push(`sentry_client=${clientName}/${clientVersion}`);\n header.push(`sentry_key=${dsn.user}`);\n if (dsn.pass) {\n header.push(`sentry_secret=${dsn.pass}`);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n }\n\n /** Returns the url to the report dialog endpoint. */\n public getReportDialogEndpoint(\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n } = {},\n ): string {\n const dsn = this._dsnObject;\n const endpoint = `${this.getBaseApiEndpoint()}embed/error-page/`;\n\n const encodedOptions = [];\n encodedOptions.push(`dsn=${dsn.toString()}`);\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(`name=${encodeURIComponent(dialogOptions.user.name)}`);\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(`email=${encodeURIComponent(dialogOptions.user.email)}`);\n }\n } else {\n encodedOptions.push(`${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`);\n }\n }\n if (encodedOptions.length) {\n return `${endpoint}?${encodedOptions.join('&')}`;\n }\n\n return endpoint;\n }\n\n /** Returns the envelope endpoint URL. */\n private _getEnvelopeEndpoint(): string {\n return this._getIngestEndpoint('envelope');\n }\n\n /** Returns the ingest API endpoint for target. */\n private _getIngestEndpoint(target: 'store' | 'envelope'): string {\n const base = this.getBaseApiEndpoint();\n const dsn = this._dsnObject;\n return `${base}${dsn.projectId}/${target}/`;\n }\n\n /** Returns a URL-encoded string with auth config suitable for a query string. */\n private _encodedAuth(): string {\n const dsn = this._dsnObject;\n const auth = {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n return urlEncode(auth);\n }\n}\n","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n\n/** A simple queue that holds promises. */\nexport class PromiseBuffer {\n /** Internal set of queued Promises */\n private readonly _buffer: Array> = [];\n\n public constructor(protected _limit?: number) {}\n\n /**\n * Says if the buffer is ready to take more requests\n */\n public isReady(): boolean {\n return this._limit === undefined || this.length() < this._limit;\n }\n\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns The original promise.\n */\n public add(task: PromiseLike): PromiseLike {\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(() => this.remove(task))\n .then(null, () =>\n this.remove(task).then(null, () => {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n public remove(task: PromiseLike): PromiseLike {\n const removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n }\n\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n public length(): number {\n return this._buffer.length;\n }\n\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n public drain(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(this._buffer)\n .then(() => {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, () => {\n resolve(true);\n });\n });\n }\n}\n","import { API } from '@sentry/core';\nimport {\n Event,\n Response as SentryResponse,\n SentryRequestType,\n Status,\n Transport,\n TransportOptions,\n} from '@sentry/types';\nimport { logger, parseRetryAfterHeader, PromiseBuffer, SentryError } from '@sentry/utils';\n\n/** Base Transport class implementation */\nexport abstract class BaseTransport implements Transport {\n /**\n * @deprecated\n */\n public url: string;\n\n /** Helper to get Sentry API endpoints. */\n protected readonly _api: API;\n\n /** A simple buffer holding all requests. */\n protected readonly _buffer: PromiseBuffer = new PromiseBuffer(30);\n\n /** Locks transport after receiving rate limits in a response */\n protected readonly _rateLimits: Record = {};\n\n public constructor(public options: TransportOptions) {\n this._api = new API(this.options.dsn);\n // eslint-disable-next-line deprecation/deprecation\n this.url = this._api.getStoreEndpointWithUrlEncodedAuth();\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(_: Event): PromiseLike {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this._buffer.drain(timeout);\n }\n\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n protected _handleResponse({\n requestType,\n response,\n headers,\n resolve,\n reject,\n }: {\n requestType: SentryRequestType;\n response: Response | XMLHttpRequest;\n headers: Record;\n resolve: (value?: SentryResponse | PromiseLike | null | undefined) => void;\n reject: (reason?: unknown) => void;\n }): void {\n const status = Status.fromHttpCode(response.status);\n /**\n * \"The name is case-insensitive.\"\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n */\n const limited = this._handleRateLimit(headers);\n if (limited) logger.warn(`Too many requests, backing off until: ${this._disabledUntil(requestType)}`);\n\n if (status === Status.Success) {\n resolve({ status });\n return;\n }\n\n reject(response);\n }\n\n /**\n * Gets the time that given category is disabled until for rate limiting\n */\n protected _disabledUntil(category: string): Date {\n return this._rateLimits[category] || this._rateLimits.all;\n }\n\n /**\n * Checks if a category is rate limited\n */\n protected _isRateLimited(category: string): boolean {\n return this._disabledUntil(category) > new Date(Date.now());\n }\n\n /**\n * Sets internal _rateLimits from incoming headers. Returns true if headers contains a non-empty rate limiting header.\n */\n protected _handleRateLimit(headers: Record): boolean {\n const now = Date.now();\n const rlHeader = headers['x-sentry-rate-limits'];\n const raHeader = headers['retry-after'];\n\n if (rlHeader) {\n // rate limit headers are of the form\n //
,
,..\n // where each
is of the form\n // : : : \n // where\n // is a delay in ms\n // is the event type(s) (error, transaction, etc) being rate limited and is of the form\n // ;;...\n // is what's being limited (org, project, or key) - ignored by SDK\n // is an arbitrary string like \"org_quota\" - ignored by SDK\n for (const limit of rlHeader.trim().split(',')) {\n const parameters = limit.split(':', 2);\n const headerDelay = parseInt(parameters[0], 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n for (const category of parameters[1].split(';')) {\n this._rateLimits[category || 'all'] = new Date(now + delay);\n }\n }\n return true;\n } else if (raHeader) {\n this._rateLimits.all = new Date(now + parseRetryAfterHeader(now, raHeader));\n return true;\n }\n return false;\n }\n}\n","import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { getGlobalObject, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\nconst global = getGlobalObject();\n\n/** `fetch` based transport */\nexport class FetchTransport extends BaseTransport {\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: `Transport locked till ${this._disabledUntil(sentryRequest.type)} due to too many requests.`,\n status: 429,\n });\n }\n\n const options: RequestInit = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : '') as ReferrerPolicy,\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer.add(\n new SyncPromise((resolve, reject) => {\n global\n .fetch(sentryRequest.url, options)\n .then(response => {\n const headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n this._handleResponse({\n requestType: sentryRequest.type,\n response,\n headers,\n resolve,\n reject,\n });\n })\n .catch(reject);\n }),\n );\n }\n}\n","import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';\nimport { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n if (this._isRateLimited(sentryRequest.type)) {\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n reason: `Transport locked till ${this._disabledUntil(sentryRequest.type)} due to too many requests.`,\n status: 429,\n });\n }\n\n return this._buffer.add(\n new SyncPromise((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = (): void => {\n if (request.readyState === 4) {\n const headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n this._handleResponse({ requestType: sentryRequest.type, response: request, headers, resolve, reject });\n }\n };\n\n request.open('POST', sentryRequest.url);\n for (const header in this.options.headers) {\n if (this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }),\n );\n }\n}\n","import { BaseBackend } from '@sentry/core';\nimport { Event, EventHint, Options, Severity, Transport } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see BrowserClient for more information.\n */\nexport interface BrowserOptions extends Options {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n\n /** @deprecated use {@link Options.allowUrls} instead. */\n whitelistUrls?: Array;\n\n /** @deprecated use {@link Options.denyUrls} instead. */\n blacklistUrls?: Array;\n\n /**\n * A flag enabling Sessions Tracking feature.\n * By default Sessions Tracking is disabled.\n */\n autoSessionTracking?: boolean;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class BrowserBackend extends BaseBackend {\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(this._options, exception, hint);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike {\n return eventFromMessage(this._options, message, level, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn,\n };\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n }\n}\n","import { API, captureException, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport { addExceptionMechanism, addExceptionTypeValue, logger } from '@sentry/utils';\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sentryWrapped: WrappedFunction = function(this: any): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n const processedEvent = { ...event };\n\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n\n processedEvent.extra = {\n ...processedEvent.extra,\n arguments: args,\n };\n\n return processedEvent;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options: ReportDialogOptions = {}): void {\n if (!options.eventId) {\n logger.error(`Missing eventId option in showReportDialog call`);\n return;\n }\n if (!options.dsn) {\n logger.error(`Missing dsn option in showReportDialog call`);\n return;\n }\n\n const script = document.createElement('script');\n script.async = true;\n script.src = new API(options.dsn).getReportDialogEndpoint(options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n (document.head || document.body).appendChild(script);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\n\nconst global = getGlobalObject();\n\n/** Object describing handler that will be triggered for a given `type` of instrumentation */\ninterface InstrumentHandler {\n type: InstrumentHandlerType;\n callback: InstrumentHandlerCallback;\n}\ntype InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'history'\n | 'sentry'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\ntype InstrumentHandlerCallback = (data: any) => void;\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Instruments given API */\nfunction instrument(type: InstrumentHandlerType): void {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler: InstrumentHandler): void {\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n (handlers[handler.type] as InstrumentHandlerCallback[]).push(handler.callback);\n instrument(handler.type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type: InstrumentHandlerType, data: any): void {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (const handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(\n handler,\n )}\\nError: ${e}`,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole(): void {\n if (!('console' in global)) {\n return;\n }\n\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function(level: string): void {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function(originalConsoleLevel: () => any): Function {\n return function(...args: any[]): void {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch(): void {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function(originalFetch: () => void): () => void {\n return function(...args: any[]): void {\n const handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(\n (response: Response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\ntype XHRSendInput = null | Blob | BufferSource | FormData | URLSearchParams | string;\n\n/** JSDoc */\ninterface SentryWrappedXMLHttpRequest extends XMLHttpRequest {\n [key: string]: any;\n __sentry_xhr__?: {\n method?: string;\n url?: string;\n status_code?: number;\n body?: XHRSendInput;\n };\n}\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs: any[] = []): string {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs: any[] = []): string {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\nfunction instrumentXHR(): void {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n // Poor man's implementation of ES6 `Map`, tracking and keeping in sync key and value separately.\n const requestKeys: XMLHttpRequest[] = [];\n const requestValues: Array[] = [];\n const xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function(originalOpen: () => void): () => void {\n return function(this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const url = args[1];\n xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhr.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = function(): void {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n } catch (e) {\n /* do nothing */\n }\n\n try {\n const requestPos = requestKeys.indexOf(xhr);\n if (requestPos !== -1) {\n // Make sure to pop both key and value to keep it in sync.\n requestKeys.splice(requestPos);\n const args = requestValues.splice(requestPos)[0];\n if (xhr.__sentry_xhr__ && args[0] !== undefined) {\n xhr.__sentry_xhr__.body = args[0] as XHRSendInput;\n }\n }\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function(original: WrappedFunction): Function {\n return function(...readyStateArgs: any[]): void {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function(originalSend: () => void): () => void {\n return function(this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n requestKeys.push(this);\n requestValues.push(args);\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref: string;\n\n/** JSDoc */\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = global.onpopstate;\n global.onpopstate = function(this: WindowEventHandlers, ...args: any[]): any {\n const to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n return oldOnPopState.apply(this, args);\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function(this: History, ...args: any[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\n/** JSDoc */\nfunction instrumentDOM(): void {\n if (!('document' in global)) {\n return;\n }\n\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', domEventHandler('click', triggerHandlers.bind(null, 'dom')), false);\n global.document.addEventListener('keypress', keypressEventHandler(triggerHandlers.bind(null, 'dom')), false);\n\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach((target: string) => {\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n const proto = (global as any)[target] && (global as any)[target].prototype;\n\n // eslint-disable-next-line no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n fill(proto, 'addEventListener', function(\n original: () => void,\n ): (\n eventName: string,\n fn: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function(\n this: any,\n eventName: string,\n fn: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerOrEventListenerObject, capture?: boolean, secure?: boolean) => void {\n if (fn && (fn as EventListenerObject).handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function(innerOriginal: () => void): (caughtEvent: Event) => void {\n return function(this: any, event: Event): (event: Event) => void {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function(innerOriginal: () => void): (caughtEvent: Event) => void {\n return function(this: any, event: Event): (event: Event) => void {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n } else {\n if (eventName === 'click') {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'), true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(this);\n }\n }\n\n return original.call(this, eventName, fn, options);\n };\n });\n\n fill(proto, 'removeEventListener', function(\n original: () => void,\n ): (\n this: any,\n eventName: string,\n fn: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ) => () => void {\n return function(\n this: any,\n eventName: string,\n fn: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n try {\n original.call(this, eventName, ((fn as unknown) as WrappedFunction).__sentry_wrapped__, options);\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, fn, options);\n };\n });\n });\n}\n\nconst debounceDuration: number = 1000;\nlet debounceTimer: number = 0;\nlet keypressTimeout: number | undefined;\nlet lastCapturedEvent: Event | undefined;\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param name the event name (e.g. \"click\")\n * @param handler function that will be triggered\n * @param debounce decides whether it should wait till another event loop\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction domEventHandler(name: string, handler: Function, debounce: boolean = false): (event: Event) => void {\n return (event: Event): void => {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n lastCapturedEvent = event;\n\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n\n if (debounce) {\n debounceTimer = setTimeout(() => {\n handler({ event, name });\n });\n } else {\n handler({ event, name });\n }\n };\n}\n\n/**\n * Wraps addEventListener to capture keypress UI events\n * @param handler function that will be triggered\n * @returns wrapped keypress events handler\n * @hidden\n */\nfunction keypressEventHandler(handler: Function): (event: Event) => void {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return (event: Event): void => {\n let target;\n\n try {\n target = event.target;\n } catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n\n const tagName = target && (target as HTMLElement).tagName;\n\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !(target as HTMLElement).isContentEditable)) {\n return;\n }\n\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n domEventHandler('input', handler)(event);\n }\n clearTimeout(keypressTimeout);\n\n keypressTimeout = (setTimeout(() => {\n keypressTimeout = undefined;\n }, debounceDuration) as any) as number;\n };\n}\n\nlet _oldOnErrorHandler: OnErrorEventHandler = null;\n/** JSDoc */\nfunction instrumentError(): void {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function(msg: any, url: any, line: any, column: any, error: any): boolean {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler: ((e: any) => void) | null = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function(e: any): boolean {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Severity } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n getEventDescription,\n getGlobalObject,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n} from '@sentry/utils';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean;\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Breadcrumbs';\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /** JSDoc */\n private readonly _options: BreadcrumbsOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n public addSentryBreadcrumb(event: Event): void {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this._options.console) {\n addInstrumentationHandler({\n callback: (...args) => {\n this._consoleBreadcrumb(...args);\n },\n type: 'console',\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: (...args) => {\n this._domBreadcrumb(...args);\n },\n type: 'dom',\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: (...args) => {\n this._xhrBreadcrumb(...args);\n },\n type: 'xhr',\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: (...args) => {\n this._fetchBreadcrumb(...args);\n },\n type: 'fetch',\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: (...args) => {\n this._historyBreadcrumb(...args);\n },\n type: 'history',\n });\n }\n }\n\n /**\n * Creates breadcrumbs from console API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n }\n\n /**\n * Creates breadcrumbs from DOM API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _domBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node)\n : htmlTreeAsString((handlerData.event as unknown) as Node);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n },\n );\n }\n\n /**\n * Creates breadcrumbs from XHR API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n }\n\n /**\n * Creates breadcrumbs from fetch API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n }\n\n /**\n * Creates breadcrumbs from history API calls\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n const global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n }\n}\n","export const SDK_NAME = 'sentry.javascript.browser';\nexport const SDK_VERSION = '5.30.0';\n","import { BaseClient, Scope } from '@sentry/core';\nimport { Event, EventHint } from '@sentry/types';\nimport { getGlobalObject, logger } from '@sentry/utils';\n\nimport { BrowserBackend, BrowserOptions } from './backend';\nimport { injectReportDialog, ReportDialogOptions } from './helpers';\nimport { Breadcrumbs } from './integrations';\nimport { SDK_NAME, SDK_VERSION } from './version';\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserOptions = {}) {\n super(BrowserBackend, options);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n const document = getGlobalObject().document;\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n injectReportDialog({\n ...options,\n dsn: options.dsn || this.getDsn(),\n });\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n event.platform = event.platform || 'javascript';\n event.sdk = {\n ...event.sdk,\n name: SDK_NAME,\n packages: [\n ...((event.sdk && event.sdk.packages) || []),\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _sendEvent(event: Event): void {\n const integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n super._sendEvent(event);\n }\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\n\nimport { wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n const global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n\n if (this._options.eventTarget) {\n const eventTarget = Array.isArray(this._options.eventTarget) ? this._options.eventTarget : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(this._wrapEventTarget.bind(this));\n }\n }\n\n /** JSDoc */\n private _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function(this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n }\n\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function(this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.call(\n this,\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n );\n };\n }\n\n /** JSDoc */\n private _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const global = getGlobalObject() as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = global[target] && global[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function(\n original: () => void,\n ): (eventName: string, fn: EventListenerObject, options?: boolean | AddEventListenerOptions) => void {\n return function(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.call(\n this,\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap((fn as any) as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n );\n };\n });\n\n fill(proto, 'removeEventListener', function(\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = (fn as unknown) as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler?.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n });\n }\n\n /** JSDoc */\n private _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function(this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function(original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Primitive, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n\n/** JSDoc */\ninterface GlobalHandlersIntegrations {\n onerror: boolean;\n onunhandledrejection: boolean;\n}\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /** JSDoc */\n private _onErrorHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onUnhandledRejectionHandlerInstalled: boolean = false;\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n }\n\n /** JSDoc */\n private _installGlobalOnErrorHandler(): void {\n if (this._onErrorHandlerInstalled) {\n return;\n }\n\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const error = data.error;\n const currentHub = getCurrentHub();\n const hasIntegration = currentHub.getIntegration(GlobalHandlers);\n const isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n\n const client = currentHub.getClient();\n const event = isPrimitive(error)\n ? this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)\n : this._enhanceEventWithInitialFrame(\n eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }),\n data.url,\n data.line,\n data.column,\n );\n\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n\n currentHub.captureEvent(event, {\n originalException: error,\n });\n },\n type: 'error',\n });\n\n this._onErrorHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnUnhandledRejectionHandler(): void {\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n\n addInstrumentationHandler({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callback: (e: any) => {\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n const currentHub = getCurrentHub();\n const hasIntegration = currentHub.getIntegration(GlobalHandlers);\n const isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n\n const client = currentHub.getClient();\n const event = isPrimitive(error)\n ? this._eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n\n event.level = Severity.Error;\n\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n\n currentHub.captureEvent(event, {\n originalException: error,\n });\n\n return;\n },\n type: 'unhandledrejection',\n });\n\n this._onUnhandledRejectionHandlerInstalled = true;\n }\n\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name;\n\n if (isString(message)) {\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n }\n\n /**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\n private _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n }\n\n /** JSDoc */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n }\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: string;\n\n /**\n * @inheritDoc\n */\n private readonly _limit: number;\n\n /**\n * @inheritDoc\n */\n public constructor(options: { key?: string; limit?: number } = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n }\n\n /**\n * @inheritDoc\n */\n private _handler(event: Event, hint?: EventHint): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = this._walkErrorTree(hint.originalException as ExtendedError, this._key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n }\n\n /**\n * @inheritDoc\n */\n private _walkErrorTree(error: ExtendedError, key: string, stack: Exception[] = []): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n const stacktrace = computeStackTrace(error[key]);\n const exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, [exception, ...stack]);\n }\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\nimport { getGlobalObject } from '@sentry/utils';\n\nconst global = getGlobalObject();\n\n/** UserAgent */\nexport class UserAgent implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'UserAgent';\n\n /**\n * @inheritDoc\n */\n public name: string = UserAgent.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = event.request?.url || global.location?.href;\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n const headers = {\n ...event.request?.headers,\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\n\nimport { BrowserOptions } from './backend';\nimport { BrowserClient } from './client';\nimport { ReportDialogOptions, wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\n\nexport const defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options: BrowserOptions = {}): void {\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n const window = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window.SENTRY_RELEASE && window.SENTRY_RELEASE.id) {\n options.release = window.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = false;\n }\n\n initAndBind(BrowserClient, options);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}): void {\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n const client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId(): string | undefined {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad(): void {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback: () => void): void {\n callback();\n}\n\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrap(fn: (...args: any) => any): any {\n return internalWrap(fn)();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking(): void {\n const window = getGlobalObject();\n const hub = getCurrentHub();\n\n /**\n * We should be using `Promise.all([windowLoaded, firstContentfulPaint])` here,\n * but, as always, it's not available in the IE10-11. Thanks IE.\n */\n let loadResolved = document.readyState === 'complete';\n let fcpResolved = false;\n const possiblyEndSession = (): void => {\n if (fcpResolved && loadResolved) {\n hub.endSession();\n }\n };\n const resolveWindowLoaded = (): void => {\n loadResolved = true;\n possiblyEndSession();\n window.removeEventListener('load', resolveWindowLoaded);\n };\n\n hub.startSession();\n\n if (!loadResolved) {\n // IE doesn't support `{ once: true }` for event listeners, so we have to manually\n // attach and then detach it once completed.\n window.addEventListener('load', resolveWindowLoaded);\n }\n\n try {\n const po = new PerformanceObserver((entryList, po) => {\n entryList.getEntries().forEach(entry => {\n if (entry.name === 'first-contentful-paint' && entry.startTime < firstHiddenTime) {\n po.disconnect();\n fcpResolved = true;\n possiblyEndSession();\n }\n });\n });\n\n // There's no need to even attach this listener if `PerformanceObserver` constructor will fail,\n // so we do it below here.\n let firstHiddenTime = document.visibilityState === 'hidden' ? 0 : Infinity;\n document.addEventListener(\n 'visibilitychange',\n event => {\n firstHiddenTime = Math.min(firstHiddenTime, event.timeStamp);\n },\n { once: true },\n );\n\n po.observe({\n type: 'paint',\n buffered: true,\n });\n } catch (e) {\n fcpResolved = true;\n possiblyEndSession();\n }\n}\n","import { getCurrentHub } from '@sentry/hub';\nimport { Client, Options } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\n/** A class object that can instantiate Client objects. */\nexport type ClientClass = new (options: O) => F;\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass: ClientClass, options: O): void {\n if (options.debug === true) {\n logger.enable();\n }\n const hub = getCurrentHub();\n const client = new clientClass(options);\n hub.bindClient(client);\n}\n","import React, {\n\tuseEffect,\n\tuseState,\n\tcreateContext,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseMemo,\n} from \"react\";\nimport { QueryClient, QueryClientProvider } from \"react-query\";\nimport { ReactQueryDevtools } from \"react-query/devtools\";\nimport { Route, BrowserRouter, Switch } from \"react-router-dom\";\nimport TagManager from \"react-gtm-module\";\nimport Utils from \"utils/utils\";\nimport { CLIENTS, CANACCORD_GENUITY_BACKGROUND } from \"utils/constants\";\nimport Options from \"./Options/Options\";\nimport MarketsAndResearchApp from \"./MarketsAndResearch/MarketsAndResearchApp\";\nimport CanacordResearchApp from \"./Canacord/Research/ResearchApp\";\nimport RequestService from \"../services/RequestService\";\nimport SecFilingsPdf from \"./MarketsAndResearch/Overview/SecFilingsPdf/SecFilingsPdf\";\nimport ResearchPdf from \"./MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchPdf/ResearchPdf\";\nimport { getUserInfo } from \"services/APIs/UserInfo/UserInfoAPI\";\nimport \"./App.scss\";\nimport { QuoteErrorMessage } from \"./MarketsAndResearch/Error/QuoteSearchError/ErrorMessage\";\nimport * as Sentry from \"@sentry/browser\";\nSentry.init({\n\tdsn: Utils.getDsnByEnvironment(),\n\tenvironment: window.MD.ENV,\n});\n\nconst initializeGoogleAnalytics = () => {\n\tTagManager.initialize({\n\t\tgtmId: \"GTM-WK9LVRV\",\n\t\tauth: window.MD?.GTM_AUTH || \"\",\n\t\tpreview: window.MD?.GTM_PREVIEW || \"\",\n\t});\n};\nconst populateGlobals = () => {\n\tconst parentOrigin =\n\t\twindow.location.ancestorOrigins?.length > 0\n\t\t\t? window.location.ancestorOrigins[0]\n\t\t\t: document.referrer;\n\tconst iFrameDomain = window.location.origin;\n\twindow.MD.MS_DOMAINS.forEach((item) => {\n\t\tconst regEx = new RegExp(item);\n\t\tif (regEx.test(parentOrigin)) {\n\t\t\twindow.MD.PARENT_DOMAIN = item;\n\t\t}\n\t\tif (regEx.test(iFrameDomain)) {\n\t\t\twindow.MD.MSO_DOMAIN = item;\n\t\t\twindow.MD.CLIENT = CLIENTS.MORGAN_STANLEY;\n\t\t}\n\t});\n\tif (!window.MD.CG_API_DOMAIN && window.MD.CG_SUB_DOMAINS?.length) {\n\t\twindow.MD.CG_SUB_DOMAINS.forEach((item) => {\n\t\t\tconst regEx = new RegExp(item);\n\t\t\tif (regEx.test(iFrameDomain)) {\n\t\t\t\twindow.MD.CG_API_DOMAIN = item;\n\t\t\t\twindow.MD.CLIENT = CLIENTS.CANACCORD_GENUITY;\n\t\t\t}\n\t\t});\n\t}\n\n\t// Get the client from the iframe query param\n\t// on localhost, since we can't determine the client by the domain\n\tconst query = new URLSearchParams(window.location.search);\n\tconst client = query.get(\"client\");\n\tconst pathname = window.location.pathname.split(\"/\")[1];\n\n\t// Only set the client this way if it is passed in the query string\n\t// and it hasn't already been set from the domain/globals.js setup\n\tif (client && !window.MD.CLIENT) {\n\t\twindow.MD.CLIENT =\n\t\t\tclient === CLIENTS.CANACCORD_GENUITY\n\t\t\t\t? CLIENTS.CANACCORD_GENUITY\n\t\t\t\t: CLIENTS.MORGAN_STANLEY;\n\t}\n\tif (pathname === \"ms-research\") {\n\t\tinitializeGoogleAnalytics();\n\t}\n};\nexport const ApiInstanceAndUserInfoContext = createContext();\n\nconst App = React.memo(() => {\n\tconst [authToken, setAuthToken] = useState();\n\tconst apiInstance = useMemo(() => {\n\t\tpopulateGlobals();\n\t\treturn RequestService.init(authToken);\n\t}, [authToken]);\n\tconst [symbol, setSymbol] = useState(null);\n\tconst [viewType, setViewType] = useState(null);\n\tconst [optionsType, setOptionsType] = useState(null);\n\tconst [isOptionsTradeEnabled, setIsOptionsTradeEnabled] = useState(false);\n\tconst [userInfo, setUserInfo] = useState(null);\n\tconst [frameSize, setFrameSize] = useState({ height: null, width: null });\n\tconst [resizeObserver] = useState(\n\t\tnew ResizeObserver((entries) => {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tif (!Array.isArray(entries) || !entries.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateFrameSizes(entries);\n\t\t\t});\n\t\t})\n\t);\n\tconst [analyticsIsInitialized, setAnalyticsIsInitialized] = useState(false);\n\tconst mainRef = useRef();\n\tconst queryClient = new QueryClient({\n\t\tdefaultOptions: {\n\t\t\tqueries: {\n\t\t\t\trefetchOnWindowFocus: false,\n\t\t\t\tretry: 2,\n\t\t\t},\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tif (window.location.pathname.split(\"/\")[1] !== \"ms-research\") return;\n\t\tconst headScript = document.createElement(\"script\");\n\t\tconst initializeAdobeAnalytics = () => {\n\t\t\tconst { head } = document;\n\t\t\theadScript.setAttribute(\"type\", \"text/javascript\");\n\t\t\twindow.MktrsPageData = {\n\t\t\t\tEventName: \"\",\n\t\t\t\tSite: \"mso\",\n\t\t\t\tPlatform: \"\",\n\t\t\t\tClientUUID47: \"\",\n\t\t\t};\n\t\t\tif (window.location.pathname.split(\"/\")[2] === \"options\") {\n\t\t\t\twindow.MktrsPageData = {\n\t\t\t\t\t...window.MktrsPageData,\n\t\t\t\t\tPageName: \"trade | enter trade | options chain\",\n\t\t\t\t\tL1: \"trade\",\n\t\t\t\t\tL2: \"enter trade\",\n\t\t\t\t\tL3: \"options chain\",\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\twindow.MktrsPageData = {\n\t\t\t\t\t...window.MktrsPageData,\n\t\t\t\t\tPageName: \"market research | quote search | overview-new\",\n\t\t\t\t\tL1: \"market research\",\n\t\t\t\t\tL2: \"quote search\",\n\t\t\t\t\tL3: \"overview-new\",\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tswitch (window.MD.ENV) {\n\t\t\t\tcase \"production\":\n\t\t\t\t\theadScript.src =\n\t\t\t\t\t\t\"//assets.adobedtm.com/b124caa02ab9/58769afc0174/launch-0afb1da30e25.min.js\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"acceptance2\":\n\t\t\t\tcase \"acceptance\":\n\t\t\t\tcase \"development\":\n\t\t\t\t\theadScript.src =\n\t\t\t\t\t\t\"//assets.adobedtm.com/b124caa02ab9/58769afc0174/launch-c1ac571f714c-development.min.js\";\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\thead.appendChild(headScript);\n\t\t\theadScript.onload = () => {\n\t\t\t\tsetAnalyticsIsInitialized(true);\n\t\t\t};\n\t\t};\n\t\tinitializeAdobeAnalytics();\n\t\treturn () => {\n\t\t\theadScript.removeEventListener(\"load\", setAnalyticsIsInitialized);\n\t\t};\n\t}, []);\n\tconst handleMessage = (event) => {\n\t\tif (!event?.data || typeof event.data !== \"string\") return;\n\t\tif (\n\t\t\tevent.origin !== window.MD.PARENT_DOMAIN &&\n\t\t\tevent.origin !== window.MD.CG_API_DOMAIN\n\t\t)\n\t\t\treturn;\n\t\tconst { name, data } = JSON.parse(event.data);\n\t\tif ((name !== \"LoadOptions\" && name !== \"LoadInternalStorybook\") || !data) return;\n\t\tsetSymbol(data.symbol);\n\t\tsetViewType(data.viewType);\n\t\tsetOptionsType(data.optionsType);\n\t\tsetIsOptionsTradeEnabled(data.isOptionsTradeEnabled);\n\t\tif (data.isInternal) setAuthToken(data.authToken);\n\t};\n\n\tuseEffect(() => {\n\t\twindow.parent.postMessage(\n\t\t\tJSON.stringify({ name: \"MDFrameLoaded\" }),\n\t\t\twindow.MD.PARENT_DOMAIN\n\t\t);\n\t\tif (window?.MD?.CLIENT === CLIENTS.CANACCORD_GENUITY) {\n\t\t\tdocument.body.parentElement.style.backgroundColor = CANACCORD_GENUITY_BACKGROUND;\n\t\t}\n\t}, []);\n\tuseEffect(() => {\n\t\twindow.addEventListener(\"message\", handleMessage, []);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage);\n\t\t};\n\t}, []);\n\tuseEffect(() => {\n\t\tconst getUserInfoData = async () => {\n\t\t\tif (window?.MD?.CLIENT !== CLIENTS.MORGAN_STANLEY) return;\n\t\t\tconst userInfoData = await getUserInfo(apiInstance);\n\t\t\tsetUserInfo(userInfoData);\n\t\t};\n\t\tgetUserInfoData();\n\t}, [apiInstance]);\n\n\tuseEffect(() => {\n\t\tif (userInfo?.channel && userInfo?.uuid && analyticsIsInitialized) {\n\t\t\twindow.MktrsPageData.Platform =\n\t\t\t\tuserInfo.channel.toLowerCase() === \"msonline\" ? \"website\" : \"mobile\";\n\t\t\twindow.MktrsPageData.ClientUUID47 = userInfo.uuid;\n\n\t\t\t//setting pageBottom() script dynamically to allow for page to load\n\t\t\tconst bodyScript = document.createElement(\"script\");\n\t\t\tbodyScript.setAttribute(\"type\", \"text/javascript\");\n\t\t\tbodyScript.innerHTML = `window._satellite.pageBottom();`;\n\t\t\tdocument.body.appendChild(bodyScript);\n\n\t\t\t//event tracking even on page load\n\t\t\twindow._satellite.track(\"MktRS-Page-Tracking\");\n\t\t}\n\t}, [userInfo, analyticsIsInitialized]);\n\tuseLayoutEffect(() => {\n\t\tconst currentRef = mainRef.current;\n\t\tresizeObserver.observe(currentRef);\n\t\treturn () => {\n\t\t\tresizeObserver?.unobserve(currentRef);\n\t\t};\n\t}, [resizeObserver, mainRef]);\n\tconst updateFrameSizes = (entries) => {\n\t\tif (entries?.length && entries[0].contentRect) {\n\t\t\tconst { height: newHeight, width: newWidth } = entries[0].contentRect;\n\t\t\tif (frameSize.height === newHeight && frameSize.width === newWidth) return;\n\t\t\tUtils.postDimensions(newHeight, newWidth);\n\t\t\tsetFrameSize({ height: newHeight, width: newWidth });\n\t\t}\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\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\t\t

Markit Digital

Options Test Page!

{\" \"}\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\t\n\t\t\t\t\t\t\t\t{/* Canacord Genuity Routes */}\n\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)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{/* Morgan Stanley Routes */}\n\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)}\n\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\t/>\n\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\t }\n\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\t\t\t\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\t (\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/>\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
\n\t\t\t\n\t\t
\n\t);\n});\n\nexport default App;\n","export const EVENT_TYPES = {\n\tEARNINGS: \"earningscustom\",\n\tDIVIDENDS: \"dividends\",\n\tHIGHLOW: \"highlow\",\n\tRATINGSMS: \"morganstanleyratingscustom\",\n\tRATINGSMSTAR: \"morningstarratingscustom\",\n\tSPLITS: \"splits\",\n\tCUSTOM: \"custom\",\n};\n\n// Ranking for how event icons should be stacked; e.g. Earnings under Dividents\nconst SORT_RANK = {};\nSORT_RANK[EVENT_TYPES.EARNINGS] = 1;\nSORT_RANK[EVENT_TYPES.DIVIDENDS] = 2;\nSORT_RANK[EVENT_TYPES.RATINGSMS] = 3;\nSORT_RANK[EVENT_TYPES.RATINGSMSTAR] = 4;\nSORT_RANK[EVENT_TYPES.HIGHLOW] = 5;\nSORT_RANK[EVENT_TYPES.SPLITS] = 6;\n\nconst DATA_INTERFACE =\n\t\"bin\\\\MODClients\\\\MorganStanley\\\\Research\\\\MorganStanley.Research.DataInterface.dll;MorganStanley.Research.DataInterface\";\n\nexport default {\n\tEVENT_TYPES,\n\tSORT_RANK,\n\tDATA_INTERFACE,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ChartEventsOverlay_modal-backdrop__+Lutw\",\"show\":\"ChartEventsOverlay_show__3p0S1\",\"LinesEllipsis\":\"ChartEventsOverlay_LinesEllipsis__X5GUk\",\"eventIcon\":\"ChartEventsOverlay_eventIcon__osewy\",\"ratingsEventIcon\":\"ChartEventsOverlay_ratingsEventIcon__HtbLd\",\"upgrade\":\"ChartEventsOverlay_upgrade__ZR7ub\",\"downgrade\":\"ChartEventsOverlay_downgrade__hgBJV\",\"tooltip-inner\":\"ChartEventsOverlay_tooltip-inner__1XWDk\"};","import React, { useState, useEffect } from \"react\";\nimport { find, forEach, sortBy } from \"lodash\";\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\nimport Tooltip from \"react-bootstrap/Tooltip\";\nimport formatter, { options } from \"utils/formatUtils\";\nimport styles from \"./ChartEventsOverlay.module.scss\";\nimport ChartEventConstants from \"./ChartEventsConstants\";\nimport utils from \"utils/utils\";\nimport { ReactComponent as UpgradeIcon } from \"assets/icons/upgrade-icon.svg\";\nimport { ReactComponent as DowngradeIcon } from \"assets/icons/downgrade-icon.svg\";\nimport { ReactComponent as NoChangeIcon } from \"assets/icons/no-change-icon.svg\";\n\n/**\n * Renders event icons on a chart with tooltips.\n * @param {Array} props.eventsData - Events from a Modcharts chartseries data call\n */\nconst ChartEventsOverlay = ({\n\tclassName,\n\teventsData,\n\thoverInfoFilters,\n\tpageName,\n\ttooltipData,\n}) => {\n\t// A transformed array of events data for rendering on the chart;\n\t// this is used in cases where multiple events have to be stacked on a single\n\t// point in time\n\tconst [eventsRenderData, setEventsRenderData] = useState([]);\n\n\tconst tooltip = { isRating: false, isFvEstimate: false, isPriceTarget: false };\n\n\ttooltip.isRating = hoverInfoFilters?.find(\n\t\t(item) => item.name === \"ratings\" || item.name === \"msratings\"\n\t)?.value;\n\ttooltip.isFvEstimate = hoverInfoFilters?.find(\n\t\t(item) => item.name === \"fvEstimate\"\n\t)?.value;\n\ttooltip.isPriceTarget = hoverInfoFilters?.find(\n\t\t(item) => item.name === \"priceTarget\"\n\t)?.value;\n\n\t// Update the events render data if and only if events data changes\n\tuseEffect(() => {\n\t\tif (eventsRenderData.length && (!eventsData || !Object.keys(eventsData).length)) {\n\t\t\tsetEventsRenderData([]);\n\t\t\treturn;\n\t\t}\n\n\t\t// zipper the events together so that we can properly stack multiple events on a single point\n\t\tconst xCoords = [];\n\t\tconst zipped = {};\n\n\t\t//eslint-disable-next-line\n\t\tfor (const eventType in eventsData) {\n\t\t\teventsData[eventType].forEach((datapoint) => {\n\t\t\t\t// Round x coords to the nearest integer for grouping\n\t\t\t\tconst x = Math.round(datapoint.x);\n\n\t\t\t\tif (xCoords.indexOf(x) === -1) {\n\t\t\t\t\txCoords.push(x);\n\t\t\t\t\tzipped[x] = {\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tcoords: { x, y: datapoint.y },\n\t\t\t\t\t\t\tdates: [],\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Choose the highest y-axis position, since we are doing our\n\t\t\t\t// own stacking and this puts us closest to the line\n\t\t\t\tif (zipped[x].meta.coords.y < datapoint.y) {\n\t\t\t\t\tzipped[x].meta.coords.y = datapoint.y;\n\t\t\t\t}\n\n\t\t\t\t// Create a list of dates, if there are multiple ones on a given\n\t\t\t\t// x position\n\t\t\t\tzipped[x].meta.dates.push(datapoint.event.date);\n\n\t\t\t\tlet eventsAtPoint = zipped[x].events;\n\t\t\t\t// Group all event types into an array\n\t\t\t\tif (!eventsAtPoint) {\n\t\t\t\t\tzipped[x].events = [];\n\t\t\t\t\teventsAtPoint = zipped[x].events;\n\t\t\t\t}\n\n\t\t\t\tconst eventTypeAtPoint = find(eventsAtPoint, (e) => {\n\t\t\t\t\treturn e.type === eventType;\n\t\t\t\t});\n\n\t\t\t\t// Add to existing event type if it exists\n\t\t\t\tif (eventTypeAtPoint) {\n\t\t\t\t\teventTypeAtPoint.events.push(datapoint.event);\n\t\t\t\t\t// Otherwise, create it and push the first datapoint\n\t\t\t\t} else {\n\t\t\t\t\teventsAtPoint.push({\n\t\t\t\t\t\ttype: eventType,\n\t\t\t\t\t\tevents: [datapoint.event],\n\t\t\t\t\t});\n\n\t\t\t\t\t// Sort events for rendering\n\t\t\t\t\tzipped[x].events = sortBy(eventsAtPoint, (e) => {\n\t\t\t\t\t\treturn ChartEventConstants.SORT_RANK[e.type];\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet eventsArray = [];\n\n\t\tforEach(zipped, (point) => {\n\t\t\teventsArray.push(point);\n\t\t});\n\n\t\teventsArray = sortBy(eventsArray, (point) => {\n\t\t\treturn point.meta.coords.x;\n\t\t});\n\n\t\tsetEventsRenderData([...eventsArray]);\n\t}, [eventsRenderData.length, eventsData, tooltipData]);\n\n\tconst getFormattedPrice = (val, currency) => {\n\t\treturn currency === \"USD\"\n\t\t\t? formatter.price(val)\n\t\t\t: formatter.price(val, undefined, undefined, \"\");\n\t};\n\n\tconst formatRatingsPriceTargetChange = (item) => {\n\t\tlet currentValue, priorValue;\n\n\t\tif (item.Label === \"Price Target\") {\n\t\t\tcurrentValue = getFormattedPrice(item.TargetPrice, item.Currency);\n\t\t\tpriorValue = item.PriorTargetPrice\n\t\t\t\t? getFormattedPrice(item.PriorTargetPrice, item.Currency)\n\t\t\t\t: null;\n\t\t} else {\n\t\t\tcurrentValue = utils.ratingString(item.Rating);\n\t\t\tpriorValue = item.PriorRating;\n\t\t}\n\n\t\tlet changeTypeValue = item.ChangeType;\n\n\t\tif (changeTypeValue === \"Upgrade\") {\n\t\t\tchangeTypeValue = \"Upgraded \";\n\t\t} else if (changeTypeValue === \"Downgrade\") {\n\t\t\tchangeTypeValue = \"Downgraded \";\n\t\t}\n\n\t\tconst changeTypeText = changeTypeValue\n\t\t\t? changeTypeValue\n\t\t\t: formatter.options.errorString;\n\t\tconst currentValueText = currentValue ? currentValue : formatter.options.errorString;\n\n\t\tlet result = formatter.options.errorString;\n\t\tif (changeTypeValue && currentValue) {\n\t\t\tresult = `${changeTypeText} to ${currentValueText}`;\n\t\t\tif (priorValue) {\n\t\t\t\tresult += ` from ${priorValue}`;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tconst eventOverlay = (metaEvent, event, elementKey) => {\n\t\tlet content = <>;\n\t\tswitch (metaEvent.type) {\n\t\t\tcase ChartEventConstants.EVENT_TYPES.EARNINGS:\n\t\t\t\tcontent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{event.CurrentCurrency\n\t\t\t\t\t\t\t\t? `Actual Non-GAAP:\n\t\t\t\t\t\t${formatter.price(event.actual, 2, false, event.CurrentCurrency)}`\n\t\t\t\t\t\t\t\t: `Actual Non-GAAP:\n\t\t\t\t\t\t${options.errorString}`}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
{`Consensus Estimate: ${formatter.price(\n\t\t\t\t\t\t\tevent.consensusEstimate,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tevent.CurrentCurrency\n\t\t\t\t\t\t)}`}
\n\t\t\t\t\t\t
{`Estimate Range: ${formatter.price(\n\t\t\t\t\t\t\tevent.estimateRangeLow,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tevent.CurrentCurrency\n\t\t\t\t\t\t)}-${formatter.number(event.estimateRangeHigh, 2)}`}
\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ChartEventConstants.EVENT_TYPES.DIVIDENDS:\n\t\t\t\tcontent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
{`Pay Date: ${formatter\n\t\t\t\t\t\t\t.moment(event.paymentDate)\n\t\t\t\t\t\t\t.format(\"MMM DD YYYY\")}`}
\n\t\t\t\t\t\t
{`${event.typeDescription} Dividend: ${formatter.price(\n\t\t\t\t\t\t\tevent.typeDescription === \"Spin-off\"\n\t\t\t\t\t\t\t\t? event.cashEquivalent\n\t\t\t\t\t\t\t\t: event.dividends,\n\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tevent.currency\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\tcase ChartEventConstants.EVENT_TYPES.RATINGSMS:\n\t\t\tcase ChartEventConstants.EVENT_TYPES.RATINGSMSTAR:\n\t\t\t\tlet ratingsMSEvent = event;\n\t\t\t\tcontent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
{`Provider: ${formatter.text(ratingsMSEvent.ProviderName)}`}
\n\t\t\t\t\t\t
{`Change: ${formatRatingsPriceTargetChange(ratingsMSEvent)}`}
\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ChartEventConstants.EVENT_TYPES.SPLITS:\n\t\t\t\tconst splitsEvent = event[ChartEventConstants.EVENT_TYPES.SPLITS];\n\t\t\t\tcontent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
{`Stock Split: ${formatter.text(splitsEvent)}`}
\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst style = {\n\t\t\tpaddingBottom: \"5px\",\n\t\t};\n\n\t\tconst tootltipStyle = {\n\t\t\twidth: \"auto\",\n\t\t\tpadding: 0,\n\t\t\tmaxWidth: \"270px\",\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{metaEvent.type === ChartEventConstants.EVENT_TYPES.DIVIDENDS ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`Ex-Dividend: ${formatter.moment(event.date).format(\"MMM DD YYYY\")}`}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t{formatter.moment(event.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t{content}\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderEventIcon = (point, tooltip) => {\n\t\tconst VERTICAL_OFFSET = -5;\n\t\tconst HORIZONTAL_OFFSET = 9;\n\t\tconst style = {\n\t\t\tleft: point.meta.coords.x - HORIZONTAL_OFFSET,\n\t\t\ttop: point.meta.coords.y - VERTICAL_OFFSET,\n\t\t\tposition: \"absolute\",\n\t\t};\n\n\t\tconst hasMultipleEvents = (metaEvent, type = null) => {\n\t\t\t// check number of events nearby\n\t\t\tlet eventsNum = 0;\n\t\t\tif (type) eventsNum = metaEvent.find((x) => x.type === type)?.events.length;\n\t\t\telse\n\t\t\t\teventsNum = metaEvent.find(\n\t\t\t\t\t(x) =>\n\t\t\t\t\t\tx.type === \"morningstarratingscustom\" ||\n\t\t\t\t\t\tx.type === \"morganstanleyratingscustom\"\n\t\t\t\t)?.events.length;\n\t\t\treturn eventsNum;\n\t\t};\n\t\tconst ceilTop = Math.ceil(style.top);\n\n\t\treturn point.events.map((metaEvent, metaEventIndex) => {\n\t\t\treturn metaEvent.events.map((event, eventIndex) => {\n\t\t\t\tif (pageName !== \"analystResearch\")\n\t\t\t\t\tstyle.left = point.meta.coords.x - HORIZONTAL_OFFSET;\n\n\t\t\t\tif (ceilTop > 100 && ceilTop < 450) {\n\t\t\t\t\t// condition for chart top border\n\t\t\t\t\tstyle.top = ceilTop - 23;\n\t\t\t\t} else if (ceilTop > 450) {\n\t\t\t\t\t// condition for chart bottom border\n\t\t\t\t\tstyle.top = ceilTop - 35;\n\t\t\t\t} else if (ceilTop <= 100) {\n\t\t\t\t\t// condition for chart top most area\n\t\t\t\t\tstyle.top = ceilTop - 1;\n\t\t\t\t}\n\n\t\t\t\t//stop events overflowing from bottom of chart in analystResearch card\n\t\t\t\tif (pageName === \"analystResearch\" && style.top > 440) {\n\t\t\t\t\tstyle.top = style.top - 45;\n\t\t\t\t}\n\n\t\t\t\t// to place events in vertical row\n\t\t\t\tif (eventIndex > 0) style.marginTop = 22 * eventIndex;\n\n\t\t\t\tlet type;\n\t\t\t\tlet additionalStyles = [];\n\t\t\t\tconst movePosition = (events, index, style) => {\n\t\t\t\t\tconst others = hasMultipleEvents(events); // check for rating events\n\t\t\t\t\tif (others) {\n\t\t\t\t\t\tif (ceilTop > 100 && ceilTop < 450) style.top += index - 23;\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tswitch (metaEvent.type) {\n\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.DIVIDENDS:\n\t\t\t\t\t\ttype = \"D\";\n\t\t\t\t\t\t//move position only if there are other events nearby. they may overlap with others\n\t\t\t\t\t\tmovePosition(point.events, eventIndex, style);\n\t\t\t\t\t\tconst earningEvents = hasMultipleEvents(point.events, \"earningscustom\");\n\t\t\t\t\t\tif (earningEvents) {\n\t\t\t\t\t\t\tif (ceilTop > 100 && ceilTop < 450) {\n\t\t\t\t\t\t\t\t//with in the chart area\n\t\t\t\t\t\t\t\t// set top position below earningEvents\n\t\t\t\t\t\t\t\tstyle.top += eventIndex - 23 * earningEvents;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (style.top < 90) {\n\t\t\t\t\t\t\t// keep the event with in chart area and below earning events\n\t\t\t\t\t\t\tstyle.top = 70;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.EARNINGS:\n\t\t\t\t\t\ttype = \"E\";\n\t\t\t\t\t\tmovePosition(point.events, eventIndex, style);\n\t\t\t\t\t\tif (style.top < 90) {\n\t\t\t\t\t\t\t// keep the event with in chart area\n\t\t\t\t\t\t\tstyle.top = 90;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.SPLITS:\n\t\t\t\t\t\ttype = \"S\";\n\t\t\t\t\t\tmovePosition(point.events, eventIndex, style);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.RATINGSMS:\n\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.RATINGSMSTAR:\n\t\t\t\t\t\tlet ratingsIcon;\n\t\t\t\t\t\tswitch (event.ChangeType) {\n\t\t\t\t\t\t\tcase \"Raised\":\n\t\t\t\t\t\t\tcase \"Upgrade\":\n\t\t\t\t\t\t\t\tratingsIcon = ;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"Lowered\":\n\t\t\t\t\t\t\tcase \"Downgrade\":\n\t\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t\t\tPush lowered/downgrade rating events below the line chart.\n\t\t\t\t\t\t\t\t\tThis will also pull raised/upgrade events down by the same\n\t\t\t\t\t\t\t\t\tamount, since they are added second.\n\t\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\t\tratingsIcon = ;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tratingsIcon = ;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype = ratingsIcon;\n\t\t\t\t\t\tconst numEarningEvents =\n\t\t\t\t\t\t\thasMultipleEvents(point.events, \"earningscustom\") || true;\n\t\t\t\t\t\tconst numDividendEvents =\n\t\t\t\t\t\t\thasMultipleEvents(point.events, \"dividends\") || true;\n\t\t\t\t\t\tconst otherEvents = numEarningEvents + numDividendEvents;\n\n\t\t\t\t\t\t// place events below earnings and dividends\n\t\t\t\t\t\tif (style.top < 110) {\n\t\t\t\t\t\t\tstyle.top = 110 + 23 * otherEvents;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tadditionalStyles.push(styles.ratingsEventIcon);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\ttype = \"\";\n\t\t\t\t\t\t// eslint-disable-next-line array-callback-return\n\t\t\t\t\t\treturn; // to avoid creation of overlay trigger for events like highlow\n\t\t\t\t}\n\t\t\t\tvar eventType;\n\t\t\t\tif (metaEvent.type === \"earningscustom\") {\n\t\t\t\t\teventType = metaEvent.type.replace(/custom/i, \"\").toLowerCase();\n\t\t\t\t} else {\n\t\t\t\t\teventType = metaEvent.type;\n\t\t\t\t}\n\n\t\t\t\tconst elementKey = `${metaEventIndex}-${eventIndex}`;\n\t\t\t\tlet overlay = eventOverlay(metaEvent, event, elementKey);\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{type}\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\treturn (\n\t\t
\n\t\t\t{eventsRenderData.map((point) => {\n\t\t\t\treturn renderEventIcon(point, tooltip);\n\t\t\t})}\n\t\t\t{eventsData && Object.keys(eventsData).length > 0 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\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\t\n\t\t\t\t\t\t{Object.keys(eventsData).map((eventType, index) => {\n\t\t\t\t\t\t\treturn eventsData[eventType].map((event, eventIndex) => {\n\t\t\t\t\t\t\t\tswitch (eventType) {\n\t\t\t\t\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.DIVIDENDS:\n\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\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\t\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\tcase ChartEventConstants.EVENT_TYPES.EARNINGS:\n\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\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\t\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\tcase ChartEventConstants.EVENT_TYPES.RATINGSMS:\n\t\t\t\t\t\t\t\t\tcase ChartEventConstants.EVENT_TYPES.RATINGSMSTAR:\n\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\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\t\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\tcase ChartEventConstants.EVENT_TYPES.SPLITS:\n\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\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\t\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\tcase ChartEventConstants.EVENT_TYPES.HIGHLOW:\n\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\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\t\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\tdefault:\n\t\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})}\n\t\t\t\t\t\n\t\t\t\t
Event data
DateEvent TypeValue
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{formatter.moment(event?.event?.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t\t\t\t\t\t\t\tDividends\n\t\t\t\t\t\t\t\t\t\t\t\t\t{event?.event.dividends} {event?.event?.currency}\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\t\t{formatter.moment(event?.event?.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t\t\t\t\t\t\t\tEarnings{event.event.actual}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{formatter.moment(event?.event?.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t\t\t\t\t\t\t\t{formatter.text(event.event.ProviderName + \" Ratings\")}{formatter.text(event.event.ChangeType)}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{formatter.moment(event?.event?.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t\t\t\t\t\t\t\tSplits{event?.event?.splits}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{formatter.moment(event?.event?.date).format(\"MMM DD YYYY\")}\n\t\t\t\t\t\t\t\t\t\t\t\tHigh / Low : {formatter.text(event?.event?.occurence)}{formatter.text(event?.event?.highlow)}
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default ChartEventsOverlay;\n","// extracted by mini-css-extract-plugin\nexport default {\"chevron\":\"Chevron_chevron__3nIL8\"};","import React from \"react\";\n\nimport styles from \"./Chevron.module.scss\";\n\nconst Chevron = React.memo((props) => {\n\tconst { color, direction, dimension } = props;\n\n\tfunction chevronPath(direction) {\n\t\tswitch (direction) {\n\t\t\tcase \"up\":\n\t\t\t\treturn \"M9.646 6.646a.5.5 0 01.708 0l6 6a.5.5 0 01-.708.708L10 7.707l-5.646 5.647a.5.5 0 01-.708-.708l6-6z\";\n\t\t\tcase \"down\":\n\t\t\t\treturn \"M3.646 6.646a.5.5 0 01.708 0L10 12.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z\";\n\t\t\tcase \"left\":\n\t\t\t\treturn \"M13.354 3.646a.5.5 0 010 .708L7.707 10l5.647 5.646a.5.5 0 01-.708.708l-6-6a.5.5 0 010-.708l6-6a.5.5 0 01.708 0z\";\n\t\t\tcase \"right\":\n\t\t\tdefault:\n\t\t\t\treturn \"M6.646 3.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L12.293 10 6.646 4.354a.5.5 0 010-.708z\";\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nexport default Chevron;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"CollapsibleCard_modal-backdrop__rHbVe\",\"show\":\"CollapsibleCard_show__bk3iY\",\"LinesEllipsis\":\"CollapsibleCard_LinesEllipsis__jHI94\",\"cardContainer\":\"CollapsibleCard_cardContainer__5N7Sg\",\"cardHeader\":\"CollapsibleCard_cardHeader__k8RuO\",\"cardContent\":\"CollapsibleCard_cardContent__w-avc\",\"cardContentNoPadding\":\"CollapsibleCard_cardContentNoPadding__W-9Mf\",\"title\":\"CollapsibleCard_title__yGdIR\",\"additionalText\":\"CollapsibleCard_additionalText__weJUV\",\"cardLinkContainer\":\"CollapsibleCard_cardLinkContainer__lI1yy\",\"cardLink\":\"CollapsibleCard_cardLink__ntNnD\",\"collapseExpand\":\"CollapsibleCard_collapseExpand__CfOWd\"};","import React, { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\n\nimport Chevron from \"../Chevron/Chevron\";\nimport MSSpinner from \"components/Lib/MSSpinner/MSSpinner\";\nimport classNames from \"classnames\";\nimport { Link } from \"react-router-dom\";\n\nimport styles from \"./CollapsibleCard.module.scss\";\n\nconst CollapsibleCard = React.memo((props) => {\n\tconst dispatch = useDispatch();\n\tconst [isCollapsed, setIsCollapsed] = useState(false);\n\tconst { showNavigationLink, updateCardCollapsedState } = props;\n\n\tconst handleLinkClick = (e) => {\n\t\tdispatch({\n\t\t\ttype: actionTypes.UPDATE_MARKETS_RESEARCH_ROUTE_NAME,\n\t\t\trouteName: props.componentName,\n\t\t});\n\t\twindow.scrollTo({\n\t\t\ttop: 0,\n\t\t\tbehavior: \"smooth\",\n\t\t});\n\t};\n\n\tfunction onClickCollapseExpand() {\n\t\tconst newIsCollapsed = !isCollapsed;\n\t\tsetIsCollapsed(newIsCollapsed);\n\t\twindow.dataLayer.push({\n\t\t\tevent: \"cardCollapseExpand\",\n\t\t\teventProps: {\n\t\t\t\tsectionName: props.headingText,\n\t\t\t\tisCollapsed: isCollapsed,\n\t\t\t},\n\t\t});\n\n\t\t// allow card components to reference collapsed state of collapsable card\n\t\tif (updateCardCollapsedState) {\n\t\t\tupdateCardCollapsedState(newIsCollapsed);\n\t\t}\n\n\t\tif (props.onClickCollapseExpandCallback) {\n\t\t\tprops.onClickCollapseExpandCallback(newIsCollapsed);\n\t\t}\n\t}\n\n\tconst queryParams = window.location.search;\n\tconst toPath = props.componentName + queryParams;\n\n\tconst navLink = props.linkText && props.linkUrl && (\n\t\t\n\t\t\t{props.linkText}\n\t\t\n\t);\n\n\tconst spinnerStyle = {\n\t\tminHeight: \"100px\",\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

{props.headingText}

\n\t\t\t\t{props.additionalText && (\n\t\t\t\t\t
{props.additionalText}
\n\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t\t{showNavigationLink ? navLink : null}\n\t\t\t\t\t{!props.hideIcon && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`select to ${\n\t\t\t\t\t\t\t\tisCollapsed ? \"expand\" : \"collapse\"\n\t\t\t\t\t\t\t} section`}\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
\n\t\t\t{!isCollapsed && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.children}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n});\n\nexport default CollapsibleCard;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"Drawer_modal-backdrop__IkbDU\",\"show\":\"Drawer_show__sTgf6\",\"LinesEllipsis\":\"Drawer_LinesEllipsis__As5HG\",\"drawer\":\"Drawer_drawer__n61I9\",\"drawerContent\":\"Drawer_drawerContent__jeklT\",\"drawerFull\":\"Drawer_drawerFull__BlBaQ\",\"drawerOpen\":\"Drawer_drawerOpen__mYDiW\",\"drawerTitle\":\"Drawer_drawerTitle__HZGEp\"};","import React from \"react\";\nimport styles from \"./Drawer.module.scss\";\n\nconst Drawer = (props) => {\n\t// open class flag\n\tconst isOpen = props.open ? styles.drawerOpen : \"\";\n\tconst isFullscreen = props.full ? styles.drawerFull : \"\";\n\t// click overlay emitter\n\tconst onClick = (e) => {\n\t\t// only emit on wrapper click\n\t\tif (e.currentTarget === e.target) {\n\t\t\te.preventDefault();\n\t\t\tprops.onClose(e);\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{props.title &&
{props.title}
}\n\t\t\t\t{props.children}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Drawer;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"HeaderValue_modal-backdrop__web3t\",\"show\":\"HeaderValue_show__6djNY\",\"LinesEllipsis\":\"HeaderValue_LinesEllipsis__vpXB7\",\"header\":\"HeaderValue_header__tez1s\",\"headerIcon\":\"HeaderValue_headerIcon__eFsuV\",\"footer\":\"HeaderValue_footer__264ZX\",\"greenColor\":\"HeaderValue_greenColor__9E+oh\",\"redColor\":\"HeaderValue_redColor__IqcMb\",\"bodyClassName\":\"HeaderValue_bodyClassName__jG5lR\",\"bold\":\"HeaderValue_bold__IJDRK\"};","import React from \"react\";\nimport classNames from \"classnames/bind\";\nimport styles from \"./HeaderValue.module.scss\";\nimport Utils from \"utils/utils\";\nimport LearnMoreTooltip from \"../LearnMoreTooltip/LearnMoreTooltip\";\n\nconst HeaderValue = React.memo(({ data = {} }) => {\n\tlet classVal = \"\";\n\tif (data.setColor !== \"\") {\n\t\tif (data.setColor === \"success\") {\n\t\t\tclassVal = styles.greenColor;\n\t\t} else if (data.setColor === \"alert\") {\n\t\t\tclassVal = styles.redColor;\n\t\t}\n\t}\n\n\tconst boldVal = data.setBold ? styles.bold : \"\";\n\n\tconst headerValue = !data.hideHeader ? data.header : null;\n\n\tconst headerClassName = {\n\t\theaderSmall: data.headerClass === \"small\",\n\t};\n\n\tconst bodyClassName = {\n\t\tbodyLarge: data.bodyClass === \"large\",\n\t};\n\n\tconst footerClassName = {\n\t\tvalueChange: data.footerClass === \"valueChange\",\n\t};\n\n\tlet footerClassCustom;\n\tif (data.footerClass === \"valueChange\") {\n\t\tif (data.footerSetColor === \"success\") {\n\t\t\tfooterClassCustom = styles.greenColor;\n\t\t} else if (data.footerSetColor === \"alert\") {\n\t\t\tfooterClassCustom = styles.redColor;\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{headerValue ? (\n\t\t\t\t\n\t\t\t\t\t{headerValue}\n\t\t\t\t\t{data.icon?.overlay === \"drawer\" ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\tdata.icon && Utils.buildTooltip(data.helpTextId, data.helpText, \"button\")\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t) : null}\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{data.header}\n\t\t\t\t\n\t\t\t\t {data.value || \"\"}\n\t\t\t
\n\t\t\t{data.footerValue && (\n\t\t\t\t
\n\t\t\t\t\t{data.footerValue}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n});\n\nexport default HeaderValue;\n","import React from \"react\";\n\nconst CandlestickChart = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default CandlestickChart;\n","import React from \"react\";\n\nconst CandlestickLegend = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\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\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CandlestickLegend;\n","import React from \"react\";\n\nconst DotChart = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default DotChart;\n","import React from \"react\";\n\nconst HistogramChart = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default HistogramChart;\n","import React from \"react\";\n\nconst Left = (props) => {\n\treturn (\n\t\t\n\t\t\t{props.ariaLabel}\n\t\t\t\n\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\nexport default Left;\n","import React from \"react\";\n\nconst OHLCCHart = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default OHLCCHart;\n","import React from \"react\";\n\nconst Right = (props) => {\n\treturn (\n\t\t\n\t\t\t{props.ariaLabel}\n\t\t\t\n\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\nexport default Right;\n","import React from \"react\";\n\nconst Search = (props) => {\n\tconst { color, dimension } = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Search;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"HelpDrawer_modal-backdrop__XAZ2e\",\"show\":\"HelpDrawer_show__dQxBl\",\"LinesEllipsis\":\"HelpDrawer_LinesEllipsis__DBjq3\",\"drawer\":\"HelpDrawer_drawer__Cd1+F\",\"close\":\"HelpDrawer_close__1ld-b\",\"drawerClose\":\"HelpDrawer_drawerClose__RQc-r\",\"hide\":\"HelpDrawer_hide__eNAg9\",\"helpBodyContainer\":\"HelpDrawer_helpBodyContainer__9gIhl\"};","import React, { useEffect, useCallback } from \"react\";\nimport styles from \"./HelpDrawer.module.scss\";\nimport classNames from \"classnames\";\n\nconst HelpDrawer = React.memo(({ showHandle, show }) => {\n\tconst showHandleCallback = useCallback(showHandle, [showHandle]);\n\tuseEffect(() => {\n\t\tif (show) {\n\t\t\tconst handleEscape = ({ keyCode }) => {\n\t\t\t\tif (keyCode === 27) {\n\t\t\t\t\tshowHandleCallback();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener(\"keydown\", handleEscape);\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleEscape);\n\t\t\t};\n\t\t}\n\t}, [show, showHandleCallback]);\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tClose\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t{\" \"}\n\t\t\t\t
\n\t\t\t\t\t

Morgan Stanley Stock Rating

\n\t\t\t\t\t

\n\t\t\t\t\t\tAbout\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tMorgan Stanley uses a relative rating system using terms such as Overweight,\n\t\t\t\t\t\tEqual-weight, Not-Rated or Underweight (see definitions below). Morgan Stanley\n\t\t\t\t\t\tdoes not assign ratings of Buy, Hold or Sell to the stocks we cover.\n\t\t\t\t\t\tOverweight, Equal-weight, Not-Rated and Underweight are not the equivalent of\n\t\t\t\t\t\tbuy, hold and sell. Investors should carefully read the definitions of all\n\t\t\t\t\t\tratings used. In addition, since Morgan Stanley research reports contain more\n\t\t\t\t\t\tcomplete information concerning the analyst's views, investors should\n\t\t\t\t\t\tcarefully read the research report, in its entirety, and not infer the\n\t\t\t\t\t\tcontents from the rating alone. In any case, ratings (or research) should not\n\t\t\t\t\t\tbe used or relied upon as investment advice. An investor's decision to buy or\n\t\t\t\t\t\tsell a stock should depend on individual circumstances (such as the investor's\n\t\t\t\t\t\texisting holdings) and other considerations.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tUnderweight\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe stock's total return is expected to be below the average total return of\n\t\t\t\t\t\tthe analyst's industry (or industry team's) coverage universe, on a\n\t\t\t\t\t\trisk-adjusted basis, over the next 12-18 months.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tEqual-weight\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe stock's total return is expected to be in line with the average total\n\t\t\t\t\t\treturn of the analyst's industry (or industry team's) coverage universe, on a\n\t\t\t\t\t\trisk-adjusted basis, over the next 12-18 months.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tOverweight\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe stock's total return is expected to exceed the average total return of the\n\t\t\t\t\t\tanalyst's industry (or industry team's) coverage universe, on a risk-adjusted\n\t\t\t\t\t\tbasis, over the next 12-18 months.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tNot Rated\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tCurrently the analyst does not have adequate conviction about the stock's\n\t\t\t\t\t\ttotal return relative to the average total return of the analyst's industry\n\t\t\t\t\t\t(or industry team's) coverage universe, on a risk-adjusted basis, over the\n\t\t\t\t\t\tnext 12-18 months. When NA appears in place of a Morgan Stanley Research\n\t\t\t\t\t\trating, then the rating for this company is not available because of a Morgan\n\t\t\t\t\t\tStanley policy. NA appearing for a third-party research provider indicates\n\t\t\t\t\t\tthat the ratings for this company are not available because of a Morgan\n\t\t\t\t\t\tStanley policy.\n\t\t\t\t\t

\n\t\t\t\t\t

Industry Views

\n\t\t\t\t\t

\n\t\t\t\t\t\tAttractive\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe analyst expects the performance of his or her industry coverage universe\n\t\t\t\t\t\tover the next 12-18 months to be attractive vs. the relevant broad market\n\t\t\t\t\t\tbenchmark named on the cover of the corresponding report.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tIn-Line\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe analyst expects the performance of his or her industry coverage universe\n\t\t\t\t\t\tover the next 12-18 months to be in line with the relevant broad market\n\t\t\t\t\t\tbenchmark named on the cover of the corresponding report.\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tCautious\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tThe analyst views the performance of his or her industry coverage universe\n\t\t\t\t\t\tover the next 12-18 months with caution vs. the relevant broad market\n\t\t\t\t\t\tbenchmark named on the cover of the corresponding report.\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n});\n\nexport default HelpDrawer;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"LearnMoreTooltip_modal-backdrop__e-u7I\",\"show\":\"LearnMoreTooltip_show__9ewZN\",\"LinesEllipsis\":\"LearnMoreTooltip_LinesEllipsis__Ct2TQ\",\"header\":\"LearnMoreTooltip_header__bsC2L\",\"headerIcon\":\"LearnMoreTooltip_headerIcon__EOYJf\",\"questionIconText\":\"LearnMoreTooltip_questionIconText__byb5I\"};","import React, { useState, useRef } from \"react\";\nimport classNames from \"classnames/bind\";\nimport HelpDrawer from \"components/Lib/HelpDrawer/HelpDrawer\";\nimport { ReactComponent as QuestionIcon } from \"assets/icons/question.svg\";\nimport styles from \"./LearnMoreTooltip.module.scss\";\nexport const LearnMoreTooltipData = {\n\toverlay: \"drawer\",\n\tdrawerDescription:\n\t\t\"Right pane helper drawer opened with Morgan Stanley stock rating explanation\",\n\ttooltipTextDescription: \"Learn more\",\n};\n\nconst LearnMoreTooltip = () => {\n\tconst [showDrawer, setShowDrawer] = useState(false);\n\n\tconst drawerButton = useRef(null);\n\tconst handleDrawer = () => {\n\t\tdrawerButton.current.focus();\n\t\tsetShowDrawer(!showDrawer);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{showDrawer\n\t\t\t\t\t? \"Right pane helper drawer closed\"\n\t\t\t\t\t: LearnMoreTooltipData.drawerDescription}\n\t\t\t\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LearnMoreTooltip;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"MSCheckbox_modal-backdrop__0olkv\",\"show\":\"MSCheckbox_show__mETWd\",\"LinesEllipsis\":\"MSCheckbox_LinesEllipsis__KJbd6\",\"msCheckbox\":\"MSCheckbox_msCheckbox__Eei9o\",\"inline\":\"MSCheckbox_inline__--fyo\",\"js-focus-visible\":\"MSCheckbox_js-focus-visible__PogYO\",\"focus-visible\":\"MSCheckbox_focus-visible__xT2V7\",\"checkboxFilterChecked\":\"MSCheckbox_checkboxFilterChecked__9CbzP\",\"checkboxFilterCheck\":\"MSCheckbox_checkboxFilterCheck__OMEO2\"};","import React from \"react\";\n\nimport styles from \"./MSCheckbox.module.scss\";\n\nexport default ({ id, checked, onChange, label, className, inputClassName, inline }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, { PureComponent } from \"react\";\nimport { Dropdown } from \"react-bootstrap\";\nimport styles from \"./MSDropdown.module.scss\";\nimport Chevron from \"../Chevron/Chevron\";\n//MSQR-6748\nconst OPEN_HIGH_LOW_CLOSE = \"Open / High / Low / Close\";\nconst OHLC = \"OHLC\";\n\nclass MSDropdown extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tselectedItem: props.data && props.data.length ? props.title : \"\",\n\t\t\tselectedIndex: 0,\n\t\t};\n\t\tthis.handleClick = this.handleClick.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tthis.props &&\n\t\t\tthis.props.defaultSelectedItem &&\n\t\t\tthis.props.defaultSelectedItem.option\n\t\t) {\n\t\t\tthis.setState({\n\t\t\t\tselectedItem: this.props.defaultSelectedItem.option,\n\t\t\t\tselectedIndex: this.props.defaultSelectedItem.index || 0,\n\t\t\t});\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.title !== this.props.title) {\n\t\t\tlet newSelectedIndex = this.props.data.findIndex(\n\t\t\t\t(item) => item.option === this.props.title\n\t\t\t);\n\t\t\tif (this.props.title === \"Custom Date\" && !this.props.titleOverride) {\n\t\t\t\tnewSelectedIndex = this.props.data.findIndex(\n\t\t\t\t\t(item) => item.option === prevProps.title\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (newSelectedIndex > -1 && newSelectedIndex < this.props.data.length) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedItem: this.props.data[newSelectedIndex].option,\n\t\t\t\t\tselectedIndex: newSelectedIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (prevProps.titleOverride !== this.props.titleOverride) {\n\t\t\tconst newSelectedIndex = this.props.data.findIndex(\n\t\t\t\t(item) => item.option === this.props.title\n\t\t\t);\n\t\t\tif (this.props.titleOverride) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedItem: this.props.titleOverride,\n\t\t\t\t\tselectedIndex: newSelectedIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.state.selectedItem === \"Custom Date\" &&\n\t\t\tthis.state.selectedItem !== this.props.titleOverride\n\t\t) {\n\t\t\tconst newSelectedIndex = this.props.data.findIndex(\n\t\t\t\t(item) => item.option === this.props.title\n\t\t\t);\n\n\t\t\tthis.setState({\n\t\t\t\tselectedItem: this.props.titleOverride || this.props.title,\n\t\t\t\tselectedIndex: newSelectedIndex,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.title === OPEN_HIGH_LOW_CLOSE && OHLC !== this.state.selectedItem) {\n\t\t\tconst newSelectedIndex = this.props.data.findIndex(\n\t\t\t\t(item) => item.option === this.props.title\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\tselectedItem: OHLC,\n\t\t\t\tselectedIndex: newSelectedIndex,\n\t\t\t});\n\t\t}\n\t}\n\thandleClick = (event) => {\n\t\tevent.preventDefault();\n\t\tconst selectedItem = event.target.closest(\"[data-value]\").getAttribute(\"data-value\");\n\n\t\tif (\n\t\t\t(this.props.skipTitleReset && this.props.skipTitleReset.toLowerCase() !== \"y\") ||\n\t\t\tthis.props.skipTitleReset == null\n\t\t) {\n\t\t\tconst selectedIndex = event.target\n\t\t\t\t.closest(\"[data-index]\")\n\t\t\t\t.getAttribute(\"data-index\");\n\t\t\tthis.setState({\n\t\t\t\tselectedItem: selectedItem,\n\t\t\t\tselectedIndex: selectedIndex,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelectCallback) {\n\t\t\tthis.props.onSelectCallback(selectedItem);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.showLeftIcon || this.props.data[this.state.selectedIndex]?.icon}\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.titlePrefix\n\t\t\t\t\t\t\t? `${this.props.titlePrefix}: ${this.state.selectedItem}`\n\t\t\t\t\t\t\t: this.state.selectedItem}\n\t\t\t\t\t\n\t\t\t\t\t{!this.props.hideDefaultDropdownIcon && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.data.map((item, index) => {\n\t\t\t\t\t\tlet title = item.option;\n\t\t\t\t\t\tlet action = item.action;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.icon || null}\n\t\t\t\t\t\t\t\t{title}\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\n\t\t);\n\t}\n}\n\nexport default MSDropdown;\n","// extracted by mini-css-extract-plugin\nexport default {\"MSSpinnerContainer\":\"MSSpinner_MSSpinnerContainer__FDU-9\"};","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons\";\nimport classNames from \"classnames\";\n\nimport styles from \"./MSSpinner.module.scss\";\n\nconst MSSpinner = React.memo((props) => {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{props.msg ?

{props.msg}

: null}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{props.ready ? props.children : null}\n\t\t\t
\n\t\t
\n\t);\n});\n\nexport default MSSpinner;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"MSToggle_modal-backdrop__cODIt\",\"show\":\"MSToggle_show__zKbXc\",\"LinesEllipsis\":\"MSToggle_LinesEllipsis__6BsCk\",\"toggle\":\"MSToggle_toggle__d+9C2\",\"js-focus-visible\":\"MSToggle_js-focus-visible__exd4h\",\"focus-visible\":\"MSToggle_focus-visible__ALxEQ\",\"leftControl\":\"MSToggle_leftControl__xPMSf\",\"rightControl\":\"MSToggle_rightControl__7ujtk\"};","import React from \"react\";\nimport styles from \"./MSToggle.module.scss\";\n\nconst MSToggle = (props) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default MSToggle;\n","import React from \"react\";\nimport \"./NoData.module.scss\";\nimport { ReactComponent as NoActivity } from \"assets/icons/no-activity.svg\";\n\nconst NoData = ({ children = \"Data not available\" }) => (\n\t
\n\t\t\n\t\t
{children}
\n\t
\n);\n\nexport default NoData;\n","import React from \"react\";\n\nconst SkipToEndLeft = (props) => {\n\treturn (\n\t\t\n\t\t\t{props.ariaLabel}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\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\nexport default SkipToEndLeft;\n","import React from \"react\";\n\nconst SkipToEndRight = (props) => {\n\treturn (\n\t\t\n\t\t\t{props.ariaLabel}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\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\nexport default SkipToEndRight;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"PaginationFooter_modal-backdrop__PMjiz\",\"show\":\"PaginationFooter_show__aDI6E\",\"LinesEllipsis\":\"PaginationFooter_LinesEllipsis__+iWjn\",\"paginationFooter\":\"PaginationFooter_paginationFooter__vfv9X\",\"pageCounter\":\"PaginationFooter_pageCounter__fhZtP\",\"itemCounter\":\"PaginationFooter_itemCounter__RlPFu\",\"paginationNav\":\"PaginationFooter_paginationNav__iwhcI\",\"cursorPointer\":\"PaginationFooter_cursorPointer__6AMyO\"};","import React from \"react\";\n\nimport { default as NextPage } from \"components/Lib/Icons/Right/Right\";\nimport { default as PreviousPage } from \"components/Lib/Icons/Left/Left\";\nimport { default as SkipToBeginning } from \"components/Lib/Icons/SkipToEndLeft/SkipToEndLeft\";\nimport { default as SkipToEnd } from \"components/Lib/Icons/SkipToEndRight/SkipToEndRight\";\nimport formatter from \"utils/formatUtils\";\n\nimport styles from \"./PaginationFooter.module.scss\";\nimport en from \"../../../assets/language/en\";\n\nconst PaginationFooter = React.memo((props) => {\n\tconst handleClick = (event, behavior) => {\n\t\tevent.preventDefault();\n\t\tif (!behavior) {\n\t\t\tbehavior = event.target.getAttribute(\"data-value\");\n\t\t}\n\t\tif (props.arrowClickCallback) {\n\t\t\tprops.arrowClickCallback(behavior);\n\t\t}\n\t};\n\n\tconst handleEnter = (event) => {\n\t\tif (event.charCode === 13) {\n\t\t\tevent.preventDefault();\n\t\t\tconst behavior = event.target.getAttribute(\"data-value\");\n\n\t\t\tif (props.arrowClickCallback) {\n\t\t\t\tprops.arrowClickCallback(behavior);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst language = props.language ? props.language : en;\n\tconst isFirstPage = parseInt(props.page) === 1;\n\tconst isLastPage = parseInt(props.page) === parseInt(props.totalPages);\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t{`${props.startingItem} ${language.TO} ${props.endingItem} ${language.OF} ${props.totalItems}`}\n\t\t\t
\n\t\t\t{!props.disableSkipToBeginning && (\n\t\t\t\t handleClick(e, \"skipToBeginning\")}\n\t\t\t\t\tonKeyPress={handleEnter}\n\t\t\t\t>\n\t\t\t\t\t handleClick(e, \"skipToBeginning\")}\n\t\t\t\t\t\tdataValue=\"skipToBeginning\"\n\t\t\t\t\t\tariaLabel={language.SKIP_TO_BEGINNING}\n\t\t\t\t\t\tcolor={isFirstPage && \"#ccc\"}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\t handleClick(e, \"previousPage\")}\n\t\t\t\tonKeyPress={handleEnter}\n\t\t\t>\n\t\t\t\t handleClick(e, \"previousPage\")}\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\tdataValue=\"previousPage\"\n\t\t\t\t\tariaLabel={language.PREVIOUS_PAGE}\n\t\t\t\t\tcolor={isFirstPage && \"#ccc\"}\n\t\t\t\t/>\n\t\t\t\n\t\t\t
\n\t\t\t\t{`${formatter.number(props.page, 0)} ${language.OF} ${formatter.number(\n\t\t\t\t\tprops.totalPages,\n\t\t\t\t\t0\n\t\t\t\t)}`}\n\t\t\t
\n\t\t\t handleClick(e, \"nextPage\")}\n\t\t\t\tonKeyPress={handleEnter}\n\t\t\t>\n\t\t\t\t handleClick(e, \"nextPage\")}\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\tdataValue=\"nextPage\"\n\t\t\t\t\tariaLabel={language.NEXT_PAGE}\n\t\t\t\t\tcolor={isLastPage && \"#ccc\"}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{!props.disableSkipToEnd && (\n\t\t\t\t handleClick(e, \"skipToEnd\")}\n\t\t\t\t\tonKeyPress={handleEnter}\n\t\t\t\t>\n\t\t\t\t\t handleClick(e, \"skipToEnd\")}\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\tdataValue=\"skipToEnd\"\n\t\t\t\t\t\tariaLabel={language.SKIP_TO_END}\n\t\t\t\t\t\tcolor={isLastPage && \"#ccc\"}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n});\n\nexport default PaginationFooter;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"QuoteSearch_modal-backdrop__3gVPw\",\"show\":\"QuoteSearch_show__82pFr\",\"LinesEllipsis\":\"QuoteSearch_LinesEllipsis__EKOlA\",\"quoteSearchContainer\":\"QuoteSearch_quoteSearchContainer__+NutQ\",\"hintContainer\":\"QuoteSearch_hintContainer__liSS1\",\"searchIcon\":\"QuoteSearch_searchIcon__f1Dc4\",\"menuItemsIndicator\":\"QuoteSearch_menuItemsIndicator__pae51\",\"wrapContent\":\"QuoteSearch_wrapContent__nbXf-\",\"symbol\":\"QuoteSearch_symbol__HUE1G\",\"svgContent\":\"QuoteSearch_svgContent__aw1D-\"};","import { URLS } from \"utils/constants\";\n\nconst apiUrl = `${URLS.USER_MANAGEMENT}/preferences`;\n\nconst setRecentSearch = async (apiInstance, recentSearch) => {\n\tif (!apiInstance) {\n\t\treturn false;\n\t}\n\n\tlet result;\n\ttry {\n\t\tconst postPayload = {\n\t\t\tvalue: recentSearch,\n\t\t};\n\t\tconst response = await apiInstance.post(`${apiUrl}/recentSearch`, postPayload);\n\n\t\tif (response === \"rejected\") {\n\t\t\tresult = false;\n\t\t} else {\n\t\t\tresult = true;\n\t\t}\n\t} catch (e) {\n\t\tresult = false;\n\t}\n\treturn result;\n};\n\nconst getRecentSearch = async (apiInstance) => {\n\tif (!apiInstance) {\n\t\treturn [];\n\t}\n\n\tlet result = [];\n\ttry {\n\t\tconst response = await apiInstance.get(apiUrl);\n\t\tconst recentData = response?.data?.data?.items || null;\n\n\t\tif (recentData) {\n\t\t\tconst recentSearchesItems = recentData.find(\n\t\t\t\t({ key }) => key === \"recentSearch\"\n\t\t\t)?.value;\n\t\t\tif (recentSearchesItems) {\n\t\t\t\tconst data = JSON.parse(recentSearchesItems);\n\t\t\t\tresult = data.value;\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tresult = [];\n\t}\n\treturn result;\n};\n\nexport default {\n\tgetRecentSearch,\n\tsetRecentSearch,\n};\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useQuery } from \"react-query\";\nimport styles from \"./QuoteSearch.module.scss\";\nimport { URLS } from \"../../../utils/constants\";\nimport Form from \"react-bootstrap/Form\";\nimport { Typeahead, Menu, MenuItem, Hint } from \"react-bootstrap-typeahead\";\n\nimport XRefAPIUtils from \"services/APIs/Xref/XrefAPI\";\nimport UserManagementAPIUtils from \"services/APIs/UserManagement/UserManagementAPI\";\n\nimport Utils from \"utils/utils\";\nimport stripUtilityQueryParams from \"utils/stripUtilityQueryParams\";\n\nconst QuoteSearch = React.memo((props) => {\n\tconst typeaheadRef = useRef(null);\n\n\tconst [inputTerm, setInputTerm] = useState(\"\");\n\tconst [xrefResult, setXrefResult] = useState([]);\n\tconst [recentSearches, setRecentSearches] = useState([]);\n\tconst [selectedItems, setSelectedItems] = useState([]);\n\tconst [focus, setFocus] = useState(false);\n\n\t// displayRecentSearch should be changed to false if you are searching for a new symbol.\n\tconst [displayRecentSearch, setDisplayRecentSearch] = useState(true);\n\n\tconst predictiveSearchQuery = useQuery(\n\t\t[URLS.XREF_PREDICTIVE_SEARCH_PATH, props.apiInstance?.internalAuthToken, inputTerm],\n\t\t() => XRefAPIUtils.getPredictiveSearchResults(props.apiInstance, inputTerm)\n\t);\n\n\tconst fetchRecentSearches = async () => {\n\t\tconst recentSearches = await UserManagementAPIUtils.getRecentSearch(\n\t\t\tprops.apiInstance\n\t\t);\n\t\tif (recentSearches) setRecentSearches(recentSearches);\n\t};\n\n\tconst handleRecentSearches = async (recentSearches) => {\n\t\tconst response = await UserManagementAPIUtils.setRecentSearch(\n\t\t\tprops.apiInstance,\n\t\t\trecentSearches\n\t\t);\n\t\tif (response) {\n\t\t\tsetRecentSearches(recentSearches);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tfetchRecentSearches();\n\t}, [props.venueXid, props.apiInstance]);\n\n\tconst onInputChange = (input) => {\n\t\tif (input) {\n\t\t\tsetInputTerm(input);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst options = [];\n\t\tif (selectedItems && selectedItems.length > 0) {\n\t\t\toptions.push(...selectedItems);\n\t\t}\n\n\t\tif (predictiveSearchQuery.data) {\n\t\t\toptions.push(...predictiveSearchQuery.data?.items);\n\t\t}\n\n\t\tsetXrefResult(options);\n\t\tsetDisplayRecentSearch(false);\n\t}, [predictiveSearchQuery.data]);\n\n\tconst onSelected = (selectedItem) => {\n\t\tconst tempSelected = [...recentSearches];\n\t\tlet foundItem = false;\n\t\tlet itemIndex = 0;\n\t\tfor (let i = 0; i <= tempSelected.length; i++) {\n\t\t\t//ensure we are not tracking the same symbol selected again.\n\t\t\tif (tempSelected[i]?.symbol === selectedItem[0].symbol) {\n\t\t\t\tfoundItem = true;\n\t\t\t\titemIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!foundItem) {\n\t\t\ttempSelected.unshift(selectedItem[0]);\n\t\t\t//recent search list should not exceed 5 symbols\n\t\t\tif (tempSelected.length > 5) {\n\t\t\t\ttempSelected.pop();\n\t\t\t}\n\t\t} else {\n\t\t\ttempSelected.splice(itemIndex, 1);\n\t\t\ttempSelected.unshift(selectedItem[0]);\n\t\t}\n\t\tsetSelectedItems(selectedItem);\n\t\thandleRecentSearches(tempSelected);\n\n\t\tconst encodedSymbol = encodeURIComponent(selectedItem[0].symbol);\n\t\tconst queryParams = Utils.replaceQueryParam(\"symbol\", encodedSymbol);\n\t\twindow.location.href = stripUtilityQueryParams(\n\t\t\tUtils.getQuoteURLBasedOnIssueType(selectedItem[0].classification.name, queryParams)\n\t\t);\n\t};\n\t/**\n\t * clear input and selection once user selectes search box\n\t **/\n\tconst onFocus = () => {\n\t\tif (typeaheadRef?.current?.state?.text) {\n\t\t\ttypeaheadRef.current.state.text = \"\";\n\t\t}\n\n\t\tsetXrefResult(recentSearches);\n\t\tsetSelectedItems([]);\n\t};\n\n\tconst onKeyDown = (event) => {\n\t\tif (event.key === \"Enter\" && xrefResult.length) onSelected(xrefResult);\n\t};\n\n\tconst handleFocusEvent = (event) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9 || event.keyCode === 16) {\n\t\t\t\tsetFocus(true);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleBlurInput = () => {\n\t\tsetDisplayRecentSearch(true);\n\t\tsetFocus(false);\n\t};\n\tconst customInput = ({ inputRef, referenceElementRef, ...inputProps }) => {\n\t\tconst inputClass = `${focus ? \"focusVisible\" : \"focusReset\"}`;\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tinputRef(node);\n\t\t\t\t\t\t\treferenceElementRef(node);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setFocus(false)}\n\t\t\t\t\t\tonKeyUp={handleFocusEvent}\n\t\t\t\t\t\tonBlur={handleBlurInput}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\ttypeaheadRef.current.toggleMenu();\n\t\t\t\t\t\ttypeaheadRef.current.focus();\n\t\t\t\t\t}}\n\t\t\t\t>\n\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\tconst customMenu = (results, menuProps) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t{/* Need to have this conditionaly render only if there is recent search history. Match legacy site behavor*/}\n\t\t\t\t{{displayRecentSearch ? \"Recent Searches\" : \"Symbol\"}}\n\t\t\t\t{results.map((result, index) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{result.symbol}
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{Utils.buildTooltip(\n\t\t\t\t\t\t\t\t\t\"quoteSearch-resultName\",\n\t\t\t\t\t\t\t\t\tresult.name,\n\t\t\t\t\t\t\t\t\t\"text\",\n\t\t\t\t\t\t\t\t\tresult.name\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
\n\t\t);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t `${option.name} ${option.symbol}`}\n\t\t\t\tonChange={onSelected}\n\t\t\t\tonInputChange={onInputChange}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tplaceholder=\"Quote Search\"\n\t\t\t\tselected={selectedItems}\n\t\t\t\toptions={xrefResult}\n\t\t\t\trenderMenu={customMenu}\n\t\t\t\trenderInput={customInput}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tref={typeaheadRef}\n\t\t\t/>\n\t\t
\n\t);\n});\n\nexport default QuoteSearch;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"RealTimeBanner_modal-backdrop__z6Bky\",\"show\":\"RealTimeBanner_show__V1fQA\",\"LinesEllipsis\":\"RealTimeBanner_LinesEllipsis__Pi7nY\",\"bannerContainer\":\"RealTimeBanner_bannerContainer__Dq6oL\",\"BannerMain\":\"RealTimeBanner_BannerMain__yJ7Hs\",\"BannerContent\":\"RealTimeBanner_BannerContent__QFnO3\"};","import React, { useContext } from \"react\";\nimport styles from \"./RealTimeBanner.module.scss\";\nimport { ApiInstanceAndUserInfoContext } from \"components/App\";\nimport { postMSVendorRedirectToScript } from \"utils/utils\";\n\nconst RealTimeBanner = () => {\n\tconst { userInfo } = useContext(ApiInstanceAndUserInfoContext);\n\n\tconst handleClick = () => {\n\t\twindow.parent.postMessage(\n\t\t\tJSON.stringify({ name: \"MDRedirectEvent\" }),\n\t\t\twindow.MD.PARENT_DOMAIN\n\t\t); // NOSONAR\n\t\tpostMSVendorRedirectToScript({\n\t\t\tService: \"MarketDataAgmt\",\n\t\t});\n\t};\n\n\tconst showMessage = () => {\n\t\t//additional checks on OPTIONS flow specific attributes (userQuotePreference, userProfessionalStatus) to ensure user is in options flow vs regular\n\t\t//since tier 4287 is shared between options flow and regular delayed flow.\n\t\treturn (\n\t\t\tuserInfo?.userQuotePreference &&\n\t\t\tuserInfo?.userProfessionalStatus &&\n\t\t\t[5847, 4287].indexOf(userInfo?.userTier) >= 0\n\t\t);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t{showMessage() && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tYou are currently viewing delayed market data. You can enroll in real-time\n\t\t\t\t\t\t\tmarket data at any time.\n\t\t\t\t\t\t

\n\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)}\n\t\t
\n\t);\n};\n\nexport default RealTimeBanner;\n","// extracted by mini-css-extract-plugin\nexport default {\"simpleSpinnerContainer\":\"SimpleSpinner_simpleSpinnerContainer__qPL6u\"};","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons\";\n\nimport styles from \"../../Lib/SimpleSpinner/SimpleSpinner.module.scss\";\n\nconst SimpleSpinner = (props) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default SimpleSpinner;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"tabs_modal-backdrop__1omnt\",\"show\":\"tabs_show__TuTgg\",\"LinesEllipsis\":\"tabs_LinesEllipsis__iJWvk\",\"tabs\":\"tabs_tabs__bXeqz\",\"tab_list\":\"tabs_tab_list__n5Bte\",\"tab_list_item\":\"tabs_tab_list_item__hT2Ru\",\"tab_list_active\":\"tabs_tab_list_active__9ns0A\",\"tab\":\"tabs_tab__2dqoJ\",\"tab_text\":\"tabs_tab_text__cMncE\"};","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport tabStyle from \"./tabs.module.scss\";\nimport classNames from \"classnames\";\nimport { Link } from \"react-router-dom\";\n\nclass Tabs extends Component {\n\treferences = {};\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tactiveTab: this.props.activeTab || this.props.children[0].props.label,\n\t\t\tnumberOfTabs: this.props.children.length,\n\t\t\tnavigationCursor: 0,\n\t\t};\n\t\tthis.references = Array(this.props.children.length)\n\t\t\t.fill()\n\t\t\t.map(() => React.createRef());\n\t}\n\n\tonClickTabItem = (tab) => {\n\t\tthis.setState({ activeTab: tab });\n\t\tthis.props.onClick && this.props.onClick(tab);\n\t};\n\n\tonKeyPressHandler = (tab, e) => {\n\t\te.preventDefault();\n\t\tif (e.key === \"Enter\") {\n\t\t\tthis.onClickTabItem(tab);\n\t\t}\n\t};\n\thandleKeyDown = (e) => {\n\t\tlet newNavigationCursor = this.state.navigationCursor;\n\t\t// arrow up/down button should select next/previous list element\n\t\tif (e.keyCode === 38 || e.keyCode === 37) {\n\t\t\tif (newNavigationCursor === 0) {\n\t\t\t\tnewNavigationCursor = this.state.numberOfTabs - 1;\n\t\t\t} else {\n\t\t\t\tnewNavigationCursor--;\n\t\t\t}\n\t\t\tthis.setState({ navigationCursor: newNavigationCursor });\n\t\t} else if (e.keyCode === 40 || e.keyCode === 39) {\n\t\t\tif (newNavigationCursor === this.state.numberOfTabs - 1) {\n\t\t\t\tnewNavigationCursor = 0;\n\t\t\t} else {\n\t\t\t\tnewNavigationCursor++;\n\t\t\t}\n\t\t\tthis.setState({ navigationCursor: newNavigationCursor });\n\t\t}\n\t\tthis.focusById(newNavigationCursor);\n\t};\n\n\tgetOrCreateRef = (id) => {\n\t\tif (!this.references.hasOwnProperty(id)) {\n\t\t\tthis.references[id] = React.createRef();\n\t\t}\n\t\treturn this.references[id];\n\t};\n\n\tfocusById = (id) => {\n\t\tthis.references[id].current && this.references[id].current.focus();\n\t};\n\trenderTabs = (activeTab) => {\n\t\tconst { shouldUseLinks, navName } = this.props;\n\t\treturn (\n\t\t\t this.handleKeyDown(e)}\n\t\t\t>\n\t\t\t\t{this.props.children.map((child, index) => {\n\t\t\t\t\tconst { label } = child.props;\n\t\t\t\t\tconst textElement = {label};\n\t\t\t\t\tconst className = classNames(tabStyle.tab_list_item, {\n\t\t\t\t\t\t[tabStyle.tab_list_active]: activeTab === label,\n\t\t\t\t\t});\n\t\t\t\t\treturn shouldUseLinks ? (\n\t\t\t\t\t\t this.onClickTabItem(label)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{textElement}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t this.onClickTabItem(label)}\n\t\t\t\t\t\t\tonKeyPress={(e) => this.onKeyPressHandler(label, e)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{textElement}\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\t// \n\t\t);\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tprops: { children },\n\t\t\tstate: { activeTab },\n\t\t} = this;\n\t\treturn (\n\t\t\t
\n\t\t\t\t{this.renderTabs(activeTab)}\n\t\t\t\t\n\t\t\t\t\t{children.map((child) => {\n\t\t\t\t\t\tif (typeof child !== \"boolean\" && child.props.label === activeTab) {\n\t\t\t\t\t\t\treturn child.props.children;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t})}\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}\nTabs.propTypes = {\n\tchildren: PropTypes.instanceOf(Array).isRequired,\n\tactiveTab: PropTypes.string,\n\tonClick: PropTypes.func,\n};\n\nexport default Tabs;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"TextToggle_modal-backdrop__TGMDY\",\"show\":\"TextToggle_show__BKRTq\",\"LinesEllipsis\":\"TextToggle_LinesEllipsis__5xuJB\",\"buttonGroup\":\"TextToggle_buttonGroup__MEeSS\",\"buttonContainer\":\"TextToggle_buttonContainer__G8y4-\",\"active\":\"TextToggle_active__nVxbN\",\"inactive\":\"TextToggle_inactive__OH4Sn\"};","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport styles from \"./TextToggle.module.scss\";\n\nexport const TextToggle = React.memo(\n\t({ activeValue: activeValueProp, option1, option2, handleToggle }) => {\n\t\tconst [activeValue, setActiveValue] = useState(activeValueProp || option1.value);\n\t\tconst [, setDisable] = useState(false);\n\t\tconst option1Ref = useRef(null);\n\t\tconst option2Ref = useRef(null);\n\n\t\t// set toggle button focus to active value\n\t\tuseEffect(() => {\n\t\t\tif (option2.disable) {\n\t\t\t\tsetDisable(true);\n\t\t\t} else setDisable(false);\n\t\t\tconst buttonRef = activeValue === option1.value ? option1Ref : option2Ref;\n\t\t\tbuttonRef.current.ariaLabel = `Showing ${activeValue} earnings`;\n\t\t}, [activeValue, option2]);\n\n\t\tconst onToggle = (e) => {\n\t\t\tconst newValue = e.target.value;\n\t\t\tif (newValue !== activeValue) {\n\t\t\t\tif (handleToggle) {\n\t\t\t\t\thandleToggle(newValue);\n\t\t\t\t\tsetActiveValue(newValue);\n\t\t\t\t\te.target.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t\n\t\t\t\t{[option1, option2].map((item, key) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.label}\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\nexport default TextToggle;\n\nTextToggle.propTypes = {\n\toption1: PropTypes.object,\n\toption2: PropTypes.object,\n\tactiveFilter: PropTypes.string,\n\thandleSwitch: PropTypes.func,\n};\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgAmericaFlag(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"17px\",\n viewBox: \"0 0 32 17\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Bitmap\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n id: \"Bitmap\",\n x: 0,\n y: 0,\n width: 32,\n height: 16.8421053,\n xlinkHref: \"data:image/png;base64,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rQgQIECAAAECBAgQIECAAAECBAoUEKYVeNB1mQABAgQIECBAgAABAgQIECBAYJiAMG2Ym60IECBAgAABAgQIECBAgAABAgQKFBCmFXjQdZkAAQIECBAgQIAAAQIECBAgQGCYgDBtmJutCBAgQIAAAQIECBAgQIAAAQIEChQQphV40HWZAAECBAgQIECAAAECBAgQIEBgmIAwbZibrQgQIECAAAECBAgQIECAAAECBAoUEKYVeNB1mQABAgQIECBAgAABAgQIECBAYJiAMG2Ym60IECBAgAABAgQIECBAgAABAgQKFBCmFXjQdZkAAQIECBAgQIAAAQIECBAgQGCYgDBtmJutCBAgQIAAAQIECBAgQIAAAQIEChQQphV40HWZAAECBAgQIECAAAECBAgQIEBgmIAwbZibrQgQIECAAAECBAgQIECAAAECBAoU2HJ8Yymw37pMgAABAgQIECBAgAABAgQIECBAoLeAyrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVUCYVuqR128CBAgQIECAAAECBAgQIECAAIHeAsK03mQ2IECAAAECBAgQIECAAAECBAgQKFVAmFbqkddvAgQIECBAgAABAgQIECBAgACB3gLCtN5kNiBAgAABAgQIECBAgAABAgQIEChVQJhW6pHXbwIECBAgQIAAAQIECBAgQIAAgd4CwrTeZDYgQIAAAQIECBAgQIAAAQIECBAoVWDLF9/09uOldl6/CRAgQIAAAQIECBAgQIAAAQIECPQRUJnWR0tbAgQIECBAgAABAgQIECBAgACBogWEaUUffp0nQIAAAQIECBAgQIAAAQIECBDoIyBM66OlLQECBAgQIECAAAECBAgQIECAQNECwrSiD7/OEyBAgAABAgQIECBAgAABAgQI9BEQpvXR0pYAAQIECBAgQIAAAQIECBAgQKBoAWFa0Ydf5wkQIECAAAECBAgQIECAAAECBPoICNP6aGlLgAABAgQIECBAgAABAgQIECBQtIAwrejDr/MECBAgQIAAAQIECBAgQIAAAQJ9BIRpfbS0JUCAAAECBAgQIECAAAECBAgQKFpAmFb04dd5AgQIECBAgAABAgQIECBAgACBPgLCtD5a2hIgQIAAAQIECBAgQIAAAQIECBQtIEwr+vDrPAECBAgQIECAAAECBAgQIECAQB8BYVofLW0JECBAgAABAgQIECBAgAABAgSKFhCmFX34dZ4AAQIECBAgQIAAAQIECBAgQKCPgDCtj5a2BAgQIECAAAECBAgQIECAAAECRQsI04o+/DpPgAABAgQIECBAgAABAgQIECDQR0CY1kdLWwIECBAgQIAAAQIECBAgQIAAgaIFhGlFH36dJ0CAAAECBAgQIECAAAECBAgQ6CMgTOujpS0BAgQIECBAgAABAgQIECBAgEDRAsK0og+/zhMgQIAAAQIECBAgQIAAAQIECPQREKb10dKWAAECBAgQIECAAAECBAgQIECgaAFhWtGHX+cJECBAgAABAgQIECBAgAABAgT6CAjT+mhpS4AAAQIECBAgQIAAAQIECBAgULSAMK3ow6/zBAgQIECAAAECBAgQIECAAAECfQSEaX20tCVAgAABAgQIECBAgAABAgQIEChaQJhW9OHXeQIECBAgQIAAAQIECBAgQIAAgT4CwrQ+WtoSIECAAAECBAgQIECAAAECBAgULSBMK/rw6zwBAgQIECBAgAABAgQIECBAgEAfAWFaHy1tCRAgQIAAAQIECBAgQIAAAQIEihYQphV9+HWeAAECBAgQIECAAAECBAgQIECgj4AwrY+WtgQIECBAgAABAgQIECBAgAABAkULCNOKPvw6T4AAAQIECBAgQIAAAQIECBAg0EdAmNZHS1sCBAgQIECAAAECBAgQIECAAIGiBYRpRR9+nSdAgAABAgQIECBAgAABAgQIEOgjIEzro6UtAQIECBAgQIAAAQIECBAgQIBA0QLCtKIPv84TIECAAAECBAgQIECAAAECBAj0ERCm9dHSlgABAgQIECBAgAABAgQIECBAoGgBYVrRh1/nCRAgQIAAAQIECBAgQIAAAQIE+ggI0/poaUuAAAECBAgQIECAAAECBAgQIFC0gDCt6MOv8wQIECBAgAABAgQIECBAgAABAn0EhGl9tLQlQIAAAQIECBAgQIAAAQIECBAoWkCYVvTh13kCBAgQIECAAAECBAgQIECAAIE+AsK0PlraEiBAgAABAgQIECBAgAABAgQIFC0gTCv68Os8AQIECBAgQIAAAQIECBAgQIBAHwFhWh8tbQkQIECAAAECBAgQIECAAAECBIoWEKYVffh1ngABAgQIECBAgAABAgQIECBAoI+AMK2PlrYECBAgQIAAAQIECBAgQIAAAQJFCwjTij78Ok+AAAECBAgQIECAAAECBAgQINBHQJjWR0tbAgQIECBAgAABAgQIECBAgACBogW2HN9YihbQeQIECBAgQIAAAQIECBAgQIAAAQKZAirTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQICBMMwYIECBAgAABAgQIECBAgAABAgQIZAoI0zKhNCNAgAABAgQIECBAgAABAgQIECAgTDMGCBAgQIAAAQIECBAgQIAAAQIECGQKCNMyoTQjQIAAAQIECBAgQIAAAQIECBAgIEwzBggQIECAAAECBAgQIECAAAECBAhkCgjTMqE0I0CAAAECBAgQIECAAAECBAgQILDli296+3EMBAgQIECAAAECBAgQIECAAAECBAiMF1CZNt5ICwIECBAgQIAAAQIECBAgQIAAAQKbAsI0A4EAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAsI0Y4AAAQIECBAgQIAAAQIECBAgQIBApoAwLRNKMwIECBAgQIAAAQIECBAgQIAAAQLCNGOAAAECBAgQIECAAAECBAgQIECAQKaAMC0TSjMCBAgQIECAAAECBAgQIECAAAECwjRjgAABAgQIECBAgAABAgQIECBAgECmgDAtE0ozAgQIECBAgAABAgQIECBAgAABAluObywYCBAgQIAAAQIECBAgQIAAAQIECBAYL6AybbyRFgQIECBAgAABAgQIECBAgAABAgQ2BYRpBgIBAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBIRpxgABAgQIECBAgAABAgQIECBAgACBTAFhWiaUZgQIECBAgAABAgQIECBAgAABAgSEacYAAQIECBAgQIAAAQIECBAgQIAAgUwBYVomlGYECBAgQIAAAQIECBAgQIAAAQIEhGnGAAECBAgQIECAAAECBAgQIECAAIFMAWFaJpRmBAgQIECAAAECBAgQIECAAAECBLZ88U1vP46BAAECBAgQIECAAAECBAgQIECAAIHxAirTxhtpQYAAAQIECBAgQIAAAQIECBAgQGBTQJhmIBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBAQJhmDBAgQIAAAQIECBAgQIAAAQIECBDIFBCmZUJpRoAAAQIECBAgQIAAAQIECBAgQECYZgwQIECAAAECBAgQIECAAAECBAgQyBQQpmVCaUaAAAECBAgQIECAAAECBAgQIEBAmGYMECBAgAABAgQIECBAgAABAgQIEMgUEKZlQmlGgAABAgQIECBAgAABAgQIECBA4P8DpVFizCV3X38AAAAASUVORK5CYII=\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAmericaFlag);\nexport default __webpack_public_path__ + \"static/media/AmericaFlag.06028ef6de255d424ba7cda30a09699c.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"Card_card__ddrVe\"};","import React from \"react\";\n\nimport styles from \"./Card.module.scss\";\n\nconst Card = React.memo(({ children }) => (\n\t
{children}
\n));\n\nexport default Card;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"CGSearchBar_modal-backdrop__eUeq7\",\"show\":\"CGSearchBar_show__4zn3q\",\"LinesEllipsis\":\"CGSearchBar_LinesEllipsis__aWyfz\",\"cgSearchContainer\":\"CGSearchBar_cgSearchContainer__FpSqL\",\"hintContainer\":\"CGSearchBar_hintContainer__roshY\",\"searchIcon\":\"CGSearchBar_searchIcon__a4qJp\",\"menuItems\":\"CGSearchBar_menuItems__J7NgP\",\"mainRow\":\"CGSearchBar_mainRow__1uasX\",\"wrapContent\":\"CGSearchBar_wrapContent__CtVQL\",\"symbol\":\"CGSearchBar_symbol__IWvtH\",\"svgContent\":\"CGSearchBar_svgContent__TVe1L\"};","var _g;\nvar _excluded = [\"title\", \"titleId\"];\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 _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; }\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; }\nimport * as React from \"react\";\nfunction SvgCanadaFlag(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"16px\",\n viewBox: \"0 0 32 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Bitmap\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Desktop\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n id: \"Bitmap\",\n x: 0,\n y: 0,\n width: 32,\n height: 16,\n xlinkHref: \"data:image/png;base64,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\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCanadaFlag);\nexport default __webpack_public_path__ + \"static/media/CanadaFlag.3fa065b2efd201917f62c2e01fdf99da.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef, useEffect } from \"react\";\nimport { useQuery } from \"react-query\";\nimport styles from \"./CGSearchBar.module.scss\";\nimport { URLS } from \"../../../utils/constants\";\nimport Form from \"react-bootstrap/Form\";\nimport { Typeahead, Menu, MenuItem, Hint } from \"react-bootstrap-typeahead\";\nimport { ReactComponent as AmericanFlag } from \"../../../assets/icons/AmericaFlag.svg\";\nimport { ReactComponent as CanadianFlag } from \"../../../assets/icons/CanadaFlag.svg\";\n\nimport XRefAPIUtils from \"services/APIs/Xref/XrefAPI\";\nimport languageEn from \"assets/language/en\";\n\nconst CGSearchBar = React.memo((props) => {\n\tconst typeaheadRef = useRef(null);\n\tconst [inputTerm, setInputTerm] = useState(\"\");\n\tconst [xrefResult, setXrefResult] = useState([]);\n\tconst [selectedItems, setSelectedItems] = useState([]);\n\tconst [recentSearches, setRecentSearches] = useState([]);\n\tconst [focus, setFocus] = useState(false);\n\tconst [displayMenu, setDisplayMenu] = useState(true);\n\t// displayRecentSearch should be changed to false if you are searching for a new symbol.\n\tconst [displayRecentSearch, setDisplayRecentSearch] = useState(true);\n\n\tconst onInputChange = (input) => {\n\t\tif (input !== \"\") setDisplayRecentSearch(false);\n\t\tif (input) setInputTerm(input);\n\t};\n\tconst predictiveSearchQuery = useQuery(\n\t\t[URLS.XREF_PREDICTIVE_SEARCH_PATH, props.apiInstance?.internalAuthToken, inputTerm],\n\t\t() => XRefAPIUtils.getPredictiveSearchResults(props.apiInstance, inputTerm)\n\t);\n\n\tuseEffect(() => {\n\t\tconst options = [];\n\t\tif (selectedItems && selectedItems.length > 0) {\n\t\t\toptions.push(...selectedItems);\n\t\t}\n\n\t\tif (predictiveSearchQuery.data) {\n\t\t\toptions.push(...predictiveSearchQuery.data?.items);\n\t\t}\n\t\tsetXrefResult(options);\n\t\tsetDisplayRecentSearch(false);\n\t}, [predictiveSearchQuery.data]);\n\n\tconst onSelected = (selectedItem) => {\n\t\tconst tempSelected = [...recentSearches];\n\t\tlet foundItem = false;\n\t\tprops.setResearchOffset(0);\n\n\t\tif (selectedItem[0]) {\n\t\t\tfor (let item of tempSelected) {\n\t\t\t\t//ensure we are not tracking the same symbol selected again.\n\t\t\t\tif (item && item.symbol && item.symbol === selectedItem[0].symbol) {\n\t\t\t\t\tfoundItem = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!foundItem) tempSelected.push(selectedItem[0]);\n\n\t\t\tprops.setStateCallback(\n\t\t\t\tselectedItem[0].symbol,\n\t\t\t\tselectedItem[0]?.xids?.venue,\n\t\t\t\tselectedItem[0]?.xids?.legacyCompany\n\t\t\t);\n\t\t}\n\t\tsetSelectedItems(selectedItem);\n\t\tsetRecentSearches(tempSelected);\n\t};\n\t/**\n\t * clear input and selection once user selectes search box\n\t **/\n\tconst onFocus = () => {\n\t\tsetDisplayMenu(true);\n\t\tif (typeaheadRef?.current?.state?.text) {\n\t\t\ttypeaheadRef.current.state.text = \"\";\n\t\t}\n\t\tsetXrefResult(recentSearches);\n\t\tsetSelectedItems([]);\n\t};\n\n\tconst handleFocusEvent = (event) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9) {\n\t\t\t\tsetFocus(true);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleBlur = () => {\n\t\tsetDisplayRecentSearch(true);\n\t\tsetFocus(false);\n\t\tsetDisplayMenu(false);\n\t};\n\n\tconst customInput = ({ inputRef, referenceElementRef, ...inputProps }) => {\n\t\tconst container = {\n\t\t\tdisplay: \"flex\",\n\t\t};\n\t\tconst inputClass = `${focus ? \"focusVisible\" : \"focusReset\"}`;\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tinputRef(node);\n\t\t\t\t\t\t\treferenceElementRef(node);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setFocus(false)}\n\t\t\t\t\t\tonKeyUp={handleFocusEvent}\n\t\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t};\n\n\tconst customMenu = (results, menuProps) => {\n\t\tconst isLanguageRecentSearch = props.language && props.language.RECENT_SEARCHES;\n\t\tconst languageRecentSearch = isLanguageRecentSearch\n\t\t\t? props.language.RECENT_SEARCHES\n\t\t\t: languageEn.RECENT_SEARCHES;\n\t\t// If user clicks outside the our iframe this will make the dropdown menu disapear.\n\t\tconst menuClassName = displayMenu ? \"d-block\" : \"d-none\";\n\t\treturn (\n\t\t\t\n\t\t\t\t{/* Need to have this conditionally render only if there is recent search history. Match legacy site behavior*/}\n\t\t\t\t{displayRecentSearch ? {languageRecentSearch} : <>}\n\t\t\t\t{results.map((result, index) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{result.name}
\n\t\t\t\t\t\t\t\t{result.exchange.countryIso === \"US\" ? (\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\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\t
{result.symbol}
\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\treturn (\n\t\t
\n\t\t\t `${option.name} ${option.symbol}`}\n\t\t\t\tonChange={onSelected}\n\t\t\t\tonInputChange={onInputChange}\n\t\t\t\tplaceholder={\n\t\t\t\t\tprops.language && props.language.SYMBOL_SEARCH\n\t\t\t\t\t\t? props.language.SYMBOL_SEARCH\n\t\t\t\t\t\t: languageEn.SYMBOL_SEARCH\n\t\t\t\t}\n\t\t\t\tselected={selectedItems}\n\t\t\t\toptions={xrefResult}\n\t\t\t\trenderMenu={customMenu}\n\t\t\t\trenderInput={customInput}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tref={typeaheadRef}\n\t\t\t/>\n\t\t
\n\t);\n});\n\nexport default CGSearchBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"AllResearchCard_modal-backdrop__jp7S5\",\"show\":\"AllResearchCard_show__D03TM\",\"LinesEllipsis\":\"AllResearchCard_LinesEllipsis__Npl5y\",\"header\":\"AllResearchCard_header__omtkL\",\"researchContainer\":\"AllResearchCard_researchContainer__Qlsal\",\"researchItems\":\"AllResearchCard_researchItems__cTvIL\",\"item\":\"AllResearchCard_item__7U9MO\",\"headline\":\"AllResearchCard_headline__7XmI9\",\"msHeadline\":\"AllResearchCard_msHeadline__n3gj0\",\"reportData\":\"AllResearchCard_reportData__eBPsX\",\"author\":\"AllResearchCard_author__6+zzK\",\"date\":\"AllResearchCard_date__xCHhd\",\"reportType\":\"AllResearchCard_reportType__d56bH\",\"teaser\":\"AllResearchCard_teaser__no4r3\",\"title\":\"AllResearchCard_title__zU5xx\",\"quoteSearch\":\"AllResearchCard_quoteSearch__7yu8S\",\"cgContainer\":\"AllResearchCard_cgContainer__Enf7Q\",\"filterSortBy\":\"AllResearchCard_filterSortBy__a7aY4\",\"headlineOnly\":\"AllResearchCard_headlineOnly__cnBcM\",\"paginationWrapper\":\"AllResearchCard_paginationWrapper__77ZdT\",\"researchPaginationFooter\":\"AllResearchCard_researchPaginationFooter__I56ya\"};","import React from \"react\";\nimport LinesEllipsis from \"react-lines-ellipsis\";\nimport responsiveHOC from \"react-lines-ellipsis/lib/responsiveHOC\";\nimport formatter from \"utils/formatUtils\";\nimport { RESEARCH_PROVIDERS, CLIENTS } from \"utils/constants\";\nimport utils from \"utils/utils\";\nimport styles from \"../../AllResearchCard/AllResearchCard.module.scss\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\nimport English from \"assets/language/en\";\nimport NoData from \"components/Lib/NoData/NoData\";\n\nconst ResearchItemsTable = React.memo((props) => {\n\tconst { items, dateSpan, headlineOnlyVisibility, ...others } = props;\n\tconst ResponsiveEllipsis = responsiveHOC()(LinesEllipsis);\n\tconst renderArticleLink = (article, index) => {\n\t\tif (article.DataProviderName) {\n\t\t\tif (\n\t\t\t\tarticle.DataProviderName === RESEARCH_PROVIDERS.MORGAN_STANLEY &&\n\t\t\t\tothers.userInfo &&\n\t\t\t\tothers.userInfo.researchRedesignFlag === \"Y\" &&\n\t\t\t\tarticle.MorganStanleyProductID\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\tutils.checkResearchDocumentFormat(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tarticle.MorganStanleyProductID,\n\t\t\t\t\t\t\t\tarticle.documentId,\n\t\t\t\t\t\t\t\tothers.userInfo\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\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlet baseUrl = \"\";\n\n\t\t\t\tif (window.MD) {\n\t\t\t\t\tbaseUrl =\n\t\t\t\t\t\twindow.MD.CLIENT === CLIENTS.CANACCORD_GENUITY\n\t\t\t\t\t\t\t? `${window.MD.CG_API_DOMAIN}/cg-research`\n\t\t\t\t\t\t\t: `${window.MD.MSO_DOMAIN}/ms-research/markets-and-research`;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\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}\n\t\t}\n\t};\n\n\tconst language = props.language ? props.language : English;\n\n\tconst getAuthorNames = (authors) => {\n\t\tif (!authors || !authors.Author || !authors.Author.length) return \"\";\n\t\t// Find the first author in the array with a name specified\n\t\tconst author = authors.Author.find((a) => !!a.AuthorName);\n\t\treturn author ? author.AuthorName : \"\";\n\t};\n\n\tif (!items || items === null || items === undefined) {\n\t\treturn ;\n\t} else if (Object.keys(items).length === 0) {\n\t\tconst symbolText = others.symbol ? `${language.FOR} ${others.symbol} ` : String.empty;\n\t\treturn (\n\t\t\t\n\t\t\t\t{`${language.THERE_ARE_NO_RESEARCH_REPORTS_AVAILABLE} ${symbolText}`}\n\t\t\t\t{language.THERE_ARE_NO_REPORTS_TIMEFRAME}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
    \n\t\t\t\t{items.map((item, index) => {\n\t\t\t\t\tif (!item) return null;\n\n\t\t\t\t\tconst text = item.Teaser || item.Abstract;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
  1. \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{`${getAuthorNames(item.Authors)} for ${item.DataProviderName}`}\n\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\t\t{formatter.date(item.DocumentDate, \"MMM DD YYYY hh:MM A\", {\n\t\t\t\t\t\t\t\t\t\toutputTimezone: \"America/New_York\",\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\t{renderArticleLink(item, index)}\n\t\t\t\t\t\t\t{!headlineOnlyVisibility && text && (\n\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
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
  2. \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
\n\t\t
\n\t);\n});\n\nexport default ResearchItemsTable;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"CollapsibleResponsiveFilter_modal-backdrop__gITlo\",\"show\":\"CollapsibleResponsiveFilter_show__V7m7W\",\"LinesEllipsis\":\"CollapsibleResponsiveFilter_LinesEllipsis__aNJEH\",\"cardHeader\":\"CollapsibleResponsiveFilter_cardHeader__0QMPM\",\"cardContent\":\"CollapsibleResponsiveFilter_cardContent__1QYGS\",\"title\":\"CollapsibleResponsiveFilter_title__jlRL-\",\"cardLinkContainer\":\"CollapsibleResponsiveFilter_cardLinkContainer__5Wp+h\",\"collapseExpand\":\"CollapsibleResponsiveFilter_collapseExpand__DtUga\"};","import React from \"react\";\nimport Chevron from \"components/Lib/Chevron/Chevron\";\nimport classNames from \"classnames\";\n\nimport styles from \"./CollapsibleResponsiveFilter.module.scss\";\n\nconst CollapsibleResponsiveFilter = ({\n\ttitle,\n\tchildren,\n\tonToggle,\n\texpanded = false,\n\tid = null,\n}) => {\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonToggle();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{title}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{`select to ${\n\t\t\t\t\t\t\texpanded ? \"collapse\" : \"expand\"\n\t\t\t\t\t\t} section`}\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\t{expanded &&
{children}
}\n\t\t
\n\t);\n};\n\nexport default CollapsibleResponsiveFilter;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ResearchFilters_modal-backdrop__OwPdo\",\"show\":\"ResearchFilters_show__ocOQM\",\"LinesEllipsis\":\"ResearchFilters_LinesEllipsis__H0IcH\",\"msCheckbox\":\"ResearchFilters_msCheckbox__43lgd\",\"filters\":\"ResearchFilters_filters__CmUDb\",\"checkboxFilter\":\"ResearchFilters_checkboxFilter__UQvE4\",\"inline\":\"ResearchFilters_inline__57zq7\",\"js-focus-visible\":\"ResearchFilters_js-focus-visible__JSBAN\",\"focus-visible\":\"ResearchFilters_focus-visible__8IAvt\",\"checkboxFilterChecked\":\"ResearchFilters_checkboxFilterChecked__IDnyi\",\"checkboxFilterCheck\":\"ResearchFilters_checkboxFilterCheck__iV9bu\",\"buttonCustom\":\"ResearchFilters_buttonCustom__OKQXy\",\"buttonSecondaryCustom\":\"ResearchFilters_buttonSecondaryCustom__QiPMI\",\"buttonPrimaryCustom\":\"ResearchFilters_buttonPrimaryCustom__uxuuj\",\"searchContainer\":\"ResearchFilters_searchContainer__b5khh\",\"filterKeyword\":\"ResearchFilters_filterKeyword__iise2\",\"dropdowns\":\"ResearchFilters_dropdowns__H1r2r\",\"dropdownHeader\":\"ResearchFilters_dropdownHeader__CSCXU\",\"dropdownDivider\":\"ResearchFilters_dropdownDivider__731rh\",\"responsiveFilter\":\"ResearchFilters_responsiveFilter__5oo7j\",\"responsiveFilterVisible\":\"ResearchFilters_responsiveFilterVisible__7Q-ul\",\"xButton\":\"ResearchFilters_xButton__jrdH7\",\"responsiveFilterOption\":\"ResearchFilters_responsiveFilterOption__xWHty\",\"lowerFilterContainer\":\"ResearchFilters_lowerFilterContainer__p+opi\",\"resetFilters\":\"ResearchFilters_resetFilters__jqHP-\",\"viewFilters\":\"ResearchFilters_viewFilters__QxNzV\",\"resetFiltersContainer\":\"ResearchFilters_resetFiltersContainer__EXojY\",\"companySpecificFilterModal\":\"ResearchFilters_companySpecificFilterModal__0-5JJ\",\"companySpecificFullScreen\":\"ResearchFilters_companySpecificFullScreen__4NHq3\",\"sortBy\":\"ResearchFilters_sortBy__kAFFh\",\"filterSortBy\":\"ResearchFilters_filterSortBy__NpHpV\",\"filterModalTitle\":\"ResearchFilters_filterModalTitle__H9aFD\",\"headlineCheckboxFilter\":\"ResearchFilters_headlineCheckboxFilter__VavMT\",\"dropdownsStyle\":\"ResearchFilters_dropdownsStyle__487tv\"};","import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport { Dropdown } from \"react-bootstrap\";\nimport classNames from \"classnames\";\n\nimport SearchIcon from \"components/Lib/Icons/Search/Search\";\nimport MSDropdown from \"components/Lib/MSDropdown/MSDropdown\";\nimport Chevron from \"components/Lib/Chevron/Chevron\";\nimport DateRangePickerModal from \"./DateRangePickerModal/DateRangePickerModal\";\nimport MSCheckbox from \"components/Lib/MSCheckbox/MSCheckbox\";\nimport formatUtils from \"utils/formatUtils\";\n\nimport CollapsibleResponsiveFilter from \"./CollapsibleResponsiveFilter/CollapsibleResponsiveFilter\";\nimport {\n\tResearchSource,\n\tReportType,\n\tbuildDefaultFilterState,\n\tDateSpan,\n} from \"../ResearchAPIParams\";\n\nimport styles from \"./ResearchFilters.module.scss\";\nimport dropdownStyles from \"components/Lib/MSDropdown/MSDropdown.module.scss\";\nimport languageEn from \"assets/language/en\";\nimport Utils from \"utils/utils\";\n\nconst minStartDate = () => {\n\treturn formatUtils.moment().subtract(10, \"year\");\n};\n\n// When the responsive filter opens or changes height for mobile it will update the entire iframe's height to match. Only works in integrated.\nconst updateResponsiveFilterIframe = () => {\n\tsetTimeout(() => {\n\t\tlet responsiveFilter = document.getElementById(\"responsive-filters-modal-container\");\n\t\tUtils.postDimensions(\n\t\t\tresponsiveFilter?.clientHeight,\n\t\t\tresponsiveFilter?.clientWidth,\n\t\t\t0\n\t\t);\n\t}, 25);\n};\n\n// When the responsive filter closes in mobile via X, Cancel, or Apply this updates the entire iframe's height back . Only works in integrated.\nconst updatePagesIframe = () => {\n\tsetTimeout(() => {\n\t\tlet rootHeight = document.getElementById(\"root\");\n\t\tUtils.postDimensions(rootHeight?.clientHeight, rootHeight?.clientWidth);\n\t}, 25);\n};\n\n// TODO: Check if we need an `id` and `for` here for accessibility.\n// The `MSDropdown` doesn't currently have an `id` parameter so that will need to be added, if so.\nconst DesktopWrapInput = React.memo(({ label, labelId, children }) => (\n\t
\n\t\t\n\t\t{children}\n\t
\n));\n\n// NOTE: Intentionally not using so that the dropdown doesn't\n// close on click.\nconst ReportTypeToggle = React.memo(\n\t({ id, label, checked, onClick, className = \"dropdown-item\" }) => {\n\t\treturn (\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tonClick();\n\t\t\t\t}}\n\t\t\t\trole=\"checkbox\"\n\t\t\t\taria-checked={checked}\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n);\n\nexport const CommonReportTypeFilters = React.memo(\n\t({\n\t\tidNamespace,\n\t\treportTypes,\n\t\tonReportTypeChange,\n\t\tclassName = \"dropdown-item\",\n\t\tlanguage,\n\t}) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t onReportTypeChange([])}\n\t\t\t\t/>\n\t\t\t\t onReportTypeChange(ReportType.toggleValue(reportTypes, \"video\"))}\n\t\t\t\t/>\n\t\t\t\t onReportTypeChange(ReportType.toggleValue(reportTypes, \"audio\"))}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n);\n\nconst DesktopReportTypeFilter = React.memo((props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{props.reportTypes\n\t\t\t\t\t.map((rt) => props.language[ReportType.findByKey(rt).label.toUpperCase()])\n\t\t\t\t\t.join(\", \") ||\n\t\t\t\t\t(props.language && props.language.ALL_REPORTS\n\t\t\t\t\t\t? props.language.ALL_REPORTS\n\t\t\t\t\t\t: languageEn.ALL_REPORTS)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n});\n\nconst FilterReportByHeadlineOnly = React.memo(\n\t({ headlineOnlyVisibilityState, onHeadlineOnlyChange, language }) => {\n\t\treturn (\n\t\t\t onHeadlineOnlyChange()}\n\t\t\t\tlabel={\n\t\t\t\t\tlanguage && language.SHOW_HEADLINE_ONLY\n\t\t\t\t\t\t? language.SHOW_HEADLINE_ONLY\n\t\t\t\t\t\t: languageEn.SHOW_HEADLINE_ONLY\n\t\t\t\t}\n\t\t\t\tclassName={styles.headlineCheckboxFilter}\n\t\t\t/>\n\t\t);\n\t}\n);\n\n/**\n * Responsive variations on the filters. Note that the behaviour in this\n * component is different than the desktop filters: here we make a copy\n * of the actual filter state and hold that locally until \"Apply\" is pressed.\n */\nconst ResponsiveFilter = React.memo(\n\t({ filterData, onFilterChange, visible, onClose, language, locale, client }) => {\n\t\t// Make a copy of the current state. We'll modify this and then apply it after.\n\t\tconst [localFilterData, setLocalFilterData] = useState(\n\t\t\tJSON.parse(JSON.stringify(filterData))\n\t\t);\n\n\t\tconst [isVisibilitySet, setIsVisibilitySet] = useState(false);\n\t\tconst resetState = useCallback(() => {\n\t\t\tsetLocalFilterData(JSON.parse(JSON.stringify(filterData)));\n\t\t}, [filterData]);\n\n\t\tconst [datePickerVisible, setDatePickerVisible] = useState(false);\n\n\t\tconst closeFilters = (e) => {\n\t\t\tif (typeof e === \"object\") onClose(e);\n\t\t\telse onClose();\n\t\t\tdocument.querySelector(\"#allResearchCard-title\").scrollIntoView();\n\t\t};\n\t\tconst apply = () => {\n\t\t\tonFilterChange(localFilterData);\n\t\t\tcloseFilters();\n\t\t};\n\t\tconst cancelFilterUpdates = (e) => {\n\t\t\tcloseFilters(e);\n\t\t\tsetIsVisibilitySet(false);\n\t\t\tsetLocalFilterData(JSON.parse(JSON.stringify(filterData)));\n\t\t};\n\t\tconst resetToDefault = () =>\n\t\t\tsetLocalFilterData(buildDefaultFilterState({ keyword: filterData.keyword }));\n\t\tconst onLocalFilterChange = (field, value) =>\n\t\t\tsetLocalFilterData({ ...localFilterData, [field]: value });\n\t\tconst onProviderChange = (provider) => onLocalFilterChange(\"provider\", provider);\n\t\tconst onReportTypeChange = (reportTypes) =>\n\t\t\tonLocalFilterChange(\"reportTypes\", reportTypes);\n\n\t\tconst onDateChange = (dateSpan) => {\n\t\t\tif (dateSpan === DateSpan.CUSTOM_DATE_ID) {\n\t\t\t\tsetDatePickerVisible(true);\n\t\t\t} else {\n\t\t\t\tonLocalFilterChange(\"dateSpan\", dateSpan);\n\t\t\t}\n\t\t};\n\t\tconst onDatePickerChange = (startDate, endDate) => {\n\t\t\tsetLocalFilterData({\n\t\t\t\t...localFilterData,\n\t\t\t\tdateSpan: DateSpan.CUSTOM_DATE_ID,\n\t\t\t\tstartDate: startDate,\n\t\t\t\tendDate: endDate,\n\t\t\t});\n\t\t};\n\n\t\t// Make sure we reset the state any time the panel is displayed\n\t\tuseEffect(() => {\n\t\t\tif (visible && !isVisibilitySet) {\n\t\t\t\tresetState();\n\t\t\t\tsetIsVisibilitySet(true);\n\t\t\t}\n\t\t}, [isVisibilitySet, resetState, visible]);\n\n\t\t// Keep track of the current filter so only one is displayed.\n\t\tconst [currentFilter, setCurrentFilter] = useState(\"provider\");\n\t\tconst toggleFilter = (option) => {\n\t\t\tif (option === currentFilter) {\n\t\t\t\tsetCurrentFilter(\"\");\n\t\t\t} else {\n\t\t\t\tsetCurrentFilter(option);\n\t\t\t}\n\t\t\tupdateResponsiveFilterIframe();\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t setDatePickerVisible(false)}\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\tminStartDate={minStartDate}\n\t\t\t\t\tlocale={locale}\n\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t resetToDefault()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{language && language.RESET ? language.RESET : languageEn.RESET}\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\t
\n\t\t\t\t\t\t\t\t{language && language.FILTERS ? language.FILTERS : languageEn.FILTERS}\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\t cancelFilterUpdates(e)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tX\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\t
\n\t\t\t\t\t toggleFilter(\"provider\")}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ResearchSource.values.map(({ label, key }) => (\n\t\t\t\t\t\t\t onProviderChange(key)}\n\t\t\t\t\t\t\t\tlanguage={language}\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 toggleFilter(\"reportType\")}\n\t\t\t\t\t>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName={styles.responsiveFilterOption}\n\t\t\t\t\t\t\treportTypes={localFilterData.reportTypes}\n\t\t\t\t\t\t\tonReportTypeChange={onReportTypeChange}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t toggleFilter(\"dateSpan\")}\n\t\t\t\t\t\tid={\"research-date-container\"}\n\t\t\t\t\t>\n\t\t\t\t\t\t{DateSpan.values.map(({ label, key }) => (\n\t\t\t\t\t\t\t onDateChange(key)}\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{client === \"CG\" ? null : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tonLocalFilterChange(\"companyOnly\", !localFilterData.companyOnly)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\tlanguage && language.COMPANY_SPECIFIC\n\t\t\t\t\t\t\t\t\t\t\t? language.COMPANY_SPECIFIC\n\t\t\t\t\t\t\t\t\t\t\t: languageEn.COMPANY_SPECIFIC\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\t resetToDefault()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language && language.RESET_FILTERS\n\t\t\t\t\t\t\t? language.RESET_FILTERS\n\t\t\t\t\t\t\t: languageEn.RESET_FILTERS}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{language && language.CANCEL ? language.CANCEL : languageEn.CANCEL}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{language && language.APPLY ? language.APPLY : languageEn.APPLY}\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\n/**\n * The main research filter container. Bootstrap classes are used to toggle between\n * desktop and responsive mode.\n */\nconst ResearchFilters = ({\n\tfilterData,\n\tonFilterChange,\n\theadlineOnlyVisibilityState,\n\tonHeadlineOnlyChange,\n\tonDatePickerDateChange,\n\tlanguage,\n\tlocale,\n\tclearFilterCallback,\n\tclient,\n}) => {\n\tconst [responsiveFilterVisible, setResponsiveFilterVisible] = useState(false);\n\tconst [modalVisibility, setModalVisibility] = useState(false);\n\tconst [focus, setFocus] = useState(false);\n\tconst datepickerRef = useRef(null);\n\n\tlet customDateRange, inputClass;\n\n\tconst interceptDateFilterSelection = (value) => {\n\t\tif (DateSpan.findByLabel(value).key === DateSpan.CUSTOM_DATE_ID) {\n\t\t\t// Intercept the date value so that if the custom date range is selected, we trigger the modal to open.\n\t\t\t// The `onFilterChange()` will be triggered after the user presses Apply in that case.\n\t\t\tlet researchFilters;\n\t\t\t//checks to see if it is the mobile or desktop/ipad view of the filters. based on this, will set the scroll target to the correct id.\n\t\t\tif (responsiveFilterVisible) {\n\t\t\t\tresearchFilters = document.querySelectorAll(\"[id^=research-date-container]\")[0];\n\t\t\t} else {\n\t\t\t\tresearchFilters = document.querySelectorAll(\"[id^=date_picker_div]\")[0];\n\t\t\t}\n\t\t\tresearchFilters.scrollIntoView();\n\t\t\tsetModalVisibility(true);\n\t\t} else {\n\t\t\tonFilterChange(\"dateSpan\", DateSpan.findByLabel(value).key);\n\t\t}\n\t};\n\n\tconst handleFocusEvent = (event) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9) {\n\t\t\t\tsetFocus(true);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst setLanguages = () => {\n\t\t\tif (language.ALL_PROVIDERS) {\n\t\t\t\tResearchSource.translateLabels(\"all\", language.ALL_PROVIDERS);\n\t\t\t\tDateSpan.translateLabels(DateSpan.values, language);\n\t\t\t}\n\t\t};\n\n\t\tif (language) {\n\t\t\tsetLanguages();\n\t\t}\n\t}, [language]);\n\n\t// KB Sept. 10, 2020: I don't like this, but can't think of a better way that doesn't introduce a bunch of complexity.\n\tuseEffect(() => {\n\t\tif (responsiveFilterVisible) {\n\t\t\tlet element = document.getElementById(\"research-filter-container\");\n\t\t\tupdateResponsiveFilterIframe();\n\t\t\telement.scrollIntoView({ behavior: \"auto\", block: \"start\", inline: \"nearest\" });\n\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t} else {\n\t\t\tdocument.body.style.overflow = \"inherit\";\n\t\t\tupdatePagesIframe();\n\t\t}\n\t}, [responsiveFilterVisible]);\n\n\tif (\n\t\tDateSpan.findByKey(filterData.dateSpan).label === \"Custom Date\" &&\n\t\tfilterData.startDate &&\n\t\tfilterData.endDate\n\t) {\n\t\tcustomDateRange = `${formatUtils.date(\n\t\t\tfilterData.startDate,\n\t\t\t\"MM/DD/YY\"\n\t\t)} - ${formatUtils.date(filterData.endDate, \"MM/DD/YY\")}`;\n\t} else {\n\t\tcustomDateRange = false;\n\t}\n\tinputClass = `${styles.filterKeyword} ${focus ? \"focusVisible\" : \"focusReset\"}`;\n\n\tconst filterFunctions = () => {\n\t\tif (client === \"CG\") {\n\t\t\tclearFilterCallback();\n\t\t} else {\n\t\t\tonFilterChange(buildDefaultFilterState({ keyword: filterData.keyword }));\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t setResponsiveFilterVisible(false)}\n\t\t\t/>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t onFilterChange(\"keyword\", e.target.value)}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\tlanguage && language.ENTER_KEYWORDS\n\t\t\t\t\t\t\t\t? language.ENTER_KEYWORDS\n\t\t\t\t\t\t\t\t: languageEn.ENTER_KEYWORDS\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={filterData.keyword}\n\t\t\t\t\t\tonKeyUp={handleFocusEvent}\n\t\t\t\t\t\tonBlur={() => setFocus(false)}\n\t\t\t\t\t\tonMouseDown={() => setFocus(false)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\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\t\toption: label,\n\t\t\t\t\t\t\t\t\t\taction: key,\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\ttitle={ResearchSource.findByKey(filterData.provider).label}\n\t\t\t\t\t\t\t\tonSelectCallback={(value) =>\n\t\t\t\t\t\t\t\t\tonFilterChange(\"provider\", ResearchSource.findByLabel(value).key)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-labelledby=\"desktop_research_source\"\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\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tonFilterChange(\"reportTypes\", nextReportTypes)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-labelledby=\"desktop_report_type\"\n\t\t\t\t\t\t\t\tlanguage={language}\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\n\t\t\t\t\t\t\n\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\t\toption: label,\n\t\t\t\t\t\t\t\t\t\taction: key,\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\ttitle={DateSpan.findByKey(filterData.dateSpan).label}\n\t\t\t\t\t\t\t\tonSelectCallback={(value) => interceptDateFilterSelection(value)}\n\t\t\t\t\t\t\t\tcontrolled={true}\n\t\t\t\t\t\t\t\taria-labelledby=\"desktop_date_range\"\n\t\t\t\t\t\t\t\ttitleOverride={customDateRange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetModalVisibility(false);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\t\tminStartDate={minStartDate}\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\n\t\t\t\t\t\t{client === \"CG\" ? null : (\n\t\t\t\t\t\t\t onFilterChange(\"companyOnly\", !filterData.companyOnly)}\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tlanguage && language.COMPANY_SPECIFIC\n\t\t\t\t\t\t\t\t\t\t? language.COMPANY_SPECIFIC\n\t\t\t\t\t\t\t\t\t\t: languageEn.COMPANY_SPECIFIC\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"my-auto mr-3\"\n\t\t\t\t\t\t\t\tinline={true}\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
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t filterFunctions()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{language && language.RESET_FILTERS\n\t\t\t\t\t\t\t\t\t\t\t? language.RESET_FILTERS\n\t\t\t\t\t\t\t\t\t\t\t: languageEn.RESET_FILTERS}\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\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetResponsiveFilterVisible(true);\n\t\t\t\t\t\t\t\t\t\tUtils.postScrollTop();\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\t\t{language?.VIEW_FILTERS\n\t\t\t\t\t\t\t\t\t\t? language.VIEW_FILTERS\n\t\t\t\t\t\t\t\t\t\t: languageEn.VIEW_FILTERS}\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\n\t\t\n\t);\n};\n\nexport default ResearchFilters;\n","import React, { Component } from \"react\";\nimport Card from \"components/Lib/Card/Card\";\nimport PaginationFooter from \"components/Lib/PaginationFooter/PaginationFooter\";\nimport paginationhelper from \"utils/paginationHelper\";\nimport CGSearchBar from \"../../../Lib/CGSearch/CGSearchBar\";\nimport ResearchItemsTable from \"./ResearchItemsTable/ResearchItemsTable\";\nimport { debounce } from \"lodash\";\nimport ResearchFilters from \"./ResearchFilters/ResearchFilters\";\nimport { buildDefaultFilterState, DateSpan } from \"./ResearchAPIParams\";\nimport ResearchAPIUtils from \"services/APIs/Research/ResearchAPI\";\nimport Utils from \"utils/utils\";\n\nimport styles from \"./AllResearchCard.module.scss\";\nimport languageEn from \"assets/language/en\";\n\nclass AllResearchCard extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tfilterData: buildDefaultFilterState(),\n\t\t\theadlineOnlyVisibility: false,\n\t\t\tresearchOffset: 0,\n\t\t\tresearchData: null,\n\t\t\tallResearchCardHeightChanged: false,\n\t\t\tallResearchCardHeight: 0,\n\t\t};\n\n\t\tthis.PAGE_LIMIT = 10;\n\t\tthis.EMPTY_RESEARCH_OBJ = { items: [] };\n\t\tthis.setResearchOffset = this.setResearchOffset.bind(this);\n\t\tthis.onFilterChange = this.onFilterChange.bind(this);\n\t\tthis.onDatePickerDateChange = this.onDatePickerDateChange.bind(this);\n\t\tthis.onHeadlineOnlyChange = this.onHeadlineOnlyChange.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.fetchResearchDocuments();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.isPropUpdated(prevProps, \"venueXid\") ||\n\t\t\tthis.isPropUpdated(prevProps, \"apiInstance\")\n\t\t) {\n\t\t\tthis.fetchResearchDocuments();\n\t\t}\n\t\tif (this.isPropUpdated(prevProps, \"researchDocumentsData\")) {\n\t\t\tthis.setState({ researchData: this.props.researchDocumentsData });\n\t\t}\n\t\tif (this.isPropUpdated(prevProps, \"filterData\")) {\n\t\t\tthis.setState({ filterData: this.props.filterData });\n\t\t}\n\n\t\t// Fetch data when filters are modified by the user\n\t\tif (\n\t\t\tthis.props?.venueXid &&\n\t\t\t(this.isStateUpdated(prevState, \"filterData\") ||\n\t\t\t\tthis.isStateUpdated(prevState, \"headlineOnlyVisibility\") ||\n\t\t\t\tthis.isStateUpdated(prevState, \"researchOffset\"))\n\t\t) {\n\t\t\tthis.fetchResearchDocuments();\n\t\t}\n\n\t\tif (this.isStateUpdated(prevState, \"filterData\")) {\n\t\t\tif (this.props.setFilterDataCallback) {\n\t\t\t\tthis.props.setFilterDataCallback(this.state.filterData);\n\t\t\t}\n\t\t}\n\n\t\t// Sets a new card height when there is new research data. Mobile requires a delay to get correct height.\n\t\tif (this.isStateUpdated(prevState, \"researchData\")) {\n\t\t\tif (this.props.isMobile) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tallResearchCardHeight: document.getElementById(\"allResearchCardHeight\")\n\t\t\t\t\t\t\t?.clientHeight,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tallResearchCardHeight: document.getElementById(\"allResearchCardHeight\")\n\t\t\t\t\t\t?.clientHeight,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\tWhen user clicks on pagination it sets allResearchCardHeightChanged to true.\n\t\tThat then allows the page to scroll up or down based on the difference between\n\t\tthe All Research Card height that was loss or gained.\n\t\t*/\n\t\tif (\n\t\t\tthis.isStateUpdated(prevState, \"allResearchCardHeight\") &&\n\t\t\tthis.state.allResearchCardHeightChanged\n\t\t) {\n\t\t\tlet prev = prevState.allResearchCardHeight;\n\t\t\tlet curr = this.state.allResearchCardHeight;\n\t\t\tif (prev > curr) {\n\t\t\t\tlet heightLoss = -(prev - curr);\n\t\t\t\tUtils.postScrollBy(0, heightLoss);\n\t\t\t} else {\n\t\t\t\tlet heightGrowth = curr - prev;\n\t\t\t\tUtils.postScrollBy(0, heightGrowth);\n\t\t\t}\n\t\t\tthis.setState({ allResearchCardHeightChanged: false });\n\t\t}\n\t}\n\n\tisPropUpdated(prevProps, verificationProp) {\n\t\tif (!prevProps) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn prevProps[verificationProp] !== this.props[verificationProp];\n\t}\n\n\tisStateUpdated(prevState, verificationState) {\n\t\tif (!prevState) {\n\t\t\treturn false;\n\t\t}\n\t\treturn prevState[verificationState] !== this.state[verificationState];\n\t}\n\n\theaderTitle() {\n\t\tif (this.props.symbol) {\n\t\t\treturn this.props.language?.MARKET_RESEARCH_WITH_SYMBOL\n\t\t\t\t? `${this.props.language.MARKET_RESEARCH_WITH_SYMBOL}${this.props.symbol}`\n\t\t\t\t: `${languageEn.MARKET_RESEARCH_WITH_SYMBOL}${this.props.symbol}`;\n\t\t}\n\n\t\treturn this.props.language?.MARKET_RESEARCH\n\t\t\t? this.props.language.MARKET_RESEARCH\n\t\t\t: languageEn.MARKET_RESEARCH;\n\t}\n\n\tonFilterChange(fieldOrObject, value) {\n\t\tlet updatedFields = fieldOrObject;\n\t\tif (typeof fieldOrObject === \"string\" || fieldOrObject instanceof String) {\n\t\t\tupdatedFields = { ...this.state.filterData, [fieldOrObject]: value };\n\t\t}\n\t\t// Update state of filter data and reset the offset back to 0 on filter changes\n\t\tthis.setState({ filterData: updatedFields, researchOffset: 0 });\n\t}\n\n\tonDatePickerDateChange = (startDate, endDate) => {\n\t\tthis.setState({\n\t\t\tfilterData: {\n\t\t\t\t...this.state.filterData,\n\t\t\t\tdateSpan: DateSpan.CUSTOM_DATE_ID,\n\t\t\t\tstartDate: startDate,\n\t\t\t\tendDate: endDate,\n\t\t\t},\n\t\t});\n\t};\n\n\tonHeadlineOnlyChange() {\n\t\tthis.setState({ headlineOnlyVisibility: !this.state.headlineOnlyVisibility });\n\t}\n\n\ttrackGA = debounce((totalItems) => {\n\t\ttry {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: \"analystResearchSearch\",\n\t\t\t\teventProps: {\n\t\t\t\t\tsymbol: this.props.symbol,\n\t\t\t\t\tkeyword: this.state.filterData.keyword,\n\t\t\t\t\tsource: this.state.filterData.provider,\n\t\t\t\t\treportType: this.state.filterData.reportTypes,\n\t\t\t\t\tdateSelection: this.state.filterData.dateSpan,\n\t\t\t\t\tcompanySpecific: this.state.filterData.companyOnly, //Dimension\n\t\t\t\t\theadlineOnly: this.state.headlineOnlyVisibility, //Dimension\n\t\t\t\t\tsearchResultCount: totalItems, //Dimension\n\t\t\t\t},\n\t\t\t});\n\t\t} catch (ex) {}\n\t}, 300);\n\n\tasync fetchResearchDocuments() {\n\t\tif (this.props.venueXid) {\n\t\t\tconst researchData = await ResearchAPIUtils.getResearchDocuments(\n\t\t\t\tthis.props.apiInstance,\n\t\t\t\tthis.props.venueXid,\n\t\t\t\tthis.state.filterData,\n\t\t\t\tthis.PAGE_LIMIT,\n\t\t\t\tthis.state.researchOffset,\n\t\t\t\tthis.props.legacyCompany\n\t\t\t);\n\t\t\tthis.trackGA(researchData?.pagination?.totalItems);\n\t\t\tthis.setState({ researchData });\n\t\t}\n\t}\n\n\trenderPagination() {\n\t\tconst navigatePagination = (next) => {\n\t\t\tthis.setState({ researchOffset: next });\n\t\t\tthis.setState({ allResearchCardHeightChanged: true });\n\t\t};\n\t\tconst setResearchOffset = this.props.venueXid\n\t\t\t? (next) => navigatePagination(next)\n\t\t\t: this.props.setResearchOffsetCallback;\n\t\tconst researchOffset = this.props.venueXid\n\t\t\t? this.state.researchOffset\n\t\t\t: this.props.researchOffset;\n\n\t\tif (this.state.researchData?.pagination?.totalItems) {\n\t\t\treturn (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tsetResearchOffset(researchOffset) {\n\t\tthis.setState({ researchOffset });\n\t}\n\n\trender() {\n\t\tconst onFilterChange = this.props.venueXid\n\t\t\t? this.onFilterChange\n\t\t\t: this.props.onFilterChange;\n\t\tconst onDatePickerDateChange = this.props.venueXid\n\t\t\t? this.onDatePickerDateChange\n\t\t\t: this.props.onDatePickerDateChange;\n\t\tconst setResearchOffset = this.props.venueXid\n\t\t\t? (next) => this.setState({ researchOffset: next })\n\t\t\t: this.props.setResearchOffsetCallback;\n\t\tconst containerClass = this.props.client === \"CG\" ? styles.cgContainer : \"mt-2 mb-2\";\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{this.headerTitle()}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t{this.props.client === \"CG\" ? (\n\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) : null}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{this.renderPagination()}\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default AllResearchCard;\n","// This logic is based on the `BuildInputs()` method in\n// MOD.Web.Clients.MorganStanley.MSOnline.Data.Research.ResearchHistory\n// from the `morganstanley-msonline` project\nimport languageEn from \"assets/language/en\";\nimport formatter from \"utils/formatUtils\";\n\nconst ALL = \"all\";\nconst CUSTOM_DATE_ID = 99;\nconst DATE_OPTIONS = {\n\tTODAY: languageEn.TODAY,\n\tYESTERDAY: languageEn.YESTERDAY,\n\tLAST_7_DAYS: languageEn.LAST_7_DAYS,\n\tLAST_30_DAYS: languageEn.LAST_30_DAYS,\n\tLAST_3_MONTHS: languageEn.LAST_3_MONTHS,\n\tLAST_6_MONTHS: languageEn.LAST_6_MONTHS,\n\tLAST_12_MONTHS: languageEn.LAST_12_MONTHS,\n\tCUSTOM_DATE: languageEn.CUSTOM_DATE,\n};\n\nexport const getTranslationLabel = (val) => {\n\tlet keyValuePair = Object.entries(DATE_OPTIONS).find((i) => i[1] === val);\n\treturn keyValuePair ? keyValuePair[0] : null;\n};\n\n/**\n * Convenience method for constructing an equal to parameter\n *\n * @param {string} field Field name\n * @param {string[]} values Array of values\n */\nconst equalTo = (field, values) => {\n\treturn {\n\t\tfield: field,\n\t\tconditions: [\n\t\t\t{\n\t\t\t\toperator: \"EqualTo\",\n\t\t\t\tvalues: values,\n\t\t\t},\n\t\t],\n\t};\n};\n\n/**\n * Common functionality for the discrete options\n */\nexport const commonMethods = {\n\tfindByKey(key) {\n\t\treturn this.values.find((rs) => rs.key === key);\n\t},\n\tfindByLabel(label) {\n\t\treturn this.values.find((rs) => rs.label === label);\n\t},\n\t// this function is a setter for labels in the filter dropdowns (e.g. for language translations)\n\ttranslateLabels(keys, translationLabels) {\n\t\t// if multiple keys exist, iterate through the list of keys and update the default label for each key provided\n\t\tif (Array.isArray(keys) && keys.length && translationLabels) {\n\t\t\tkeys.forEach((element) => {\n\t\t\t\tconst currentTranslationLabel = element.translationLabel;\n\n\t\t\t\tif (translationLabels[currentTranslationLabel]) {\n\t\t\t\t\telement.label = translationLabels[currentTranslationLabel];\n\t\t\t\t}\n\t\t\t});\n\t\t\t// if there is one key provided, update the component's label at the key provided\n\t\t} else {\n\t\t\tconst updateIndex = this.values.findIndex((element) => element.key === keys);\n\t\t\tthis.values[updateIndex].label = translationLabels;\n\t\t}\n\t},\n\thasAll(arr) {\n\t\treturn !arr || arr.length === 0 || this.hasType(arr, ALL);\n\t},\n\thasType(arr, field) {\n\t\treturn arr && arr.some((rt) => rt === field);\n\t},\n\n\ttoggleValue(arr, field) {\n\t\tif (arr.some((x) => x === field)) {\n\t\t\treturn arr.filter((x) => x !== field);\n\t\t} else {\n\t\t\treturn [...arr, field];\n\t\t}\n\t},\n};\n\nexport const ResearchSource = {\n\t...commonMethods,\n\tvalues: [\n\t\t{\n\t\t\tkey: ALL,\n\t\t\tlabel: \"All Providers\",\n\t\t\tmodule: undefined,\n\t\t},\n\t\t{\n\t\t\tkey: \"morningstar\",\n\t\t\tlabel: \"Morningstar\",\n\t\t\tmodule: \"MorningstarResearch\",\n\t\t},\n\t\t{\n\t\t\tkey: \"morgan-stanley\",\n\t\t\tlabel: \"Morgan Stanley\",\n\t\t\tmodule: \"MorganStanleyResearch\",\n\t\t},\n\t],\n\tDEFAULT_RESEARCH_SOURCE: ALL,\n\n\tbuildArgs(provider) {\n\t\tconst providerSearch = this.findByKey(provider);\n\t\tif (!providerSearch || !providerSearch.module) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn equalTo(\"Module\", [providerSearch.module]);\n\t},\n};\n\nexport const DateSpan = {\n\t...commonMethods,\n\tvalues: [\n\t\t{\n\t\t\tkey: 1,\n\t\t\tlabel: DATE_OPTIONS.TODAY,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.TODAY),\n\t\t\tnumberPrior: 0,\n\t\t\tunit: \"days\",\n\t\t},\n\t\t{\n\t\t\tkey: 2,\n\t\t\tlabel: DATE_OPTIONS.YESTERDAY,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.YESTERDAY),\n\t\t\tnumberPrior: 1,\n\t\t\tunit: \"days\",\n\t\t},\n\t\t{\n\t\t\tkey: 3,\n\t\t\tlabel: DATE_OPTIONS.LAST_7_DAYS,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.LAST_7_DAYS),\n\t\t\tnumberPrior: 7,\n\t\t\tunit: \"days\",\n\t\t},\n\t\t{\n\t\t\tkey: 4,\n\t\t\tlabel: DATE_OPTIONS.LAST_30_DAYS,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.LAST_30_DAYS),\n\t\t\tnumberPrior: 30,\n\t\t\tunit: \"days\",\n\t\t},\n\t\t{\n\t\t\tkey: 5,\n\t\t\tlabel: DATE_OPTIONS.LAST_3_MONTHS,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.LAST_3_MONTHS),\n\t\t\tnumberPrior: 3,\n\t\t\tunit: \"months\",\n\t\t},\n\t\t{\n\t\t\tkey: 6,\n\t\t\tlabel: DATE_OPTIONS.LAST_6_MONTHS,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.LAST_6_MONTHS),\n\t\t\tnumberPrior: 6,\n\t\t\tunit: \"months\",\n\t\t},\n\t\t{\n\t\t\tkey: 8,\n\t\t\tlabel: DATE_OPTIONS.LAST_12_MONTHS,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.LAST_12_MONTHS),\n\t\t\tnumberPrior: 12,\n\t\t\tunit: \"months\",\n\t\t},\n\t\t{\n\t\t\tkey: CUSTOM_DATE_ID,\n\t\t\tlabel: DATE_OPTIONS.CUSTOM_DATE,\n\t\t\ttranslationLabel: getTranslationLabel(DATE_OPTIONS.CUSTOM_DATE),\n\t\t\tnumberPrior: \"\",\n\t\t\tunit: \"CUSTOM_DATE_ID\",\n\t\t},\n\t],\n\tDEFAULT_DATE_SPAN_ID: 4,\n\tCUSTOM_DATE_ID: CUSTOM_DATE_ID,\n\n\tbuildArgs(dateSelection, startDate, endDate) {\n\t\tconst args = {\n\t\t\tfield: \"DocumentDate\",\n\t\t\ttype: \"date\",\n\t\t\tconditions: [],\n\t\t};\n\t\tif (dateSelection === CUSTOM_DATE_ID) {\n\t\t\t// If the custom date is selected, then normalize values to Eastern and the bottom/top of the day\n\t\t\targs.startDate = formatter\n\t\t\t\t.moment(startDate)\n\t\t\t\t.tz(\"America/New_York\")\n\t\t\t\t.startOf(\"day\")\n\t\t\t\t.toDate();\n\t\t\targs.endDate = formatter\n\t\t\t\t.moment(endDate)\n\t\t\t\t.tz(\"America/New_York\")\n\t\t\t\t.endOf(\"day\")\n\t\t\t\t.toDate();\n\t\t} else {\n\t\t\t// Otherwise, use the `numberPrior` and `unit` values to calculate a relative range\n\t\t\tconst dateValue = this.findByKey(dateSelection);\n\t\t\targs.startDate = formatter\n\t\t\t\t.moment()\n\t\t\t\t.tz(\"America/New_York\")\n\t\t\t\t.subtract(dateValue.numberPrior, dateValue.unit)\n\t\t\t\t.startOf(\"day\")\n\t\t\t\t.toDate();\n\t\t\targs.endDate = formatter.moment().tz(\"America/New_York\").endOf(\"day\").toDate(); // Today\n\t\t}\n\n\t\treturn args;\n\t},\n};\n\nexport const ReportType = {\n\t...commonMethods,\n\tvalues: [\n\t\t{\n\t\t\tkey: ALL,\n\t\t\tlabel: \"All Reports\",\n\t\t\tmodule: undefined,\n\t\t},\n\t\t{\n\t\t\tkey: \"update\",\n\t\t\tlabel: \"Update\",\n\t\t\tmodule: \"RatingsTargets\",\n\t\t},\n\t\t// KNOWN ISSUE: foundations do not currently existin in the QBID\n\t\t{\n\t\t\tkey: \"foundation\",\n\t\t\tlabel: \"Foundation\",\n\t\t\tmodule: \"Foundation\", // TODO: Update the \"module\" once the QBID is updated\n\t\t},\n\t\t{\n\t\t\tkey: \"initiation\",\n\t\t\tlabel: \"Initiation of Coverage\",\n\t\t\tmodule: \"Initiations\",\n\t\t},\n\t\t{\n\t\t\tkey: \"audio\",\n\t\t\tlabel: \"Audio\",\n\t\t\tmodule: \"Audio\",\n\t\t},\n\t\t{\n\t\t\tkey: \"video\",\n\t\t\tlabel: \"Video\",\n\t\t\tmodule: \"Video\",\n\t\t},\n\t],\n\n\tbuildArgs(reportTypes) {\n\t\tif (this.hasAll(reportTypes)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn equalTo(\n\t\t\t\"Module\",\n\t\t\treportTypes.map((rt) => this.findByKey(rt).module)\n\t\t);\n\t},\n};\n\nconst buildWSODIssueArgs = (wsodIssue) =>\n\twsodIssue && wsodIssue.length > 0 ? equalTo(\"WSODIssue\", [wsodIssue]) : undefined;\n\nconst buildFreeTextArgs = (keyword) =>\n\tkeyword && keyword.length > 0 ? equalTo(\"FreeText\", [keyword]) : undefined;\n\nconst buildCompanyOnly = (companyOnly) =>\n\tcompanyOnly ? equalTo(\"Module\", [\"CompanySpecific\"]) : undefined;\n\nexport const buildDefaultFilterState = (overrides = {}) => {\n\treturn {\n\t\tkeyword: \"\",\n\t\tprovider: ResearchSource.DEFAULT_RESEARCH_SOURCE,\n\t\treportTypes: [],\n\t\taudioVideo: [],\n\t\tcompanyOnly: false,\n\t\tstartDate: false,\n\t\tendDate: false,\n\t\tdateSpan: DateSpan.DEFAULT_DATE_SPAN_ID,\n\t\t...overrides,\n\t};\n};\n\nconst buildPrimaryWSODIssue = (primaryWSODIssue, companyOnly) =>\n\tprimaryWSODIssue && companyOnly && primaryWSODIssue.toString().length > 0\n\t\t? equalTo(\"PrimaryWSODIssue\", [`${primaryWSODIssue}`])\n\t\t: undefined;\nconst buildWSODCompanyArgs = (legacyCompany) =>\n\tlegacyCompany && legacyCompany.toString().length > 0\n\t\t? equalTo(\"WSODCompany\", [legacyCompany.toString()])\n\t\t: undefined;\n\nexport const mapFiltersToParams = (\n\tvenueXid,\n\t{ keyword, provider, reportTypes, companyOnly, dateSpan, startDate, endDate },\n\tsortArgument,\n\tlimit = 5,\n\toffset = 0,\n\tlegacyCompany = undefined\n) => {\n\tconst args = [\n\t\tbuildWSODIssueArgs(venueXid),\n\t\tbuildPrimaryWSODIssue(venueXid, companyOnly),\n\t\tbuildCompanyOnly(companyOnly),\n\t\tbuildWSODCompanyArgs(legacyCompany),\n\t\tbuildFreeTextArgs(keyword),\n\t\tResearchSource.buildArgs(provider),\n\t\tReportType.buildArgs(reportTypes),\n\t\tDateSpan.buildArgs(dateSpan, startDate, endDate),\n\t].filter((a) => a !== undefined);\n\treturn {\n\t\targsOperator: \"AND\",\n\t\targuments: args,\n\t\tlimit,\n\t\toffset,\n\t\tsortArgument,\n\t};\n};\n","import React from \"react\";\n\nconst Close = () => {\n\treturn (\n\t\t\n\t\t\tClose\n\t\t\t\n\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\n// Used to append to chart legend via jquery\nconst CloseHtmlString = [\n\t'',\n\t\"Close\",\n\t'',\n\t'',\n\t'',\n\t\"\",\n\t\"\",\n\t\"\",\n].join(\"\");\n\nexport default Close;\n\nexport { CloseHtmlString };\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"DateRangePicker_modal-backdrop__KCL4C\",\"show\":\"DateRangePicker_show__r2QZK\",\"LinesEllipsis\":\"DateRangePicker_LinesEllipsis__VoXUB\",\"dialogWrap\":\"DateRangePicker_dialogWrap__sBSrJ\"};","import React, { useState, useEffect, useRef } from \"react\";\nimport DatePicker from \"react-datepicker\";\nimport Modal from \"react-bootstrap/Modal\";\nimport Button from \"react-bootstrap/Button\";\nimport { default as Left } from \"../../../../../Lib/Icons/Left/Left\";\nimport { default as Right } from \"../../../../../Lib/Icons/Right/Right\";\nimport { default as Close } from \"../../../../../Lib/Icons/Close/Close\";\nimport formatUtils from \"utils/formatUtils\";\nimport styles from \"./DateRangePicker.module.scss\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport languageEn from \"assets/language/en\";\nimport localeEn from \"date-fns/locale/en-US\";\nimport { RESPONSIVE_BREAKPOINTS } from \"utils/constants\";\n\nconst DateRangePickerModal = ({\n\tmodalVisibility,\n\tonModalClose,\n\tonDatePickerDateChange,\n\tlanguage,\n\tminStartDate,\n\tlocale,\n\tmaxNumberOfYears,\n}) => {\n\tconst currentYear = new Date().getFullYear();\n\tconst [startDateFoist, setStartDateFoist] = useState(\"\");\n\tconst [endDateFoist, setEndDateFoist] = useState(false);\n\tconst [switcher, setSwitchState] = useState(false);\n\tconst [focusFrom, setFocusFromField] = useState(false);\n\tconst [focusTo, setFocusToField] = useState(false);\n\tconst [startDate, setStartDate] = useState(\"\");\n\tconst [endDate, setEndDate] = useState(\"\");\n\tconst [dateError, setDateError] = useState(\"\");\n\tconst [focusMonth, setFocusMonth] = useState(false);\n\tconst [focusYear, setFocusYear] = useState(false);\n\tconst innerRefStartDate = useRef();\n\tconst innerRefEndDate = useRef();\n\n\tconst isMobile =\n\t\twindow.matchMedia(\n\t\t\t`(max-width: ${RESPONSIVE_BREAKPOINTS.MEDIA_BREAKPOINTS_MAX.MEDIA_BREAKPOINT_MAX_LG}px)`\n\t\t).matches || false;\n\n\tconst range = (start, end) => {\n\t\treturn new Array(end - start).fill().map((d, i) => i + start);\n\t};\n\tlet datepickerMargin;\n\n\tif (isMobile) {\n\t\t// true for mobile device\n\t\tdatepickerMargin = \"2\";\n\t} else {\n\t\tdatepickerMargin = \"5\";\n\t}\n\n\tconst START_YEAR_RANGE = currentYear - (maxNumberOfYears ? maxNumberOfYears : 10);\n\tconst years = range(START_YEAR_RANGE, currentYear);\n\tyears.push(currentYear);\n\tyears.reverse();\n\n\tuseEffect(() => {\n\t\tsetStartDate(\n\t\t\tstartDateFoist ? `${formatUtils.date(startDateFoist, \"MMM DD YYYY\")}` : \"\"\n\t\t);\n\t}, [startDateFoist]);\n\tuseEffect(() => {\n\t\tsetEndDate(endDateFoist ? `${formatUtils.date(endDateFoist, \"MMM DD YYYY\")}` : \"\");\n\t}, [endDateFoist]);\n\n\tconst months = [\n\t\t\"Jan\",\n\t\t\"Feb\",\n\t\t\"Mar\",\n\t\t\"Apr\",\n\t\t\"May\",\n\t\t\"Jun\",\n\t\t\"Jul\",\n\t\t\"Aug\",\n\t\t\"Sep\",\n\t\t\"Oct\",\n\t\t\"Nov\",\n\t\t\"Dec\",\n\t];\n\n\tconst handleDateValidation = (date) => {\n\t\tlet isValid = false;\n\t\tif (\n\t\t\tformatUtils.moment(date, \"MMM DD YYYY\", true).isValid() ||\n\t\t\tformatUtils.moment(date, \"MM/DD/YYYY\", true).isValid()\n\t\t) {\n\t\t\tisValid = true;\n\t\t} else {\n\t\t\tsetDateError(\"Enter valid date format of MM/DD/YYYY or MMM DD YYYY\");\n\t\t}\n\t\treturn isValid;\n\t};\n\n\tconst handleStartDateChange = (date, isBlurEvent) => {\n\t\tsetDateError(\"\");\n\t\tsetFocusFromField(false);\n\t\tif (date) {\n\t\t\tif (handleDateValidation(date)) {\n\t\t\t\tlet startDt;\n\t\t\t\t//If Start date is greater than todays date then use today's date.\n\t\t\t\tif (new Date(date) > new Date()) {\n\t\t\t\t\tstartDt = new Date();\n\t\t\t\t} else if (new Date(date) < new Date(minStartDate())) {\n\t\t\t\t\t//If Start date is less than 10 years from current date then use today's date - 10 years date.\n\t\t\t\t\tstartDt = new Date(minStartDate());\n\t\t\t\t} else {\n\t\t\t\t\tstartDt = new Date(date);\n\t\t\t\t}\n\n\t\t\t\tsetStartDateFoist(startDt);\n\n\t\t\t\tif (endDateFoist && endDateFoist.getTime() < startDt.getTime()) {\n\t\t\t\t\tsetEndDateFoist(false);\n\t\t\t\t\tsetSwitchState(true);\n\t\t\t\t\tsetEndDate(\"\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!isBlurEvent) {\n\t\t\t\t\tsetSwitchState(true);\n\t\t\t\t\tinnerRefEndDate.current.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleEndDateChange = (date, isBlurEvent) => {\n\t\tsetDateError(\"\");\n\t\tsetFocusToField(false);\n\t\tif (date) {\n\t\t\tif (handleDateValidation(date)) {\n\t\t\t\tlet endDt;\n\t\t\t\t//If End date is greater than todays date then use today's date.\n\t\t\t\tif (new Date(date) > new Date()) {\n\t\t\t\t\tendDt = new Date();\n\t\t\t\t} else {\n\t\t\t\t\tendDt = new Date(date);\n\t\t\t\t}\n\t\t\t\tsetEndDateFoist(endDt);\n\n\t\t\t\tif (startDateFoist && startDateFoist.getTime() > endDt.getTime()) {\n\t\t\t\t\tsetStartDateFoist(\"\");\n\t\t\t\t\tsetSwitchState(false);\n\t\t\t\t\tsetStartDate(\"\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!isBlurEvent) {\n\t\t\t\t\tsetSwitchState(false);\n\t\t\t\t\tinnerRefStartDate.current.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleApplyClick = () => {\n\t\tif (!startDate || !endDate) {\n\t\t\tsetDateError(\"You must have a start and an end date selected to continue.\");\n\t\t} else if (handleDateValidation(startDate) && handleDateValidation(endDate)) {\n\t\t\tonModalClose();\n\t\t\tsetSwitchState(false);\n\t\t\tonDatePickerDateChange(startDateFoist, endDateFoist);\n\t\t}\n\t};\n\n\tconst handleClose = () => {\n\t\tonModalClose();\n\t};\n\n\tconst handleFocusEvent = (event, setFocus, switchState) => {\n\t\tif (event && event.type === \"keyup\") {\n\t\t\t// setting keyup event changes on tab only\n\t\t\tif (event.keyCode === 9) {\n\t\t\t\tsetFocus(true);\n\t\t\t\t// This will help to change the value of switcher when user use TAB for next input.\n\t\t\t\tsetSwitchState(switchState);\n\t\t\t} else {\n\t\t\t\tsetFocus(false);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tif (!switcher) {\n\t\t\t\t\t\tinnerRefStartDate.current.focus();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinnerRefEndDate.current.focus();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tshow={modalVisibility}\n\t\t\t\tonHide={handleClose}\n\t\t\t\tcentered={!datepickerMargin}\n\t\t\t\tdialogClassName={styles.dialogWrap}\n\t\t\t>\n\t\t\t\t
\n\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\t\n\t\t\t\t\t\n\t\t\t\t\t\t{language && language.SELECT_CUSTOM_DATE_RANGE\n\t\t\t\t\t\t\t? language.SELECT_CUSTOM_DATE_RANGE\n\t\t\t\t\t\t\t: languageEn.SELECT_CUSTOM_DATE_RANGE}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t// Only show dates that are in the past. And, if we're selecting a to date (switcher === true), then\n\t\t\t\t\t\t\t// only those values after the selected date are valid\n\t\t\t\t\t\t\tdate.getTime() < new Date() &&\n\t\t\t\t\t\t\t(!switcher ||\n\t\t\t\t\t\t\t\t!startDateFoist ||\n\t\t\t\t\t\t\t\t(switcher && date.getTime() >= startDateFoist.getTime()))\n\t\t\t\t\t\t}\n\t\t\t\t\t\trenderCustomHeader={({\n\t\t\t\t\t\t\tdate,\n\t\t\t\t\t\t\tchangeYear,\n\t\t\t\t\t\t\tchangeMonth,\n\t\t\t\t\t\t\tdecreaseMonth,\n\t\t\t\t\t\t\tincreaseMonth,\n\t\t\t\t\t\t\tprevMonthButtonDisabled,\n\t\t\t\t\t\t\tnextMonthButtonDisabled,\n\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t
\n\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\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\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\t
{dateError}
\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\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t setFocusMonth(true)}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={() => setFocusMonth(false)}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={() => setFocusMonth(false)}\n\t\t\t\t\t\t\t\t\t\t\tvalue={months[date.getMonth()]}\n\t\t\t\t\t\t\t\t\t\t\tonChange={({ target: { value } }) => {\n\t\t\t\t\t\t\t\t\t\t\t\tchangeMonth(months.indexOf(value));\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\t\t{months.map((option, index) => (\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))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t setFocusYear(true)}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={() => setFocusYear(false)}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={() => setFocusYear(false)}\n\t\t\t\t\t\t\t\t\t\t\tonChange={({ target: { value } }) => {\n\t\t\t\t\t\t\t\t\t\t\t\tchangeYear(value);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvalue={date.getFullYear()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{years.map((option) => (\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))}\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\t
\n\t\t\t\t\t\t\t\t\t\t\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\t\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
\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\tselected={switcher ? endDateFoist : startDateFoist}\n\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\tswitcher\n\t\t\t\t\t\t\t\t? handleEndDateChange(value, false)\n\t\t\t\t\t\t\t\t: handleStartDateChange(value, false)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tformatWeekDay={(nameOfDay) => nameOfDay.substr(0, 1).toUpperCase()}\n\t\t\t\t\t\tinline\n\t\t\t\t\t\tcalendarClassName={styles.calendarWrap}\n\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\tmaxDate={new Date()}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{language && language.APPLY ? language.APPLY : languageEn.APPLY}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default DateRangePickerModal;\n","import formatter from \"utils/formatUtils\";\n\n/**\n * Convenience method for constructing an equal to parameter\n *\n * @param {string} field Field name\n * @param {string[]} values Array of values\n * @param {string} type The field data type\n */\nconst equalTo = (field, values, type = \"string\") => {\n\treturn {\n\t\tfield,\n\t\ttype,\n\t\tvalues,\n\t};\n};\n\n/**\n * Common functionality for the discrete options\n */\nconst commonMethods = {\n\tfindByLabel(label) {\n\t\treturn this.values.find((rs) => rs.label === label);\n\t},\n\thasType(arr, field) {\n\t\treturn arr && arr.some((rt) => rt === field);\n\t},\n\ttoggleValue(arr, field) {\n\t\tif (arr.some((x) => x === field)) {\n\t\t\treturn arr.filter((x) => x !== field);\n\t\t} else {\n\t\t\treturn [...arr, field];\n\t\t}\n\t},\n};\n\nexport const ProviderIds = {\n\tMORGAN_STANLEY: \"809\",\n\tMORNINGSTAR: \"22\",\n};\nexport const ProviderLabels = {\n\tMORGAN_STANLEY: \"Morgan Stanley\",\n\tMORNINGSTAR: \"Morningstar\",\n};\n\nexport const ProviderInfo = {\n\t[ProviderLabels.MORGAN_STANLEY]: [\n\t\t{\n\t\t\tlabel: \"Ratings\",\n\t\t\tname: \"msratings\",\n\t\t\tvalue: true,\n\t\t\tpropertyName: \"ratings\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"Price Targets\",\n\t\t\tname: \"priceTarget\",\n\t\t\tvalue: true,\n\t\t\tpropertyName: \"priceTargets\",\n\t\t},\n\t],\n\t[ProviderLabels.MORNINGSTAR]: [\n\t\t{\n\t\t\tlabel: \"Ratings\",\n\t\t\tname: \"ratings\",\n\t\t\tvalue: true,\n\t\t\tpropertyName: \"ratings\",\n\t\t},\n\n\t\t{\n\t\t\tlabel: \"Fair Value Estimates\",\n\t\t\tname: \"fvEstimate\",\n\t\t\tvalue: true,\n\t\t\tpropertyName: \"priceTargets\",\n\t\t},\n\t],\n};\n\nexport const ResearchSource = {\n\t...commonMethods,\n\tvalues: [\n\t\t{\n\t\t\tlabel: ProviderLabels.MORGAN_STANLEY,\n\t\t\tproviderId: [ProviderIds.MORGAN_STANLEY],\n\t\t},\n\t\t{\n\t\t\tlabel: ProviderLabels.MORNINGSTAR,\n\t\t\tproviderId: [ProviderIds.MORNINGSTAR],\n\t\t},\n\t],\n\tDEFAULT_RESEARCH_SOURCE: ProviderLabels.MORGAN_STANLEY,\n\n\tbuildArgs(provider) {\n\t\tconst providerSearch = this.findByLabel(provider);\n\t\tif (!providerSearch || !providerSearch.providerId) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn equalTo(\"ProviderID\", providerSearch.providerId);\n\t},\n};\n\nexport const DateSpan = {\n\t...commonMethods,\n\tvalues: [\n\t\t{\n\t\t\tlabel: \"1M\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t},\n\t\t{\n\t\t\tlabel: \"3M\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t},\n\t\t{\n\t\t\tlabel: \"6M\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t},\n\t\t{\n\t\t\tlabel: \"1Y\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t},\n\t\t{\n\t\t\tlabel: \"3Y\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t},\n\t],\n\n\tfindInAllLabels(label) {\n\t\tlet additional10Y = {\n\t\t\tlabel: \"10Y\",\n\t\t\tperiod: \"years\",\n\t\t\tinterval: 10,\n\t\t};\n\t\tconst dateValues = [...DateSpan.values, additional10Y];\n\t\treturn dateValues.find((rs) => rs.label === label);\n\t},\n\tDEFAULT_DATE_SPAN: \"1Y\",\n\n\tbuildArgs(dateSelection) {\n\t\tconst obj = this.findInAllLabels(dateSelection);\n\t\tif (!obj) {\n\t\t\tconsole.warn(`Couldn't find specified date key: ${dateSelection}`);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst startDate = formatter\n\t\t\t.moment()\n\t\t\t.tz(\"America/New_York\")\n\t\t\t.subtract(obj.interval, obj.period)\n\t\t\t.startOf(\"day\")\n\t\t\t.format(\"YYYY-MM-DD\");\n\t\treturn equalTo(\"StartDate\", [startDate]);\n\t},\n};\n\nexport const buildDefaultHoverInfo = () => {\n\treturn [\n\t\t...ProviderInfo[ProviderLabels.MORGAN_STANLEY],\n\t\t...ProviderInfo[ProviderLabels.MORNINGSTAR],\n\t];\n};\nexport const buildDefaultFilterState = (overrides = {}) => {\n\tlet ratings = ProviderInfo[ResearchSource.DEFAULT_RESEARCH_SOURCE].find(\n\t\t(info) => info.propertyName === \"ratings\"\n\t).value;\n\tlet priceTargets = ProviderInfo[ResearchSource.DEFAULT_RESEARCH_SOURCE].find(\n\t\t(info) => info.propertyName === \"priceTargets\"\n\t).value;\n\tlet dateRange = overrides?.dateSpan ? overrides.dateSpan : DateSpan.DEFAULT_DATE_SPAN;\n\n\treturn {\n\t\tprovider: ResearchSource.DEFAULT_RESEARCH_SOURCE,\n\t\tdateRange,\n\t\tratings,\n\t\tpriceTargets,\n\t\t...overrides,\n\t};\n};\n\nexport const buildFilterState = (provider = ResearchSource.DEFAULT_RESEARCH_SOURCE) => {\n\treturn {\n\t\tprovider,\n\t\tdateRange: DateSpan.DEFAULT_DATE_SPAN,\n\t\tratings: true,\n\t\tpriceTargets: true,\n\t};\n};\n\nexport const mapFiltersToParams = (venueXid, filters, limit = 10, offset = 0) => {\n\tlet { provider, dateRange, ratings, priceTargets } = filters;\n\tlet includeRatings = ratings ? [\"1\"] : [\"0\"];\n\tlet includePrice = priceTargets ? [\"1\"] : [\"0\"];\n\n\tconst args = [\n\t\tequalTo(\"WSODIssue\", [`${venueXid}`]),\n\t\tResearchSource.buildArgs(provider),\n\t\tDateSpan.buildArgs(dateRange),\n\t\tequalTo(\"IncludeRatings\", includeRatings),\n\t\tequalTo(\"IncludeTargetPrice\", includePrice),\n\t].filter((x) => x !== undefined);\n\n\treturn {\n\t\targuments: args,\n\t\tsortArgument: {\n\t\t\tdirection: \"desc\",\n\t\t\tfield: \"DocumentDate\",\n\t\t},\n\t\tlimit,\n\t\toffset,\n\t};\n};\n","/*\n\tWhen constructing indicator objects, value must be the indicator's modcharts id:\n\thttps://confluence.ihsmarkit.com/display/MOD/MODCharts+Indicators+Reference\n*/\nconst PHASE1_INDICATORS = [\n\t\"wma\",\n\t\"volume\",\n\t\"sma\",\n\t\"mae\",\n\t\"bollinger\",\n\t\"dividendyield\",\n\t\"onbalancevolume\",\n\t\"peratio\",\n\t\"revenues\",\n\t\"rollingeps\",\n\t\"macd\",\n\t\"momentum\",\n\t\"proc\",\n\t\"rsi\",\n\t\"vroc\",\n];\n\nconst NO_CLIP_INDICATOR = [\n\t\"highlow\",\n\t\"volumebyprice\",\n\t\"previousclose\",\n\t\"linearregression\",\n];\n\nconst PRICE = {\n\tcolumn: [\"close\", \"diff\", \"high\", \"hollow\", \"low\", \"open\"],\n};\nconst BOLLINGER_BANDS = {\n\tlabel: \"Bollinger Bands\",\n\tvalue: \"bollinger\",\n\tpanel: \"upper\",\n\tcolumn: [\"bottom\", \"sma\", \"top\"],\n\tconfig: {\n\t\t//(20, 2) need to be dynamic once user can modify inputs\n\t\tname: `Bollinger Bands${\"\\u00AE\".sup()}`,\n\t\tinputs: [\n\t\t\t{ name: \"period\", value: 20 },\n\t\t\t{ name: \"standardDeviations\", value: 2 },\n\t\t],\n\t\tstyle: {\n\t\t\tfillColor: \"rgba(176,195,12,0.2)\",\n\t\t\tcolor: \"rgb(176,195,12)\",\n\t\t\tcolorSMA: \"#F69323\",\n\t\t\tsma: {\n\t\t\t\tcolor: \"#F69323\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"top\",\n\t\t\tstyleMarker: \"color\",\n\t\t},\n\t\t{\n\t\t\tname: \"sma\",\n\t\t\tstyleMarker: \"sma\",\n\t\t},\n\t\t{\n\t\t\tname: \"bottom\",\n\t\t\tstyleMarker: \"color\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst EMA = {\n\tlabel: \"Exponential Moving Average (EMA)\",\n\tvalue: \"ema\",\n\tpanel: \"upper\",\n\tcolumn: [\"ema\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"EMA (20)\",\n\t\tinputs: [{ name: \"period\", value: 20 }],\n\t\tstyle: {\n\t\t\tcolor: \"orange\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst HIGH_LOW_PRICE = {\n\tlabel: \"High/Low Price\",\n\tvalue: \"highlow\",\n\tpanel: \"upper\",\n\tconfig: {\n\t\tname: \"High / Low\",\n\t\tinputs: [{ name: \"extentType\", value: \"ohlc\" }],\n\t\tstyle: {\n\t\t\thighColor: \"#006600\",\n\t\t\tlowColor: \"#AA0000\",\n\t\t\tlabelColor: \"#000000\",\n\t\t},\n\t},\n\t// TODO: Events Dropdown Doesn't have a check so These can be removed when only events and not indicators dropdown.\n\tisProductionReady: false,\n};\nconst ICHIMOKU_CLOUD = {\n\tlabel: \"Ichimoku Cloud\",\n\tvalue: \"ichimokucloud\",\n\tpanel: \"upper\",\n\tconfig: {\n\t\tname: \"Ichimoku Cloud\",\n\t},\n\tisProductionReady: false,\n};\nconst LINEAR_REGRESSION = {\n\tlabel: \"Linear Regression\",\n\tvalue: \"linearregression\",\n\tpanel: \"upper\",\n\tcolumn: [\"linearregression\"],\n\tconfig: {\n\t\tname: \"Linear Regression\",\n\t\tstyle: {\n\t\t\tcolor: \"brown\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst MAE = {\n\tlabel: \"Moving Average Envelope (MAE)\",\n\tvalue: \"mae\",\n\tpanel: \"upper\",\n\tcolumn: [\"maehigh\", \"maelow\"],\n\tconfig: {\n\t\tname: \"MAE\",\n\t\tinputs: [\n\t\t\t{ name: \"period\", value: 20 },\n\t\t\t{ name: \"lowfactor\", value: 0.94 },\n\t\t\t{ name: \"highfactor\", value: 1.06 },\n\t\t\t{ name: \"averagetype\", value: \"sma\" },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(122, 29, 215)\",\n\t\t\twidth: 2,\n\t\t\tfillColor: \"rgba(122, 29, 215, 0.25)\",\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"maehigh\",\n\t\t},\n\t\t{\n\t\t\tname: \"maelow\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst PREVIOUS_CLOSE = {\n\tlabel: \"Previous Close\",\n\tvalue: \"previousclose\",\n\tpanel: \"upper\",\n\tconfig: {\n\t\tname: \"Previous Close\",\n\t\tinputs: [{ name: \"Version\", value: 1 }],\n\t\tnumDaysLabel: 1, // number of days to label (-1 = all days, 0 = none)\n\t\tnumDaysLine: 1, // number of days to render line (-1 = all days, 0 = none)\n\t\tlabelAlignment: \"nw\", // ne, nw, sw, se\n\t\tshowFlag: false,\n\t\tnoClip: true,\n\t\tstyle: {\n\t\t\tcolor: \"black\",\n\t\t\tlabel: {\n\t\t\t\tfontSize: 12,\n\t\t\t\tfontWeight: 900,\n\t\t\t\tglowColor: \"white\",\n\t\t\t},\n\t\t\tlineWidth: 2,\n\t\t\tlinePenPxOn: 5,\n\t\t\tlinePenPxOff: 3,\n\t\t},\n\t},\n\tisProductionReady: true,\n};\nconst PRICE_CHANNEL = {\n\tlabel: \"Price Channel\",\n\tvalue: \"pricechannel\",\n\tpanel: \"upper\",\n\tcolumn: [\"pricechannellower\", \"pricechannelupper\"],\n\tconfig: {\n\t\tname: \"Price Channel\",\n\t\tinputs: [{ name: \"period\", value: 25 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(52, 150, 248)\",\n\t\t\twidth: 2,\n\t\t\tcolorDown: \"rgb(6, 112, 217)\",\n\t\t\tfillColor: \"rgba(52, 150, 248, 0.25)\",\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst PSAR = {\n\tlabel: \"Parabolic Stop and Reverse (PSAR)\",\n\tvalue: \"psar\",\n\tpanel: \"upper\",\n\tcolumn: [\"psar\"],\n\tconfig: {\n\t\tname: \"PSAR\",\n\t\tinputs: [\n\t\t\t{ name: \"initialPosition\", value: 0 },\n\t\t\t{ name: \"accelerationIncrease\", value: 0.02 },\n\t\t\t{ name: \"accelerationMaximum\", value: 0.02 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(242, 73, 242)\",\n\t\t\tradiusWidth: 3,\n\t\t\tlength: 5,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst SMA = {\n\tlabel: \"Simple Moving Average (SMA)\",\n\tvalue: \"sma\",\n\tpanel: \"upper\",\n\tcolumn: [\"sma\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"SMA\",\n\t\tinputs: [{ name: \"period\", value: 9 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(255,105,180)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"sma\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst TSF = {\n\tlabel: \"Time Series Forecast (TSF)\",\n\tvalue: \"tsf\",\n\tpanel: \"upper\",\n\tcolumn: [\"tsf\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"TSF (20)\",\n\t\tinputs: [{ name: \"period\", value: 20 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(9, 123, 9)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst VOLUME_BY_PRICE = {\n\tlabel: \"Volume by Price\",\n\tvalue: \"volumebyprice\",\n\tpanel: \"upper\",\n\tconfig: {\n\t\tname: \"Volume by Price\",\n\t\tinputs: [\n\t\t\t{ name: \"numBars\", value: 50 },\n\t\t\t{ name: \"gapSize\", value: 5 },\n\t\t\t{ name: \"barWidth\", value: 1.0 },\n\t\t],\n\t\tstyle: {\n\t\t\tdownColor: \"rgba(255, 0, 0, 0.6)\",\n\t\t\tupColor: \"rgba(0, 128, 0, 0.6)\",\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst WMA = {\n\tlabel: \"Weighted Moving Average (WMA)\",\n\tvalue: \"wma\",\n\tpanel: \"upper\",\n\tcolumn: [\"wma\"],\n\tconfig: {\n\t\tname: \"WMA\",\n\t\tinputs: [{ name: \"period\", value: 9 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(107, 243, 243)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"wma\",\n\t\t\tstyleMarker: \"line\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst ADL = {\n\tlabel: \"Accumulation/Distribution (ADL)\",\n\tvalue: \"adl\",\n\tpanel: \"lower\",\n\tcolumn: [\"adl\"],\n\tconfig: {\n\t\tname: \"ADL\",\n\t\tstyle: {\n\t\t\tcolor: \"rgb(38, 38, 221)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst AVERAGE_TRUE_RANGE = {\n\tlabel: \"Average True Range\",\n\tvalue: \"avgtruerange\",\n\tpanel: \"lower\",\n\tcolumn: [\"avgtruerange\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"Average True Range (20)\",\n\t\tinputs: [{ name: \"period\", value: 20 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(229, 25, 25)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst AWESOME_OSCILLATOR = {\n\tlabel: \"Awesome Oscillator\",\n\tvalue: \"awesomeoscillator\",\n\tpanel: \"lower\",\n\tcolumn: [\"awesomeoscillator\"],\n\tconfig: {\n\t\t//(10, 34) need to be dynamic once user can modify inputs\n\t\tname: \"Awesome Oscillator (10, 34)\",\n\t\tinputs: [\n\t\t\t{ name: \"period1\", value: 10 },\n\t\t\t{ name: \"period2\", value: 34 },\n\t\t],\n\t\tstyle: {\n\t\t\tfillColorPos: \"green\",\n\t\t\tfillColorNeg: \"red\",\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst BOLLINGER_BAND_B = {\n\tlabel: \"Bollinger Band %B\",\n\tvalue: \"percentb\",\n\tpanel: \"lower\",\n\tcolumn: [\"percentb\"],\n\tconfig: {\n\t\t//(20, 3) need to be dynamic once user can modify inputs\n\t\tname: `Bollinger Band${\"\\u00AE\".sup()} %B (20, 3)`,\n\t\tinputs: [\n\t\t\t{ name: \"period\", value: 25 },\n\t\t\t{ name: \"standardDeviations\", value: 3 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(34, 140, 245)\",\n\t\t\twidth: 2,\n\t\t\toverbought: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toversold: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbands: [\n\t\t\t{\n\t\t\t\tstyle: {\n\t\t\t\t\tlineColor: \"green\",\n\t\t\t\t\tlineWidth: 3,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tstyle: {\n\t\t\t\t\tlineColor: \"green\",\n\t\t\t\t\tlineWidth: 3,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tisProductionReady: false,\n};\nconst BOLLINGER_BANDS_WIDTH = {\n\tlabel: \"Bollinger Bands Width\",\n\tvalue: \"bollingerbandwidth\",\n\tpanel: \"lower\",\n\tcolumn: [\"bandwidth\"],\n\tconfig: {\n\t\t//(20, 3) need to be dynamic once user can modify inputs\n\t\tname: `Bollinger Bands${\"\\u00AE\".sup()} Width (20, 3)`,\n\t\tinputs: [\n\t\t\t{ name: \"period\", value: 20 },\n\t\t\t{ name: \"standardDeviations\", value: 3 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(231, 124, 18)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst CHAIKINS_VOLATILITY = {\n\tlabel: \"Chaikin's Volatility\",\n\tvalue: \"chaikins\",\n\tpanel: \"lower\",\n\tcolumn: [\"chaikinsvolatility\"],\n\tconfig: {\n\t\t//(15, 15) need to be dynamic once user can modify inputs\n\t\tname: \"Chaikin's Volatility (15, 15)\",\n\t\tinputs: [\n\t\t\t{ name: \"EMAPeriod\", value: 15 },\n\t\t\t{ name: \"DifferencePeriod\", value: 15 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(157, 20, 157)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst DIVIDEND_YIELD = {\n\tlabel: \"Dividend Yield\",\n\tvalue: \"dividendyield\",\n\tpanel: \"lower\",\n\tcolumn: [\"dividendyield\"],\n\tconfig: {\n\t\tname: \"Dividend Yield\",\n\t\tstyle: {\n\t\t\tcolor: \"rgb(169, 91, 13)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"dividendyield\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst DMI = {\n\tlabel: \"Directional Movement Index (DMI)\",\n\tvalue: \"dmi\",\n\tpanel: \"lower\",\n\tcolumn: [\"minusdi\", \"plusdi\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"DMI (20)\",\n\t\tinputs: [{ name: \"period\", value: 20 }],\n\t\tstyle: {\n\t\t\tcolorDINeg: \"red\",\n\t\t\tcolorDIPos: \"green\",\n\t\t\tcolorADX: \"blue\",\n\t\t\twidthADX: 2,\n\t\t\tadx: {\n\t\t\t\tcolor: \"blue\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\tnegative: {\n\t\t\t\tcolor: \"red\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tcolor: \"green\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst FAST_STOCHASTICS = {\n\tlabel: \"Fast Stochastics\",\n\tvalue: \"stochastics\",\n\tpanel: \"lower\",\n\tcolumn: [\"stochasticd\", \"stochastick\"],\n\tconfig: {\n\t\t//(14, 3) need to be dynamic once user can modify inputs\n\t\tname: \"Fast Stochastics (14, 3)\",\n\t\tinputs: [\n\t\t\t{ name: \"kperiod\", value: 14 },\n\t\t\t{ name: \"dperiod\", value: 3 },\n\t\t\t{ name: \"smoothing\", value: 1 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(255,105,180)\",\n\t\t\twidth: 2,\n\t\t\td: {\n\t\t\t\tcolor: \"green\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t},\n\t\tbands: [\n\t\t\t{\n\t\t\t\t//labelText: \"SELL SELL SELL\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"red\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t//labelText: \"BUY BUY BUY\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"green\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tisProductionReady: false,\n};\n// Commenting out until we figure out how to include this indicator and the feature is prioritized:\n// Rolling Dividend is an option in modcharts, is this what we should use?\n// const HISTORICAL_DIVIDEND = {\n// \tlabel: 'Historical Dividend',\n// \tvalue: '',\n// \tpanel: 'lower',\n// \tconfig: {}\n// };\nconst MACD = {\n\tlabel: \"Moving Average Convergence Divergence (MACD)\",\n\tvalue: \"macd\",\n\tpanel: \"lower\",\n\tcolumn: [\"macd\", \"divergence\", \"ema\"],\n\tconfig: {\n\t\t//(12, 26, 10) need to be dynamic once user can modify inputs\n\t\tname: \"MACD\",\n\t\tinputs: [\n\t\t\t{ name: \"fastperiod\", value: 12 },\n\t\t\t{ name: \"slowperiod\", value: 26 },\n\t\t\t{ name: \"smoothing\", value: 10 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(20, 96, 173)\",\n\t\t\twidth: 2,\n\t\t\tlineColorEMA: \"orange\",\n\t\t\tfillColorPos: \"#006600\",\n\t\t\tfillColorNeg: \"#AA0000\",\n\t\t\tema: {\n\t\t\t\tcolor: \"orange\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\tnegative: {\n\t\t\t\tcolor: \"#AA0000\",\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tcolor: \"#006600\",\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"macd\",\n\t\t\tstyleMarker: \"color\",\n\t\t},\n\t\t{\n\t\t\tname: \"ema\",\n\t\t\tstyleMarker: \"ema\",\n\t\t},\n\t\t{\n\t\t\tname: \"divergence\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst MASS_INDEX = {\n\tlabel: \"Mass Index\",\n\tvalue: \"massindex\",\n\tpanel: \"lower\",\n\tcolumn: [\"massindex\"],\n\tconfig: {\n\t\t//(25, 26, 24) need to be dynamic once user can modify inputs\n\t\tname: \"Mass Index (25, 26, 24)\",\n\t\tinputs: [{ name: \"period\", value: 25 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(242, 50, 2)\",\n\t\t\twidth: 2,\n\t\t\tsetup: {\n\t\t\t\tcolor: \"rgb(200, 96, 244)\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t\ttrigger: {\n\t\t\t\tcolor: \"rgb(27, 199, 243)\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t},\n\t\textraInputs: [\n\t\t\t{ name: \"setup\", value: 26 },\n\t\t\t{ name: \"trigger\", value: 24 },\n\t\t],\n\t},\n\tisProductionReady: false,\n};\nconst MOMENTUM = {\n\tlabel: \"Momentum\",\n\tvalue: \"momentum\",\n\tpanel: \"lower\",\n\tcolumn: [\"momentum\"],\n\tconfig: {\n\t\t//(20) need to be dynamic once user can modify inputs\n\t\tname: \"Momentum\",\n\t\tinputs: [{ name: \"period\", value: 20 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(1,62,116)\",\n\t\t\twidth: 2,\n\t\t\tfillColor: \"rgb(1,62,116)\",\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"momentum\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst MONEY_FLOW = {\n\tlabel: \"Money Flow\",\n\tvalue: \"moneyflow\",\n\tpanel: \"lower\",\n\tcolumn: [\"moneyflow\"],\n\tconfig: {\n\t\tname: \"Money Flow\",\n\t\tstyle: {\n\t\t\tcolor: \"green\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst MONEY_FLOW_INDEX = {\n\tlabel: \"Money Flow Index\",\n\tvalue: \"moneyflowindex\",\n\tpanel: \"lower\",\n\tcolumn: [\"moneyflowindex\"],\n\tconfig: {\n\t\tname: \"Money Flow Index (15)\",\n\t\tinputs: [{ name: \"period\", value: 15 }],\n\t\tstyle: {\n\t\t\tcolor: \"green\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tisProductionReady: false,\n};\nconst ON_BALANCE_VOLUME = {\n\tlabel: \"On Balance Volume (OBV)\",\n\tvalue: \"onbalancevolume\",\n\tpanel: \"lower\",\n\tcolumn: [\"onbalancevolume\"],\n\tconfig: {\n\t\tname: \"OBV\",\n\t\tstyle: {\n\t\t\tcolor: \"orange\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"onbalancevolume\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst PE_Ratio = {\n\tlabel: \"P/E Ratio\",\n\tvalue: \"peratio\",\n\tpanel: \"lower\",\n\tcolumn: [\"peratio\"],\n\tconfig: {\n\t\tname: \"P/E Ratio\",\n\t\tstyle: {\n\t\t\tcolor: \"rgb(169, 91, 13)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"peratio\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst PROC = {\n\tlabel: \"Price Rate of Change (PROC)\",\n\tvalue: \"proc\",\n\tpanel: \"lower\",\n\tcolumn: [\"proc\"],\n\tconfig: {\n\t\t//(25) need to be dynamic once user can modify inputs\n\t\tname: \"PROC\",\n\t\tinputs: [{ name: \"period\", value: 25 }],\n\t\tstyle: {\n\t\t\tcolor: \"blue\",\n\t\t\twidth: 2,\n\t\t\tzero: {\n\t\t\t\tcolor: \"black\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"proc\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\n\nconst Revenues = {\n\tlabel: \"Revenues\",\n\tvalue: \"revenues\",\n\tpanel: \"lower\",\n\tcolumn: [\"revenues\"],\n\tconfig: {\n\t\tname: \"Revenues\",\n\t\tstyle: {\n\t\t\tcolor: \"rgb(169, 91, 13)\",\n\t\t\twidth: 2,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"revenues\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\n\nconst Rolling_EPS = {\n\tlabel: \"Rolling EPS\",\n\tvalue: \"rollingeps\",\n\tpanel: \"lower\",\n\tcolumn: [\"rollingeps\"],\n\tconfig: {\n\t\tname: \"Rolling EPS\",\n\t\tstyle: {\n\t\t\tlineColor: \"rgb(3,46,83)\",\n\t\t\tlineWidth: 3,\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"rollingeps\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst RSI = {\n\tlabel: \"Relative Strength Index (RSI)\",\n\tvalue: \"rsi\",\n\tpanel: \"lower\",\n\tcolumn: [\"rsi\"],\n\tconfig: {\n\t\t//(14) need to be dynamic once user can modify inputs\n\t\tname: \"RSI\",\n\t\tinputs: [{ name: \"period\", value: 14 }],\n\t\tstyle: {\n\t\t\tcolor: \"rgb(21, 80, 218)\",\n\t\t\twidth: 2,\n\t\t\toverbought: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toversold: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\toverbought: {\n\t\t\tcolor: {\n\t\t\t\tbackground: \"red\",\n\t\t\t},\n\t\t},\n\t\toversold: {\n\t\t\tcolor: {\n\t\t\t\tbackground: \"green\",\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"rsi\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\n// Comment out until the below issue until adding this indicator is prioritized and the below issue is resolved.\n// Uses same value (modcharts id) as FAST_STOCHASTICS, so need a better way to create DICTIONARY\n// const SLOW_STOCHASTICS = {\n// \tlabel: 'Slow Stochastics',\n// \tvalue: 'stochastics',\n// \tpanel: 'lower',\n// \tconfig: {\n// \t\t//(14, 3) need to be dynamic once user can modify inputs\n// \t\tname: 'Slow Stochastics (14, 3)',\n// \t\tinputs: [\n// \t\t\t{name: \"kperiod\", value: 14},\n// \t\t\t{name: \"dperiod\", value: 3},\n// \t\t\t{name: \"smoothing\", value: 3}\n// \t\t],\n// \t\tstyle: {\n// \t\t\tlineColor: \"rgb(255,105,180)\",\n// \t\t\tlineWidth: 2,\n// \t\t\tlineColorD: \"green\"\n// \t\t},\n// \t\tbands:[\n// \t\t\t{\n// \t\t\t\t//labelText: \"SELL SELL SELL\",\n// \t\t\t\tstyle: {\n// \t\t\t\t\tfillColor: \"red\",\n// \t\t\t\t\tlineColor: \"grey\"\n// \t\t\t\t}\n// \t\t\t},{\n// \t\t\t\t//labelText: \"BUY BUY BUY\",\n// \t\t\t\tstyle: {\n// \t\t\t\t\tfillColor: \"green\",\n// \t\t\t\t\tlineColor: \"grey\"\n// \t\t\t\t}\n// \t\t\t}\n// \t\t]\n// \t}\n// };\nconst ULTIMATE_OSCILLATOR = {\n\tlabel: \"Ultimate Oscillator\",\n\tvalue: \"ultimateoscillator\",\n\tpanel: \"lower\",\n\tcolumn: [\"ultimateoscillator\"],\n\tconfig: {\n\t\t//(7, 14, 28, 4, 2, 1) need to be dynamic once user can modify inputs\n\t\tname: \"Ultimate Oscillator (7, 14, 28, 4, 2, 1)\",\n\t\tinputs: [\n\t\t\t{ name: \"period1\", value: 7 },\n\t\t\t{ name: \"period2\", value: 14 },\n\t\t\t{ name: \"period3\", value: 28 },\n\t\t\t{ name: \"factor1\", value: 4 },\n\t\t\t{ name: \"factor2\", value: 2 },\n\t\t\t{ name: \"factor3\", value: 1 },\n\t\t],\n\t\tstyle: {\n\t\t\tcolor: \"blue\",\n\t\t\twidth: 2,\n\t\t\toverbought: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toversold: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbands: [\n\t\t\t{\n\t\t\t\tlabelText: \"SELL SELL SELL\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"red\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabelText: \"BUY BUY BUY\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"green\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tisProductionReady: false,\n};\nconst VOLUME0 = {\n\tlabel: \"Volume\",\n\tvalue: \"volume\",\n\tpanel: \"upper\",\n\tcolumn: [\"volume\"],\n\tconfig: {\n\t\tid: \"volume\",\n\t\tname: \"Volume\",\n\t\tmarkerType: \"posneg\",\n\t\tstyle: {\n\t\t\tcolor: \"grey\",\n\t\t\tnegative: {\n\t\t\t\tcolor: \"#AA0000\",\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tcolor: \"grey\",\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tcolor: \"#006600\",\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"volume\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst VOLUME = {\n\tlabel: \"Volume\",\n\tvalue: \"volume\",\n\tpanel: \"lower\",\n\tcolumn: [\"volume\"],\n\tconfig: {\n\t\tname: \"Volume\",\n\t\tmarkerType: \"posneg\",\n\t\tstyle: {\n\t\t\tcolor: \"grey\",\n\t\t\tnegative: {\n\t\t\t\tcolor: \"#AA0000\",\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tcolor: \"grey\",\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tcolor: \"#006600\",\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"volume\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst VROC = {\n\tlabel: \"Volume Rate of Change (VROC)\",\n\tvalue: \"vroc\",\n\tpanel: \"lower\",\n\tcolumn: [\"vroc\"],\n\tconfig: {\n\t\t//(10) need to be dynamic once user can modify inputs\n\t\tname: \"VROC\",\n\t\tinputs: [{ name: \"period\", value: 10 }],\n\t\tstyle: {\n\t\t\tcolor: \"blue\",\n\t\t\twidth: 2,\n\t\t\tzero: {\n\t\t\t\tcolor: \"black\",\n\t\t\t\twidth: 2,\n\t\t\t},\n\t\t},\n\t},\n\tdisplayCardColumns: [\n\t\t{\n\t\t\tname: \"vroc\",\n\t\t},\n\t],\n\tisProductionReady: true,\n};\nconst WILLIAMS_R = {\n\tlabel: \"Williams %R\",\n\tvalue: \"williamspctr\",\n\tpanel: \"lower\",\n\tcolumn: [\"williamspctr\"],\n\tconfig: {\n\t\t//(10) need to be dynamic once user can modify inputs\n\t\tname: \"Williams %R\",\n\t\tinputs: [{ name: \"period\", value: 10 }],\n\t\tstyle: {\n\t\t\tcolor: \"blue\",\n\t\t\twidth: 2,\n\t\t\toverbought: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toversold: {\n\t\t\t\tlabel: {\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tcolor: \"black\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbands: [\n\t\t\t{\n\t\t\t\t//labelText: \"SELL SELL SELL\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"red\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t//labelText: \"BUY BUY BUY\",\n\t\t\t\tstyle: {\n\t\t\t\t\tfillColor: \"green\",\n\t\t\t\t\tcolor: \"grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tisProductionReady: false,\n};\n\nconst UPPER_LOWER = {\n\tUPPER: {\n\t\tlabel: \"Upper Indicators\",\n\t\titems: [\n\t\t\tBOLLINGER_BANDS,\n\t\t\tEMA,\n\t\t\t/*HIGH_LOW_PRICE,*/ /*ICHIMOKU_CLOUD,*/ LINEAR_REGRESSION,\n\t\t\tMAE,\n\t\t\t// PREVIOUS_CLOSE,\n\t\t\tPRICE_CHANNEL,\n\t\t\tPSAR,\n\t\t\tSMA,\n\t\t\tTSF,\n\t\t\t/*VOLUME_BY_PRICE,*/ WMA,\n\t\t],\n\t},\n\tLOWER: {\n\t\tlabel: \"Lower Indicators\",\n\t\titems: [\n\t\t\tADL,\n\t\t\tAVERAGE_TRUE_RANGE,\n\t\t\tAWESOME_OSCILLATOR,\n\t\t\tBOLLINGER_BAND_B,\n\t\t\tBOLLINGER_BANDS_WIDTH,\n\t\t\tCHAIKINS_VOLATILITY,\n\t\t\tDIVIDEND_YIELD,\n\t\t\tDMI,\n\t\t\tFAST_STOCHASTICS,\n\t\t\t/*HISTORICAL_DIVIDEND,*/ MACD,\n\t\t\tMASS_INDEX,\n\t\t\tMOMENTUM,\n\t\t\tMONEY_FLOW,\n\t\t\tMONEY_FLOW_INDEX,\n\t\t\tON_BALANCE_VOLUME,\n\t\t\tPE_Ratio,\n\t\t\tPROC,\n\t\t\tRevenues,\n\t\t\tRolling_EPS,\n\t\t\tRSI,\n\t\t\t/*SLOW_STOCHASTICS,*/ ULTIMATE_OSCILLATOR,\n\t\t\tVOLUME,\n\t\t\tVROC,\n\t\t\tWILLIAMS_R,\n\t\t],\n\t},\n};\n\nconst STUDIES = {\n\tFUNDAMENTAL: {\n\t\tlabel: \"Fundamental\",\n\t\titems: [DIVIDEND_YIELD /*HISTORICAL_DIVIDEND*/, PE_Ratio, Rolling_EPS, Revenues],\n\t},\n\tMOMENTUM: {\n\t\tlabel: \"Momentum\",\n\t\titems: [\n\t\t\tAVERAGE_TRUE_RANGE,\n\t\t\tAWESOME_OSCILLATOR,\n\t\t\tBOLLINGER_BAND_B,\n\t\t\tBOLLINGER_BANDS,\n\t\t\tBOLLINGER_BANDS_WIDTH,\n\t\t\tCHAIKINS_VOLATILITY,\n\t\t\tFAST_STOCHASTICS,\n\t\t\tMASS_INDEX,\n\t\t\tMOMENTUM,\n\t\t\tMACD,\n\t\t\tPROC,\n\t\t\tRSI,\n\t\t\t/*SLOW_STOCHASTICS,*/ ULTIMATE_OSCILLATOR,\n\t\t\tWILLIAMS_R,\n\t\t],\n\t},\n\tTREND: {\n\t\tlabel: \"Trend\",\n\t\titems: [\n\t\t\tDMI,\n\t\t\tEMA,\n\t\t\t/*HIGH_LOW_PRICE,*/ /*ICHIMOKU_CLOUD,*/ LINEAR_REGRESSION,\n\t\t\tMAE,\n\t\t\t// PREVIOUS_CLOSE,\n\t\t\tPRICE_CHANNEL,\n\t\t\tPSAR,\n\t\t\tSMA,\n\t\t\tTSF,\n\t\t\tWMA,\n\t\t],\n\t},\n\tVOLUME: {\n\t\tlabel: \"Volume\",\n\t\titems: [\n\t\t\tADL,\n\t\t\tMONEY_FLOW,\n\t\t\tMONEY_FLOW_INDEX,\n\t\t\tON_BALANCE_VOLUME,\n\t\t\tVOLUME,\n\t\t\t/*VOLUME_BY_PRICE,*/ VROC,\n\t\t],\n\t},\n};\n\nconst DICTIONARY = {\n\tbollinger: BOLLINGER_BANDS,\n\tema: EMA,\n\thighlow: HIGH_LOW_PRICE,\n\tichimokucloud: ICHIMOKU_CLOUD,\n\tlinearregression: LINEAR_REGRESSION,\n\tmae: MAE,\n\tpreviousclose: PREVIOUS_CLOSE,\n\tpricechannel: PRICE_CHANNEL,\n\tpsar: PSAR,\n\tsma: SMA,\n\ttsf: TSF,\n\tvolumebyprice: VOLUME_BY_PRICE,\n\twma: WMA,\n\tadl: ADL,\n\tavgtruerange: AVERAGE_TRUE_RANGE,\n\tawesomeoscillator: AWESOME_OSCILLATOR,\n\tpercentb: BOLLINGER_BAND_B,\n\tbollingerbandwidth: BOLLINGER_BANDS_WIDTH,\n\tchaikins: CHAIKINS_VOLATILITY,\n\tdividendyield: DIVIDEND_YIELD,\n\tdmi: DMI,\n\tstochastics: FAST_STOCHASTICS,\n\tmacd: MACD,\n\tmassindex: MASS_INDEX,\n\tmomentum: MOMENTUM,\n\tmoneyflow: MONEY_FLOW,\n\tmoneyflowindex: MONEY_FLOW_INDEX,\n\tonbalancevolume: ON_BALANCE_VOLUME,\n\tperatio: PE_Ratio,\n\tproc: PROC,\n\trevenues: Revenues,\n\trollingeps: Rolling_EPS,\n\trsi: RSI,\n\tultimateoscillator: ULTIMATE_OSCILLATOR,\n\tvolume0: VOLUME0,\n\tvolume: VOLUME,\n\tvroc: VROC,\n\twilliamspctr: WILLIAMS_R,\n};\nconst INDICATOR_ACCESSIBILITY = [\n\t\"bollinger\",\n\t\"ema\",\n\t\"linearregression\",\n\t\"mae\",\n\t\"pricechannel\",\n\t\"psar\",\n\t\"sma\",\n\t\"tsf\",\n\t\"wma\",\n\t\"adl\",\n\t\"avgtruerange\",\n\t\"awesomeoscillator\",\n\t\"percentb\",\n\t\"bollingerbandwidth\",\n\t\"chaikins\",\n\t\"dividendyield\",\n\t\"dmi\",\n\t\"stochastics\",\n\t\"macd\",\n\t\"massindex\",\n\t\"momentum\",\n\t\"moneyflow\",\n\t\"moneyflowindex\",\n\t\"onbalancevolume\",\n\t\"peratio\",\n\t\"proc\",\n\t\"revenues\",\n\t\"rollingeps\",\n\t\"rsi\",\n\t\"ultimateoscillator\",\n\t\"volume\",\n\t\"vroc\",\n\t\"williamspctr\",\n];\n\nconst DEFAULT_USE = [\"wma\", \"mae\", \"sma\", \"bollinger\"];\n\nexport default {\n\tDICTIONARY,\n\tSTUDIES,\n\tUPPER_LOWER,\n\tVOLUME,\n\tDEFAULT_USE,\n\tPHASE1_INDICATORS,\n\tPRICE,\n\tINDICATOR_ACCESSIBILITY,\n\tNO_CLIP_INDICATOR,\n};\n","const INDICATOR_INPUT_CONFIG = {\n\tbollinger: {\n\t\tname: \"Bollinger Bands\",\n\t\tinputs: {\n\t\t\tnumber0: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"20\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tnumber1: {\n\t\t\t\tname: \"Standard Deviation\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"2\",\n\t\t\t\trange: [0, 10],\n\t\t\t},\n\t\t\tlinestyle0: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#333333\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tlinestyle1: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Median\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Median Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#333333\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolor1: {\n\t\t\t\tname: \"Band (fill)\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#F5F5F5\",\n\t\t\t},\n\t\t},\n\t},\n\tmae: {\n\t\tname: \"Moving Average Envelops (MAE)\",\n\t\tinputs: {\n\t\t\tnumber0: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"20\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tnumber1: {\n\t\t\t\tname: \"Percent\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"6\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tdropdown: {\n\t\t\t\tname: \"Average Type\",\n\t\t\t\ttype: \"dropdown\",\n\t\t\t\tselected: \"Simple (SMA)\",\n\t\t\t\tdefault: [\n\t\t\t\t\t{ option: \"Exponential (EMA)\" },\n\t\t\t\t\t{ option: \"Simple (SMA)\" },\n\t\t\t\t\t{ option: \"Weighted (WMA)\" },\n\t\t\t\t],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#333333\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tname: \"Band (fill)\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#F5F5F5\",\n\t\t\t},\n\t\t},\n\t},\n\tsma: {\n\t\tname: \"Simple Moving Average (SMA)\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"9\",\n\t\t\t\trange: [0, 200],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#333333\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tvolume: {\n\t\tname: \"Volume\",\n\t\tinputs: {\n\t\t\tcolor0: {\n\t\t\t\tname: \"Up\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#006600\",\n\t\t\t},\n\t\t\tcolor1: {\n\t\t\t\tname: \"Down\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#AA0000\",\n\t\t\t},\n\t\t},\n\t},\n\twma: {\n\t\tname: \"Weighted Moving Average(WMA)\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"9\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#333333\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tdividendyield: {\n\t\tname: \"Dividend Yield\",\n\t\tinputs: {\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tonbalancevolume: {\n\t\tname: \"On Balance Volume (OBV)\",\n\t\tinputs: {\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tperatio: {\n\t\tname: \"P/E Ratio\",\n\t\tinputs: {\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\trevenues: {\n\t\tname: \"Revenues\",\n\t\tinputs: {\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\trollingeps: {\n\t\tname: \"Rolling EPS\",\n\t\tinputs: {\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tmacd: {\n\t\tname: \"Moving Average Convergence Divergence (MACD)\",\n\t\tinputs: {\n\t\t\tnumber0: {\n\t\t\t\tname: \"Fast\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"12\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tnumber1: {\n\t\t\t\tname: \"Slow\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"26\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tnumber2: {\n\t\t\t\tname: \"Smooth\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"9\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle0: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"MACD\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#005C90\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tlinestyle1: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Smooth\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Smooth Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#187ABA\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tlinestyle2: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Increasing Bar\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Increasing Bar Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#006600\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tlinestyle3: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Decreasing Bar\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Decreasing Bar Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#AA0000\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tmomentum: {\n\t\tname: \"Momentum\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"9\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolor0: {\n\t\t\t\tname: \"Fill Color\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#8FD3FF\",\n\t\t\t},\n\t\t},\n\t},\n\tproc: {\n\t\tname: \"Price Rate of Change (PROC)\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"14\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\trsi: {\n\t\tname: \"Relative Strength Index (RSI)\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"14\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolor0: {\n\t\t\t\tname: \"Over Bought Fill\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#F5F5F5\",\n\t\t\t},\n\t\t\tcolor1: {\n\t\t\t\tname: \"Over Sold Fill\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#F5F5F5\",\n\t\t\t},\n\t\t},\n\t},\n\tvroc: {\n\t\tname: \"Volume Rate of Change (VROC)\",\n\t\tinputs: {\n\t\t\tnumber: {\n\t\t\t\tname: \"Period\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"14\",\n\t\t\t\trange: [0, 99],\n\t\t\t},\n\t\t\tlinestyle: {\n\t\t\t\tline: {\n\t\t\t\t\tname: \"Line Style\",\n\t\t\t\t\ttype: \"line\",\n\t\t\t\t\tdefault: { width: 2, linedash: \"\" },\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tname: \"Line Color\",\n\t\t\t\t\ttype: \"color\",\n\t\t\t\t\tdefault: \"#002B51\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tindicator: {\n\t\tname: \"Indicator\",\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tname: \"input 1 text\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"value text 1\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"input 1 text\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tdefault: \"value text 2\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"input 2\",\n\t\t\t\ttype: \"color\",\n\t\t\t\tdefault: \"#AA0000\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"input 3\",\n\t\t\t\ttype: \"line\",\n\t\t\t\tdefault: { width: 1, linedash: \"\" },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"input 4 dropdown\",\n\t\t\t\ttype: \"dropdown\",\n\t\t\t\tdefault: [{ option: \"value 1\" }, { option: \"value 2\" }],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"input 5 dropdown\",\n\t\t\t\ttype: \"dropdown\",\n\t\t\t\tdefault: [{ option: \"value 1\" }, { option: \"value 2\" }],\n\t\t\t},\n\t\t],\n\t},\n};\n\nconst DEFAULT_USE_LINE_STYLES = [\n\t{ style: \"line2\", width: 2, lineDash: \"\", color: \"#187ABA\", isAvailable: true },\n\t{ style: \"line4\", width: 2, lineDash: \"2,4\", color: \"#AA0000\", isAvailable: true },\n\t{ style: \"line3\", width: 2, lineDash: \"2,4\", color: \"#002B51\", isAvailable: true },\n\t{\n\t\tstyle: \"line2\",\n\t\twidth: 2,\n\t\tlineDash: \"\",\n\t\tcolor: \"#333333\",\n\t\tisAvailable: true,\n\t},\n\t{ style: \"line2\", width: 2, lineDash: \"\", color: \"#D6A241\", isAvailable: true },\n];\n\nconst AverageType = {\n\t\"Exponential (EMA)\": \"ema\",\n\t\"Simple (SMA)\": \"sma\",\n\t\"Weighted (WMA)\": \"wma\",\n\tema: \"Exponential (EMA)\",\n\tsma: \"Simple (SMA)\",\n\twma: \"Weighted (WMA)\",\n};\n\nmodule.exports = {\n\tINDICATOR_INPUT_CONFIG,\n\tDEFAULT_USE_LINE_STYLES,\n\tAverageType,\n};\n","import React from \"react\";\n\nconst LineChart = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default LineChart;\n","import React from \"react\";\n\nconst MountainChart = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\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\n\t\t\n\t);\n};\n\nexport default MountainChart;\n","import React from \"react\";\nimport LineChart from \"components/Lib/Icons/LineChart/LineChart\";\nimport MountainChart from \"components/Lib/Icons/MountainChart/MountainChart\";\nimport ChartEventsConstants from \"components/Lib/ChartEventsOverlay/ChartEventsConstants\";\n\nconst CHART_COLORS = {\n\tLINE: \"#002B51\",\n\tMOUNTAIN_FILL: \"rgba(5, 173, 251, 0.28)\",\n\tHISTOGRAM: \"#005C90\",\n\tDOT: \"#005C90\",\n};\n\nconst LINE_STYLES = [\n\t{\n\t\tlabel: \"Line\",\n\t\tmarkerType: \"line\",\n\t\ticon: ,\n\t\tlineColor: CHART_COLORS.LINE,\n\t},\n\t{\n\t\tlabel: \"Mountain\",\n\t\tmarkerType: \"fill\",\n\t\ticon: ,\n\t\tlineColor: CHART_COLORS.LINE,\n\t},\n];\n\nconst CHART_PANEL_PARAMS = {\n\tprimaryOhlcType: \"posneg\",\n\tstyle: {\n\t\tpanel: {\n\t\t\tmargin: {\n\t\t\t\tbottom: 0,\n\t\t\t},\n\t\t\tpadding: { right: 70, bottom: 40 },\n\t\t\tborder: {\n\t\t\t\tcolor: {\n\t\t\t\t\tdefault: \"transparent\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tgrid: {\n\t\t\t\tcolor: \"transparent\",\n\t\t\t\thorizontal: {\n\t\t\t\t\tcolor: \"#767676\",\n\t\t\t\t\tlineDash: \"\",\n\t\t\t\t\twidth: \"1\",\n\t\t\t\t},\n\t\t\t\tvertical: {\n\t\t\t\t\talt: { color: \"transparent\" },\n\t\t\t\t},\n\t\t\t},\n\t\t\txAxis: {\n\t\t\t\ttick: {\n\t\t\t\t\talt: {\n\t\t\t\t\t\tcolor: \"transparent\",\n\t\t\t\t\t},\n\t\t\t\t\tcolor: \"transparent\",\n\t\t\t\t},\n\t\t\t\tfont: {\n\t\t\t\t\tsize: 14,\n\t\t\t\t\tcolor: \"#000\",\n\t\t\t\t\tfamily: \"Karla\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tyAxis: {\n\t\t\t\tfont: {\n\t\t\t\t\tsize: 14,\n\t\t\t\t\tcolor: \"#000\",\n\t\t\t\t\tfamily: \"Karla\",\n\t\t\t\t},\n\t\t\t\ttick: {\n\t\t\t\t\talt: {\n\t\t\t\t\t\tcolor: \"transparent\",\n\t\t\t\t\t},\n\t\t\t\t\tcolor: \"transparent\",\n\t\t\t\t},\n\t\t\t\tpadding: {},\n\t\t\t\tlabel: {\n\t\t\t\t\tformat: {\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tformat: \"$0,.0f\",\n\t\t\t\t\t\t\tformatPercent: \"0,.0%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlarge: {\n\t\t\t\t\t\t\tformat: \"$0,.2s\",\n\t\t\t\t\t\t\tformatPercent: \"0,.2%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsmall: {\n\t\t\t\t\t\t\tformat: \"$0.2f\",\n\t\t\t\t\t\t\tformatPercent: \"0.2%\",\n\t\t\t\t\t\t\tthreshold: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmicro: {\n\t\t\t\t\t\t\tformat: \"$0.4f\",\n\t\t\t\t\t\t\tformatPercent: \"0.2%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmedium: {\n\t\t\t\t\t\t\tformat: \"$0,.2f\",\n\t\t\t\t\t\t\tformatPercent: \"0,.1%\",\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\tindicator: {\n\t\t\tprice: {\n\t\t\t\tbar: {\n\t\t\t\t\tcolor: CHART_COLORS.HISTOGRAM,\n\t\t\t\t\tfillColor: CHART_COLORS.HISTOGRAM,\n\t\t\t\t},\n\t\t\t\tcandlestick: {\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"forestgreen\",\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"firebrick\",\n\t\t\t\t\t},\n\t\t\t\t\tneutral: {\n\t\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolor: \"steelblue\",\n\t\t\t\tfillColor: CHART_COLORS.MOUNTAIN_FILL,\n\t\t\t\tfillColorStop: CHART_COLORS.MOUNTAIN_FILL,\n\t\t\t\tlineDash: null,\n\t\t\t\tohlc: {\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"green\",\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"darkred\",\n\t\t\t\t\t},\n\t\t\t\t\tneutral: {\n\t\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tposneg: {\n\t\t\t\t\tlineDash: null,\n\t\t\t\t\twidth: 1.5,\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"forestgreen\",\n\t\t\t\t\t\tfillColor: \"rgba(17, 182, 0, 0.1)\",\n\t\t\t\t\t\tfillColorStop: null,\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"firebrick\",\n\t\t\t\t\t\tfillColor: \"rgba(178, 0, 0, 0.1)\",\n\t\t\t\t\t\tfillColorStop: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tsessionBreak: {\n\t\t\t\t\tcolor: \"steelblue\",\n\t\t\t\t\tfillColor: \"rgba(0, 0, 0, 0.04)\",\n\t\t\t\t\tlineDash: \"2,2\",\n\t\t\t\t\twidth: 1.5,\n\t\t\t\t},\n\t\t\t\tshape: {\n\t\t\t\t\tcolor: CHART_COLORS.DOT,\n\t\t\t\t\tfillColor: CHART_COLORS.DOT,\n\t\t\t\t\tlength: 2.5,\n\t\t\t\t\tlineWidth: 1,\n\t\t\t\t\toffset: 1,\n\t\t\t\t\ttype: \"circle\",\n\t\t\t\t},\n\t\t\t\twidth: 1.5,\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst DEFAULT_PANEL_PARAMS = {\n\tprimaryOhlcType: \"posneg\",\n\tstyle: {\n\t\tpanel: JSON.parse(JSON.stringify(CHART_PANEL_PARAMS.style.panel)),\n\t\tindicator: {\n\t\t\tprice: {\n\t\t\t\tbar: {\n\t\t\t\t\tcolor: CHART_COLORS.HISTOGRAM,\n\t\t\t\t\tfillColor: CHART_COLORS.HISTOGRAM,\n\t\t\t\t},\n\t\t\t\tcandlestick: {\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"forestgreen\",\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"firebrick\",\n\t\t\t\t\t},\n\t\t\t\t\tneutral: {\n\t\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolor: \"steelblue\",\n\t\t\t\tfillColor: CHART_COLORS.MOUNTAIN_FILL,\n\t\t\t\tfillColorStop: CHART_COLORS.MOUNTAIN_FILL,\n\t\t\t\tlineDash: null,\n\t\t\t\tohlc: {\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"green\",\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"darkred\",\n\t\t\t\t\t},\n\t\t\t\t\tneutral: {\n\t\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tposneg: {\n\t\t\t\t\tlineDash: null,\n\t\t\t\t\twidth: 1.5,\n\t\t\t\t\tpositive: {\n\t\t\t\t\t\tcolor: \"forestgreen\",\n\t\t\t\t\t\tfillColor: \"rgba(17, 182, 0, 0.1)\",\n\t\t\t\t\t\tfillColorStop: null,\n\t\t\t\t\t},\n\t\t\t\t\tnegative: {\n\t\t\t\t\t\tcolor: \"firebrick\",\n\t\t\t\t\t\tfillColor: \"rgba(178, 0, 0, 0.1)\",\n\t\t\t\t\t\tfillColorStop: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tsessionBreak: {\n\t\t\t\t\tcolor: \"steelblue\",\n\t\t\t\t\tfillColor: \"rgba(0, 0, 0, 0.04)\",\n\t\t\t\t\tlineDash: \"2,2\",\n\t\t\t\t\twidth: 1.5,\n\t\t\t\t},\n\t\t\t\tshape: {\n\t\t\t\t\tcolor: CHART_COLORS.DOT,\n\t\t\t\t\tfillColor: CHART_COLORS.DOT,\n\t\t\t\t\tlength: 2.5,\n\t\t\t\t\tlineWidth: 1,\n\t\t\t\t\toffset: 1,\n\t\t\t\t\ttype: \"circle\",\n\t\t\t\t},\n\t\t\t\twidth: 1.5,\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst CHART_CONFIG = {\n\tparams: {\n\t\tdataPeriod: \"Week\",\n\t\tdays: \"365\",\n\t\tshowFlags: true,\n\t\txAxisShortMonths: true,\n\t\treturnPreviousPoint: true,\n\t\tzoomEnabled: false,\n\t\tdataInterface: ChartEventsConstants.DATA_INTERFACE,\n\t\tstyle: JSON.parse(JSON.stringify(DEFAULT_PANEL_PARAMS.style)),\n\t},\n\tpanels: [\n\t\t{\n\t\t\tindicators: [\n\t\t\t\t{\n\t\t\t\t\tid: \"price\",\n\t\t\t\t\tmarkerType: \"line\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: 2,\n\t\t\t\t\t\tcolor: \"#002B51\",\n\t\t\t\t\t\tfillColor: CHART_COLORS.MOUNTAIN_FILL,\n\t\t\t\t\t\tlineColorDot: CHART_COLORS.DOT,\n\t\t\t\t\t\tfillColorDot: CHART_COLORS.DOT,\n\t\t\t\t\t\tdiameterDot: 3,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n\nexport default {\n\tCHART_PANEL_PARAMS,\n\tDEFAULT_PANEL_PARAMS,\n\tCHART_COLORS,\n\tLINE_STYLES,\n\tCHART_CONFIG,\n};\n","const max = Number.MAX_SAFE_INTEGER;\nconst defaultRowTemplateThresholds = [\n\t// Small charts\n\t{\n\t\twidth: 150,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 15,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365,\n\t\t\t\tupper: \"weeks\",\n\t\t\t\tlower: \"years\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 10,\n\t\t\t\tupper: \"months\",\n\t\t\t\tlower: \"years\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"years\",\n\t\t\t\tlower: null,\n\t\t\t},\n\t\t],\n\t},\n\t// Medium charts\n\t{\n\t\twidth: 900,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 4,\n\t\t\t\tupper: \"minutes\",\n\t\t\t\tlower: \"days\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 24,\n\t\t\t\tupper: \"hours\",\n\t\t\t\tlower: \"days\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 60,\n\t\t\t\tupper: \"hours\",\n\t\t\t\tlower: \"days\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 17,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 150,\n\t\t\t\tupper: \"weeks\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 3,\n\t\t\t\tupper: \"months\",\n\t\t\t\tlower: \"years\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"years\",\n\t\t\t\tlower: null,\n\t\t\t},\n\t\t],\n\t},\n\t// Large charts\n\t{\n\t\twidth: max,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 4,\n\t\t\t\tupper: \"minutes\",\n\t\t\t\tlower: \"days\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 50,\n\t\t\t\tupper: \"hours\",\n\t\t\t\tlower: \"days\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 130,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 30,\n\t\t\t\tupper: \"days\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 80,\n\t\t\t\tupper: \"weeks\",\n\t\t\t\tlower: \"months\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 5,\n\t\t\t\tupper: \"months\",\n\t\t\t\tlower: \"years\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: max,\n\t\t\t\tupper: \"years\",\n\t\t\t\tlower: null,\n\t\t\t},\n\t\t],\n\t},\n];\n\nexport default defaultRowTemplateThresholds;\n","import rowTemplateThresholds from \"./defaultRowTemplateThresholds\";\nexport default {\n\tdecimal: \".\",\n\tthousands: \",\",\n\tgrouping: [3],\n\tcurrency: [\"$\", \"\"],\n\tdateTime: \"%a %b %e %X %Y\", // %c\n\ttime: \"%-I:%M%p\", // 12-hour format\n\tperiods: [\"am\", \"pm\"], // %p\n\tdate: \"%-m/%-d/%Y\", // %x\n\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"], // %A\n\tshortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], // %a\n\tmonths: [\n\t\t\"January\",\n\t\t\"February\",\n\t\t\"March\",\n\t\t\"April\",\n\t\t\"May\",\n\t\t\"June\",\n\t\t\"July\",\n\t\t\"August\",\n\t\t\"September\",\n\t\t\"October\",\n\t\t\"November\",\n\t\t\"December\",\n\t], // %B\n\tshortMonths: [\n\t\t\"Jan\",\n\t\t\"Feb\",\n\t\t\"Mar\",\n\t\t\"Apr\",\n\t\t\"May\",\n\t\t\"Jun\",\n\t\t\"Jul\",\n\t\t\"Aug\",\n\t\t\"Sep\",\n\t\t\"Oct\",\n\t\t\"Nov\",\n\t\t\"Dec\",\n\t], // %b\n\ttranslations: {\n\t\tband: {\n\t\t\toverbought: \"Overbought\",\n\t\t\toversold: \"Oversold\",\n\t\t},\n\t\tchart: {\n\t\t\tunavailable: \"Chart not available\",\n\t\t\tunavailableIndicator: \"No data available for {0}\",\n\t\t},\n\t\tindicator: {\n\t\t\tpreviousclose: {\n\t\t\t\tlabel: \"Previous Close {0}\",\n\t\t\t},\n\t\t},\n\t},\n\tlabelTemplates: {\n\t\txAxis: {\n\t\t\tdoubleRow: {\n\t\t\t\tminutes: {\n\t\t\t\t\tdefault: \"%X\",\n\t\t\t\t\tfirst: \"%x %A\",\n\t\t\t\t},\n\t\t\t\thours: {\n\t\t\t\t\tdefault: \"%X\",\n\t\t\t\t\tfirst: \"%x %A\",\n\t\t\t\t},\n\t\t\t\tdays: {\n\t\t\t\t\tdefault: \"%e\",\n\t\t\t\t\tfirst: \"%b %Y\",\n\t\t\t\t\tfirstAlt: \"%x %A\",\n\t\t\t\t\tintraday: \"%x %A\",\n\t\t\t\t},\n\t\t\t\tweeks: {\n\t\t\t\t\tdefault: \"%-m/%-d\", // Short date: 1/7\n\t\t\t\t\tfirst: \"%b %Y\",\n\t\t\t\t\tfirstAlt: \"%b %Y\",\n\t\t\t\t},\n\t\t\t\tmonths: {\n\t\t\t\t\tdefault: \"%b\",\n\t\t\t\t\tfirst: \"%Y\",\n\t\t\t\t\tfirstAlt: \"%b %Y\",\n\t\t\t\t},\n\t\t\t\tyears: {\n\t\t\t\t\tdefault: \"%Y\",\n\t\t\t\t\tfirst: \"%Y\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\trowTemplateThresholds,\n};\n","export const DEFAULT_TIMEFRAME_INDEX = 5;\n\nconst DATE_OPTIONS = {\n\tONEDAY: {\n\t\tkey: \"1D\",\n\t\tlabel: \"1 Day\",\n\t},\n\tFIVEDAY: {\n\t\tkey: \"5D\",\n\t\tlabel: \"5 Day\",\n\t},\n\tONEMONTH: {\n\t\tkey: \"1M\",\n\t\tlabel: \"1 Month\",\n\t},\n\tTHREEMONTH: {\n\t\tkey: \"3M\",\n\t\tlabel: \"3 Month\",\n\t},\n\tSIXMONTH: {\n\t\tkey: \"6M\",\n\t\tlabel: \"6 Month\",\n\t},\n\tONEYEAR: {\n\t\tkey: \"1Y\",\n\t\tlabel: \"1 Year\",\n\t},\n\tTHREEYEAR: {\n\t\tkey: \"3Y\",\n\t\tlabel: \"3 Year\",\n\t},\n\tFIVEYEAR: {\n\t\tkey: \"5Y\",\n\t\tlabel: \"5 Year\",\n\t},\n};\n\nconst PERIODS = {\n\tFIVEMINUTE: {\n\t\tinterval: 5,\n\t\tlabel: \"5 Minute\",\n\t\tvalue: \"Minute\",\n\t},\n\tDAY: {\n\t\tinterval: 1,\n\t\tlabel: \"Daily\",\n\t\tvalue: \"Day\",\n\t},\n\tWEEK: {\n\t\tinterval: 1,\n\t\tlabel: \"Weekly\",\n\t\tvalue: \"Week\",\n\t},\n\tMONTH: {\n\t\tinterval: 1,\n\t\tlabel: \"Monthly\",\n\t\tvalue: \"Month\",\n\t},\n};\n\nexport const TIME_FRAMES = [\n\t{\n\t\tkey: 1,\n\t\tkeyLabel: DATE_OPTIONS.ONEDAY.key,\n\t\tlabel: DATE_OPTIONS.ONEDAY.label,\n\t\tnumDays: \"1\",\n\t\tdefaultPeriod: PERIODS.FIVEMINUTE,\n\t\tperiods: [PERIODS.FIVEMINUTE],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 2,\n\t\tkeyLabel: DATE_OPTIONS.FIVEDAY.key,\n\t\tlabel: DATE_OPTIONS.FIVEDAY.label,\n\t\tnumDays: \"5\",\n\t\tdefaultPeriod: PERIODS.FIVEMINUTE,\n\t\tperiods: [PERIODS.FIVEMINUTE],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 3,\n\t\tkeyLabel: DATE_OPTIONS.ONEMONTH.key,\n\t\tlabel: DATE_OPTIONS.ONEMONTH.label,\n\t\tnumDays: \"30\",\n\t\tdefaultPeriod: PERIODS.DAY,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 4,\n\t\tkeyLabel: DATE_OPTIONS.THREEMONTH.key,\n\t\tlabel: DATE_OPTIONS.THREEMONTH.label,\n\t\tnumDays: \"90\",\n\t\tdefaultPeriod: PERIODS.DAY,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 5,\n\t\tkeyLabel: DATE_OPTIONS.SIXMONTH.key,\n\t\tlabel: DATE_OPTIONS.SIXMONTH.label,\n\t\tnumDays: \"180\",\n\t\tdefaultPeriod: PERIODS.DAY,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 6,\n\t\tkeyLabel: DATE_OPTIONS.ONEYEAR.key,\n\t\tlabel: DATE_OPTIONS.ONEYEAR.label,\n\t\tnumDays: \"365\",\n\t\tdefaultPeriod: PERIODS.WEEK,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK, PERIODS.MONTH],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 7,\n\t\tkeyLabel: DATE_OPTIONS.THREEYEAR.key,\n\t\tlabel: DATE_OPTIONS.THREEYEAR.label,\n\t\tnumDays: \"1095\",\n\t\tdefaultPeriod: PERIODS.WEEK,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK, PERIODS.MONTH],\n\t\tenabled: true,\n\t},\n\t{\n\t\tkey: 8,\n\t\tkeyLabel: DATE_OPTIONS.FIVEYEAR.key,\n\t\tlabel: DATE_OPTIONS.FIVEYEAR.label,\n\t\tnumDays: \"1825\",\n\t\tdefaultPeriod: PERIODS.MONTH,\n\t\tperiods: [PERIODS.DAY, PERIODS.WEEK, PERIODS.MONTH],\n\t\tenabled: true,\n\t},\n];\n\nexport default {\n\tPERIODS,\n\tDATE_OPTIONS,\n\tTIME_FRAMES,\n\tDEFAULT_TIMEFRAME_INDEX,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modchartsLoading\":\"Loader_modchartsLoading__gpEhp\"};","import React, { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport styles from \"components/MarketsAndResearch/ChartingCommon/Loader/Loader.module.scss\";\n\nconst Loader = forwardRef((props, ref) => {\n\tconst divRef = useRef(null);\n\tconst chartRef = props.chartRef;\n\tuseImperativeHandle(ref, () => ({\n\t\tchartLoaderStart,\n\t\tchartLoaderStop,\n\t}));\n\tconst chartLoaderStart = () => {\n\t\tif (divRef && divRef.current) {\n\t\t\tif (!document.getElementById(\"alertLoader\")) {\n\t\t\t\tlet chartloader = document.createElement(\"div\");\n\t\t\t\tchartloader.setAttribute(\"id\", \"alertLoader\");\n\t\t\t\tchartloader.setAttribute(\"aria-label\", \"Loading Chart\");\n\t\t\t\tchartloader.setAttribute(\"role\", \"alert\");\n\t\t\t\tdocument.body.appendChild(chartloader);\n\t\t\t}\n\t\t\tchartRef.current.style.opacity = 0.6;\n\t\t\tdivRef.current.style.display = \"block\";\n\t\t}\n\t};\n\tconst chartLoaderStop = () => {\n\t\tif (divRef && divRef.current) {\n\t\t\tlet chartLoader = document.getElementById(\"alertLoader\");\n\t\t\tchartLoader && chartLoader.remove();\n\t\t\tchartRef.current.style.opacity = 1;\n\t\t\tdivRef.current.style.display = \"none\";\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t
\n\t);\n});\nexport default Loader;\n","import formatter from \"utils/formatUtils\";\nimport { buildDefaultFilterState } from \"../../AnalystResearch/RatingsAndPriceTargetsCard/RatingsAndPriceTargetsAPIParams\";\nimport ResearchAPIUtils from \"services/APIs/Research/ResearchAPI\";\nimport EstimatesAPIUtils from \"services/APIs/Equities/Morningstar/Estimates/EstimatesAPI\";\nimport DividendsAPIUtils from \"services/APIs/CorporateActions/Dividends/DividendsAPI\";\nimport { PERIODICITY_OPTIONS } from \"utils/constants\";\nimport { isUndefined } from \"lodash\";\nimport utils from \"utils/utils\";\n\nconst halfIndicatorDiameter = 4;\n\nexport const IndicatorHighLowRender = (\n\thighlow,\n\t{ minSpaceTop = 0, minSpaceBottom = 0, defaultHighTextPosition = 0 }\n) => {\n\t// Safety check to prevent duplicate rendering in the same chart\n\tconst { highLowCache = {} } = highlow?.indicator?.panel?.core;\n\tconst cacheKey = JSON.stringify(highlow.data);\n\tif (highLowCache[cacheKey]) return;\n\thighLowCache[cacheKey] = true;\n\tconst { data, ctx, boundingBox: box } = highlow;\n\tctx.strokeStyle = \"#FFF\";\n\tctx.lineWidth = 1.5;\n\t// high dot\n\tctx.fillStyle = \"#060\";\n\tctx.beginPath();\n\tdata.high.y = Math.max(data.high.y, minSpaceTop);\n\tconst maxXValue = box.right - halfIndicatorDiameter;\n\tdata.high.x =\n\t\tdata.high.x < halfIndicatorDiameter\n\t\t\t? halfIndicatorDiameter\n\t\t\t: data.high.x > maxXValue\n\t\t\t? maxXValue\n\t\t\t: data.high.x;\n\tctx.arc(data.high.x, data.high.y, 4.5, 0, 2 * Math.PI);\n\tctx.fill();\n\tctx.stroke();\n\t// low dot\n\tctx.fillStyle = \"#A00\";\n\tctx.beginPath();\n\tdata.low.y = Math.min(data.low.y, box.bottom - minSpaceBottom);\n\tdata.low.x =\n\t\tdata.low.x < halfIndicatorDiameter\n\t\t\t? halfIndicatorDiameter\n\t\t\t: data.low.x > maxXValue\n\t\t\t? maxXValue\n\t\t\t: data.low.x;\n\tctx.arc(data.low.x, data.low.y, 4.5, 0, 2 * Math.PI);\n\tctx.fill();\n\tctx.stroke();\n\t// label high\n\tctx.beginPath();\n\tctx.font = \"12px Verdana\";\n\tconst isPrice = data.high.valueFormatted.includes(\"$\");\n\tconst highText = `High: ${\n\t\tisPrice\n\t\t\t? formatter.price(data.high.value)\n\t\t\t: formatter.percent(data.high.value, 2, { percentModifier: 0.01 })\n\t}`;\n\tconst widthHighText = ctx.measureText(highText).width + 6;\n\tconst highPosition = data.high.x < box.left + widthHighText / 2 ? \"left\" : \"center\";\n\tconst widthHighTextPosition =\n\t\tctx.textAlign === \"right\" ? widthHighText : defaultHighTextPosition;\n\n\tctx.textAlign = data.high.x > box.right - widthHighText / 2 ? \"right\" : highPosition;\n\tctx.textBaseline = \"bottom\";\n\tctx.rect(\n\t\tdata.high.x -\n\t\t\t(ctx.textAlign === \"center\" ? widthHighText / 2 : widthHighTextPosition),\n\t\tdata.high.y - 19,\n\t\twidthHighText,\n\t\t13\n\t);\n\tctx.fillStyle = \"#FFFF\";\n\tctx.stroke();\n\tctx.fill();\n\tctx.fillStyle = \"#323232\";\n\tctx.fillText(highText, data.high.x, data.high.y - 6);\n\t// label low\n\tctx.beginPath();\n\tctx.font = \"12px Verdana\";\n\tconst lowText = `Low: ${\n\t\tisPrice\n\t\t\t? formatter.price(data.low.value)\n\t\t\t: formatter.percent(data.low.value, 2, { percentModifier: 0.01 })\n\t}`;\n\tconst widthLowText = ctx.measureText(lowText).width + 6;\n\tconst textLowPosition = data.low.x < box.left + widthLowText / 2 ? \"left\" : \"center\";\n\tctx.textAlign = data.low.x > box.right - widthLowText / 2 ? \"right\" : textLowPosition;\n\tctx.textBaseline = \"top\";\n\tlet xoffset = ctx.textAlign === \"right\" ? widthLowText : 0;\n\tlet xcoord = data.low.x - (ctx.textAlign === \"center\" ? widthLowText / 2 : xoffset);\n\tctx.rect(xcoord, data.low.y + 6, widthLowText, 13);\n\tctx.fillStyle = \"#FFFF\";\n\tctx.stroke();\n\tctx.fill();\n\tctx.fillStyle = \"#323232\";\n\tctx.fillText(lowText, data.low.x, data.low.y + 6);\n};\n\nconst getInfoFilters = (props) => {\n\tconst infoFilters = { isRating: false, isFvEstimate: false, isPriceTarget: false };\n\n\tinfoFilters.isRating = props.hoverInfoFilters?.find(\n\t\t(item) => item.name === \"ratings\" || item.name === \"msratings\"\n\t)?.value;\n\tinfoFilters.isFvEstimate = props.hoverInfoFilters?.find(\n\t\t(item) => item.name === \"fvEstimate\"\n\t)?.value;\n\tinfoFilters.isPriceTarget = props.hoverInfoFilters?.find(\n\t\t(item) => item.name === \"priceTarget\"\n\t)?.value;\n\treturn infoFilters;\n};\n// Equities API Requests for Events\nexport const eventCustomData = async (\n\tprops,\n\ttab,\n\t[setDividendsData, setEarningsData, setResearchMSData, setResearchMstarData]\n) => {\n\tif (!props.venueXid) {\n\t\treturn;\n\t}\n\n\tif ([\"overview\", \"charting\"].includes(tab)) {\n\t\tawait fetchDividendsData(props, setDividendsData);\n\t}\n\n\tif ([\"overview\", \"charting\"].includes(tab)) {\n\t\tawait fetchEarningsData(props, setEarningsData);\n\t}\n\n\tif ([\"research\", \"charting\"].includes(tab)) {\n\t\tlet infoFilters;\n\t\tif (props?.hoverInfoFilters) {\n\t\t\t// InfoFilters passed by Analyst Research card\n\t\t\tinfoFilters = getInfoFilters(props);\n\t\t} else {\n\t\t\t// infofilters set for charting tab chart. it should return ratings only\n\t\t\tinfoFilters = {\n\t\t\t\tisRating: true,\n\t\t\t\tisFvEstimate: false,\n\t\t\t\tisPriceTarget: false,\n\t\t\t\tdateSpan: \"10Y\",\n\t\t\t};\n\t\t}\n\t\tawait fetchResearchDetails(\n\t\t\tprops,\n\t\t\t[setResearchMSData, setResearchMstarData],\n\t\t\tinfoFilters\n\t\t);\n\t}\n};\n\nconst fetchDividendsData = async (props, setDividendsData) => {\n\t// Return 20 results as the chart can go back 5 years with 1 result per quarter\n\tconst dividendsEventData = DividendsAPIUtils.getDividendsHistory(\n\t\tprops.apiInstance,\n\t\tprops.venueXid\n\t)\n\t\t.setNumberOfResults(20)\n\t\t.fetch();\n\tPromise.resolve(dividendsEventData)\n\t\t.then(({ dividendEvents }) => {\n\t\t\tif (dividendEvents) {\n\t\t\t\tconst dividendData = getDividendsData(dividendEvents);\n\t\t\t\tlocalStorage.setItem(\"dividendsData\", JSON.stringify(dividendData));\n\t\t\t\tsetDividendsData(dividendData);\n\t\t\t} else {\n\t\t\t\tsetDividendsData(null);\n\t\t\t\tlocalStorage.setItem(\"dividendsData\", JSON.stringify([]));\n\t\t\t}\n\t\t})\n\t\t.catch(() => {\n\t\t\tsetDividendsData(null);\n\t\t});\n};\n\nconst fetchEarningsData = async (props, setEarningsData) => {\n\t// Return the maximum number of historical periods - 20 quarters -\n\t// as the chart can go back 5 years\n\tEstimatesAPIUtils.getEstimatesTrends(\n\t\tprops.apiInstance,\n\t\tprops.venueXid,\n\t\tPERIODICITY_OPTIONS.QUARTERLY,\n\t\t4,\n\t\t20\n\t)\n\t\t.then(({ historical, forward }) => {\n\t\t\tconst currency = forward?.[0]?.currencyCode;\n\t\t\tconst earningsData = getEarningsData(historical, currency);\n\t\t\tlocalStorage.setItem(\"earningsData\", JSON.stringify(earningsData));\n\t\t\tsetEarningsData(earningsData);\n\t\t})\n\t\t.catch(() => {\n\t\t\tlocalStorage.setItem(\"earningsData\", JSON.stringify([]));\n\t\t\tsetEarningsData(null);\n\t\t});\n};\n\nconst fetchResearchDetails = async (\n\tprops,\n\t[setResearchMSData, setResearchMstarData],\n\tinfoFilters = { isRating: true, isPriceTarget: true, dateSpan: \"1Y\" }\n) => {\n\t// build default filters\n\tlet filters = buildDefaultFilterState({\n\t\tratings: infoFilters.isRating,\n\t\tpriceTargets: infoFilters.isPriceTarget,\n\t\tdateSpan: infoFilters.dateSpan,\n\t});\n\n\tif (props?.filters?.provider === \"Morgan Stanley\" || isUndefined(props.filters)) {\n\t\t// Undefined check because no props filters are passed by Charting tab\n\t\t// Return all of Research Ratings data\n\t\tawait ResearchAPIUtils.getResearchDetails(\n\t\t\tprops.apiInstance,\n\t\t\tprops.venueXid,\n\t\t\tfilters,\n\t\t\t100,\n\t\t\t0,\n\t\t\t(response) => {\n\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\"researchMSData\",\n\t\t\t\t\tJSON.stringify(getResearchMSData(response.data.data.items[0]))\n\t\t\t\t);\n\t\t\t\tsetResearchMSData(JSON.parse(localStorage.getItem(\"researchMSData\")));\n\t\t\t}\n\t\t);\n\t}\n\tif (props?.filters?.provider === \"Morningstar\" || isUndefined(props.filters)) {\n\t\tfilters = {\n\t\t\t...filters,\n\t\t\tpriceTargets: infoFilters.isFvEstimate,\n\t\t\tprovider: \"Morningstar\",\n\t\t};\n\t\tawait ResearchAPIUtils.getResearchDetails(\n\t\t\tprops.apiInstance,\n\t\t\tprops.venueXid,\n\t\t\tfilters,\n\t\t\t100,\n\t\t\t0,\n\t\t\t(response) => {\n\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\"researchMstarData\",\n\t\t\t\t\tJSON.stringify(getResearchMstarData(response.data.data.items[0]))\n\t\t\t\t);\n\t\t\t\tsetResearchMstarData(JSON.parse(localStorage.getItem(\"researchMstarData\")));\n\t\t\t}\n\t\t);\n\t}\n};\n\n//Method to format the Earnings data\nconst getEarningsData = (data, currency) => {\n\tlet earningsFinal = [];\n\tif (data && data.length > 0) {\n\t\tdata.forEach((element) => {\n\t\t\tearningsFinal.push({\n\t\t\t\tactual: element.actual,\n\t\t\t\tdate: element.announceDate,\n\t\t\t\tconsensusEstimate: element.adjustedEpsEstimate?.mean,\n\t\t\t\testimateRangeLow: element.adjustedEpsEstimate?.low,\n\t\t\t\testimateRangeHigh: element.adjustedEpsEstimate?.high,\n\t\t\t\tCurrentCurrency: currency,\n\t\t\t});\n\t\t});\n\t}\n\treturn earningsFinal;\n};\n\n//Method to format the dividend data\nconst getDividendsData = (data) => {\n\tlet dividendsFinal = [];\n\tif (data.length > 0) {\n\t\tdata.forEach((element) => {\n\t\t\tdividendsFinal.push({\n\t\t\t\tdate: element.exDate,\n\t\t\t\tpaymentDate: element.paymentDate,\n\t\t\t\ttypeDescription: element.typeDescription,\n\t\t\t\tdividends: element.amount,\n\t\t\t\tcashEquivalent: element.cashEquivalent,\n\t\t\t\tcurrency: element.returnedInCurrency,\n\t\t\t});\n\t\t});\n\t}\n\treturn dividendsFinal;\n};\n//End Method to format the dividend data\n\n// Method to format Research Ratings Data\nconst getResearchMSData = (data) => {\n\tlet researchMSsFinal = [];\n\n\tif (data.length > 0) {\n\t\tdata.forEach((element) => {\n\t\t\tconst elementLabel =\n\t\t\t\telement.Label === \"RatingChange\" ? \"Ratings Changed\" : element.Label;\n\t\t\tresearchMSsFinal.push({\n\t\t\t\tdate: getResearchJSDate(element),\n\t\t\t\tProviderName: element.ProviderName,\n\t\t\t\tLabel: element.Label === \"TargetPrice\" ? \"Price Target\" : elementLabel,\n\t\t\t\tRating: utils.ratingString(element.RatingValue),\n\t\t\t\tChangeType: element.ChangeType,\n\t\t\t\tTargetPrice: element.TargetPriceValue,\n\t\t\t\tPriorTargetPrice: element.PriorTargetPriceValue,\n\t\t\t\tCurrency: element.Currency,\n\t\t\t\tPriorRating: utils.ratingString(element.PriorRatingValue),\n\t\t\t});\n\t\t});\n\t}\n\treturn researchMSsFinal;\n};\nconst getResearchMstarData = (data) => {\n\tlet researchMstarsFinal = [];\n\tif (data.length > 0) {\n\t\tdata.forEach((element) => {\n\t\t\tconst elementLabel =\n\t\t\t\telement.Label === \"RatingChange\" ? \"Ratings Changed\" : element.Label;\n\t\t\tresearchMstarsFinal.push({\n\t\t\t\tdate: getResearchJSDate(element),\n\t\t\t\tProviderName: element.ProviderName,\n\t\t\t\tLabel: element.Label === \"TargetPrice\" ? \"Price Target\" : elementLabel,\n\t\t\t\tRating: element.RatingValue,\n\t\t\t\tPriorRating: element.PriorRatingValue,\n\t\t\t\tChangeType: element.ChangeType,\n\t\t\t\tTargetPrice: element.TargetPriceValue,\n\t\t\t\tPriorTargetPrice: element.PriorTargetPriceValue,\n\t\t\t});\n\t\t});\n\t}\n\treturn researchMstarsFinal;\n};\n\n// Converts Excel date format to JS date\nconst getResearchJSDate = (element) => {\n\treturn new Date(Math.round((element.ChangeDate - 25569) * 86400 * 1000));\n};\n\nexport const removeFocusfromMenu = (element) => {\n\tsetTimeout(() => {\n\t\telement.firstChild.blur();\n\t}, 1);\n};\n","const FINANCIAL_PERIOD_TYPE = [\n\t{\n\t\tlabel: \"Annual\",\n\t\tvalue: \"Annual\",\n\t},\n\t{\n\t\tlabel: \"Quarterly\",\n\t\tvalue: \"Interim\",\n\t},\n];\n\nconst CHART_LEGEND_NAMES = {\n\tIncome_Statement: [\"Total Revenue\", \"Net Income\", \"Profit Margin\"],\n\tBalance_Sheet: [\"Total Assets\", \"Total Liabilities\", \"Debt to Assets\"],\n\tCash_Flow: [\"Operating\", \"Investing\", \"Financing\"],\n};\n\nconst CASHFLOW_ROW = {\n\tICF: { description: \"Investing Cash Flow\", shortName: \"Investing\" },\n\tOCF: { description: \"Operating Cash Flow\", shortName: \"Operating\" },\n\tFCF: { description: \"Financing Cash Flow\", shortName: \"Financing\" },\n};\nconst ALLOWED_BALANCESHEEET_COLUMNS = [\n\t\"Total Assets\",\n\t\"Total Liabilities Net Minority Interest\",\n];\nconst CHANGE_BALANCESHEEET_COLUMNS = {\n\tTotal_Liabilities: {\n\t\tapiColumnName: \"Total Liabilities Net Minority Interest\",\n\t\tdisplayName: \"Total Liabilities\",\n\t},\n};\nconst FINANCIAL_TABS = {\n\tIncomeStatement: \"Income Statement\",\n\tBalanceSheet: \"Balance Sheet\",\n\tCashFlow: \"Cash Flow\",\n\tSECFillings: \"SEC Filings\",\n};\n\nconst FINANCIAL_TABS_TOOLTIPS = {\n\tToolTip_IncomeStatement:\n\t\t\"This figure is a measure of profitability. It is equal to annual net income divided by revenues over the trailing 12 months. The resulting figure is then multiplied by 100.\",\n\tToolTip_BalanceSheet:\n\t\t\"Total-debt-to-total-assets is a leverage ratio that defines the total amount of debt relative to assets owned by the company. It is equal to the total amount of a company's debt divided by the total amount of the company's assets. The resulting figure is then multiplied by 100.\",\n};\n\nconst FINANCIAL_DATA_FOR_HOME_PAGE = \"home\";\n\nexport {\n\tCASHFLOW_ROW,\n\tCHART_LEGEND_NAMES,\n\tALLOWED_BALANCESHEEET_COLUMNS,\n\tCHANGE_BALANCESHEEET_COLUMNS,\n\tFINANCIAL_PERIOD_TYPE,\n\tFINANCIAL_TABS,\n\tFINANCIAL_TABS_TOOLTIPS,\n\tFINANCIAL_DATA_FOR_HOME_PAGE,\n};\n","import Chartist from \"chartist\";\n\nfunction ChartPointLabels(options) {\n\tfunction createFilterForOutline(data, options) {\n\t\t// Select the defs element within the chart or create a new one\n\t\tvar defs = data.svg.querySelector(\"defs\") || data.svg.elem(\"defs\");\n\n\t\t// Create pattern for stripe\n\t\tlet filter = defs.elem(\"filter\", {\n\t\t\tid: \"bg-text\",\n\t\t});\n\t\tfilter.elem(\"feMorphology\", {\n\t\t\tin: \"SourceAlpha\",\n\t\t\tresult: \"DILATED\",\n\t\t\toperator: \"dilate\",\n\t\t\tradius: \"4\",\n\t\t});\n\t\tfilter.elem(\"feFlood\", {\n\t\t\t\"flood-color\": \"white\",\n\t\t\t\"flood-opacity\": \"1\",\n\t\t\tresult: \"PINK\",\n\t\t});\n\t\tfilter.elem(\"feComposite\", {\n\t\t\tin2: \"DILATED\",\n\t\t\toperator: \"in\",\n\t\t\tresult: \"OUTLINE\",\n\t\t\tin: \"PINK\",\n\t\t});\n\t\tlet feMerge = filter.elem(\"feMerge\", {});\n\t\tfeMerge.elem(\"feMergeNode\", {\n\t\t\tin: \"OUTLINE\",\n\t\t});\n\t\tfeMerge.elem(\"feMergeNode\", {\n\t\t\tin: \"SourceGraphic\",\n\t\t});\n\n\t\treturn defs;\n\t}\n\treturn function ctPointLabels(chart) {\n\t\tlet defaultOptions = {\n\t\t\tlabelClass: \"ct-label\",\n\t\t\tlabelOffset: {\n\t\t\t\tx: 0,\n\t\t\t\ty: -10,\n\t\t\t},\n\t\t\ttextAnchor: \"middle\",\n\t\t\tlabelAdditionalClass: \"\",\n\t\t\tlabelInterpolationFnc: Chartist.noop,\n\t\t};\n\n\t\toptions = Chartist.extend({}, defaultOptions, options);\n\n\t\tif (chart instanceof Chartist.Line) {\n\t\t\tchart.on(\"draw\", function (data) {\n\t\t\t\tif (data.type === \"point\") {\n\t\t\t\t\tlet circle = new Chartist.Svg(\n\t\t\t\t\t\t\"circle\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcx: [data.x],\n\t\t\t\t\t\t\tcy: [data.y],\n\t\t\t\t\t\t\tr: [5],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"ct-circle\"\n\t\t\t\t\t);\n\t\t\t\t\tdata.element.replace(circle);\n\t\t\t\t\tif (options.showPointLabel) {\n\t\t\t\t\t\t// get the coordinated from hidden field and adjust the label position\n\t\t\t\t\t\tlet xAxis = document.getElementById(options.chartGuid);\n\t\t\t\t\t\tlet seriesAcoords = xAxis.getAttribute(\"series_0_coord\").split(\";\");\n\t\t\t\t\t\tlet seriesBcoords = xAxis.getAttribute(\"series_1_coord\").split(\";\");\n\t\t\t\t\t\tlet newdataX = data.x;\n\t\t\t\t\t\tif (parseInt(seriesBcoords[data.index]) + 5 < data.y) {\n\t\t\t\t\t\t\tnewdataX = data.x + (options.pointLabelOffset || 45);\n\t\t\t\t\t\t} else if (parseInt(seriesAcoords[data.index]) - 5 < data.y) {\n\t\t\t\t\t\t\tnewdataX = data.x + 23;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet newDataY = data.y + options.labelOffset.y;\n\t\t\t\t\t\tif (options.labelCount - 1 === data.index) {\n\t\t\t\t\t\t\tlet gridCoords = xAxis.getAttribute(\"chart_grid_coord\").split(\";\");\n\t\t\t\t\t\t\tlet overlapGrid = gridCoords.filter(\n\t\t\t\t\t\t\t\t(x) => newDataY - 5 < parseInt(x) && parseInt(x) < newDataY + 5\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (overlapGrid.length > 0) newdataX = newdataX - 10;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdata.group\n\t\t\t\t\t\t\t.elem(\n\t\t\t\t\t\t\t\t\"text\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tx: newdataX + options.labelOffset.x,\n\t\t\t\t\t\t\t\t\ty: newDataY,\n\t\t\t\t\t\t\t\t\tstyle: \"text-anchor: \" + options.textAnchor,\n\t\t\t\t\t\t\t\t\tfilter: \"url(#bg-text)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toptions.labelClass + \" ct-point-label \" + options.labelAdditionalClass\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.text(options.labelInterpolationFnc(data.value.y));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tchart.on(\"created\", function (data) {\n\t\t\t\tcreateFilterForOutline(data, options);\n\t\t\t});\n\t\t}\n\t};\n}\n\nexport default ChartPointLabels;\n","import Chartist from \"chartist\";\n\nfunction ChartStripeBar(options) {\n\tlet defaultOptions = {\n\t\tmaskStripe: {\n\t\t\trect: {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"100%\",\n\t\t\t},\n\t\t},\n\t\tpatternStripe: {\n\t\t\twidth: \"5\",\n\t\t\theight: \"5\",\n\t\t\tpatternTransform: \"rotate(135)\",\n\t\t\tline: {\n\t\t\t\theight: \"5\",\n\t\t\t},\n\t\t},\n\t};\n\n\tfunction createMaskWithBorder(data, options) {\n\t\t// Select the defs element within the chart or create a new one\n\t\tvar defs = data.svg.querySelector(\"defs\") || data.svg.elem(\"defs\");\n\n\t\t// Create pattern for stripe\n\t\tdefs\n\t\t\t.elem(\"pattern\", {\n\t\t\t\tpatternUnits: \"userSpaceOnUse\",\n\t\t\t\tpatternTransform: options.patternStripe.patternTransform,\n\t\t\t\twidth: options.patternStripe.width,\n\t\t\t\theight: options.patternStripe.height,\n\t\t\t\tid: \"pattern-stripe\",\n\t\t\t})\n\t\t\t.elem(\"line\", {\n\t\t\t\tclass: \"pattern-stripe-line\",\n\t\t\t\ty2: options.patternStripe.line.height,\n\t\t\t});\n\t\treturn defs;\n\t}\n\treturn function ctStripeBar(chart) {\n\t\toptions = Chartist.extend({}, defaultOptions, options);\n\n\t\tif (chart instanceof Chartist.Bar) {\n\t\t\tchart.on(\"draw\", function (data) {\n\t\t\t\t//not a nice check as second series will be converted to stripe bar\n\t\t\t\tif (data.type === \"bar\" && data.seriesIndex === 1) {\n\t\t\t\t\tlet yAxisPoint = data.series[data.index] < 0 ? data.y1 : data.y2;\n\t\t\t\t\tconst whiteBar = new Chartist.Svg(\n\t\t\t\t\t\t\"line\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx1: data.x1 + 2,\n\t\t\t\t\t\t\tx2: data.x1 + 2,\n\t\t\t\t\t\t\ty1: data.y1,\n\t\t\t\t\t\t\ty2: data.y2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"white-bar\"\n\t\t\t\t\t);\n\t\t\t\t\tdata.element.replace(whiteBar);\n\t\t\t\t\tlet rect = new Chartist.Svg(\n\t\t\t\t\t\t\"rect\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx: [data.x1 - 5],\n\t\t\t\t\t\t\ty: [yAxisPoint],\n\t\t\t\t\t\t\theight: [Math.abs(data.y1 - data.y2)],\n\t\t\t\t\t\t\twidth: [15],\n\t\t\t\t\t\t\t\"ct:value\": data.series[data.index],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"hbar\"\n\t\t\t\t\t);\n\t\t\t\t\tdata.group.append(rect);\n\t\t\t\t} else if (data.type === \"bar\" && data.seriesIndex === 2) {\n\t\t\t\t\tlet yAxisPoint = data.series[data.index] < 0 ? data.y1 : data.y2;\n\t\t\t\t\tconst whiteBar = new Chartist.Svg(\n\t\t\t\t\t\t\"line\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx1: data.x1 + 2,\n\t\t\t\t\t\t\tx2: data.x1 + 2,\n\t\t\t\t\t\t\ty1: data.y1,\n\t\t\t\t\t\t\ty2: data.y2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"white-bar\"\n\t\t\t\t\t);\n\t\t\t\t\tdata.element.replace(whiteBar);\n\t\t\t\t\tlet rect = new Chartist.Svg(\n\t\t\t\t\t\t\"rect\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx: [data.x1 - 5],\n\t\t\t\t\t\t\ty: [yAxisPoint],\n\t\t\t\t\t\t\theight: [Math.abs(data.y1 - data.y2)],\n\t\t\t\t\t\t\twidth: [15],\n\t\t\t\t\t\t\t\"ct:value\": data.series[data.index],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"wbar\"\n\t\t\t\t\t);\n\t\t\t\t\tdata.group.append(rect);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// On the created event, create the mask definition used to mask the bar graphs\n\t\t\tchart.on(\"created\", function (data) {\n\t\t\t\tcreateMaskWithBorder(data, options);\n\t\t\t});\n\t\t}\n\t};\n}\n\nexport default ChartStripeBar;\n","import Chartist from \"chartist\";\n\nfunction ChartResizeLineChart(options) {\n\treturn function ctResizeLineChart(chart) {\n\t\tif (chart instanceof Chartist.Bar) {\n\t\t\tchart.on(\"draw\", function (data) {\n\t\t\t\tif (data.type === \"label\" && data.text.includes(\"$0\")) {\n\t\t\t\t\tlet xAxisHdn = document.getElementById(options.chartGuid);\n\t\t\t\t\tif (!xAxisHdn) {\n\t\t\t\t\t\txAxisHdn = createHiddenField();\n\t\t\t\t\t}\n\t\t\t\t\tlet bottomXAxis = xAxisHdn.getAttribute(\"pointLabelYaxisBottom\") || \"0\";\n\t\t\t\t\txAxisHdn.setAttribute(\n\t\t\t\t\t\t\"pointlabelyaxisbottom\",\n\t\t\t\t\t\tMath.abs(parseFloat(bottomXAxis) - data.y)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (data.type === \"label\" && data.text.includes(\"-$\")) {\n\t\t\t\t\tlet xAxisHdn = document.getElementById(options.chartGuid);\n\t\t\t\t\tif (!xAxisHdn) {\n\t\t\t\t\t\txAxisHdn = createHiddenField();\n\t\t\t\t\t}\n\t\t\t\t\tdata.element.attr({ x: data.element.attr(\"x\") - 5 });\n\t\t\t\t\tif (!xAxisHdn.getAttribute(\"pointLabelYaxisBottom\", data.y))\n\t\t\t\t\t\txAxisHdn.setAttribute(\"pointLabelYaxisBottom\", data.y);\n\t\t\t\t}\n\t\t\t\tif (data.type === \"bar\") {\n\t\t\t\t\tlet xAxis = document.getElementById(options.chartGuid);\n\t\t\t\t\tif (data.index === 0 && data.seriesIndex === 0) {\n\t\t\t\t\t\tif (!xAxis) {\n\t\t\t\t\t\t\txAxis = createHiddenField();\n\t\t\t\t\t\t}\n\t\t\t\t\t\txAxis.setAttribute(\"startPoint\", data.x2 + 3);\n\t\t\t\t\t\txAxis.setAttribute(\"series_\" + data.seriesIndex + \"_coord\", `${data.y2}`);\n\t\t\t\t\t\txAxis.setAttribute(\"series_1_coord\", \"\");\n\t\t\t\t\t} else if (xAxis !== null) {\n\t\t\t\t\t\tlet coords = xAxis.getAttribute(\"series_\" + data.seriesIndex + \"_coord\");\n\t\t\t\t\t\tif (coords) coords += `;${data.y2}`;\n\t\t\t\t\t\telse coords = `${data.y2}`;\n\t\t\t\t\t\txAxis.setAttribute(\"series_\" + data.seriesIndex + \"_coord\", coords);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (data.type === \"grid\") {\n\t\t\t\t\tlet xAxis = document.getElementById(options.chartGuid);\n\t\t\t\t\tif (!xAxis) {\n\t\t\t\t\t\txAxis = createHiddenField();\n\t\t\t\t\t}\n\t\t\t\t\tlet yAxisMaxValue = getMaxYAxis(data);\n\t\t\t\t\txAxis.setAttribute(\"yAxisMaxValue\", yAxisMaxValue);\n\t\t\t\t\tlet yAxisLabelToPreventOverlap = xAxis.getAttribute(\"chart_grid_coord\");\n\t\t\t\t\tif (yAxisLabelToPreventOverlap && data.index !== 0)\n\t\t\t\t\t\tyAxisLabelToPreventOverlap += `;${data.y2}`;\n\t\t\t\t\telse yAxisLabelToPreventOverlap = `${data.y2}`;\n\t\t\t\t\txAxis.setAttribute(\"chart_grid_coord\", yAxisLabelToPreventOverlap);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\tfunction createHiddenField() {\n\t\tlet hdnField = document.createElement(\"INPUT\");\n\t\thdnField.setAttribute(\"type\", \"hidden\");\n\t\thdnField.setAttribute(\"id\", options.chartGuid);\n\t\tdocument.body.appendChild(hdnField);\n\t\treturn document.getElementById(options.chartGuid);\n\t}\n\tfunction getMaxYAxis(data) {\n\t\tlet yAxisMaxValue = data.axis.bounds.high;\n\t\tif (\n\t\t\tdata.axis.bounds.values[data.axis.bounds.values.length - 1] <= data.axis.bounds.high\n\t\t) {\n\t\t\tyAxisMaxValue =\n\t\t\t\tdata.axis.bounds.values[data.axis.bounds.values.length - 1] +\n\t\t\t\tdata.axis.bounds.step;\n\t\t}\n\t\treturn yAxisMaxValue;\n\t}\n}\n\nexport default ChartResizeLineChart;\n","import React from \"react\";\nimport ChartistGraph from \"react-chartist\";\nimport ChartPointLabels from \"./Plugin/ChartPointLabels\";\nimport ChartStripeBar from \"./Plugin/ChartStripeBar\";\nimport ChartResizeLineChart from \"./Plugin/ChartResizeLineChart\";\nimport PropTypes from \"prop-types\";\nimport \"./FinancialChart.scss\";\nimport filterEmptyDataWithoutHeader from \"utils/financialsEmptyColumns\";\n\nexport default class FinancialChart extends React.Component {\n\t_mounted = false;\n\tstatic propTypes = {\n\t\tlabels: PropTypes.array.isRequired,\n\t\tbarChartSeries: PropTypes.array.isRequired,\n\t\tlineChartSeries: PropTypes.array.isRequired,\n\t\tlegendNames: PropTypes.array,\n\t};\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tlineChartPadding: false,\n\t\t\tchartGuid: (+new Date() * Math.random()).toString(36).substring(0, 5),\n\t\t};\n\t}\n\tgetMinMaxOf2DIndex = (arr) => {\n\t\treturn {\n\t\t\tmax: Math.max.apply(\n\t\t\t\tnull,\n\t\t\t\tarr.map((row) => {\n\t\t\t\t\treturn Math.max.apply(Math, row);\n\t\t\t\t})\n\t\t\t),\n\t\t\tmin: Math.min.apply(\n\t\t\t\tnull,\n\t\t\t\tarr.map((row) => {\n\t\t\t\t\treturn Math.min.apply(Math, row);\n\t\t\t\t})\n\t\t\t),\n\t\t};\n\t};\n\n\tgetSeriesManipulativeHighLow = () => {\n\t\tlet maxMinSeries = this.getMinMaxOf2DIndex(this.props.barChartSeries);\n\t\tlet yAxisMaxValue = document.getElementById(this.state.chartGuid);\n\t\tif (yAxisMaxValue) {\n\t\t\tyAxisMaxValue = yAxisMaxValue.getAttribute(\"yaxismaxvalue\");\n\t\t\tmaxMinSeries.max = parseInt(yAxisMaxValue);\n\t\t}\n\t\treturn maxMinSeries;\n\t};\n\tgetBarChartXAxisLeft = () => {\n\t\tlet xAxis = document.getElementById(this.state.chartGuid);\n\t\tif (xAxis) {\n\t\t\txAxis = xAxis.getAttribute(\"startPoint\");\n\t\t\treturn parseInt(xAxis) + 10; // offset in order to bring in between both bars\n\t\t}\n\t\treturn null;\n\t};\n\n\tcomponentDidMount() {\n\t\tthis._mounted = true;\n\t\twindow.addEventListener(\"resize\", () => this.updateLineChartPadding());\n\t\tsetTimeout(\n\t\t\t() =>\n\t\t\t\tthis._mounted &&\n\t\t\t\tthis.setState({ lineChartPadding: !this.state.lineChartPadding }),\n\t\t\t50\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._mounted = false;\n\t\tvar element = document.getElementById(this.state.chartGuid);\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\t\telement.parentNode.removeChild(element);\n\t\twindow.removeEventListener(\"resize\", () => this.updateLineChartPadding());\n\t}\n\n\tupdateLineChartPadding = () => {\n\t\tsetTimeout(\n\t\t\t() =>\n\t\t\t\tthis._mounted &&\n\t\t\t\tthis.setState({ lineChartPadding: !this.state.lineChartPadding }),\n\t\t\t50\n\t\t);\n\t};\n\trender() {\n\t\tlet obj = filterEmptyDataWithoutHeader.filterEmptyDataWithoutHeader(\n\t\t\t[...this.props.barChartSeries, ...this.props.lineChartSeries],\n\t\t\tthis.props.labels.length,\n\t\t\tthis.props.labels\n\t\t);\n\t\tlet barChartData = {\n\t\t\tlabels: obj.headersData,\n\t\t\tseries: obj.rowsData.slice(0, this.props.barChartSeries.length),\n\t\t};\n\t\tlet lineChartData = {\n\t\t\tlabels: obj.headersData,\n\t\t\tseries: !this.props.isCashFlow ? [obj.rowsData[2]] : [],\n\t\t};\n\n\t\t//get max min of barChartSeries\n\t\tlet optionsBarChart = {\n\t\t\theight: \"250px\",\n\t\t\tseriesBarDistance: 20,\n\t\t\tdivisor: 5,\n\t\t\tchartPadding: {\n\t\t\t\ttop: 10,\n\t\t\t\tright: 0,\n\t\t\t\tbottom: 5,\n\t\t\t\tleft: 0,\n\t\t\t},\n\t\t\taxisX: {\n\t\t\t\tshowGrid: false,\n\t\t\t\tposition: \"end\",\n\t\t\t\tlabelInterpolationFnc: function (value, index) {\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\tlabelOffset: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t\taxisY: {\n\t\t\t\tposition: \"left\",\n\t\t\t\tshowGrid: true,\n\t\t\t\toffset: this.props.isMobile ? 40 : 55,\n\t\t\t\tlabelInterpolationFnc: (value, index) => {\n\t\t\t\t\tif (this?.props?.barSeriesCurrency === \"USD\") {\n\t\t\t\t\t\treturn value >= 0 ? \"$\" + value + \"B\" : \"-$\" + Math.abs(value) + \"B\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn value >= 0 ? value + \"B\" : Math.abs(value) + \"B\";\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tlabelOffset: {\n\t\t\t\t\tx: -10,\n\t\t\t\t\ty: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t\tplugins: [\n\t\t\t\tChartStripeBar({\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\tlegendNames: this.props.legendNames,\n\t\t\t\t\t\tchartGuid: this.state.chartGuid,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tChartResizeLineChart({ chartGuid: this.state.chartGuid }),\n\t\t\t],\n\t\t};\n\t\tlet maxMinLabelSeries = this.getMinMaxOf2DIndex(this.props.lineChartSeries);\n\n\t\tlet lineChartMin = 0;\n\t\tlet lineChartMax = 100;\n\t\tif (!this.props.isCashFlow) {\n\t\t\tlineChartMax = Math.ceil((maxMinLabelSeries.max + 1) / 10) * 10;\n\t\t\tif (maxMinLabelSeries.min < 0 && maxMinLabelSeries.max < 0) {\n\t\t\t\tlineChartMin = maxMinLabelSeries.min;\n\t\t\t\tlineChartMax = maxMinLabelSeries.max;\n\t\t\t} else if (maxMinLabelSeries.min > 0 && maxMinLabelSeries.min < 15) {\n\t\t\t\tlineChartMin = 0;\n\t\t\t} else {\n\t\t\t\tlineChartMin = parseInt(maxMinLabelSeries.min);\n\t\t\t}\n\t\t} else {\n\t\t\tmaxMinLabelSeries = this.getMinMaxOf2DIndex(\n\t\t\t\tthis.props.lineChartSeries.concat(this.props.barChartSeries)\n\t\t\t);\n\t\t\tlineChartMin = maxMinLabelSeries.min;\n\t\t\tlineChartMax = maxMinLabelSeries.max;\n\t\t\toptionsBarChart.high = maxMinLabelSeries.max;\n\t\t\toptionsBarChart.low = maxMinLabelSeries.min;\n\t\t}\n\t\tlet optionsLineChart = {\n\t\t\thigh: lineChartMax,\n\t\t\tlow: lineChartMin,\n\t\t\taxisX: {\n\t\t\t\tshowGrid: false,\n\t\t\t\tshowLabel: false,\n\t\t\t\tlabelInterpolationFnc: function (value, index) {\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t},\n\t\t\taxisY: {\n\t\t\t\tposition: \"left\",\n\t\t\t\tshowGrid: false,\n\t\t\t\tshowLabel: false,\n\t\t\t\tlabelInterpolationFnc: function (value, index) {\n\t\t\t\t\treturn \"$\" + value + \"B\";\n\t\t\t\t},\n\t\t\t},\n\t\t\tfullWidth: true,\n\t\t\tchartPadding: {\n\t\t\t\ttop: 20,\n\t\t\t\tright:\n\t\t\t\t\tthis.getBarChartXAxisLeft() +\n\t\t\t\t\t\t(this.props.isMobile\n\t\t\t\t\t\t\t? this.props.barChartOptions &&\n\t\t\t\t\t\t\t this.props.barChartOptions.axisY &&\n\t\t\t\t\t\t\t this.props.barChartOptions.axisY.offset === 50\n\t\t\t\t\t\t\t\t? 5\n\t\t\t\t\t\t\t\t: -5\n\t\t\t\t\t\t\t: this.props.barChartOptions &&\n\t\t\t\t\t\t\t this.props.barChartOptions.axisY &&\n\t\t\t\t\t\t\t this.props.barChartOptions.axisY.offset === 65\n\t\t\t\t\t\t\t? 20\n\t\t\t\t\t\t\t: 10) || 60,\n\t\t\t\tbottom:\n\t\t\t\t\tmaxMinLabelSeries.min < 0 && !this.state.isMobile && !this.props.isCashFlow\n\t\t\t\t\t\t? 20\n\t\t\t\t\t\t: 30,\n\t\t\t\tleft: this.getBarChartXAxisLeft() || 60,\n\t\t\t},\n\t\t\tlineSmooth: false,\n\t\t\tplugins: [\n\t\t\t\tChartPointLabels(\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttextAnchor: \"middle\",\n\t\t\t\t\t\t\tlabelOffset: {\n\t\t\t\t\t\t\t\tx: -3,\n\t\t\t\t\t\t\t\ty: -10,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabelInterpolationFnc: function (value) {\n\t\t\t\t\t\t\t\treturn value.toFixed(2) + \"%\";\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tshowPointLabel: true,\n\t\t\t\t\t\t\tchartGuid: this.state.chartGuid,\n\t\t\t\t\t\t\tlabelCount: this.props.labels.length,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.pointLabelOptions || {}\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t],\n\t\t};\n\t\tif (this.props.barChartOptions)\n\t\t\toptionsBarChart = Object.assign(\n\t\t\t\t{},\n\t\t\t\toptionsBarChart,\n\t\t\t\tthis.props.barChartOptions || {}\n\t\t\t);\n\t\tif (this.props.lineChartOptions)\n\t\t\toptionsLineChart = Object.assign(\n\t\t\t\t{},\n\t\t\t\toptionsLineChart,\n\t\t\t\tthis.props.lineChartOptions || {}\n\t\t\t);\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{this.props.legendNames.map((x, index) => {\n\t\t\t\t\t\tif (index === 2 && !this.props.isCashFlow) {\n\t\t\t\t\t\t\treturn (\n\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\t{x}\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\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{x}\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\t
\n\t\t\t\t\t\n\t\t\t\t\t{!this.props.isCashFlow && (\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","import React, { useState, useEffect } from \"react\";\nimport FinancialChart from \"../../Lib/Chart/FinancialChart\";\nimport formatter from \"../../../utils/formatUtils\";\nimport {\n\tFINANCIAL_STATEMENT_TYPE,\n\tRESPONSIVE_BREAKPOINTS,\n\tPERIOD_TYPE,\n} from \"../../../utils/constants\";\nimport { CHART_LEGEND_NAMES, CASHFLOW_ROW } from \"./FinancialsCard/FinancialsConstants\";\nimport MSSpinner from \"../../Lib/MSSpinner/MSSpinner\";\nimport NoData from \"components/Lib/NoData/NoData\";\n\nconst FinancialsChartContainer = ({\n\tstatementType,\n\tbarChartOptions,\n\tfinancialStatementsData,\n\tfinancialStatementsKeyData,\n\tfinancialRatiosHistoryData,\n\tperiodType,\n\tisMobile,\n\tpointLabelOptions,\n\tlineChartOptions,\n\tsymbol,\n\tisOverview,\n}) => {\n\tconst [chartData, setChartData] = useState();\n\tconst [combinebarChartOptions, setCombinedBarChartOptions] = useState(\n\t\tbarChartOptions || {}\n\t);\n\tconst [isCashFlow] = useState(statementType === FINANCIAL_STATEMENT_TYPE.CASH_FLOW);\n\tconst [barSeriesCurrency, setBarSeriesCurrency] = useState();\n\tuseEffect(() => {\n\t\tif (isCashFlow && financialStatementsData) {\n\t\t\tloadChartData(financialStatementsData);\n\t\t} else if (!isCashFlow && financialStatementsKeyData)\n\t\t\tloadChartData(financialStatementsKeyData);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [financialStatementsData, financialStatementsKeyData, financialRatiosHistoryData]);\n\n\tconst loadChartData = (financialOverviewData) => {\n\t\tsetCombinedBarChartOptions(barChartOptions || {});\n\t\tlet financialOverviewDataT = Object.assign({}, financialOverviewData, {\n\t\t\trows: financialOverviewData.rows\n\t\t\t\t? financialOverviewData.rows.map((x) => {\n\t\t\t\t\t\tlet newValues = [];\n\t\t\t\t\t\tif (x.values) {\n\t\t\t\t\t\t\tnewValues =\n\t\t\t\t\t\t\t\t!isOverview || isCashFlow ? [...x.values].reverse() : [...x.values];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// MSQR-8283 spread so newValues doesn't affect source data\n\t\t\t\t\t\treturn { ...x, values: newValues };\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t});\n\t\tlet lineChartData = [];\n\t\tlet barChartData = [];\n\t\tlet barChartMultiReturn = {};\n\t\tlet filterData;\n\t\tif (isCashFlow) {\n\t\t\t//Not a nice check but for cashflow we need to consider financialOverviewData for point and bar chart\n\t\t\tfilterData = getFixedRecords(financialOverviewDataT.rows);\n\t\t\tfinancialOverviewDataT.fiscalYears = financialOverviewDataT.fiscalYears?.reverse();\n\t\t\tfinancialOverviewDataT.fiscalQuarters =\n\t\t\t\tfinancialOverviewDataT.fiscalQuarters?.reverse();\n\t\t\tbarChartMultiReturn = createBarSeriesData(filterData);\n\t\t\tbarChartData = barChartMultiReturn.barChartData;\n\t\t} else {\n\t\t\tbarChartMultiReturn = createBarSeriesData(financialOverviewDataT.rows);\n\t\t\tbarChartData = barChartMultiReturn.barChartData;\n\t\t}\n\t\tif (financialRatiosHistoryData && !isCashFlow) {\n\t\t\tlet filterValue = periodType === PERIOD_TYPE.ANNUAL ? \"1Y\" : \"3M\";\n\t\t\tlet ratioData = financialRatiosHistoryData.filter(\n\t\t\t\t({ period }) => period === filterValue\n\t\t\t);\n\t\t\tlineChartData = createLineSeriesData(\n\t\t\t\tratioData,\n\t\t\t\tbarChartMultiReturn.millionOrBillion\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tbarChartData?.length !== 0 &&\n\t\t\tbarChartData[0].length !== 0 &&\n\t\t\t(isCashFlow || lineChartData?.length !== 0)\n\t\t) {\n\t\t\tlet drawLineChart = lineChartData.some((el) => !!el);\n\t\t\tlet newChartData = {\n\t\t\t\tlabels: createLabels(\n\t\t\t\t\tfinancialOverviewDataT.fiscalYears,\n\t\t\t\t\tfinancialOverviewDataT.fiscalQuarters,\n\t\t\t\t\tperiodType\n\t\t\t\t),\n\t\t\t\tbarChartSeries: barChartData,\n\t\t\t\tlineChartSeries: [drawLineChart ? lineChartData : []],\n\t\t\t\tlegendNames: createLegendNames(\n\t\t\t\t\tisCashFlow ? filterData : financialOverviewDataT.rows,\n\t\t\t\t\tstatementType,\n\t\t\t\t\tdrawLineChart\n\t\t\t\t),\n\t\t\t};\n\t\t\tsetChartData(newChartData);\n\t\t} else setChartData();\n\t};\n\n\tconst getFixedRecords = (rowsArr) => {\n\t\tlet returnArray = [];\n\t\trowsArr.forEach(function (item) {\n\t\t\tlet cellVal = item && item.dataPointLabel;\n\t\t\tif (cellVal === CASHFLOW_ROW.OCF.description) {\n\t\t\t\treturnArray[0] = { ...item, dataPointLabel: CASHFLOW_ROW.OCF.shortName };\n\t\t\t} else if (cellVal === CASHFLOW_ROW.ICF.description) {\n\t\t\t\treturnArray[1] = { ...item, dataPointLabel: CASHFLOW_ROW.ICF.shortName };\n\t\t\t} else if (cellVal === CASHFLOW_ROW.FCF.description) {\n\t\t\t\treturnArray[2] = { ...item, dataPointLabel: CASHFLOW_ROW.FCF.shortName };\n\t\t\t}\n\t\t\tif (returnArray.length === 3) return;\n\t\t});\n\t\treturn returnArray;\n\t};\n\n\tconst createLabels = (fiscalYears, fiscalQuarters, periodType) => {\n\t\tlet labels = [];\n\t\tfor (let index = 0; index < fiscalYears.length; index++) {\n\t\t\tlabels.push(\n\t\t\t\t(periodType === PERIOD_TYPE.ANNUAL ? \"\" : \"Q\" + fiscalQuarters[index] + \" \") +\n\t\t\t\t\tfiscalYears[index]\n\t\t\t);\n\t\t}\n\t\treturn labels;\n\t};\n\n\tconst createBarSeriesData = (rowsData) => {\n\t\tlet rows = Object.assign([], rowsData);\n\n\t\tif (isCashFlow) {\n\t\t\trows = rows.filter((e) => e);\n\t\t}\n\n\t\tif (rows.length > 0 && !rows[0].values) return [];\n\n\t\tlet maxChars = [];\n\t\tconst charCount = { T: 0, B: 0, M: 0, K: 0 };\n\t\tlet formatNumberString = rows.map((row) => {\n\t\t\tlet max = 0; // variable to store the number of appearances of the max char so far\n\t\t\tlet tempFormatArray = [];\n\t\t\t// initialize a fixed sized array and fill it with zeros\n\t\t\tif (row.values) {\n\t\t\t\tsetBarSeriesCurrency(row.currency);\n\t\t\t\tfor (const value of row.values) {\n\t\t\t\t\tlet formatPrice = formatter.currencyMagnitude(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t1,\n\t\t\t\t\t\trow.currency === \"USD\" ? \"USD\" : \" \"\n\t\t\t\t\t);\n\t\t\t\t\tconst ch = formatPrice.charAt(formatPrice.length - 1);\n\t\t\t\t\tcharCount[ch]++;\n\t\t\t\t\tif (charCount[ch] > max) {\n\t\t\t\t\t\tmaxChars = [ch];\n\t\t\t\t\t\tmax = charCount[ch];\n\t\t\t\t\t} else if (charCount[ch] === max) maxChars.push(ch);\n\t\t\t\t\ttempFormatArray.push(formatPrice);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn tempFormatArray;\n\t\t});\n\n\t\tlet newOffset = window.matchMedia(\n\t\t\t`(max-width: ${RESPONSIVE_BREAKPOINTS.MEDIA_BREAKPOINTS_MAX.MEDIA_BREAKPOINT_MAX_MD}px)`\n\t\t).matches\n\t\t\t? 40\n\t\t\t: 55;\n\t\tlet newResultArray = formatNumberString.map((arr) => {\n\t\t\tlet tempResult = [];\n\t\t\tarr.forEach((y) => {\n\t\t\t\tlet formattedNumber = parseFloat(y.replace(\"$\", \"\"));\n\t\t\t\tlet currency = \"\";\n\t\t\t\tif (y.indexOf(\"$\") > -1) {\n\t\t\t\t\tcurrency = \"$\";\n\t\t\t\t}\n\n\t\t\t\tswitch (maxChars[0]) {\n\t\t\t\t\tcase \"K\":\n\t\t\t\t\tcase \"M\":\n\t\t\t\t\t\tif (y.includes(\"K\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (y.includes(\"B\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber * 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (Math.abs(formattedNumber) >= 1000) {\n\t\t\t\t\t\t\tnewOffset = window.matchMedia(\n\t\t\t\t\t\t\t\t`(max-width: ${RESPONSIVE_BREAKPOINTS.MEDIA_BREAKPOINTS_MAX.MEDIA_BREAKPOINT_MAX_MD}px)`\n\t\t\t\t\t\t\t).matches\n\t\t\t\t\t\t\t\t? 50\n\t\t\t\t\t\t\t\t: 65;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetCombinedBarChartOptions(\n\t\t\t\t\t\t\tObject.assign({}, combinebarChartOptions, {\n\t\t\t\t\t\t\t\taxisY: {\n\t\t\t\t\t\t\t\t\tposition: \"left\",\n\t\t\t\t\t\t\t\t\tshowGrid: true,\n\t\t\t\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\t\t\t\tlabelInterpolationFnc: function (value, index) {\n\t\t\t\t\t\t\t\t\t\treturn value >= 0\n\t\t\t\t\t\t\t\t\t\t\t? `${currency}` + value + \"M\"\n\t\t\t\t\t\t\t\t\t\t\t: `-${currency}` + Math.abs(value) + \"M\";\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\tbreak;\n\t\t\t\t\tcase \"T\":\n\t\t\t\t\t\tif (y.includes(\"B\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetCombinedBarChartOptions(\n\t\t\t\t\t\t\tObject.assign({}, combinebarChartOptions, {\n\t\t\t\t\t\t\t\taxisY: {\n\t\t\t\t\t\t\t\t\tposition: \"left\",\n\t\t\t\t\t\t\t\t\tshowGrid: true,\n\t\t\t\t\t\t\t\t\toffset: newOffset,\n\t\t\t\t\t\t\t\t\tlabelInterpolationFnc: function (value, index) {\n\t\t\t\t\t\t\t\t\t\treturn value >= 0\n\t\t\t\t\t\t\t\t\t\t\t? `${currency}` + value + \"T\"\n\t\t\t\t\t\t\t\t\t\t\t: `-${currency}` + Math.abs(value) + \"T\";\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\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (y.includes(\"M\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (y.includes(\"K\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / (1000 * 1000);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\ttempResult.push(formattedNumber);\n\t\t\t});\n\t\t\treturn tempResult;\n\t\t});\n\n\t\treturn { barChartData: newResultArray, millionOrBillion: maxChars };\n\t};\n\tconst createLineSeriesData = (rows, millionOrBillion) => {\n\t\tlet singleSeries = [];\n\t\tfor (let row of rows) {\n\t\t\tlet ratio;\n\t\t\tif (statementType === FINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT) {\n\t\t\t\tratio = row.margin.netProfitNormalized ? row.margin.netProfitNormalized * 100 : 0;\n\t\t\t} else if (statementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET) {\n\t\t\t\tratio =\n\t\t\t\t\trow.leverage.debtToAssets !== undefined ? row.leverage.debtToAssets * 100 : \"-\";\n\t\t\t} else {\n\t\t\t\tlet formatPrice = formatter.currencyMagnitude(row, 1);\n\t\t\t\tlet formattedNumber = parseFloat(formatPrice.replace(\"$\", \"\"));\n\t\t\t\tswitch (millionOrBillion[0]) {\n\t\t\t\t\tcase \"K\":\n\t\t\t\t\tcase \"M\":\n\t\t\t\t\t\tif (formatPrice.includes(\"K\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (formatPrice.includes(\"B\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber * 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (formatPrice.includes(\"M\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / 1000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (formatPrice.includes(\"K\")) {\n\t\t\t\t\t\t\tformattedNumber = formattedNumber / (1000 * 1000);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tratio = formattedNumber;\n\t\t\t}\n\t\t\tsingleSeries.push(Math.round(ratio * 100) / 100);\n\t\t}\n\t\treturn singleSeries;\n\t};\n\n\tconst createLegendNames = (rows, statementType, drawLineChart) => {\n\t\tlet legendNames = [];\n\t\tif (statementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET) {\n\t\t\tlegendNames = Object.assign([], CHART_LEGEND_NAMES.Balance_Sheet);\n\t\t} else {\n\t\t\tlegendNames = rows.map((x) => x.dataPointLabel);\n\t\t}\n\n\t\tif (statementType === FINANCIAL_STATEMENT_TYPE.INCOME_STATEMENT) {\n\t\t\tlegendNames.push(\"Profit Margin\");\n\t\t}\n\n\t\tif (!drawLineChart && !isCashFlow) {\n\t\t\tlegendNames.pop();\n\t\t}\n\n\t\treturn legendNames;\n\t};\n\tconst isContentReady = () => {\n\t\treturn (\n\t\t\t((!isCashFlow && financialRatiosHistoryData) ||\n\t\t\t\t(isCashFlow && financialStatementsData)) &&\n\t\t\tchartData\n\t\t);\n\t};\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t{chartData ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t{`There is no ${statementType} chart available for ${symbol}`}\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\nexport default FinancialsChartContainer;\n","import React from \"react\";\n\nimport styles from \"../PeerComparisonCard.module.scss\";\n\nimport utils from \"utils/utils\";\nimport formatter from \"utils/formatUtils\";\n\nimport NoData from \"components/Lib/NoData/NoData\";\nimport SimpleSpinner from \"components/Lib/SimpleSpinner/SimpleSpinner\";\n\nconst PeerComparisonProfitabilityCard = (props) => {\n\tconst populatePeersData = () => {\n\t\tconst horizontalPeerData = [];\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Gross Profit Margin % (TTM)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map(\n\t\t\t\t(query) => query.data?.grossProfitMarginTTM\n\t\t\t),\n\t\t});\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Operating Profit Margin % (TTM)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map(\n\t\t\t\t(query) => query.data?.operatingProfitMarginTTM\n\t\t\t),\n\t\t});\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Return on Equity % (TTM)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map(\n\t\t\t\t(query) => query.data?.returnOnEquityTTM\n\t\t\t),\n\t\t});\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Cash Flow Margin % (TTM)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map(\n\t\t\t\t(query) => query.data?.cashFlowMarginTTM\n\t\t\t),\n\t\t});\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Cash Flow / Share (TTM)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map((query) =>\n\t\t\t\tdisplayCurrency(query.data?.currencyId, query.data?.cashFlowPerShare)\n\t\t\t),\n\t\t});\n\n\t\thorizontalPeerData.push({\n\t\t\theader: \"Cash / Share (MRQ)\",\n\t\t\tvalues: props.peersFinancialRatiosQueries.map((query) =>\n\t\t\t\tdisplayCurrency(query.data?.currencyId, query.data?.cashPerShare)\n\t\t\t),\n\t\t});\n\n\t\treturn horizontalPeerData.map((peer, index) => {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{peer.header}\n\t\t\t\t\t{peer.values.map((value, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{value ? value : formatter.options.errorString}\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);\n\t\t});\n\t};\n\n\tconst displayCurrency = (currencyId, currency) => {\n\t\treturn currency !== \"—\"\n\t\t\t? (currencyId === \"USD\" ? \"$\" : currencyId + \" \") + currency\n\t\t\t: currency;\n\t};\n\n\t// render helpers\n\tconst renderPeerComparisonProfitabilityTable = () => {\n\t\tif (props.venueXids === null) {\n\t\t\treturn ;\n\t\t} else if (!props.symbol || props.venueXids?.length <= 1) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{`Peer Comparison is not available ${\n\t\t\t\t\t\tprops.symbol ? `for ${props.symbol}` : \"\"\n\t\t\t\t\t}`}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t
\n\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\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{props.peersGeneralInformationQueries.map(\n\t\t\t\t\t\t\t\t\t(peersGeneralInfoQuery, index) => {\n\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\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{index === 0 ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{props.symbol}\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\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{peersGeneralInfoQuery.data?.symbol}\n\t\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\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\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{utils.buildTooltip(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"peerComparison-companyName-tooltip-desc\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpeersGeneralInfoQuery.data?.companyName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"text\",\n\t\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\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{peersGeneralInfoQuery.data?.companyName}\n\t\t\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\t\t
\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\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{props.peersQuoteQueries?.length &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.peersQuoteQueries[index]?.data?.lastPrice}\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\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)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{populatePeersData()}\n\t\t\t\t\t\t\n\t\t\t\t\t
Peer Comparison
\n\t\t\t\t\t\t\t\t\t
Last Price
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t
{renderPeerComparisonProfitabilityTable()}
\n\t);\n};\n\n//custom comparison for props that are passed down as objects\nconst deepComparison = (prevProps, nextProps) => {\n\treturn (\n\t\tprevProps.peersQuoteQueries === nextProps.peersQuoteQueries &&\n\t\tprevProps.peersFinancialRatiosQueries === nextProps.peersFinancialRatiosQueries &&\n\t\tprevProps.peersGeneralInformationQueries === nextProps.peersGeneralInformationQueries\n\t);\n};\n\nexport default React.memo(PeerComparisonProfitabilityCard, deepComparison);\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Chevron from \"../Chevron/Chevron\";\nimport \"./Carousel.scss\";\n\nconst { node } = PropTypes;\n\nconst arrowWidth = 22;\n\nclass Carousel extends Component {\n\tstatic propTypes = {\n\t\tchildren: node.isRequired,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.setSliderRef = (element) => {\n\t\t\tthis.slider = element;\n\t\t};\n\n\t\tthis.setSliderContentRef = (element) => {\n\t\t\tthis.sliderContent = element;\n\t\t};\n\n\t\tthis.state = {\n\t\t\toffsetLeft: 0,\n\t\t\tscrollStart: 0,\n\t\t\tisScrolling: false,\n\t\t\ttransition: false,\n\t\t\tremainigWidth: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener(\"resize\", () => this.handleResize());\n\t\tthis.resetMargin();\n\n\t\t// Use the initial size of the carousel content to recalculate the remaining width\n\t\t// This determines if the right arrow should render\n\t\tconst currentRemainingWidth = this.calculateRemainingWidth();\n\n\t\tthis.setState({\n\t\t\tremainingWidth: currentRemainingWidth,\n\t\t});\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", () => this.handleResize());\n\t}\n\n\tcomponentDidUpdate(nextProps, nextState) {\n\t\tif (this.state.isScrolling && !nextState.isScrolling) {\n\t\t\tdocument.addEventListener(\"mousemove\", this.handleMouseMove);\n\t\t\tdocument.addEventListener(\"mouseup\", this.handleMouseUp);\n\t\t} else if (!this.state.isScrolling && nextState.isScrolling) {\n\t\t\tdocument.removeEventListener(\"mousemove\", this.handleMouseMove);\n\t\t\tdocument.removeEventListener(\"mouseup\", this.handleMouseUp);\n\t\t}\n\n\t\t// If the size of the carousel content has changed, recalculate the remaining width\n\t\t// This determines if the right arrow should render\n\t\tconst currentRemainingWidth = this.calculateRemainingWidth();\n\n\t\tif (currentRemainingWidth !== nextState.remainingWidth) {\n\t\t\tthis.setState({\n\t\t\t\tremainingWidth: currentRemainingWidth,\n\t\t\t});\n\t\t}\n\t}\n\n\tcalculateRemainingWidth() {\n\t\tconst currentoffsetLeft = this.state.offsetLeft;\n\t\tconst sliderWidth = this.slider ? this.slider.offsetWidth : 0;\n\t\tconst contentWidth = this.sliderContent ? this.sliderContent.offsetWidth : 0;\n\n\t\treturn contentWidth - (sliderWidth - arrowWidth) - currentoffsetLeft;\n\t}\n\n\t// slider width\n\t// | content width\n\t// v |\n\t// ~~~~~~~~~~~~~~ v\n\t// ~~~~~~~~~~~~~~~~~~~~\n\t// ______________\n\t// | |----|\n\t// | |\n\n\t// if we are currently paginated to the right less than / equal the width of\n\t// the slider container, then we can paginate back left all the way;\n\t// otherwise there is not enough space, so we only shift left the amount of\n\t// the width of the slider container\n\n\thandleLeftClicked = () => {\n\t\tconst currentoffsetLeft = this.state.offsetLeft;\n\t\tconst sliderWidth = this.slider.offsetWidth;\n\t\tlet offsetLeft;\n\n\t\tif (currentoffsetLeft > sliderWidth) {\n\t\t\toffsetLeft = currentoffsetLeft - sliderWidth;\n\t\t} else {\n\t\t\toffsetLeft = 0;\n\t\t}\n\n\t\tthis.setState({ offsetLeft, transition: true });\n\t};\n\n\t// if the amount of width left is less than / equal the width of the slider\n\t// container, we can shift left enough to show the entire remaining width;\n\t// otherwise we shift the length of the slider container; note the extra\n\t// 20px to account for margins for the arrows\n\n\thandleRightClicked = () => {\n\t\tconst currentoffsetLeft = this.state.offsetLeft;\n\t\tconst sliderWidth = this.slider.offsetWidth;\n\t\tconst remainingWidth = this.state.remainingWidth;\n\n\t\tlet offsetLeft;\n\n\t\tif (remainingWidth > 0) {\n\t\t\tif (remainingWidth <= sliderWidth) {\n\t\t\t\toffsetLeft = currentoffsetLeft + remainingWidth;\n\t\t\t} else {\n\t\t\t\toffsetLeft = currentoffsetLeft + sliderWidth;\n\t\t\t}\n\t\t} else {\n\t\t\toffsetLeft = currentoffsetLeft;\n\t\t}\n\n\t\tthis.setState({ offsetLeft, transition: true });\n\t};\n\n\thandleResize = () => {\n\t\tthis.updateFn = this.updateFn || setTimeout(() => this.resetMargin(), 200);\n\t\treturn this.updateFn;\n\t};\n\n\thandleMouseUp = (e) => {\n\t\tthis.setState({\n\t\t\tisScrolling: false,\n\t\t\tscrollStart: 0,\n\t\t\ttransition: false,\n\t\t});\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t};\n\n\thandleMouseDown = (e) => {\n\t\t// only left mouse button\n\t\tif (e.button !== 0) return;\n\t\tthis.setState({\n\t\t\tisScrolling: true,\n\t\t\tscrollStart: e.clientX,\n\t\t\ttransition: false,\n\t\t});\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t};\n\n\thandleMouseMove = (e) => {\n\t\tconst { offsetLeft, scrollStart, isScrolling } = this.state;\n\t\tif (!isScrolling) return;\n\n\t\tconst scrollDirection = e.clientX > scrollStart ? \"left\" : \"right\";\n\n\t\tlet offset, step;\n\n\t\tif (scrollDirection === \"left\") {\n\t\t\tstep = Math.abs(e.clientX - scrollStart);\n\t\t\toffset = offsetLeft - step;\n\t\t\tthis.setState({\n\t\t\t\toffsetLeft: offset > 0 ? offset : 0,\n\t\t\t\tscrollStart: e.clientX,\n\t\t\t});\n\t\t} else if (scrollDirection === \"right\") {\n\t\t\tstep = Math.abs(scrollStart - e.clientX);\n\t\t\toffset = offsetLeft + step;\n\t\t\tthis.setState({\n\t\t\t\toffsetLeft: this.state.remainingWidth > 0 ? offset : offsetLeft,\n\t\t\t\tscrollStart: e.clientX,\n\t\t\t});\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t};\n\n\tresetMargin = () => {\n\t\tif (this.slider && this.sliderContent) {\n\t\t\tthis.setState({ offsetLeft: 0 });\n\t\t}\n\t};\n\n\t// Notes on when the carousel control arrows render:\n\t//--------------------------------------------------\n\t// - Show left arrow if we are tabbed over at all (margin left not 0)\n\t// - Show the right arrow When the 'content' of a slider exceeds the width of the slider itself\n\t// (remaining width is the current width of the content minus the width of the slider container)\n\n\trender = () => {\n\t\tconst styles = { transform: `translateX(-${this.state.offsetLeft}px)` };\n\t\tif (this.state.transition) {\n\t\t\tstyles.transition = `transform 250ms ease-in`;\n\t\t} else {\n\t\t\tdelete styles.transition;\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{this.state.offsetLeft !== 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\tPrevious\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{this.state.remainingWidth > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\tNext\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\nexport default Carousel;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"EarningsItem_modal-backdrop__7uFR0\",\"show\":\"EarningsItem_show__fZCdO\",\"LinesEllipsis\":\"EarningsItem_LinesEllipsis__k+A2g\",\"earningsItem\":\"EarningsItem_earningsItem__hWkW6\",\"earningsItemTooltip\":\"EarningsItem_earningsItemTooltip__dXAJu\"};","import React from \"react\";\nimport { Tooltip, OverlayTrigger } from \"react-bootstrap\";\nimport formatter from \"../../../../utils/formatUtils\";\nimport styles from \"./EarningsItem.module.scss\";\nimport utils from \"utils/utils\";\n\nconst EarningsTooltip = (data) => {\n\treturn (\n\t\t\n\t\t\t

\n\t\t\t\tExpected report date: {formatter.date(data.reportDate)}\n\t\t\t

\n\t\t\t

\n\t\t\t\tEstimated Earnings per share: {formatter.price(data.estimate)}\n\t\t\t

\n\t\t
\n\t);\n};\n\nconst EarningsItem = (props) => {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\tE\n\t\t\t\t\n\t\t\t\t\tarnings Indicator:\n\t\t\t\t\t

\n\t\t\t\t\t\tExpected report date: {formatter.date(props.data.reportDate)}\n\t\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\tEstimated Earnings per share:{\" \"}\n\t\t\t\t\t\t{formatter.price(props.data.estimate)}\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default EarningsItem;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"ExpirationDatesFilter_modal-backdrop__15iiu\",\"show\":\"ExpirationDatesFilter_show__Fz1rv\",\"LinesEllipsis\":\"ExpirationDatesFilter_LinesEllipsis__BCbVY\",\"expirationDatesFilter\":\"ExpirationDatesFilter_expirationDatesFilter__bqz12\",\"js-focus-visible\":\"ExpirationDatesFilter_js-focus-visible__+nw31\",\"focus-visible\":\"ExpirationDatesFilter_focus-visible__8TLBy\",\"desktop\":\"ExpirationDatesFilter_desktop__02Tp-\"};","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\nimport formatter from \"../../../utils/formatUtils\";\nimport styles from \"./ExpirationDatesFilter.module.scss\";\nimport apiStates from \"../../../store/apiStates\";\n\nconst DateFilterItem = ({\n\tchecked,\n\tdata,\n\tisDuplicateDate,\n\tisLastItemSelected,\n\tisMobile,\n}) => {\n\tconst optionsDataStatus = useSelector(\n\t\t(state) => state.optionsReducer.optionsDataStatus\n\t);\n\tconst dispatch = useDispatch();\n\n\tconst toggleInput = (item) => {\n\t\t// don't toggle if this is the only item selected or the options API is currently fetching data,\n\t\t// as this can cause a race condition when displaying multiple tables\n\t\tif (isLastItemSelected || optionsDataStatus === apiStates.FETCHING) {\n\t\t\treturn;\n\t\t}\n\t\tconst selectedExpirationDate = {\n\t\t\texpirationDate: item.expirationDate,\n\t\t\tcontractTerm: item.contractTerm,\n\t\t\tisAdjusted: item.isAdjusted,\n\t\t\tduplicateDate: isDuplicateDate,\n\t\t};\n\t\tdispatch({ type: actionTypes.EXP_DATES_SELECTED, value: selectedExpirationDate });\n\t};\n\n\tconst classes = isMobile\n\t\t? styles.expirationDatesFilter\n\t\t: `${styles.expirationDatesFilter} ${styles.desktop}`;\n\n\tconst currentYear = new Date().getFullYear();\n\tconst expiraDateYearString = formatter.date(data.expirationDate, \"YYYY\");\n\tconst displayDate =\n\t\tparseInt(expiraDateYearString) > currentYear\n\t\t\t? formatter.date(data.expirationDate, \"MMM D, YY\")\n\t\t\t: formatter.date(data.expirationDate, \"MMM D\");\n\n\treturn (\n\t\t
\n\t\t\t toggleInput(data)}\n\t\t\t\tvalue={data.expirationDate}\n\t\t\t/>\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default DateFilterItem;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport Carousel from \"../../Lib/Carousel/Carousel\";\nimport MSSpinner from \"../../Lib/MSSpinner/MSSpinner\";\n\nimport EarningsItem from \"./EarningsItem/EarningsItem\";\nimport DateFilterItem from \"./DateFilterItem\";\nimport Utils from \"utils/utils\";\n\nconst ExpirationDatesFilter = React.memo(({ isMobile }) => {\n\tconst [contentReady, setContentReady] = useState(false);\n\tconst expirationFilterDates = useSelector(\n\t\t(state) => state.optionsReducer.expirationFilterDates\n\t);\n\tconst expirationDatesStatus = useSelector(\n\t\t(state) => state.optionsReducer.expirationDatesStatus\n\t);\n\tuseEffect(() => {\n\t\tif (expirationDatesStatus && expirationDatesStatus === \"IDLE\") {\n\t\t\tsetContentReady(true);\n\t\t}\n\t}, [expirationDatesStatus]);\n\tconst selectedExpirationDates = useSelector(\n\t\t(state) => state.optionsReducer.selectedExpirationDates\n\t);\n\n\tconst [earningsData, setEarningsData] = useState({});\n\tconst [uniqueDates, setUniqueDates] = useState([]);\n\n\tconst earningsEstimatesCurrentData = useSelector(\n\t\t(state) => state.equitiesReducer.earningsEstimatesCurrentData\n\t);\n\tuseEffect(() => {\n\t\tconst reportDate = Utils.getObjectPropertyValue(\n\t\t\tearningsEstimatesCurrentData,\n\t\t\t\"recommendation.nextExpectedReportDate\"\n\t\t);\n\t\tif (reportDate !== null) {\n\t\t\tconst newEarnings = { ...earningsData, reportDate };\n\t\t\tsetEarningsData(newEarnings);\n\t\t\tupdateExpirationDatesFilter(newEarnings);\n\t\t}\n\t}, [earningsEstimatesCurrentData]);\n\n\tconst earningsEstimatesTrendsData = useSelector(\n\t\t(state) => state.equitiesReducer.earningsEstimatesTrendsData\n\t);\n\tuseEffect(() => {\n\t\tlet newEarnings = null;\n\t\tif (\n\t\t\tearningsEstimatesTrendsData &&\n\t\t\tearningsEstimatesTrendsData.forward &&\n\t\t\tearningsEstimatesTrendsData.forward.length > 0\n\t\t) {\n\t\t\tconst forwardData = earningsEstimatesTrendsData.forward[0];\n\t\t\tconst estimate = Utils.getObjectPropertyValue(forwardData, \"reportedEps.mean\");\n\t\t\tnewEarnings = { ...earningsData, estimate };\n\t\t\tsetEarningsData(newEarnings);\n\t\t}\n\t\tupdateExpirationDatesFilter(newEarnings);\n\t}, [earningsEstimatesTrendsData, expirationFilterDates]);\n\n\tconst sortAndFilterExpirationDates = (expirationFilterDates) => {\n\t\treturn expirationFilterDates.reduce((accum, curr, ind, arr) => {\n\t\t\tif (ind !== arr.length - 1) {\n\t\t\t\tif (\n\t\t\t\t\tcurr.expirationDate === arr[ind + 1].expirationDate &&\n\t\t\t\t\tcurr.contractTerm === \"Weekly\" &&\n\t\t\t\t\tarr[ind + 1].contractTerm === \"Monthly\"\n\t\t\t\t) {\n\t\t\t\t\treturn accum.filter(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\titem.expirationDate === curr.expirationDate &&\n\t\t\t\t\t\t\titem.contractTerm === curr.contractTerm\n\t\t\t\t\t).length > 0\n\t\t\t\t\t\t? accum\n\t\t\t\t\t\t: [...accum, arr[ind + 1], curr];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn accum.filter(\n\t\t\t\t(item) =>\n\t\t\t\t\titem.expirationDate === curr.expirationDate &&\n\t\t\t\t\titem.contractTerm === curr.contractTerm\n\t\t\t).length > 0\n\t\t\t\t? accum\n\t\t\t\t: [...accum, curr];\n\t\t}, []);\n\t};\n\n\tconst updateExpirationDatesFilter = (earningsData) => {\n\t\t// insert the earnings object into the expiration dates array\n\t\tif (earningsData && earningsData.reportDate && earningsData.estimate) {\n\t\t\t// convert earnings date to timestamp\n\t\t\tconst earnDateStamp = Date.parse(earningsData.reportDate);\n\t\t\t// convert expiration dates to timestamps\n\t\t\tconst expDateStamps = expirationFilterDates.map((item) => {\n\t\t\t\treturn Date.parse(item.expirationDate);\n\t\t\t});\n\t\t\tfor (let stamp of expDateStamps) {\n\t\t\t\tif (stamp > earnDateStamp) {\n\t\t\t\t\tconst index = expDateStamps.indexOf(stamp);\n\t\t\t\t\texpirationFilterDates.splice(index, 0, earningsData);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (expirationFilterDates && expirationFilterDates.length > 0) {\n\t\t\t/*Remove duplicate dates - this will happen when there is data for standatard and non-starndard data.\n\t\t\tAlso makes sure duplicate dates with different contract terms do show up - ordered in Monthly then Weekly.\n\t\t\t*/\n\t\t\tsetUniqueDates(sortAndFilterExpirationDates(expirationFilterDates));\n\t\t}\n\t};\n\tconst getSelectedDates = () => {\n\t\tlet tempSelectedDates = [];\n\t\tif (selectedExpirationDates) {\n\t\t\ttempSelectedDates = selectedExpirationDates\n\t\t\t\t? Object.keys(selectedExpirationDates)\n\t\t\t\t: [];\n\t\t}\n\t\treturn tempSelectedDates;\n\t};\n\n\tconst isSelected = ({ expirationDate, contractTerm }, tempSelectedDates) => {\n\t\tconst key = `${expirationDate}-${contractTerm}`;\n\t\treturn !!tempSelectedDates.find((item) => item.includes(key));\n\t};\n\n\tconst spinnerStyle = {\n\t\tminHeight: \"200px\",\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{uniqueDates.map((item, index, array) => {\n\t\t\t\t\tif (item.hasOwnProperty(\"reportDate\")) {\n\t\t\t\t\t\treturn ;\n\t\t\t\t\t}\n\t\t\t\t\t// If the date matches the next or the previous date when a weekly and monthly option date fall on the same day\n\t\t\t\t\t// (i.e. symbol .spx on the 3rd friday of the month).\n\t\t\t\t\t// This impacts the API call and the letter abbr in the display.\n\t\t\t\t\t// It seems brittle as it assumes duplicates will always be M and W and that M expires in the AM\n\t\t\t\t\tconst isDuplicateDateFilterItem =\n\t\t\t\t\t\titem.expirationDate === array[index + 1]?.expirationDate ||\n\t\t\t\t\t\t(index && item.expirationDate === array[index - 1].expirationDate);\n\t\t\t\t\tconst tempSelectedDates = getSelectedDates();\n\t\t\t\t\tconst isChecked = isSelected(item, tempSelectedDates);\n\t\t\t\t\treturn (\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\nexport default ExpirationDatesFilter;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"MonthlyExpirationButton_modal-backdrop__zlMKy\",\"show\":\"MonthlyExpirationButton_show__ky+na\",\"LinesEllipsis\":\"MonthlyExpirationButton_LinesEllipsis__cVLm7\",\"button\":\"MonthlyExpirationButton_button__mEYNW\"};","import React, { Component } from \"react\";\nimport Chevron from \"../../Lib/Chevron/Chevron\";\n\nimport { connect } from \"react-redux\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\n\nimport styles from \"./MonthlyExpirationButton.module.scss\";\n\nclass MonthlyExpirationButton extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.showMonthlyExpiration\n\t\t\t\t\t? \"Only monthly expirations\"\n\t\t\t\t\t: \"Show all expirations\"}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tshowMonthlyExpiration: state.optionsReducer.showMonthlyExpiration,\n\t};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchToggleMonthlyExpirationDrawer: () =>\n\t\t\tdispatch({ type: actionTypes.TOGGLE_MONTHLY_EXPIRATION_DRAWER }),\n\t};\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MonthlyExpirationButton);\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"MonthlyExpirationMenu_modal-backdrop__XBi7G\",\"show\":\"MonthlyExpirationMenu_show__t2hvH\",\"LinesEllipsis\":\"MonthlyExpirationMenu_LinesEllipsis__UBVVj\",\"expirationRow\":\"MonthlyExpirationMenu_expirationRow__frjFT\"};","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\n\nimport actionTypes from \"../../../store/actions/actionTypes\";\n\nimport styles from \"./MonthlyExpirationMenu.module.scss\";\n\nclass MonthlyExpirationMenu extends Component {\n\thandleMonthlyExpirationOnChange = (e) => {\n\t\tconst showMonthlyExpiration = e.target.value === \"onlyMonthly\";\n\t\tthis.props.dispatchUpdateMonthlyExpiration(showMonthlyExpiration);\n\n\t\tthis.props.handleOnChange();\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\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\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tshowMonthlyExpiration: state.optionsReducer.showMonthlyExpiration,\n\t};\n};\n\n// dispatch events from container to redux by creating a mapping function\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchUpdateMonthlyExpiration: (showMonthlyExpiration) =>\n\t\t\tdispatch(\n\t\t\t\t{ type: actionTypes.UPDATE_SHOW_MONTHLY_EXPIRATION },\n\t\t\t\tshowMonthlyExpiration\n\t\t\t),\n\t};\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MonthlyExpirationMenu);\n","import React from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\nimport MSToggle from \"../../Lib/MSToggle/MSToggle\";\n\nconst MonthlyExpirationToggle = () => {\n\tconst dispatch = useDispatch();\n\n\tconst onClick = () => {\n\t\tdispatch({ type: actionTypes.UPDATE_SHOW_MONTHLY_EXPIRATION });\n\t};\n\treturn (\n\t\t\n\t);\n};\n\nexport default MonthlyExpirationToggle;\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"OptionsStrikesFilter_modal-backdrop__IareN\",\"show\":\"OptionsStrikesFilter_show__JjzQW\",\"LinesEllipsis\":\"OptionsStrikesFilter_LinesEllipsis__DtBW-\",\"OptionsStrikesFilter\":\"OptionsStrikesFilter_OptionsStrikesFilter__CU7Nq\",\"mobileLayoutButton\":\"OptionsStrikesFilter_mobileLayoutButton__Rotmm\",\"dropdownMenu\":\"OptionsStrikesFilter_dropdownMenu__Thpfe\"};","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"StrikesFilter_modal-backdrop__1aSJR\",\"show\":\"StrikesFilter_show__ItwYh\",\"LinesEllipsis\":\"StrikesFilter_LinesEllipsis__dLghV\",\"fieldset\":\"StrikesFilter_fieldset__cGf3l\",\"strikesFilter\":\"StrikesFilter_strikesFilter__uFx+B\",\"strikesFilterCustom\":\"StrikesFilter_strikesFilterCustom__mDuBx\",\"strikesFilterSeparator\":\"StrikesFilter_strikesFilterSeparator__RuHSn\",\"strikesFilterApply\":\"StrikesFilter_strikesFilterApply__h-9x4\",\"desktopButtons\":\"StrikesFilter_desktopButtons__cliBH\",\"alignRight\":\"StrikesFilter_alignRight__B+QFb\",\"strikesFilterMobile\":\"StrikesFilter_strikesFilterMobile__WDaEK\"};","import React from \"react\";\nimport styles from \"./StrikesFilter.module.scss\";\n\nconst StrikesFilterItem = (props) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default StrikesFilterItem;\n","/* eslint no-restricted-globals:off */\n\nimport React, { Component } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport MaskedInput from \"react-text-mask\";\nimport createNumberMask from \"text-mask-addons/dist/createNumberMask\";\nimport StrikesFilterItem from \"./StrikesFilterItem\";\nimport styles from \"./StrikesFilter.module.scss\";\n\n// id key will be prefixed with 'strikes_'\nconst items = [\n\t{\n\t\tid: \"10\",\n\t\tvalue: 10,\n\t\tlabel: \"Show 10 Strikes\",\n\t},\n\t{\n\t\tid: \"20\",\n\t\tvalue: 20,\n\t\tlabel: \"Show 20 Strikes\",\n\t},\n\t{\n\t\tid: \"40\",\n\t\tvalue: 40,\n\t\tlabel: \"Show 40 Strikes\",\n\t},\n\t{\n\t\tid: \"all\",\n\t\tvalue: \"all\",\n\t\tlabel: \"Show all Strikes\",\n\t},\n\t{\n\t\tid: \"custom\",\n\t\tvalue: \"custom\",\n\t\tlabel: \"Custom Strike price\",\n\t},\n];\n\n// currency formatting settings\nconst defaultMaskOptions = {\n\tprefix: \"$\",\n\tsuffix: \"\",\n\tincludeThousandsSeparator: true,\n\tthousandsSeparatorSymbol: \",\",\n\tallowDecimal: true,\n\tdecimalSymbol: \".\",\n\tdecimalLimit: 2,\n\tintegerLimit: 7,\n\tallowNegative: false,\n\tallowLeadingZeroes: false,\n};\n\nconst currencyMask = createNumberMask(defaultMaskOptions);\n\nclass StrikesFilter extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.regex = new RegExp(\"[$,]\", \"g\");\n\t\tthis.state = {\n\t\t\tstrikes: \"10\",\n\t\t\tselectedStrikes: \"\",\n\t\t\tcustomLow: \"\",\n\t\t\tcustomHigh: \"\",\n\t\t\terror: \"\",\n\t\t};\n\t}\n\n\tonSubmit = (e) => {\n\t\tthis.setState({ strikes: this.state.selectedStrikes });\n\t\tthis.props.onSubmit(this.state);\n\t\te.preventDefault();\n\t};\n\n\tonValueChange = async (e) => {\n\t\te.preventDefault();\n\t\tif (\n\t\t\tthis.state.selectedStrikes === \"custom\" &&\n\t\t\tthis.state.customLow === \"\" &&\n\t\t\tthis.state.customHigh === \"\"\n\t\t) {\n\t\t\tthis.setState({ error: \"Please enter valid input\" });\n\t\t} else if (\n\t\t\tthis.state.selectedStrikes === \"custom\" &&\n\t\t\tparseFloat(this.state.customLow.replace(this.regex, \"\")) >\n\t\t\t\tparseFloat(this.state.customHigh.replace(this.regex, \"\"))\n\t\t) {\n\t\t\tthis.setState({ error: \"Please check low and high values\" });\n\t\t} else {\n\t\t\tawait this.setState({\n\t\t\t\tstrikes: this.state.selectedStrikes,\n\t\t\t});\n\t\t\tthis.props.onValueChange(this.state);\n\t\t}\n\t};\n\n\tonCancelClick = (e) => {\n\t\te.preventDefault();\n\t\tthis.setState({\n\t\t\tcustomLow: this.state.customLow !== \"\" ? this.state.customLow : \"\",\n\t\t\tcustomHigh: this.state.customHigh !== \"\" ? this.state.customHigh : \"\",\n\t\t\tstrikes: this.state.strikes,\n\t\t\tselectedStrikes: this.state.strikes,\n\t\t});\n\t};\n\n\tonChange = (key) => (e) => {\n\t\tif (key === \"selectedStrikes\" && e.target.value !== \"custom\") {\n\t\t\tthis.setState({\n\t\t\t\tcustomLow: \"\",\n\t\t\t\tcustomHigh: \"\",\n\t\t\t\terror: \"\",\n\t\t\t});\n\t\t}\n\t\tconst state = {};\n\t\tstate[key] = e.target.value;\n\t\tthis.setState(state);\n\t};\n\n\tformatOnBlur = (key) => (e) => {\n\t\tif (e.target.value) {\n\t\t\t// value ends with period\n\t\t\tif (/\\.$/.test(e.target.value)) {\n\t\t\t\te.target.value += \"00\";\n\t\t\t}\n\t\t\t// value ends with period and single digit\n\t\t\telse if (/\\.\\d{1}$/.test(e.target.value)) {\n\t\t\t\te.target.value += \"0\";\n\t\t\t}\n\t\t\t// value has no decimal\n\t\t\telse if (!/\\.\\d{2}/.test(e.target.value)) {\n\t\t\t\te.target.value += \".00\";\n\t\t\t}\n\t\t}\n\t\tif (key) {\n\t\t\tconst state = {};\n\t\t\tstate[key] = e.target.value;\n\t\t\tthis.setState(state);\n\t\t}\n\t};\n\n\trender() {\n\t\tlet buttons;\n\n\t\tconst isMobileClass = this.props.data.isMobile ? styles.strikesFilterMobile : \"\";\n\n\t\tif (this.props.data.isMobile) {\n\t\t\tbuttons = (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t);\n\t\t} else {\n\t\t\tbuttons = (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\tCancel\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tApply\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tStrikes Filter\n\t\t\t\t\t{items.map((item, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\t{this.state.error !== \"\" &&

{this.state.error}

}\n\t\t\t\t\n\t\t\t\t
{buttons}
\n\t\t\t\n\t\t);\n\t}\n}\n\nfunction StrikesFilterCustom({ visible, parent }) {\n\tif (!visible) return null;\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\tto\n\t\t\t\n\t\t
\n\t);\n}\n\nStrikesFilter.defaultProps = {\n\tdata: {},\n};\n\nexport default StrikesFilter;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport actionTypes from \"store/actions/actionTypes\";\nimport Drawer from \"components/Lib/Drawer/Drawer\";\n\nimport { Dropdown } from \"react-bootstrap\";\nimport Styles from \"./OptionsStrikesFilter.module.scss\";\nimport Chevron from \"components/Lib/Chevron/Chevron\";\nimport StrikesFilter from \"components/Options/StrikesFilter/StrikesFilter\";\n\nexport class OptionsStrikesFilter extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tstrikeDisplay: \"Show 10 Strikes\",\n\t\t\tchevronDirection: \"down\",\n\t\t\tshowDropdownMenu: false,\n\t\t};\n\t}\n\n\tonValueChange = (selectedValue) => {\n\t\tconst valueMap = {\n\t\t\t10: \"Show 10 Strikes\",\n\t\t\t20: \"Show 20 Strikes\",\n\t\t\t40: \"Show 40 Strikes\",\n\t\t\tall: \"Show all Strikes\",\n\t\t};\n\n\t\tlet setValue;\n\t\tif (selectedValue.strikes === \"custom\") {\n\t\t\tsetValue = `Strikes: ${selectedValue.customLow} - ${selectedValue.customHigh}`;\n\t\t} else {\n\t\t\tsetValue = valueMap[selectedValue.strikes]\n\t\t\t\t? valueMap[selectedValue.strikes]\n\t\t\t\t: valueMap[10];\n\t\t}\n\n\t\tthis.setState({ strikeDisplay: setValue });\n\t\tthis.props.dispatchStrikesFilterCountUpdate(selectedValue.strikes);\n\n\t\tif (selectedValue.strikes === \"custom\") {\n\t\t\tthis.props.dispatchStrikesCustomLowHigh(\n\t\t\t\tselectedValue.customLow,\n\t\t\t\tselectedValue.customHigh\n\t\t\t);\n\t\t} else {\n\t\t\tthis.props.dispatchStrikesCustomLowHigh(\"\", \"\");\n\t\t}\n\n\t\tif (this.props.useDrawer) {\n\t\t\tthis.props.toggleDrawer();\n\t\t}\n\t};\n\n\ttoggleChevronDirection = (event) => {\n\t\tif (event.target.id === \"strikesCancel\" || event.target.id === \"strikesApply\") {\n\t\t\tthis.setState({ chevronDirection: \"down\", showDropdownMenu: false });\n\t\t} else if (event.target.id === \"strikesDropdown\") {\n\t\t\tthis.state.chevronDirection === \"up\"\n\t\t\t\t? this.setState({ chevronDirection: \"down\" })\n\t\t\t\t: this.setState({ chevronDirection: \"up\" });\n\t\t\tthis.setState({ showDropdownMenu: !this.state.showDropdownMenu });\n\t\t}\n\t};\n\n\thandleMenuOnToggle = (isOpen, event, metadata) => {\n\t\t// make sure the dropdown menu stays open when items are clicked or selected with the keyboard,\n\t\t// except tabbing forward from an element with closeaftertab=\"true\",\n\t\t// which is meant to be set on the last element in the menu's tab order.\n\t\tconst isShiftTabOnDropdownButton =\n\t\t\tevent.shiftKey && event.target && event.target.id === \"strikesDropdown\";\n\t\tconst isLastElement = event.target && event.target.id === \"strikesApply\";\n\n\t\tconst isIgnoreKeydownEvent =\n\t\t\tmetadata.source === \"keydown\" &&\n\t\t\t!isShiftTabOnDropdownButton &&\n\t\t\t(!isLastElement || (isLastElement && event.shiftKey));\n\n\t\tconst shouldMenuStayOpen = metadata.source === \"select\" || isIgnoreKeydownEvent;\n\n\t\tif (this.state.showDropdownMenu && shouldMenuStayOpen) {\n\t\t\tthis.setState({ showDropdownMenu: true });\n\t\t} else {\n\t\t\tthis.setState({ showDropdownMenu: false });\n\t\t\tthis.setState({ chevronDirection: isOpen ? \"up\" : \"down\" });\n\n\t\t\t// reset the strikes filter by programmatically clicking Cancel if the modal is closed by\n\t\t\t// anything that isn't the user selecting Apply (by click or Spacebar/Enter)\n\t\t\tconst isSpacebarOrEnter = event.keyCode === 32 || event.keyCode === 13;\n\t\t\tconst isApplySelected =\n\t\t\t\tisSpacebarOrEnter && event.target && event.target.id !== \"strikesApply\";\n\t\t\tif (!isOpen && !isApplySelected) {\n\t\t\t\tconst cancelButton = document.getElementById(\"strikesCancel\");\n\t\t\t\tif (cancelButton) {\n\t\t\t\t\tcancelButton.click();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\thandleDropdownToggleKeyDown = (e) => {\n\t\t// only focus on the selected radio button when down arrow is pressed (or tab, by default)\n\t\tif (e.keyCode === 40) {\n\t\t\tconst selectedMenuInput = e.target.parentElement.querySelector(\"input:checked\");\n\t\t\tif (selectedMenuInput) {\n\t\t\t\tselectedMenuInput.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\trender() {\n\t\tif (this.props.useDrawer) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.strikeDisplay}{\" \"}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\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);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.state.strikeDisplay}\n\t\t\t\t\t\n\t\t\t\t\n\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\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchStrikesFilterCountUpdate: (strikes) =>\n\t\t\tdispatch({ type: actionTypes.STRIKES_FILTER_COUNT_UPDATE, strikeCount: strikes }),\n\t\tdispatchStrikesCustomLowHigh: (customLow, customHigh) =>\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.STRIKES_CUSTOM_LOW_HIGH_UPDATE,\n\t\t\t\tcustomPrice: { low: customLow, high: customHigh },\n\t\t\t}),\n\t};\n};\n\nexport default connect(null, mapDispatchToProps)(OptionsStrikesFilter);\n","// extracted by mini-css-extract-plugin\nexport default {\"modal-backdrop\":\"OptionsTable_modal-backdrop__1al2N\",\"show\":\"OptionsTable_show__ABOfc\",\"LinesEllipsis\":\"OptionsTable_LinesEllipsis__z9jEL\",\"basicOptionsTable\":\"OptionsTable_basicOptionsTable__6jwi9\",\"call\":\"OptionsTable_call__gNAb4\",\"put\":\"OptionsTable_put__sRNFD\",\"callandput\":\"OptionsTable_callandput__ENCrc\",\"optionTypeHeaderRow\":\"OptionsTable_optionTypeHeaderRow__v0aZB\",\"columnsHeaderRow\":\"OptionsTable_columnsHeaderRow__GJyru\",\"inTheMoneyRow\":\"OptionsTable_inTheMoneyRow__zOjnw\",\"inTheMoneyCell\":\"OptionsTable_inTheMoneyCell__Y+DlH\",\"strikeCell\":\"OptionsTable_strikeCell__LlRct\",\"strikeHeaderCell\":\"OptionsTable_strikeHeaderCell__yfJ9b\",\"expirationDays\":\"OptionsTable_expirationDays__p7iWP\",\"positiveChangeCell\":\"OptionsTable_positiveChangeCell__RUUKB\",\"negativeChangeCell\":\"OptionsTable_negativeChangeCell__Pi1CG\",\"tradeLinkCell\":\"OptionsTable_tradeLinkCell__Wx2Py\",\"expandCollapseIconCell\":\"OptionsTable_expandCollapseIconCell__lZc-S\",\"tradeButton\":\"OptionsTable_tradeButton__So-ec\",\"collapseContent\":\"OptionsTable_collapseContent__Ky0ga\",\"showExpandableContent\":\"OptionsTable_showExpandableContent__1pz0j\"};","import React, { Component } from \"react\";\nimport { Table } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport {\n\tOPTION_VIEW_TYPE_CALL,\n\tOPTION_VIEW_TYPE_PUT,\n\tOPTION_VIEW_TYPE_CALL_AND_PUT,\n\tDIVIDEND_YIELD_DEFAULT,\n\tRISK_FREE_RATE_DEFAULT,\n\tTREASURY_YIELD_VENUE_XID,\n\tURLS,\n\tOPTION_PAGE_VIEW_TYPE_MR_REDESIGN_DESKTOP,\n} from \"utils/constants\";\nimport actionTypes from \"store/actions/actionTypes\";\nimport MSSpinner from \"components/Lib/MSSpinner/MSSpinner\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n\tfaChevronCircleRight,\n\tfaChevronCircleDown,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport HeaderValue from \"components/Lib/HeaderValue/HeaderValue\";\nimport OptionsTradeButton from \"components/Options/OptionsTradeButton/OptionsTradeButton\";\nimport classNames from \"classnames\";\nimport Utils from \"utils/utils\";\n\nimport styles from \"./OptionsTable.module.scss\";\nimport formatter from \"utils/formatUtils\";\nimport { isRealtimeOptionsUser } from \"utils/utils\";\n\nexport class OptionsTable extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tdata: [],\n\t\t\terror: \"\",\n\t\t\texpandCollapsibleRow: false,\n\t\t\tdividendYield: null,\n\t\t\triskFreeRate: null,\n\t\t\tcontentReady: false,\n\t\t};\n\t\tthis.handleRowExpandableClick = this.handleRowExpandableClick.bind(this);\n\t\tthis.tableExpandableRowsRef = [];\n\t\tthis.expandedRow = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.shouldFetchData({})) {\n\t\t\tthis.loadOptionsData();\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.shouldFetchData(prevProps)) {\n\t\t\tthis.loadOptionsData();\n\t\t}\n\t}\n\n\tshouldFetchData(prevProps) {\n\t\tif (\n\t\t\t!prevProps ||\n\t\t\t!this.props.selectedExpirationDates ||\n\t\t\t!this.props.venueXid ||\n\t\t\tthis.props.optionsDataStatus !== \"IDLE\"\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\tprevProps.strikesFilterCount !== this.props.strikesFilterCount ||\n\t\t\tprevProps.customStrikePrice.low !== this.props.customStrikePrice.low ||\n\t\t\tprevProps.customStrikePrice.high !== this.props.customStrikePrice.high ||\n\t\t\tprevProps.selectedExpirationDates !== this.props.selectedExpirationDates ||\n\t\t\tprevProps.venueXid !== this.props.venueXid ||\n\t\t\tprevProps.apiInstance !== this.props.apiInstance\n\t\t);\n\t}\n\n\tgetDaysToExpiration(date) {\n\t\treturn formatter.daysFromCurrentDate(date);\n\t}\n\n\tasync loadOptionsData() {\n\t\tif (!this.props.venueXid) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ error: \"\", contentReady: false });\n\t\tlet optionTypeInput,\n\t\t\texpirationDates = [],\n\t\t\tduplicateDates = [];\n\t\tswitch (this.props.optionTypeInput) {\n\t\t\tcase OPTION_VIEW_TYPE_CALL:\n\t\t\tcase OPTION_VIEW_TYPE_PUT:\n\t\t\t\toptionTypeInput = this.props.optionTypeInput;\n\t\t\t\tbreak;\n\t\t\tcase OPTION_VIEW_TYPE_CALL_AND_PUT:\n\t\t\t\toptionTypeInput = \"all\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\tif (\n\t\t\t!this.props.expirationFilterDates ||\n\t\t\tthis.props.expirationFilterDates.length === 0\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// set default expiration if nothing has been selected\n\t\tconst tempDates = {};\n\t\tfor (const key in this.props.selectedExpirationDates) {\n\t\t\tconst keyParts = key.split(\"-\");\n\n\t\t\tconst index = keyParts[0];\n\t\t\tconst value = this.props.selectedExpirationDates[key];\n\t\t\tif (this.props.selectedExpirationDates[key].duplicateDate) {\n\t\t\t\tduplicateDates.push(this.props.selectedExpirationDates[key]);\n\t\t\t}\n\t\t\ttempDates[value.expirationDate] = `${index}_${value.expirationDate}`;\n\t\t}\n\n\t\tlet tempSelectedDates = Object.values(tempDates);\n\n\t\tif (tempSelectedDates.length === 0) {\n\t\t\texpirationDates = this.props.expirationFilterDates[0].expirationDate;\n\t\t} else {\n\t\t\ttempSelectedDates.sort((el1, el2) => {\n\t\t\t\tconst el1Parsed = el1.split(\"_\");\n\t\t\t\tconst el1Index = parseInt(el1Parsed[0]);\n\n\t\t\t\tconst el2Parsed = el2.split(\"_\");\n\t\t\t\tconst el2Index = parseInt(el2Parsed[0]);\n\n\t\t\t\treturn el2Index - el1Index;\n\t\t\t});\n\n\t\t\tconst parsedDates = tempSelectedDates.map((el) => {\n\t\t\t\tconst splitField = el.split(\"_\");\n\t\t\t\treturn splitField[1];\n\t\t\t});\n\t\t\texpirationDates = parsedDates.join(\",\");\n\t\t}\n\n\t\tthis.props.dispatchLoadOptions();\n\n\t\ttry {\n\t\t\tconst dividendYield = await this.loadDividendData();\n\t\t\tconst riskFreeRate = await this.loadTreasuryYieldQuoteData();\n\n\t\t\t// Dividend Rate and Risk Free Rate need to be divided by 100\n\t\t\t// before sending to the Options call\n\t\t\tconst adjustedDividendYield = dividendYield\n\t\t\t\t? dividendYield / 100\n\t\t\t\t: DIVIDEND_YIELD_DEFAULT;\n\t\t\tconst adjustedRiskFreeRate = riskFreeRate\n\t\t\t\t? riskFreeRate / 100\n\t\t\t\t: RISK_FREE_RATE_DEFAULT;\n\t\t\tconst optionsResponse = await this.props.apiInstance.get(\n\t\t\t\t`${URLS.OPTIONS_CHAIN_PATH}/${this.props.venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tcallsPuts: optionTypeInput,\n\t\t\t\t\t\tadjustment: \"nonAdjusted\",\n\t\t\t\t\t\tstrikeCount:\n\t\t\t\t\t\t\tthis.props.strikesFilterCount === \"all\" ||\n\t\t\t\t\t\t\tthis.props.strikesFilterCount === \"custom\"\n\t\t\t\t\t\t\t\t? \"all\"\n\t\t\t\t\t\t\t\t: this.props.strikesFilterCount / 2,\n\t\t\t\t\t\triskFreeRate: adjustedRiskFreeRate,\n\t\t\t\t\t\tdividendRate: adjustedDividendYield,\n\t\t\t\t\t\texpirationDates: expirationDates,\n\t\t\t\t\t\trealTimeQuotes: isRealtimeOptionsUser(this.props.userInfo),\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (optionsResponse.data.data) {\n\t\t\t\tlet options = optionsResponse.data.data;\n\t\t\t\tif (options.items && options.items.length > 0) {\n\t\t\t\t\tconst filterOptions = this.filterDuplicateOptions(\n\t\t\t\t\t\toptions.items,\n\t\t\t\t\t\tduplicateDates\n\t\t\t\t\t);\n\t\t\t\t\tlet optionResults = this.filterOptionResults(filterOptions);\n\t\t\t\t\tthis.setState({ data: optionResults, contentReady: true });\n\t\t\t\t\tthis.props.dispatchOptionsSuccess();\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.props.dispatchOptionsError();\n\t\t}\n\t}\n\n\tasync loadDividendData() {\n\t\tif (this.state.dividendYield || this.state.dividendYield === 0) {\n\t\t\treturn this.state.dividendYield;\n\t\t}\n\n\t\tthis.props.dispatchLoadDividends();\n\t\tlet dividendYield;\n\t\ttry {\n\t\t\tconst dividendResponse = await this.props.apiInstance.get(\n\t\t\t\t`${URLS.DIVIDENDS_PATH}/${this.props.venueXid}/current`,\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\tif (dividendResponse.data && dividendResponse.data.data) {\n\t\t\t\tconst dividend = dividendResponse.data.data;\n\t\t\t\tdividendYield = Utils.getObjectPropertyValue(\n\t\t\t\t\tdividend,\n\t\t\t\t\t\"annualizedDividend.yieldGross\"\n\t\t\t\t);\n\n\t\t\t\tthis.props.dispatchDividendsSuccess();\n\t\t\t} else {\n\t\t\t\t//set default\n\t\t\t\tdividendYield = DIVIDEND_YIELD_DEFAULT;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t//Since this isn't shown anywhere and is just an input to the options call, we don't really care all that much if\n\t\t\t//the API fails. Set to default of 0.\n\t\t\tdividendYield = DIVIDEND_YIELD_DEFAULT;\n\t\t\tthis.props.dispatchDividendsError();\n\t\t}\n\n\t\tthis.setState({ dividendYield: dividendYield });\n\t\treturn dividendYield;\n\t}\n\n\tasync loadTreasuryYieldQuoteData() {\n\t\tif (this.state.riskFreeRate) {\n\t\t\treturn this.state.riskFreeRate;\n\t\t}\n\n\t\tthis.props.dispatchLoadTreasuryYield();\n\t\tlet riskFreeRate;\n\t\ttry {\n\t\t\tconst treasuryYieldXid = TREASURY_YIELD_VENUE_XID;\n\t\t\tconst quoteResponse = await this.props.apiInstance.get(`${URLS.QUOTE_PATH}`, {\n\t\t\t\tparams: {\n\t\t\t\t\tvenueXids: treasuryYieldXid,\n\t\t\t\t\tmarketHoursTradeType: \"normal\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst quote = (quoteResponse.data && quoteResponse.data.data) || {};\n\n\t\t\tif (quote.quotes && quote.quotes.length > 0 && quote.quotes[0].data) {\n\t\t\t\tconst quoteData = quote.quotes[0].data;\n\t\t\t\triskFreeRate = Utils.getObjectPropertyValue(quoteData, \"lastTrade.last\");\n\n\t\t\t\tthis.props.dispatchTreasuryYieldSuccess();\n\t\t\t} else {\n\t\t\t\t//set default\n\t\t\t\triskFreeRate = RISK_FREE_RATE_DEFAULT;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t//Since this isn't shown anywhere and is just an input to the options call, we don't really care all that much if\n\t\t\t//the API fails. Set to default of 0.01.\n\t\t\triskFreeRate = RISK_FREE_RATE_DEFAULT;\n\t\t\tthis.props.dispatchTreasuryYieldError();\n\t\t}\n\n\t\tthis.setState({ riskFreeRate: riskFreeRate });\n\t\treturn riskFreeRate;\n\t}\n\t/*\n\tUsed when a weekly and monthly expiration date fall on the same day(i.e. symbol .spx on the 3rd friday of the month).\n\tThe API option chains greeks returns option chains that fall on the same day in the same object.\n\tThis function determines which option chains returned have duplicate dates and filters and separates them out as needed.\n\t*/\n\tfilterDuplicateOptions(items, duplicateDates) {\n\t\tlet filteredItems = [];\n\t\titems.map((item) => {\n\t\t\tif (duplicateDates.length === 0) {\n\t\t\t\treturn filteredItems.push(item);\n\t\t\t}\n\t\t\tlet filterCriteria = [];\n\t\t\tduplicateDates.forEach((date) => {\n\t\t\t\tif (date.expirationDate === item.expirationDate) {\n\t\t\t\t\tfilterCriteria.push(date.contractTerm);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (filterCriteria.length === 0) {\n\t\t\t\treturn filteredItems.push(item);\n\t\t\t} else if (filterCriteria.length === 1) {\n\t\t\t\tlet filterOptions = item.options.filter((option) => {\n\t\t\t\t\treturn option.call?.periodicity === filterCriteria[0];\n\t\t\t\t});\n\t\t\t\titem.options = filterOptions;\n\t\t\t\titem.periodicity = filterCriteria[0];\n\n\t\t\t\treturn filteredItems.push(item);\n\t\t\t} else if (filterCriteria.length === 2) {\n\t\t\t\tlet secondSelectedOption = JSON.parse(JSON.stringify(item));\n\t\t\t\tlet firstSelectedOption = JSON.parse(JSON.stringify(item));\n\n\t\t\t\tlet filteredSecondSelectedOption = secondSelectedOption.options.filter(\n\t\t\t\t\t(option) => {\n\t\t\t\t\t\treturn option.call?.periodicity === filterCriteria[1];\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tlet filteredFirstSelectedOption = firstSelectedOption.options.filter((option) => {\n\t\t\t\t\treturn option.call?.periodicity === filterCriteria[0];\n\t\t\t\t});\n\t\t\t\tsecondSelectedOption.options = filteredSecondSelectedOption;\n\t\t\t\tsecondSelectedOption.periodicity = filterCriteria[1];\n\t\t\t\tfirstSelectedOption.options = filteredFirstSelectedOption;\n\t\t\t\tfirstSelectedOption.periodicity = filterCriteria[0];\n\n\t\t\t\treturn filteredItems.push(secondSelectedOption, firstSelectedOption);\n\t\t\t} else {\n\t\t\t\treturn filteredItems.push(item);\n\t\t\t}\n\t\t});\n\t\treturn filteredItems;\n\t}\n\t//optionResults should iterate over the results like it does in parseStandarOptions on line 255.\n\tfilterOptionResults(results) {\n\t\t// had to move this in here to rectify Sonar Congnitive complexity error\n\t\tif (this.props.strikesFilterCount === \"custom\") {\n\t\t\tresults.forEach((result) => {\n\t\t\t\tconst optionResults = result.options;\n\t\t\t\tconst regex = new RegExp(\"[$,]\", \"g\");\n\n\t\t\t\t// set low and high strike prices\n\t\t\t\tconst lowPrice =\n\t\t\t\t\tthis.props.customStrikePrice.low !== \"\"\n\t\t\t\t\t\t? parseFloat(this.props.customStrikePrice.low.replace(regex, \"\"))\n\t\t\t\t\t\t: 0;\n\n\t\t\t\tconst highPrice =\n\t\t\t\t\tthis.props.customStrikePrice.high !== \"\"\n\t\t\t\t\t\t? parseFloat(this.props.customStrikePrice.high.replace(regex, \"\"))\n\t\t\t\t\t\t: optionResults[optionResults.length - 1].strikePrice;\n\n\t\t\t\tconst newResults = optionResults.filter(\n\t\t\t\t\t(x) => x.strikePrice >= lowPrice && x.strikePrice <= highPrice\n\t\t\t\t);\n\t\t\t\tresult.options = newResults;\n\t\t\t});\n\t\t}\n\n\t\t//moving this out to cover case when options call succeeds but it comes back with empty response\n\t\tif (results[0].options.length === 0) {\n\t\t\tthis.setState({ error: \"No data available\" });\n\t\t}\n\t\treturn this.parseStandardOptions(results);\n\t}\n\n\tparseStandardOptions(optionResults) {\n\t\tif (!optionResults) {\n\t\t\treturn [];\n\t\t}\n\t\tconst finalOptions = [];\n\n\t\t//loop through list of items and split standard and nonstandard options\n\t\toptionResults.forEach((result) => {\n\t\t\tlet standardOptions, nonStandardOptions;\n\t\t\tresult.options.forEach((option) => {\n\t\t\t\tconst callIsAdjusted = Utils.getObjectPropertyValue(option, \"call.isAdjusted\");\n\t\t\t\tconst putIsAdjusted = Utils.getObjectPropertyValue(option, \"put.isAdjusted\");\n\t\t\t\tif (callIsAdjusted || putIsAdjusted) {\n\t\t\t\t\tif (!nonStandardOptions) {\n\t\t\t\t\t\tnonStandardOptions = { ...result };\n\t\t\t\t\t\t//resetting array of options as it mayb have standard options as well\n\t\t\t\t\t\tnonStandardOptions.options = [];\n\t\t\t\t\t}\n\t\t\t\t\t//only inserting non-standard option found.\n\t\t\t\t\tnonStandardOptions.options.push(option);\n\t\t\t\t} else {\n\t\t\t\t\t//addResult(standardOptions, result, option);\n\t\t\t\t\tif (!standardOptions) {\n\t\t\t\t\t\tstandardOptions = { ...result };\n\t\t\t\t\t\t//resetting array of options as it mayb have non-standard options as well\n\t\t\t\t\t\tstandardOptions.options = [];\n\t\t\t\t\t}\n\t\t\t\t\t//only inserting standard option found.\n\t\t\t\t\tstandardOptions.options.push(option);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (standardOptions) {\n\t\t\t\tfinalOptions.push(standardOptions);\n\t\t\t}\n\n\t\t\tif (nonStandardOptions) {\n\t\t\t\tfinalOptions.push(nonStandardOptions);\n\t\t\t}\n\t\t});\n\t\treturn finalOptions;\n\t}\n\n\trenderPeriodicity(periodicity) {\n\t\tif (periodicity) {\n\t\t\tif (periodicity === \"Weekly\") {\n\t\t\t\treturn \" PM\";\n\t\t\t} else {\n\t\t\t\treturn \" AM\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\trenderSmallScreenOptionTypeHeaderRow(item) {\n\t\tconst daysToExpiration = this.getDaysToExpiration(item.expirationDate);\n\t\tconst optionTypeLabel =\n\t\t\tthis.props.optionType === OPTION_VIEW_TYPE_CALL ? \"Calls\" : \"Puts\";\n\n\t\treturn this.props.optionType === OPTION_VIEW_TYPE_CALL_AND_PUT ? (\n\t\t\t<>\n\t\t\t\tCalls\n\t\t\t\t\n\t\t\t\t\t{formatter.date(item.expirationDate, \"MMM DD, YYYY \")}\n\t\t\t\t\t{this.renderPeriodicity(item.periodicity)}\n\t\t\t\t\t{` (In ${daysToExpiration} days)`}\n\t\t\t\t\n\t\t\t\tPuts\n\t\t\t\n\t\t) : (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{`${optionTypeLabel} for ${formatter.date(\n\t\t\t\t\t\titem.expirationDate,\n\t\t\t\t\t\t\"MMM DD, YYYY \"\n\t\t\t\t\t)}${this.renderPeriodicity(item.periodicity)}`}\n\t\t\t\t\t{` (In ${daysToExpiration} days)`}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\trenderMediumScreenOptionTypeHeaderRow(item) {\n\t\tlet mediumScreenOptionTypeHeaderRow;\n\t\tconst daysToExpiration = this.getDaysToExpiration(item.expirationDate);\n\t\tconst displayDate = formatter.date(item.expirationDate, \"MMM DD, YYYY\");\n\t\tswitch (this.props.optionType) {\n\t\t\tcase OPTION_VIEW_TYPE_CALL:\n\t\t\tcase OPTION_VIEW_TYPE_PUT:\n\t\t\t\tconst optionTypeLabel =\n\t\t\t\t\tthis.props.optionType === OPTION_VIEW_TYPE_CALL ? \"Calls\" : \"Puts\";\n\t\t\t\tmediumScreenOptionTypeHeaderRow = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`${optionTypeLabel} for ${displayDate}${this.renderPeriodicity(\n\t\t\t\t\t\t\t\titem.periodicity\n\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t{` (In ${daysToExpiration} days)`}\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\tcase OPTION_VIEW_TYPE_CALL_AND_PUT:\n\t\t\t\tmediumScreenOptionTypeHeaderRow = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCalls\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{displayDate}\n\t\t\t\t\t\t\t{this.renderPeriodicity(item.periodicity)}\n\t\t\t\t\t\t\t{` (In ${daysToExpiration} days)`}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPuts\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}\n\n\t\treturn mediumScreenOptionTypeHeaderRow;\n\t}\n\n\trenderTradeColumn() {\n\t\treturn (\n\t\t\t!this.props.viewType ||\n\t\t\t(this.props.viewType &&\n\t\t\t\tthis.props.viewType !== OPTION_PAGE_VIEW_TYPE_MR_REDESIGN_DESKTOP)\n\t\t);\n\t}\n\n\trenderDataColumnHeaders() {\n\t\tlet dataColumnHeaderRow;\n\t\tswitch (this.props.optionType) {\n\t\t\tcase OPTION_VIEW_TYPE_CALL:\n\t\t\tcase OPTION_VIEW_TYPE_PUT:\n\t\t\t\tdataColumnHeaderRow = (\n\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\tStrike\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLast\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tChange\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tBid\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAsk\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tVolume\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOpen Interest\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tImplied Volatility\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462*/}\n\t\t\t\t\t\t{this.renderTradeColumn() && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTrade\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\tcase OPTION_VIEW_TYPE_CALL_AND_PUT:\n\t\t\t\tdataColumnHeaderRow = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462 */}\n\t\t\t\t\t\t{this.renderTradeColumn() && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTrade\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\tLast\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tChange\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tBid\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAsk\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tVolume\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOpen Interest\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tImplied Volatility\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tStrike\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLast\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tChange\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tBid\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAsk\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tVolume\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOpen Interest\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tImplied Volatility\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/*Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462 */}\n\t\t\t\t\t\t{this.renderTradeColumn() && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTrade\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}\n\n\t\treturn dataColumnHeaderRow;\n\t}\n\n\trenderTableRow(item, expirationDate, index) {\n\t\tlet tableRows;\n\t\tswitch (this.props.optionType) {\n\t\t\tcase OPTION_VIEW_TYPE_CALL:\n\t\t\t\ttableRows = this.renderCallsOrPutsTableRow(\n\t\t\t\t\titem.call,\n\t\t\t\t\titem.strikePrice,\n\t\t\t\t\texpirationDate,\n\t\t\t\t\tindex\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase OPTION_VIEW_TYPE_CALL_AND_PUT:\n\t\t\t\ttableRows = this.renderCallsAndPutsTableRow(item, index, expirationDate);\n\t\t\t\tbreak;\n\t\t\tcase OPTION_VIEW_TYPE_PUT:\n\t\t\t\ttableRows = this.renderCallsOrPutsTableRow(\n\t\t\t\t\titem.put,\n\t\t\t\t\titem.strikePrice,\n\t\t\t\t\texpirationDate,\n\t\t\t\t\tindex\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn tableRows;\n\t}\n\n\trenderChangeCell(\n\t\tchange,\n\t\tchangePercent,\n\t\tindex,\n\t\topenInterestHeaderValue,\n\t\tcallInTheMoneyCell\n\t) {\n\t\tlet changeCellContent;\n\t\tlet changeCellFormatClass;\n\n\t\tif (Math.abs(change) < 0.001) {\n\t\t\tchangeCellContent = \"0.00\";\n\t\t} else {\n\t\t\tchangeCellContent = (\n\t\t\t\t<>\n\t\t\t\t\t{formatter.price(change, 2, { showSign: true })}/\n\t\t\t\t\t\n\t\t\t\t\t\t{formatter.percent(changePercent, 2, {\n\t\t\t\t\t\t\tshowSign: true,\n\t\t\t\t\t\t\tpercentModifier: 0.01,\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\tif (change > 0) {\n\t\t\t\tchangeCellFormatClass = styles.positiveChangeCell;\n\t\t\t} else {\n\t\t\t\tchangeCellFormatClass = styles.negativeChangeCell;\n\t\t\t}\n\t\t}\n\n\t\tconst idxAdden = index > 0 ? index : 0;\n\t\tlet headerValueIdx = index * 2 + 1 + idxAdden;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{changeCellContent}\n\t\t\t\t\t (this.tableExpandableRowsRef[headerValueIdx] = col)}\n\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\n\t\t);\n\t}\n\n\thandleRowClick = (tradeMessageData) => {\n\t\tthis.props.dispatchSelectedOption(tradeMessageData);\n\t\tthis.props.rowClickCallback();\n\t};\n\n\t/*\n\t * input: index => index number for row clicked to expand.\n\t *\n\t * This determines which DOM Ref to add class, based for the row clicked.\n\t * It will toggle class 'showExpandableContent' accross all the three HeaderValueComponents and creating the exapdanle row effect.\n\t */\n\thandleRowExpandableClick(event, index) {\n\t\tevent.stopPropagation();\n\t\tconst baseIdx = index * 3; // since there are 3 header/value components\n\t\tconst classNames = this.tableExpandableRowsRef[baseIdx].className.split(\" \");\n\t\tconst idx = classNames.indexOf(styles.showExpandableContent);\n\n\t\tif (idx > 0) {\n\t\t\t// remove class showExpandableContent\n\t\t\tclassNames.splice(idx, 1);\n\t\t\tthis.tableExpandableRowsRef[baseIdx].icon = \"right\";\n\t\t\tthis.tableExpandableRowsRef[baseIdx].className = classNames.join(\" \");\n\t\t\tthis.tableExpandableRowsRef[baseIdx + 1].className = classNames.join(\" \");\n\t\t\tthis.tableExpandableRowsRef[baseIdx + 2].className = classNames.join(\" \");\n\t\t\tthis.setState({ expandCollapsibleRow: false });\n\t\t} else {\n\t\t\t// add class showExpandableContent\n\t\t\tthis.tableExpandableRowsRef[baseIdx].icon = \"down\";\n\t\t\tthis.tableExpandableRowsRef[\n\t\t\t\tbaseIdx\n\t\t\t].className += ` ${styles.showExpandableContent}`;\n\t\t\tthis.tableExpandableRowsRef[\n\t\t\t\tbaseIdx + 1\n\t\t\t].className += ` ${styles.showExpandableContent}`;\n\t\t\tthis.tableExpandableRowsRef[\n\t\t\t\tbaseIdx + 2\n\t\t\t].className += ` ${styles.showExpandableContent}`;\n\t\t\tthis.setState({ expandCollapsibleRow: true });\n\t\t}\n\t}\n\n\tgetExpandableRowIcon(index) {\n\t\tlet chevronIcon = faChevronCircleRight;\n\t\tif (\n\t\t\tthis.tableExpandableRowsRef[index] &&\n\t\t\tthis.tableExpandableRowsRef[index].icon === \"down\"\n\t\t) {\n\t\t\tchevronIcon = faChevronCircleDown;\n\t\t}\n\t\treturn chevronIcon;\n\t}\n\n\texpandableRowAriaHidden(index) {\n\t\tif (!this.tableExpandableRowsRef[index] || !this.tableExpandableRowsRef[index].icon) {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.tableExpandableRowsRef[index].icon !== \"down\";\n\t}\n\n\tgetTradeMessageData(data) {\n\t\tif (!data) return;\n\n\t\tconst { xid, expirationDate, strikePrice, symbol, optionType } = data;\n\t\tconst optionTypeLetter = this.props.optionType === OPTION_VIEW_TYPE_CALL ? \"C\" : \"P\";\n\t\tconst formattedExpirationDate = formatter.date(expirationDate, \"MM/DD/YY \");\n\t\tconst optionText = `${this.props.symbol} ${optionTypeLetter} ${formattedExpirationDate} ${strikePrice}`;\n\n\t\treturn {\n\t\t\tunderlyingSymbol: symbol,\n\t\t\toptionXid: xid,\n\t\t\toptionType: optionType === OPTION_VIEW_TYPE_CALL ? \"C\" : \"P\",\n\t\t\texpirationDate: expirationDate,\n\t\t\tstrikePrice: strikePrice,\n\t\t\toptionText: optionText,\n\t\t};\n\t}\n\n\trenderCallsOrPutsTableRow(optionData, strikePrice, expirationDate, index) {\n\t\tif (!optionData) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst tradeMessageData = this.getTradeMessageData({\n\t\t\txid: optionData.xid,\n\t\t\texpirationDate,\n\t\t\tstrikePrice,\n\t\t\tsymbol: this.props.symbol,\n\t\t\toptionType: this.props.optionType,\n\t\t});\n\n\t\tconst rowOnClickEvent =\n\t\t\tthis.props.isMobile && this.props.isOptionsTradeEnabled\n\t\t\t\t? () => this.handleRowClick(tradeMessageData)\n\t\t\t\t: null;\n\n\t\tconst lastVolumnVal =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.volume.last\") || 0;\n\t\tconst openIntVal =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.openInterest\") || 0;\n\t\tconst implVolVal =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"greeks.impliedVolatility\") || 0;\n\t\tconst volumeHeaderValue = {\n\t\t\tid: `table_row_expand_volume-idx${index}`,\n\t\t\theader: \"Volume\",\n\t\t\tvalue: formatter.number(lastVolumnVal),\n\t\t\thideHeader: false,\n\t\t};\n\t\tconst openInterestHeaderValue = {\n\t\t\tid: `table_row_expand_open_int-idx${index}`,\n\t\t\theader: \"Open int.\",\n\t\t\tvalue: formatter.number(openIntVal),\n\t\t\thideHeader: false,\n\t\t};\n\t\tconst impliedVolatilityHeaderValue = {\n\t\t\tid: `table_row_expand_implied_vol-idx${index}`,\n\t\t\theader: \"Implied Vol.\",\n\t\t\tvalue: formatter.percent(implVolVal, 2, { percentModifier: 1 }),\n\t\t\thideHeader: false,\n\t\t};\n\n\t\t/*\n\t\t * tableExpandableRowsRef[] : is an array holding a DOM reference to each Container holding expandanble row content using ref{}\n\t\t * this is acting as having and ID to DOM element, but this avoids us having to lookup by id which is prone to errors\n\t\t * Avoid this: document.getElementById(\"volumeHeaderContainer\")\n\t\t *\n\t\t * There are 3 HeaderValue components per row, so that means tableExpandableRowsRef array will have 3 entries per row.\n\t\t * The math below is the find the proper index to insert each reference in the right order.\n\t\t * Example: First row would have will have the first three items in the array, the second row from 3-6, 3rd from 7-9, etc...\n\t\t */\n\t\tconst idxAdden = index > 0 ? index : 0;\n\t\tlet volumeHeaderValueIdx = index * 2 + idxAdden;\n\t\tlet impliedVolHeaderValueIdx = index * 2 + 2 + idxAdden;\n\n\t\tconst lastTradeVal =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.lastTrade.last\") || 0;\n\t\tconst lastTradeChange =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.lastTrade.change\") || 0;\n\t\tconst quoteChangePercent =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.changePercent.today\") || 0;\n\t\tconst quoteBidPrice =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.bid.price\") || 0;\n\t\tconst quoteAskPrice =\n\t\t\tUtils.getObjectPropertyValue(optionData, \"quote.ask.price\") || 0;\n\t\treturn (\n\t\t\t 0 ? styles.inTheMoneyRow : null}\n\t\t\t>\n\t\t\t\t {\n\t\t\t\t\t\tthis.handleRowExpandableClick(evt, index);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={`d-sm-table-cell d-md-none ${styles.expandCollapseIconCell}`}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(strikePrice, 2)}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tthis.tableExpandableRowsRef[volumeHeaderValueIdx] = col;\n\t\t\t\t\t\t}}\n\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\t\n\t\t\t\t\t{formatter.number(lastTradeVal, 2)}\n\t\t\t\t\n\t\t\t\t{this.renderChangeCell(\n\t\t\t\t\tlastTradeChange,\n\t\t\t\t\tquoteChangePercent,\n\t\t\t\t\tindex,\n\t\t\t\t\topenInterestHeaderValue\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{formatter.number(quoteBidPrice, 2)}\n\t\t\t\t\t (this.tableExpandableRowsRef[impliedVolHeaderValueIdx] = col)}\n\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\t{formatter.number(quoteAskPrice, 2)}\n\t\t\t\t\n\t\t\t\t\t{formatter.number(lastVolumnVal)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(openIntVal)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.percent(implVolVal, 2, { percentModifier: 1 })}\n\t\t\t\t\n\t\t\t\t{/* Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462 */}\n\t\t\t\t{this.renderTradeColumn() && (\n\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\n\t\t);\n\t}\n\n\trenderCallsAndPutsTableRow(item, index, expirationDate) {\n\t\tif (!item.call || !item.put) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst callInTheMoneyCell =\n\t\t\titem.call.calculation?.inOutMoney > 0 ? styles.inTheMoneyCell : null;\n\t\tconst putInTheMoneyCell =\n\t\t\titem.put.calculation?.inOutMoney > 0 ? styles.inTheMoneyCell : null;\n\t\tconst callsTradeMessageData = this.getTradeMessageData({\n\t\t\txid: item.call.xid,\n\t\t\texpirationDate,\n\t\t\tstrikePrice: item.strikePrice,\n\t\t\tsymbol: this.props.symbol,\n\t\t\toptionType: OPTION_VIEW_TYPE_CALL,\n\t\t});\n\t\tconst putsTradeMessageData = this.getTradeMessageData({\n\t\t\txid: item.put.xid,\n\t\t\texpirationDate,\n\t\t\tstrikePrice: item.strikePrice,\n\t\t\tsymbol: this.props.symbol,\n\t\t\toptionType: OPTION_VIEW_TYPE_PUT,\n\t\t});\n\n\t\tconst callsOpenIntVal =\n\t\t\tUtils.getObjectPropertyValue(item.call, \"quote.openInterest\") || 0;\n\t\tconst callsOpenInterestHeaderValue = {\n\t\t\tid: `table_calls_row_expand_open_int-idx${index}`,\n\t\t\theader: \"Open int.\",\n\t\t\tvalue: formatter.number(callsOpenIntVal),\n\t\t\thideHeader: false,\n\t\t};\n\t\tconst putsOpenIntVal =\n\t\t\tUtils.getObjectPropertyValue(item.put, \"quote.openInterest\") || 0;\n\t\tconst putsOpenInterestHeaderValue = {\n\t\t\tid: `table_puts_row_expand_open_int-idx${index}`,\n\t\t\theader: \"Open int.\",\n\t\t\tvalue: formatter.number(putsOpenIntVal),\n\t\t\thideHeader: false,\n\t\t};\n\t\tconst callsLastTradeChange =\n\t\t\tUtils.getObjectPropertyValue(item.call, \"quote.lastTrade.change\") || 0;\n\t\tconst callsQuoteChangePercent =\n\t\t\tUtils.getObjectPropertyValue(item.call, \"quote.changePercent.today\") || 0;\n\t\tconst putsLastTradeChange =\n\t\t\tUtils.getObjectPropertyValue(item.put, \"quote.lastTrade.change\") || 0;\n\t\tconst putsQuoteChangePercent =\n\t\t\tUtils.getObjectPropertyValue(item.put, \"quote.changePercent.today\") || 0;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{/* Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462 */}\n\t\t\t\t{this.renderTradeColumn() && (\n\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\t\n\t\t\t\t\t{formatter.number(item?.call?.quote?.lastTrade?.last, 2)}\n\t\t\t\t\n\t\t\t\t{this.renderChangeCell(\n\t\t\t\t\tcallsLastTradeChange,\n\t\t\t\t\tcallsQuoteChangePercent,\n\t\t\t\t\tindex,\n\t\t\t\t\tcallsOpenInterestHeaderValue,\n\t\t\t\t\tcallInTheMoneyCell\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.call.quote?.bid?.price, 2)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.call.quote?.ask?.price, 2)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.call.quote?.volume?.last)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.call.quote?.openInterest)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.percent(item.call.greeks?.impliedVolatility, 2, {\n\t\t\t\t\t\tpercentModifier: 1,\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\t{formatter.number(item.strikePrice, 2)}\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.put.quote?.lastTrade?.last, 2)}\n\t\t\t\t\n\t\t\t\t{this.renderChangeCell(\n\t\t\t\t\tputsLastTradeChange,\n\t\t\t\t\tputsQuoteChangePercent,\n\t\t\t\t\tindex,\n\t\t\t\t\tputsOpenInterestHeaderValue,\n\t\t\t\t\tputInTheMoneyCell\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.put.quote?.bid?.price, 2)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.put.quote?.ask?.price, 2)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.put.quote?.volume?.last)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.number(item.put.quote?.openInterest)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatter.percent(item.put.greeks?.impliedVolatility, 2, {\n\t\t\t\t\t\tpercentModifier: 1,\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\t{/* Removing for now until MS can add logic to handle trade postMessage see ticket MSQR-6462 */}\n\t\t\t\t{this.renderTradeColumn() && (\n\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\n\t\t);\n\t}\n\n\trenderOptionsDataTable(data) {\n\t\tif (!data || !data.options) {\n\t\t\treturn null;\n\t\t}\n\t\treturn data.options.map((item, index) =>\n\t\t\tthis.renderTableRow(item, data.expirationDate, index)\n\t\t);\n\t}\n\n\trenderOptionsFullTable(item, index) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.renderSmallScreenOptionTypeHeaderRow(item)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{this.renderDataColumnHeaders()}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.renderMediumScreenOptionTypeHeaderRow(item)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{this.renderOptionsDataTable(item)}\n\t\t\t\t
\n\t\t\t\t{this.state.error !== \"\" && (\n\t\t\t\t\t

{this.state.error}

\n\t\t\t\t)}\n\t\t\t
\n\t\t);\n\t}\n\n\trender() {\n\t\tconst spinnerStyle = {\n\t\t\tminHeight: \"100px\",\n\t\t};\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.state.data\n\t\t\t\t\t? this.state.data.map((item, index) => this.renderOptionsFullTable(item, index))\n\t\t\t\t\t: null}\n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\toptionsDataStatus: state.optionsReducer.optionsDataStatus,\n\t\tdividendsDataStatus: state.optionsReducer.dividendsDataStatus,\n\t\ttreasuryYieldDataStatus: state.optionsReducer.treasuryYieldDataStatus,\n\t\tstrikesFilterCount: state.optionsReducer.strikesFilterCount,\n\t\texpirationFilterDates: state.optionsReducer.expirationFilterDates,\n\t\tselectedExpirationDates: state.optionsReducer.selectedExpirationDates,\n\t\tcustomStrikePrice: state.optionsReducer.customStrikePrice,\n\t\tisOptionsTradeEnabled: state.optionsReducer.isOptionsTradeEnabled,\n\t\tisMobile: state.optionsReducer.isMobile,\n\t};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tdispatchLoadOptions: () =>\n\t\t\tdispatch({ type: actionTypes.OPTIONS_API_TRANSITION, name: \"load\" }),\n\t\tdispatchOptionsSuccess: () =>\n\t\t\tdispatch({ type: actionTypes.OPTIONS_API_TRANSITION, name: \"success\" }),\n\t\tdispatchOptionsError: () =>\n\t\t\tdispatch({ type: actionTypes.OPTIONS_API_TRANSITION, name: \"failure\" }),\n\t\tdispatchSelectedOption: (selectedOption) =>\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.SAVE_SELECTED_OPTION_DATA,\n\t\t\t\tselectedOption: selectedOption,\n\t\t\t}),\n\t\tdispatchLoadDividends: () =>\n\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"load\" }),\n\t\tdispatchDividendsSuccess: () =>\n\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"success\" }),\n\t\tdispatchDividendsError: () =>\n\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"failure\" }),\n\t\tdispatchLoadTreasuryYield: () =>\n\t\t\tdispatch({ type: actionTypes.TREASURY_YIELD_API_TRANSITION, name: \"load\" }),\n\t\tdispatchTreasuryYieldSuccess: () =>\n\t\t\tdispatch({ type: actionTypes.TREASURY_YIELD_API_TRANSITION, name: \"success\" }),\n\t\tdispatchTreasuryYieldError: () =>\n\t\t\tdispatch({ type: actionTypes.TREASURY_YIELD_API_TRANSITION, name: \"failure\" }),\n\t};\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(OptionsTable);\n","import React from \"react\";\nimport { URLS } from \"../../../utils/constants\";\nimport actionTypes from \"../../../store/actions/actionTypes\";\n\nimport { useDispatch } from \"react-redux\";\n\nconst OptionsTradeButton = (props) => {\n\tconst dispatch = useDispatch();\n\n\tconst onTradeClick = async (e) => {\n\t\te.preventDefault();\n\t\tdispatch({ type: actionTypes.XREF_OPTION_API_TRANSITION, name: \"load\" });\n\n\t\ttry {\n\t\t\tconst xrefResponse = await props.apiInstance.get(\n\t\t\t\t`${URLS.XREF_XID_PATH}/${props.tradeMessageData.optionXid}`\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\txrefResponse.data &&\n\t\t\t\txrefResponse.data.data &&\n\t\t\t\txrefResponse.data.data.supplementalData &&\n\t\t\t\txrefResponse.data.data.supplementalData.length\n\t\t\t) {\n\t\t\t\tdispatch({ type: actionTypes.XREF_OPTION_API_TRANSITION, name: \"success\" });\n\n\t\t\t\tconst postMessage = JSON.stringify({\n\t\t\t\t\tname: \"tradeEvent\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\toptionSymbol: xrefResponse.data.data.supplementalData[0].value,\n\t\t\t\t\t\tunderlyingSymbol: props.tradeMessageData.underlyingSymbol,\n\t\t\t\t\t\tstrikePrice: props.tradeMessageData.strikePrice,\n\t\t\t\t\t\texpirationDate: props.tradeMessageData.expirationDate,\n\t\t\t\t\t\toptionType: props.tradeMessageData.optionType,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN); // NOSONAR\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.XREF_OPTION_API_TRANSITION, name: \"failure\" });\n\t\t}\n\n\t\tif (props.onClickCallback) {\n\t\t\tprops.onClickCallback();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{props.text}\n\t\t\n\t);\n};\n\nexport default OptionsTradeButton;\n","import { URLS } from \"utils/constants\";\nimport Utils from \"utils/utils\";\nimport formatter from \"utils/formatUtils\";\n\n// updated function without pseudoclassical implementation\nexport const getHistoricalDividends = async ({\n\tapiInstance,\n\tvenueXid,\n\tnumberOfResults = 16,\n\toffset = 1,\n\tsortDirection = \"desc\",\n}) => {\n\ttry {\n\t\tif (!apiInstance || !venueXid) return {};\n\t\tconst params = {\n\t\t\tsortDirection,\n\t\t\tnumberOfResults,\n\t\t\toffset,\n\t\t};\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.DIVIDENDS_PATH}/${venueXid}/historical-events`,\n\t\t\t{\n\t\t\t\tparams,\n\t\t\t}\n\t\t);\n\t\treturn response?.data.data || {};\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n// TODO: Decomission this function that behaves more like a class\n/**\n * Utility for fetching API data for dividends history\n * @param {number} venueXid - the venueXid for the symbol selected\n */\nconst getDividendsHistory = (apiInstance, venueXid) => {\n\tlet params = {\n\t\tsortDirection: \"desc\",\n\t\tnumberOfResults: 16, //default\n\t\toffset: 1, //default\n\t};\n\n\treturn {\n\t\toverrideParams: function (newParams) {\n\t\t\tparams = newParams;\n\t\t\treturn this;\n\t\t},\n\n\t\tsetSortDirection: function (direction) {\n\t\t\tparams.sortDirection = direction;\n\t\t\treturn this;\n\t\t},\n\n\t\tsetAnnounceDateStart: function (date) {\n\t\t\tparams.announceDateStart = date;\n\t\t\treturn this;\n\t\t},\n\n\t\tsetAnnounceDateEnd: function (date) {\n\t\t\tparams.announceDateEnd = date;\n\t\t\treturn this;\n\t\t},\n\n\t\tsetNumberOfResults: function (count) {\n\t\t\tparams.numberOfResults = count;\n\t\t\treturn this;\n\t\t},\n\n\t\tsetOffset: function (offset) {\n\t\t\tparams.offset = offset;\n\t\t\treturn this;\n\t\t},\n\n\t\tfetch: async function () {\n\t\t\ttry {\n\t\t\t\tif (!apiInstance || !venueXid) {\n\t\t\t\t\treturn \"error\";\n\t\t\t\t}\n\n\t\t\t\tconst response = await apiInstance.get(\n\t\t\t\t\t`${URLS.DIVIDENDS_PATH}/${venueXid}/historical-events`,\n\t\t\t\t\t{\n\t\t\t\t\t\tparams,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn Utils.getObjectPropertyValue(response, \"data.data\");\n\t\t\t} catch (error) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t},\n\t};\n};\n\n/**\n * Utility for fetching API data for dividend details\n * @param {Object} apiInstance - api instance\n * @param {number} venueXid - the venueXid for the symbol selected\n */\nconst getDividendData = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\tlet dividendData = {};\n\n\ttry {\n\t\tconst response = await apiInstance.get(`${URLS.DIVIDENDS_PATH}/${venueXid}/current`);\n\t\tconst data = response?.data?.data || null;\n\t\tif (data) {\n\t\t\tdividendData.venueXid = venueXid;\n\t\t\tdividendData.currency = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"currentDividend.currency\"\n\t\t\t);\n\t\t\tdividendData.announcementDate = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"currentDividend.announcementDate\"\n\t\t\t);\n\t\t\tdividendData.exDate = Utils.getObjectPropertyValue(data, \"currentDividend.exDate\");\n\t\t\tdividendData.paymentDate = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"currentDividend.paymentDate\"\n\t\t\t);\n\t\t\tdividendData.gross = Utils.getObjectPropertyValue(data, \"annualizedDividend.gross\");\n\t\t\tdividendData.yieldGross = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"annualizedDividend.yieldGross\"\n\t\t\t);\n\t\t\tdividendData.amount = Utils.getObjectPropertyValue(data, \"currentDividend.amount\");\n\t\t\tdividendData.frequency = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"currentDividend.frequency\"\n\t\t\t);\n\t\t\tdividendData.method = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"annualizedDividend.method\"\n\t\t\t);\n\t\t\tdividendData.dividendTTMYield = formatter.percent(\n\t\t\t\tUtils.getObjectPropertyValue(data, \"trailingDividend.regularDividendTTMYield\"),\n\t\t\t\t2\n\t\t\t);\n\t\t\treturn dividendData;\n\t\t} else {\n\t\t\treturn dividendData;\n\t\t}\n\t} catch (error) {\n\t\treturn dividendData;\n\t}\n};\n\nconst dividendAnnualData = async (apiInstance, venueXid) => {\n\tlet dividendData = {};\n\n\tif (!apiInstance || !venueXid) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.DIVIDENDS_PATH}/${venueXid}/historical-events?sortDirection=desc&calculatePeriodTotal=calendarYear&numberOfResults=16&includeDividendYieldForAnnualPeriod=false&aggregatePeriodTotalMethodology=byDividendType`\n\t\t);\n\t\tconst data = response?.data?.data || null;\n\t\tif (data) {\n\t\t\tdividendData.dividendEvents = Utils.filterOutSpinOffs(data.dividendEvents);\n\t\t}\n\t} catch (error) {\n\t\treturn null;\n\t}\n\treturn dividendData;\n};\n\nexport default {\n\tgetDividendsHistory,\n\tgetDividendData,\n\tdividendAnnualData,\n};\n","import Utils from \"utils/utils\";\nimport formatter from \"utils/formatUtils\";\nimport { URLS, PERIODICITY_OPTIONS } from \"utils/constants\";\n\n/**\n * Utility for fetching API data for Equities Morningstar Estimates Details Data\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n */\nexport const getEstimatesCurrent = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn;\n\t}\n\n\tlet estimates = {};\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.EARNINGS_ESTIMATES_CURRENT_PATH}/${venueXid}`\n\t\t);\n\n\t\tconst data = response.data.data || null;\n\t\tif (data) {\n\t\t\testimates.venueXid = venueXid;\n\n\t\t\tlet concensusLongTermGrowth = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"annual.longTermGrowthRate.mean\"\n\t\t\t);\n\n\t\t\t// Explicitly check for null and undefined, as 0 is a valid falsey result\n\t\t\tif (\n\t\t\t\ttypeof concensusLongTermGrowth !== \"undefined\" &&\n\t\t\t\tconcensusLongTermGrowth !== null\n\t\t\t) {\n\t\t\t\tif (Math.sign(concensusLongTermGrowth) === 1) {\n\t\t\t\t\testimates.concensusLongTermGrowth = `+${formatter.percent(\n\t\t\t\t\t\tconcensusLongTermGrowth,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t{ percentModifier: 0.01 }\n\t\t\t\t\t)}`;\n\t\t\t\t} else {\n\t\t\t\t\testimates.concensusLongTermGrowth = formatter.percent(\n\t\t\t\t\t\tconcensusLongTermGrowth,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t{ percentModifier: 0.01 }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\testimates.concensusLongTermGrowth = formatter.options.errorString;\n\t\t\t}\n\n\t\t\tconst pegcyEstimateLtgConsensus = Utils.getObjectPropertyValue(\n\t\t\t\tdata,\n\t\t\t\t\"pe.pegcyEstimateLtgConsensus\"\n\t\t\t);\n\t\t\testimates.pegcyEstimateLtgConsensus = formatter.number(\n\t\t\t\tpegcyEstimateLtgConsensus,\n\t\t\t\t2\n\t\t\t);\n\n\t\t\testimates.penyEstimate = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(data, \"annual.pe.penyEstimate\"),\n\t\t\t\t2\n\t\t\t);\n\n\t\t\testimates.nextAnnounceDate = formatter.date(\n\t\t\t\tUtils.getObjectPropertyValue(data, \"recommendation.nextExpectedReportDate\"),\n\t\t\t\t\"MMM D YYYY\"\n\t\t\t);\n\t\t\testimates.forwardPeRatio = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(data, \"annual.pe.pecyEstimate\"),\n\t\t\t\t2\n\t\t\t);\n\n\t\t\treturn estimates;\n\t\t} else {\n\t\t\treturn estimates;\n\t\t}\n\t} catch (error) {\n\t\treturn estimates;\n\t}\n};\n\n/**\n * Utility for fetching API data for Equities Morningstar Estimates Trends Data\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n * @param {String} periodicity - Defines the period of time returned in intervals. Quarterly or annually\n * @param {String} componentRouteName - the route/page of the application (e.g. Overview, Earnings)\n */\nexport const getEstimatesTrends = async (\n\tapiInstance,\n\tvenueXid,\n\tperiodicity,\n\tnumForwardEstimatePeriods,\n\tnumHistoricalEstimatePeriods\n) => {\n\tif (!apiInstance || !venueXid || !periodicity) {\n\t\treturn;\n\t}\n\n\tlet estimates = {};\n\n\ttry {\n\t\tlet payload = {};\n\n\t\t// set periodicity to \"quarterly\" if no periodicity provided\n\t\tperiodicity = periodicity ? periodicity.toLowerCase() : PERIODICITY_OPTIONS.QUARTERLY;\n\n\t\tpayload.params = {\n\t\t\tperiodicity: periodicity\n\t\t\t\t? periodicity.toLowerCase()\n\t\t\t\t: PERIODICITY_OPTIONS.QUARTERLY,\n\t\t\tnumberOfEstimatePeriods: numForwardEstimatePeriods,\n\t\t\tincludeHistory: true,\n\t\t\tnumberOfHistoricalPeriods: numHistoricalEstimatePeriods,\n\t\t};\n\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.EARNINGS_ESTIMATES_TRENDS_PATH}/${venueXid}`,\n\t\t\tpayload\n\t\t);\n\n\t\tconst data = response.data.data || null;\n\t\tif (data) {\n\t\t\treturn data;\n\t\t} else {\n\t\t\treturn estimates;\n\t\t}\n\t} catch (error) {\n\t\treturn estimates;\n\t}\n};\n\nexport default { getEstimatesCurrent, getEstimatesTrends };\n","import formatter from \"utils/formatUtils\";\nimport { URLS } from \"utils/constants\";\n\n/**\n * Utility for fetching API data for Equities Morningstar Financial Ratios Details Data\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n * @param {Boolean} includeYearEndData - If true, available data from 3M, 1Y, 3Y, 5Y, and 10Y periods will be returned. Otherwise available data from 3M and 5Y periods will be returned\n */\nexport const getFinancialRatiosDetails = async (\n\tapiInstance,\n\tvenueXid,\n\tincludeYearEndData = true\n) => {\n\tif (!apiInstance || !venueXid) return \"error\";\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.FINANCIAL_RATIOS_DETAILS_PATH}/${venueXid}`,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tincludeYearEndData,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t\tconst { data } = response.data;\n\t\tif (!data) return {};\n\n\t\tconst {\n\t\t\tthreeMonthOperations = {},\n\t\t\toneYearOperations = {},\n\t\t\tttmOperations = {},\n\t\t} = data.operations?.reduce((acc, operation) => {\n\t\t\tswitch (operation.period) {\n\t\t\t\tcase \"3M\":\n\t\t\t\t\tif (acc.threeMonthOperations) break;\n\t\t\t\t\tacc.threeMonthOperations = operation;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"1Y\":\n\t\t\t\t\tif (acc.oneYearOperations) break;\n\t\t\t\t\tacc.oneYearOperations = operation;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"TTM\":\n\t\t\t\t\tif (acc.ttmOperations) break;\n\t\t\t\t\tacc.ttmOperations = operation;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {}) || {};\n\t\tconst thing = {\n\t\t\tvenueXid,\n\t\t\tthreeMonthOperations,\n\t\t\toneYearOperations,\n\t\t\tttmOperations,\n\t\t\toperations: data.operations,\n\t\t\tvaluation: data.valuation,\n\t\t\tearningsGrowths: data.earningsGrowths,\n\t\t\tpriceEarningsRatio: formatter.number(data.valuation?.peRatio?.ttm, 2),\n\t\t\tpriceEarningsRatioFinancials: formatter.numberWithSuffix(\n\t\t\t\tdata.valuation?.peRatio?.ttm,\n\t\t\t\t2,\n\t\t\t\t\"x\"\n\t\t\t),\n\t\t\tpriceSalesRatio: formatter.numberWithSuffix(data.valuation?.psRatio?.ttm, 2, \"x\"),\n\t\t\tpriceBookRatio: formatter.numberWithSuffix(\n\t\t\t\tdata.valuation?.pbRatio?.current,\n\t\t\t\t2,\n\t\t\t\t\"x\"\n\t\t\t),\n\t\t\tdividendYield: formatter.percent(data.valuation?.dividend?.trailingYield, 2),\n\t\t\tforwardYield: formatter.percent(data.valuation?.dividend?.forwardYield, 2),\n\t\t\tpayoutRatio: formatter.percent(data.valuation?.dividend?.payoutRatio, 2, {\n\t\t\t\tshowSign: false,\n\t\t\t}),\n\t\t\tbuyBackYield: formatter.percent(data.valuation?.dividend?.buyBackYield, 2),\n\t\t\tearningsGrowth: formatter.percent(data.earningsGrowths?.dps, 2),\n\t\t\tcurrencyId: data.operations?.[0]?.financialsTtm.currencyId,\n\t\t\tfreeCashFlow: formatter.numberWithSuffix(data.valuation?.fcf?.perShare, 2),\n\t\t\tpeRatioPegForward: formatter.number(data.valuation?.peRatio?.peg?.forward, 2),\n\t\t\tgrossProfitMargin: formatter.percent(threeMonthOperations.margin?.gross, 2),\n\t\t\toperatingProfitMargin: formatter.percent(threeMonthOperations.margin?.operation, 2),\n\t\t\tcashFlowMargin: formatter.percent(threeMonthOperations.margin?.ebitda, 2),\n\t\t\tnetProfitMarginTTM: formatter.percent(ttmOperations.margin?.netProfitNormalized, 2),\n\t\t\treturnOnEquityTTM: formatter.percent(ttmOperations.roe, 2),\n\t\t\tgrossProfitMarginTTM: formatter.percent(ttmOperations.margin?.gross, 2),\n\t\t\toperatingProfitMarginTTM: formatter.percent(ttmOperations.margin?.operation, 2),\n\t\t\tcashFlowMarginTTM: formatter.percent(ttmOperations.margin?.ebitda, 2),\n\t\t\tcashFlowPerShare: formatter.price(\n\t\t\t\tdata.valuation?.cashFlow?.perShare,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\t\"\"\n\t\t\t),\n\t\t\tcashPerShare: formatter.price(\n\t\t\t\tdata.valuation?.cash?.perShare,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\t\"\"\n\t\t\t),\n\t\t\tnetProfitMargin: formatter.percent(\n\t\t\t\toneYearOperations.margin?.netProfitNormalized,\n\t\t\t\t2\n\t\t\t),\n\t\t\treturnOnEquity: formatter.percent(oneYearOperations.roe, 2),\n\t\t\trevenue: formatter.currencyMagnitude(\n\t\t\t\toneYearOperations.financialsTtm?.totalRevenueTtm,\n\t\t\t\t2,\n\t\t\t\toneYearOperations.financialsTtm?.currencyId\n\t\t\t),\n\t\t\tvaluationPerShareSales: formatter.number(data.valuation?.perShare?.sales, 2),\n\t\t\tlongTermDebtEquityRatio: formatter.percent(\n\t\t\t\tthreeMonthOperations.leverage?.longTermDebtEquityRatio,\n\t\t\t\t2\n\t\t\t),\n\t\t};\n\t\treturn thing;\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\n/**\n * Utility for fetching API data for Equities Morningstar Financial Ratios History Data\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n * @param {Boolean} includeYearEndData - If true, available data from 3M, 1Y, 3Y, 5Y, and 10Y periods will be returned. Otherwise available data from 3M and 5Y periods will be returned\n * @param {Number} numberOfPeriods -The number of periods being requested (range: 1 ≤ x ≤ 10, default: 5)\n */\nexport const getFinancialRatiosHistory = async (\n\tapiInstance,\n\tvenueXid,\n\tincludeYearEndData,\n\tnumberOfPeriods = 5\n) => {\n\tif (!apiInstance || !venueXid) return;\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.FINANCIAL_RATIOS_HISTORY_PATH}/${venueXid}`,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tincludeYearEndData,\n\t\t\t\t\tnumberOfPeriods,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t\tconst { data = {} } = response.data;\n\n\t\treturn data;\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nexport default { getFinancialRatiosDetails, getFinancialRatiosHistory };\n","import { URLS, FINANCIAL_STATEMENT_TYPE } from \"utils/constants\";\nimport {\n\tALLOWED_BALANCESHEEET_COLUMNS,\n\tFINANCIAL_DATA_FOR_HOME_PAGE,\n} from \"components/MarketsAndResearch/Financials/FinancialsCard/FinancialsConstants\";\n\n/**\n * Utility for fetching API data for equities-morningstar-financialstatements/key-data\n * @param {number} venueXid - the Xid for the symbol selected\n * @param {number} statementType - the financial statement type to return\n * @param {number} periodType - the period type of the financial statement to return\n * @param {number} numberOfPeriods - the number of periods of data to return\n */\nconst getKeyData = async (\n\tapiInstance,\n\tentityXid,\n\tstatementType,\n\tperiodType,\n\tnumberOfPeriods\n) => {\n\tif (!apiInstance || !entityXid || !statementType) {\n\t\treturn;\n\t}\n\n\tlet statementsData = {};\n\n\ttry {\n\t\tconst financialStatementResponse = await apiInstance.get(\n\t\t\t`${URLS.FINANCIAL_STATEMENTS_CHAIN_PATH}/key-data/${entityXid}`,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tstatementType: statementType,\n\t\t\t\t\tperiodType: periodType,\n\t\t\t\t\tnumberOfPeriods: numberOfPeriods,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\tif (financialStatementResponse.data?.data?.rows?.length) {\n\t\t\tstatementsData = financialStatementResponse.data.data;\n\t\t\tif (\n\t\t\t\tstatementType === FINANCIAL_STATEMENT_TYPE.BALANCE_SHEET ||\n\t\t\t\tstatementType ===\n\t\t\t\t\tFINANCIAL_STATEMENT_TYPE.BALANCE_SHEET + FINANCIAL_DATA_FOR_HOME_PAGE\n\t\t\t) {\n\t\t\t\t//No special property in API to filter data\n\t\t\t\tstatementsData.rows = statementsData.rows.filter(\n\t\t\t\t\t(x) => ALLOWED_BALANCESHEEET_COLUMNS.indexOf(x.dataPointLabel) !== -1\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn statementsData;\n\t\t} else {\n\t\t\treturn {};\n\t\t}\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nconst getFinancialStatements = async (\n\tapiInstance,\n\tentityXid,\n\tstatementType,\n\tperiodType,\n\tnumberOfPeriods\n) => {\n\tif (!apiInstance || !entityXid || !statementType) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst financialStatementResponse = await apiInstance.get(\n\t\t\t`${URLS.FINANCIAL_STATEMENTS_CHAIN_PATH}/financial-statements/${entityXid}`,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tstatementType: statementType,\n\t\t\t\t\tperiodType: periodType,\n\t\t\t\t\tnumberOfPeriods: numberOfPeriods,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\treturn financialStatementResponse.data?.data?.rows?.length\n\t\t\t? financialStatementResponse.data.data\n\t\t\t: {};\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nexport default {\n\tgetKeyData,\n\tgetFinancialStatements,\n};\n","import { URLS } from \"utils/constants\";\n\nexport const getPeersDetails = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\n\tlet peersData = [];\n\n\ttry {\n\t\tconst response = await apiInstance.get(`${URLS.PEERS_PATH}/${venueXid}`);\n\n\t\tconst data = response.data.data || null;\n\t\tif (data) {\n\t\t\tdata.forEach((element) => {\n\t\t\t\tpeersData.push({ wsodIssue: element.wsodIssue, peerRank: element.PeerRank });\n\t\t\t});\n\t\t}\n\t\treturn peersData;\n\t} catch (error) {\n\t\treturn peersData;\n\t}\n};\n\nexport default { getPeersDetails };\n","import Utils from \"utils/utils\";\nimport { URLS } from \"utils/constants\";\nimport formatter from \"utils/formatUtils\";\n\n/**\n * Utility for fetching API data for quote for a single xid\n * Uses the same API as multiquote, but is structured to only\n * pass one xid and process the results for a single result\n * @param {number} venueXid - the Xid for the symbol selected\n */\nexport const getSingleQuoteDetails = async ({\n\tapiInstance,\n\tvenueXid,\n\tmarketHoursTradeType = \"normal\",\n\tisRealTimeQuote = false,\n}) => {\n\tif (!apiInstance || !venueXid || !marketHoursTradeType) {\n\t\treturn {};\n\t}\n\n\tconst quoteData = {};\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.QUOTE_PATH}?venueXids=${venueXid}&marketHoursTradeType=${marketHoursTradeType}`,\n\t\t\t{\n\t\t\t\theaders: {\n\t\t\t\t\trealtime: isRealTimeQuote,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\tconst firstQuoteResponse = response?.data?.data?.quotes?.length\n\t\t\t? response.data.data.quotes[0]?.data\n\t\t\t: null;\n\t\t// Construct output object\n\t\tif (firstQuoteResponse) {\n\t\t\t// Price\n\t\t\tquoteData.lastPrice = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.last\")\n\t\t\t);\n\n\t\t\tquoteData.lastTradeSize = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.size\"),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tquoteData.open = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.open\")\n\t\t\t);\n\t\t\tquoteData.priceChange = Utils.getObjectPropertyValue(\n\t\t\t\tfirstQuoteResponse,\n\t\t\t\t\"lastTrade.change\"\n\t\t\t);\n\t\t\tquoteData.oneYearPriceChange = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"changeAmount.oneYear\"),\n\t\t\t\t2,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tquoteData.percentChange = Utils.getObjectPropertyValue(\n\t\t\t\tfirstQuoteResponse,\n\t\t\t\t\"changePercent.today\"\n\t\t\t);\n\t\t\tquoteData.oneYearPercentChange = formatter.percent(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"changePercent.oneYear\"),\n\t\t\t\t2,\n\t\t\t\t{ percentModifier: 0.01, showSign: true }\n\t\t\t);\n\t\t\tquoteData.close = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.close\"),\n\t\t\t\t2\n\t\t\t);\n\t\t\tquoteData.dayLow = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.low\")\n\t\t\t);\n\t\t\tquoteData.dayHigh = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"lastTrade.high\"),\n\t\t\t\t2\n\t\t\t);\n\t\t\tquoteData.yearLow = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"price52Week.low\")\n\t\t\t);\n\t\t\tquoteData.yearHigh = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"price52Week.high\"),\n\t\t\t\t2\n\t\t\t);\n\n\t\t\t/* as specified in Quote API docs\n\t\t\t * Number of shares reported outstanding for security, provided in thousands\n\t\t\t */\n\t\t\tquoteData.sharesOutstanding = formatter.numberMagnitude(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"sharesOutstanding\") * 1000,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\tquoteData.todaysChange = `${formatter.price(\n\t\t\t\tquoteData.priceChange\n\t\t\t)} (${formatter.percent(quoteData.percentChange, 2, {\n\t\t\t\tpercentModifier: 0.01,\n\t\t\t})})`;\n\n\t\t\t// quoteData.\n\t\t\tquoteData.vwap = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"vwap\")\n\t\t\t);\n\n\t\t\t// Options\n\t\t\tquoteData.bid = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"bid.price\")\n\t\t\t);\n\t\t\tquoteData.ask = formatter.price(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"ask.price\")\n\t\t\t);\n\t\t\tquoteData.bidSize = Utils.getObjectPropertyValue(firstQuoteResponse, \"bid.size\");\n\t\t\tquoteData.askSize = Utils.getObjectPropertyValue(firstQuoteResponse, \"ask.size\");\n\n\t\t\t// Volume\n\t\t\tquoteData.volume = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"volume.last\")\n\t\t\t);\n\t\t\tquoteData.blockTradeCount = formatter.number(\n\t\t\t\tUtils.getObjectPropertyValue(firstQuoteResponse, \"volume.blockCount\"),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\t// Date and Time\n\t\t\tquoteData.quoteDate = formatter.quoteTimeStamp(firstQuoteResponse.lastTrade?.date);\n\t\t\tquoteData.quoteDelayMinutes = firstQuoteResponse.quoteDelayMinutes;\n\t\t\tquoteData.realTimeQuoteIndicator = firstQuoteResponse.realTimeQuoteIndicator;\n\n\t\t\t// Exchange and Market Cap\n\t\t\tquoteData.exchangeName = firstQuoteResponse.exchange?.name;\n\t\t\tquoteData.marketCap = Utils.getQuoteMarketCapValue(firstQuoteResponse.marketCap);\n\n\t\t\treturn quoteData;\n\t\t}\n\t\treturn quoteData;\n\t} catch (error) {\n\t\treturn quoteData;\n\t}\n};\n\nexport default {\n\tgetSingleQuoteDetails,\n};\n","import { URLS, RESEARCH_IDS } from \"utils/constants\";\nimport formatter from \"utils/formatUtils\";\nimport { find } from \"lodash\";\n\nimport { mapFiltersToParams } from \"components/MarketsAndResearch/AnalystResearch/RatingsAndPriceTargetsCard/RatingsAndPriceTargetsAPIParams\";\nimport * as ResearchAPIParams from \"../../../components/MarketsAndResearch/AnalystResearch/AllResearchCard/ResearchAPIParams\";\n\nconst EMPTY_RESEARCH_OBJ = { items: [] };\n\n/**\n * Utility for fetching API data for research ratings and price targets\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n * @param {Number} limit - limit the number of news results returned\n * @param {Number} page - the page the user is on\n * @param {String} dateSelect - the time period the news articles come from\n * @param {String} sortBy - how to order the results\n * @param {String Array} providers - array of news providers\n */\nconst getResearchDetails = async (\n\tapiInstance,\n\tvenueXid,\n\tfilterData,\n\tPAGE_LIMIT,\n\tresearchOffset,\n\tcallback\n) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\n\ttry {\n\t\tconst postPayload = mapFiltersToParams(\n\t\t\tvenueXid,\n\t\t\tfilterData,\n\t\t\tPAGE_LIMIT,\n\t\t\tresearchOffset\n\t\t);\n\n\t\tconst researchRequest = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RATINGS_AND_PRICE_TARGETS_ID}/details`,\n\t\t\tpostPayload\n\t\t);\n\t\tPromise.resolve(researchRequest).then(callback);\n\t} catch (error) {\n\t\treturn EMPTY_RESEARCH_OBJ;\n\t}\n};\n\n/**\n * Utility for fetching API data for financial research details\n * @param {Object} apiInstance - api instance\n * @param {number} venueXid - the Xid for the symbol selected\n * @param {Function} successCb - callback function to execute when the api fetch is successful\n * @param {Function} failureCb - callback function to execute when the api fetch fails\n */\nconst getAndParseResearchDetails = async (\n\tapiInstance,\n\tvenueXid,\n\tsuccessCB,\n\tfailureCB\n) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\n\tconst equity = {};\n\n\tconst postPayload = {\n\t\targuments: [\n\t\t\t{\n\t\t\t\tfield: \"WSODIssue\",\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalues: [`${venueXid}`],\n\t\t\t},\n\t\t],\n\t\tsortArgument: {\n\t\t\tdirection: \"desc\",\n\t\t\tfield: \"XID\",\n\t\t},\n\t\tlimit: 20,\n\t\toffset: 0,\n\t};\n\n\ttry {\n\t\tconst response = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.FINANCIAL_DETAILS_ID}/details`,\n\t\t\tpostPayload\n\t\t);\n\t\tconst data = response.data.data || null;\n\t\tif (data && data.items && data.items.length) {\n\t\t\tconst financialsData = data.items[0];\n\t\t\tconst ratingsData =\n\t\t\t\tfinancialsData && financialsData.length > 0 ? financialsData[0] : null;\n\t\t\tconst morganStanley = financialsData.find(\n\t\t\t\t(f) => f.ProviderName === \"Morgan Stanley\"\n\t\t\t);\n\t\t\tconst morningstar = financialsData.find((f) => f.ProviderName === \"Morningstar\");\n\t\t\tif (morganStanley || morningstar) {\n\t\t\t\tequity.morganStanleyRatingNumeric = morganStanley\n\t\t\t\t\t? morganStanley.ProviderRatingNumeric\n\t\t\t\t\t: null;\n\t\t\t\tequity.morganStanleyRatingValue = morganStanley\n\t\t\t\t\t? morganStanley.ProviderRatingValue\n\t\t\t\t\t: null;\n\t\t\t\tequity.morningstarRatingNumeric = morningstar\n\t\t\t\t\t? morningstar.ProviderRatingNumeric\n\t\t\t\t\t: null;\n\t\t\t\tequity.morningstarRatingValue = morningstar\n\t\t\t\t\t? morningstar.ProviderRatingValue\n\t\t\t\t\t: null;\n\t\t\t\tequity.targetPrice = formatter.price(\n\t\t\t\t\tratingsData.TargetPrice,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\tratingsData.TargetPriceCurrency\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (successCB) {\n\t\t\t\tsuccessCB();\n\t\t\t}\n\t\t\treturn equity;\n\t\t} else {\n\t\t\tif (failureCB) {\n\t\t\t\tfailureCB();\n\t\t\t}\n\t\t\treturn \"Error\";\n\t\t}\n\t} catch (error) {\n\t\tif (failureCB) {\n\t\t\tfailureCB();\n\t\t}\n\t\treturn error;\n\t}\n};\n\n/**\n * Utility for fetching API data for research documents\n * @param {Object} apiInstance - api instance\n * @param {Number} venueXid - the Xid for the symbol selected\n * @param {Object} filterData - filter data\n * @param {Number} pageLimit - number of articles per page\n * @param {Number} offset - the first row returned\n * @param {Number} legacyCompany - the unique legacy company number\n */\nconst getResearchDocuments = async (\n\tapiInstance,\n\tvenueXid,\n\tfilterData,\n\tpageLimit,\n\toffset,\n\tlegacyCompany,\n\tshowAllResearch\n) => {\n\tif (!apiInstance || (!showAllResearch && !venueXid)) {\n\t\treturn \"error\";\n\t}\n\n\tconst researchSortArgument = {\n\t\tdirection: \"desc\",\n\t\tfield: \"DocumentDate\",\n\t};\n\tconst researchParams = ResearchAPIParams.mapFiltersToParams(\n\t\tvenueXid,\n\t\tfilterData,\n\t\tresearchSortArgument,\n\t\tpageLimit,\n\t\toffset,\n\t\tlegacyCompany\n\t);\n\n\ttry {\n\t\tconst postPayload = {\n\t\t\targsOperator: \"AND\",\n\t\t\targuments: researchParams.arguments,\n\t\t\tlimit: pageLimit,\n\t\t\toffset: offset,\n\t\t\tsortArgument: researchSortArgument,\n\t\t};\n\t\tconst response = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RESEARCH}/documents`,\n\t\t\tpostPayload\n\t\t);\n\t\tif (response?.data?.data?.items?.length) {\n\t\t\treturn response.data.data;\n\t\t}\n\t\treturn EMPTY_RESEARCH_OBJ;\n\t} catch (error) {\n\t\treturn EMPTY_RESEARCH_OBJ;\n\t}\n};\n\nconst getProviderDocumentDetails = async (apiInstance, venueXid, reportType) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"Error: No VenueXid\";\n\t}\n\n\ttry {\n\t\tconst postMessage = {\n\t\t\targsOperator: \"AND\",\n\t\t\targuments: [\n\t\t\t\t{\n\t\t\t\t\tfield: \"Module\",\n\t\t\t\t\tconditions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\tvalues: [reportType],\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\tlimit: 5,\n\t\t\toffset: 0,\n\t\t\tsortArgument: {\n\t\t\t\tdirection: \"desc\",\n\t\t\t\tfield: \"DocumentDate\",\n\t\t\t},\n\t\t};\n\t\tif (reportType === \"MorganStanleyResearch\") {\n\t\t\tpostMessage.arguments.push(\n\t\t\t\t{\n\t\t\t\t\tfield: \"PrimaryWSODIssue\",\n\t\t\t\t\tconditions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\tvalues: [`${venueXid}`],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"Module\",\n\t\t\t\t\tconditions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\tvalues: [\"CompanySpecific\"],\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} else if (reportType === \"MorningstarResearch\") {\n\t\t\tpostMessage.arguments.push(\n\t\t\t\t{\n\t\t\t\t\tfield: \"WSODIssue\",\n\t\t\t\t\tconditions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\tvalues: [`${venueXid}`],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"Module\",\n\t\t\t\t\tconditions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\tvalues: [\"CompanySpecific\"],\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\tconst response = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RESEARCH}/documents`,\n\t\t\tpostMessage\n\t\t);\n\t\tconst documentData = response.data || {};\n\t\tif (documentData && documentData.data && documentData.data.items.length) {\n\t\t\treturn documentData.data;\n\t\t}\n\t} catch (error) {\n\t\treturn EMPTY_RESEARCH_OBJ;\n\t}\n};\n\n/**\n * Utility for fetching API data for ratings and price target updates\n * @param {Object} apiInstance - api instance\n * @param {number} venueXid - the Xid for the symbol selected\n */\nconst getRatingAndPriceTargetDetails = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\n\ttry {\n\t\tconst postPayload = {\n\t\t\targuments: [\n\t\t\t\t{\n\t\t\t\t\tfield: \"WSODIssue\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalues: [`${venueXid}`],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"ProviderID\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalues: [\"809\"],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"StartDate\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalues: [\"2021-01-12\"],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"IncludeRatings\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalues: [\"0\"],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfield: \"IncludeTargetPrice\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalues: [\"1\"],\n\t\t\t\t},\n\t\t\t],\n\t\t\tsortArgument: {\n\t\t\t\tdirection: \"desc\",\n\t\t\t\tfield: \"DocumentDate\",\n\t\t\t},\n\t\t\tlimit: 1,\n\t\t\toffset: 0,\n\t\t};\n\n\t\tconst response = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RATINGS_AND_PRICE_TARGETS_ID}/details`,\n\t\t\tpostPayload\n\t\t);\n\n\t\tif (response?.data?.data?.items[0][0]) {\n\t\t\treturn response.data.data.items[0][0];\n\t\t}\n\n\t\treturn {};\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\n/**\n * Utility for fetching API data for financial research details\n * @param {Object} apiInstance - api instance\n * @param {number} venueXid - the Xid for the symbol selected\n */\nconst getResearchFinancialDetails = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn {};\n\t}\n\n\tconst postPayload = {\n\t\targuments: [\n\t\t\t{\n\t\t\t\tfield: \"WSODIssue\",\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalues: [`${venueXid}`],\n\t\t\t},\n\t\t],\n\t\tsortArgument: {\n\t\t\tdirection: \"desc\",\n\t\t\tfield: \"XID\",\n\t\t},\n\t\tlimit: 20,\n\t\toffset: 0,\n\t};\n\n\tconst researchFinancialDetails = {};\n\n\ttry {\n\t\tconst response = await apiInstance.post(\n\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.FINANCIAL_DETAILS_ID}/details`,\n\t\t\tpostPayload\n\t\t);\n\n\t\tconst data = response.data.data || null;\n\t\tif (data?.items?.length) {\n\t\t\t// Only need ratings data at the moment, which is the first array item\n\t\t\tdata.items[0].forEach((ratingData) => {\n\t\t\t\tif (ratingData.ProviderName === \"Morgan Stanley\") {\n\t\t\t\t\tresearchFinancialDetails.morganStanley = {\n\t\t\t\t\t\tratingDate: ratingData.RatingDate,\n\t\t\t\t\t\tratingNumeric: ratingData.ProviderRatingNumeric,\n\t\t\t\t\t\tratingChangeDate: ratingData.RatingChangeDate,\n\t\t\t\t\t\tratingChangeType: ratingData.RatingChangeType,\n\t\t\t\t\t\ttargetPrice: ratingData.TargetPrice,\n\t\t\t\t\t\ttargetCurrency: ratingData.TargetPriceCurrency,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (ratingData.ProviderName === \"Morningstar\") {\n\t\t\t\t\tresearchFinancialDetails.morningstar = {\n\t\t\t\t\t\tratingDate: ratingData.RatingDate,\n\t\t\t\t\t\tratingNumeric: ratingData.ProviderRatingNumeric,\n\t\t\t\t\t\tratingChangeDate: ratingData.RatingChangeDate,\n\t\t\t\t\t\tratingChangeType: ratingData.RatingChangeType,\n\t\t\t\t\t\ttargetPrice: ratingData.TargetPrice,\n\t\t\t\t\t\teconomicMoat: ratingData.EconomicMoat,\n\t\t\t\t\t\teconomicMoatDate: ratingData.EconomicMoatDate,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet financialLabel = {};\n\t\t\tif (data.items && data.items.length && data.items[1]) {\n\t\t\t\tfinancialLabel = data.items[1];\n\t\t\t}\n\t\t\tconst bear = find(financialLabel, {\n\t\t\t\tProviderFinancialLabel: \"BearValuePerShare\",\n\t\t\t});\n\t\t\tconst base = find(financialLabel, {\n\t\t\t\tProviderFinancialLabel: \"BaseValuePerShare\",\n\t\t\t});\n\t\t\tconst bull = find(financialLabel, {\n\t\t\t\tProviderFinancialLabel: \"BullValuePerShare\",\n\t\t\t});\n\t\t\tbear\n\t\t\t\t? (researchFinancialDetails.morganStanley.bear = bear)\n\t\t\t\t: (researchFinancialDetails.morganStanley.bear = undefined);\n\t\t\tbase\n\t\t\t\t? (researchFinancialDetails.morganStanley.base = base)\n\t\t\t\t: (researchFinancialDetails.morganStanley.base = undefined);\n\t\t\tbull\n\t\t\t\t? (researchFinancialDetails.morganStanley.bull = bull)\n\t\t\t\t: (researchFinancialDetails.morganStanley.bull = undefined);\n\t\t}\n\n\t\treturn researchFinancialDetails;\n\t} catch (error) {\n\t\treturn researchFinancialDetails;\n\t}\n};\n\nconst getEquitiesMorningStarPeerResults = async (apiInstance, venueXid) => {\n\tif (!apiInstance || !venueXid) {\n\t\treturn \"error\";\n\t}\n\n\ttry {\n\t\tconst response = await apiInstance.get(`${URLS.PEERS_PATH}/${venueXid}`);\n\t\tconst data = response.data.data || null;\n\t\tlet peersData = [];\n\t\tif (data) {\n\t\t\tdata.forEach((element) => {\n\t\t\t\tpeersData.push({ wsodIssue: element.wsodIssue, peerRank: element.PeerRank });\n\t\t\t});\n\t\t\treturn peersData;\n\t\t}\n\t} catch (error) {\n\t\tif (error && error.response && error.response.status === 404) {\n\t\t\treturn [];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n};\n\nexport default {\n\tgetResearchDetails,\n\tgetAndParseResearchDetails,\n\tgetResearchDocuments,\n\tgetProviderDocumentDetails,\n\tgetRatingAndPriceTargetDetails,\n\tgetResearchFinancialDetails,\n\tgetEquitiesMorningStarPeerResults,\n};\n","import { URLS } from \"utils/constants\";\n\n/**\n * Utility for fetching a list of Sec Filings documents from the Sec Filings API\n * @param {number} cik - central index key (SEC ID)\n * @param {number} startDate - date from which to get filings\n * @param {number} endDate - date up to which to get filings\n * @param {number} formType - filing form type (10-Q, 11-k, etc)\n * @param {number} limit - pagination limit\n * @param {number} offset - pagination offset\n */\nconst getDocumentList = async (\n\tapiInstance,\n\t{ cik, startDate, endDate, formType = \"\", limit = 20, offset = 0 }\n) => {\n\tif (!apiInstance || (!startDate && !endDate)) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.SEC_FILING_PATH}/${cik}?offset=${offset}&limit=${limit}&sort=-filingDate`,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tstartDate: startDate,\n\t\t\t\t\tendDate: endDate,\n\t\t\t\t\tformType: formType,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\treturn response?.data?.data || {};\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\n/**\n * Utility for fetching an Sec Filing document from the Sec Filings API\n * @param {Object} feedId - a single stream of similarly formatted data from a single source\n * @param {number} documentTag - an identifier that uniquely identifies a document within a feed\n */\nconst getDocument = async (apiInstance, feedId, documentTag) => {\n\tif (!apiInstance || (!feedId && !documentTag)) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t`${URLS.SEC_FILINGS_PDF_PATH}/${feedId}-${documentTag}`,\n\t\t\t{\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: \"application/pdf\",\n\t\t\t\t},\n\t\t\t\tresponseType: \"blob\",\n\t\t\t}\n\t\t);\n\n\t\tif (response?.data) {\n\t\t\t//Create a Blob from the PDF Stream\n\t\t\tconst file = new Blob([response.data], { type: \"application/pdf\" });\n\n\t\t\tvar fileUrl = URL.createObjectURL(file);\n\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tdocument.body.appendChild(a);\n\t\t\ta.style = \"display: none\";\n\t\t\ta.href = fileUrl;\n\t\t\ta.click();\n\t\t\ta.remove();\n\n\t\t\tsetTimeout(function () {\n\t\t\t\twindow.URL.revokeObjectURL(fileUrl);\n\t\t\t}, 100);\n\t\t}\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nexport default {\n\tgetDocumentList,\n\tgetDocument,\n};\n","import PeerComparisonProfitabilityCard from \"components/MarketsAndResearch/Overview/PeerComparisonCard/PeerComparisonProfitabilityCard/PeerComparisonProfitabilityCard\";\nimport { URLS } from \"utils/constants\";\n\nconst EMPTY_XREFS = [];\n/**\n * Utility for fetching XREF API data for list of venueXids\n * @param {Object} apiInstance - api instance\n * @param {Object[]} venueXids - an array of Xids\n */\nconst getXrefs = async (apiInstance, venueXids) => {\n\tif (!apiInstance || !venueXids || !venueXids.length) {\n\t\treturn EMPTY_XREFS;\n\t}\n\n\ttry {\n\t\tconst response = await apiInstance.get(\n\t\t\t// Use the /venue-xids path to get symbol data from the given venueXids\n\t\t\tURLS.XREF_XID_PATH,\n\t\t\t{\n\t\t\t\tparams: {\n\t\t\t\t\tvenueXids: venueXids.join(\",\"),\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\n\t\tif (response?.data?.data?.items?.length) {\n\t\t\treturn response.data.data.items;\n\t\t}\n\n\t\treturn EMPTY_XREFS;\n\t} catch (error) {\n\t\treturn EMPTY_XREFS;\n\t}\n};\n\nconst getXrefBySymbol = async (apiInstance, symbol, successCb, failureCb) => {\n\tif (!apiInstance || !symbol) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst { data } = await apiInstance.get(`${URLS.XREF_SYMBOL_PATH}/${symbol}`);\n\t\tconst xrefResults = data?.data;\n\t\tif (xrefResults) {\n\t\t\tconst { xids = {} } = xrefResults;\n\t\t\txids.entity = xids.warrantUnderlyingEntity || xids.entity;\n\t\t\txrefResults.xids = xids;\n\t\t\tsuccessCb();\n\t\t\treturn xrefResults;\n\t\t}\n\t} catch (error) {\n\t\tfailureCb(error);\n\t}\n};\n\nconst getPredictiveSearchResults = async (apiInstance, searchTerm) => {\n\tif (!apiInstance || !searchTerm) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst xrefResponse = await apiInstance.get(\n\t\t\t`${URLS.XREF_PREDICTIVE_SEARCH_PATH}?term=${searchTerm}`\n\t\t);\n\n\t\tif (xrefResponse.data?.data) {\n\t\t\treturn xrefResponse.data.data;\n\t\t}\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nexport default { getXrefs, getXrefBySymbol, getPredictiveSearchResults };\n","import { createTypes } from \"reduxsauce\";\n\n// createTypes take second optional argument, with options 'prefix' useful for namespacing\nexport default createTypes(`\n\tQUOTE_API_TRANSITION\n\tOPTIONS_API_TRANSITION\n\tNEWS_API_TRANSITION\n\tXREF_API_TRANSITION\n\tXREF_OPTION_API_TRANSITION\n\tDIVIDENDS_API_TRANSITION\n\tSTOCK_SPLITS_API_TRANSITION\n\tTAKEOVERS_API_TRANSITION\n\tHISTORICAL_DIVIDENDS_API_TRANSITION\n\tEARNINGS_API_TRANSITION\n\tEARNINGS_ESTIMATES_CURRENT_API_TRANSITION\n\tEARNINGS_ESTIMATES_TRENDS_API_TRANSITION\n\tEARNINGS_ESTIMATES_TRENDS_ANNUAL_API_TRANSITION\n\tEARNINGS_DETAILS_API_TRANSITION\n\tEXP_DATES_API_TRANSITION\n\tTREASURY_YIELD_API_TRANSITION\n\tUSER_INFO_API_TRANSITION\n\tSTRIKES_FILTER_COUNT_UPDATE\n\tSTRIKES_CUSTOM_LOW_HIGH_UPDATE\n\tEXP_FILTER_DATES_UPDATE\n\tSAVE_EXP_FILTER_DATES\n\tEXP_DATES_SELECTED\n\tUPDATE_SHOW_MONTHLY_EXPIRATION\n\tSAVE_EARNINGS_DATA\n\tUPDATE_OPTIONS_PAGE_PARAMS\n\tUPDATE_OPTIONS_VIEW_TYPE\n\tSAVE_SELECTED_OPTION_DATA\n\tSAVE_IS_OPTIONS_TRADE_ENABLED\n\tRESEARCH_API_TRANSITION\n\tRESEARCH_DOCUMENT_TRANSITION\n\tSAVE_RESEARCH_FINANCIAL_DETAILS_DATA\n\tSAVE_RESEARCH_PDF_DATA\n\tRESEARCH_PDF_API_TRANSITION\n\tMSTAR_CLASSIFICATION_TRANSITION\n\tFINANCIAL_RATIOS_API_TRANSITION\n\tFINANCIAL_RATIOS_HISTORY_API_TRANSITION\n\tOVERVIEW_INSIGHT_TRANSITION\n\tSAVE_QUOTE_DATA\n\tSAVE_DIVIDENDS_DATA\n\tSAVE_STOCK_SPLITS_DATA\n\tSAVE_TAKEOVERS_DATA\n\tSAVE_HISTORICAL_DIVIDENDS_DATA\n\tSAVE_FINANCIAL_RATIOS_DATA\n\tSAVE_EARNINGS_ESTIMATES_CURRENT_DATA\n\tSAVE_EARNINGS_ESTIMATES_TRENDS_DATA\n\tSAVE_EARNINGS_ESTIMATES_TRENDS_ANNUAL_DATA\n\tSAVE_EARNINGS_DETAILS_DATA\n\tSAVE_FINANCIAL_RATIOS_HISTORY_DATA\n\tSAVE_RESEARCH_FINANCIAL_DETAILS_DATA\n\tSAVE_MORNINGSTAR_DOCUMENT_DETAILS_DATA\n\tSAVE_MORGANSTANLEY_DOCUMENT_DETAILS_DATA\n\tSAVE_NEWS_DATA\n\tOVERVIEW_INSIGHT_TRANSITION\n\tEQUITIES_MORNING_STAR_PEER_API_TRANSITION\n\tSAVE_EQUITIES_MORNING_STAR_PEER_DATA\n\tEQUITIES_MORNING_STAR_GENERAL_INFO_API_TRANSITION\n\tEQUITIES_MORNING_STAR_MANAGEMENT_API_TRANSITION\n\tEQUITIES_MORNING_STAR_ASSET_CLASSIFICATION_API_TRANSITION\n\tSAVE_EQUITIES_MORNING_STAR_GENERAL_INFO_DATA\n\tSAVE_EQUITIES_MORNING_STAR_MANAGEMENT_DATA\n\tSAVE_EQUITIES_MORNING_STAR_ASSET_CLASSIFICATION_DATA\n\tINCOMESTATEMENTTABLE_API_TRANSITION\n\tSAVE_INCOMESTATEMENTTABLE_API_TRANSITION\n\tINCOMESTATEMENT_OVERVIEW_API_TRANSITION\n\tSAVE_INCOMESTATEMENT_OVERVIEW_API_TRANSITION\n\tINCOMESTATEMENT_OVERVIEW_RATIO_API_TRANSITION\n\tSAVE_INCOMESTATEMENT_OVERVIEW_RATIO_API_TRANSITION\n\tUPDATE_MARKETS_RESEARCH_ROUTE_NAME\n\tSAVE_EARNINGS_CHART_PERIODICITY\n\tSAVE_XREF_SYMBOLS_DATA\n\tXREF_SYMBOLS_API_TRANSITION\n\tSAVE_DIVIDENDS_GROWTH_RATE_DATA\n\tDIVIDENDS_GROWTH_RATE_API_TRANSITION\n\tUSER_PREFERENCE_API_TRANSITION\n`);\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeQuoteResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_QUOTE_DATA,\n\t\tquoteData: results,\n\t};\n};\n\nconst fetchQuote = (\n\tapiInstance,\n\tvenueXid,\n\tmarketHoursTradeType,\n\tisMultiQuote = false,\n\trealtime = false\n) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tconst venueXids = Array.isArray(venueXid) ? venueXid : [venueXid];\n\t\tif (\n\t\t\t!apiInstance ||\n\t\t\t!venueXids ||\n\t\t\t!venueXids.length ||\n\t\t\t!venueXids[0] ||\n\t\t\t!marketHoursTradeType\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.QUOTE_API_TRANSITION, name: \"load\" });\n\n\t\tconst { quoteReducer } = getState();\n\t\tif (quoteReducer.quoteDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst quoteResponse = await apiInstance.get(`${URLS.QUOTE_PATH}`, {\n\t\t\t\theaders: {\n\t\t\t\t\trealtime: realtime,\n\t\t\t\t},\n\t\t\t\tparams: {\n\t\t\t\t\tvenueXids: venueXids.join(\",\"),\n\t\t\t\t\tmarketHoursTradeType: marketHoursTradeType,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst quote = quoteResponse.data.data || {};\n\t\t\tif (quote.quotes && quote.quotes.length > 0 && quote.quotes[0].data) {\n\t\t\t\tlet quoteData = quote.quotes[0].data;\n\t\t\t\tif (isMultiQuote) {\n\t\t\t\t\tquoteData = quote.quotes;\n\t\t\t\t}\n\t\t\t\tdispatch({ type: actionTypes.QUOTE_API_TRANSITION, name: \"success\" });\n\t\t\t\tdispatch(storeQuoteResults(quoteData));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.QUOTE_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n};\n\nexport default { fetchQuote };\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeDividendsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_DIVIDENDS_DATA,\n\t\tdividendsData: results,\n\t};\n};\nconst storeHistoricalDividendsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_HISTORICAL_DIVIDENDS_DATA,\n\t\thistoricalDividendsData: results,\n\t};\n};\n\nconst fetchDividends = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"load\" });\n\n\t\tconst { optionsReducer } = getState();\n\t\tif (optionsReducer.dividendsDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.DIVIDENDS_PATH}/${venueXid}/current`\n\t\t\t);\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"success\" });\n\t\t\t\tdispatch(storeDividendsResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error.response.data.error.message === \"No results found for venueXid\") {\n\t\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"success\" });\n\t\t\t\tdispatch(storeDividendsResults({}));\n\t\t\t} else {\n\t\t\t\tdispatch({ type: actionTypes.DIVIDENDS_API_TRANSITION, name: \"failure\" });\n\t\t\t\tdispatch(storeDividendsResults(null));\n\t\t\t}\n\t\t}\n\t};\n};\n\nconst fetchHistoricalDividends = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.HISTORICAL_DIVIDENDS_API_TRANSITION, name: \"load\" });\n\n\t\tconst { optionsReducer } = getState();\n\t\tif (optionsReducer.historicalDividendsDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.DIVIDENDS_PATH}/${venueXid}/historical-events?sortDirection=desc&numberOfResults=16`\n\t\t\t);\n\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.HISTORICAL_DIVIDENDS_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeHistoricalDividendsResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.HISTORICAL_DIVIDENDS_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t\tdispatch(storeHistoricalDividendsResults(null));\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchDividends,\n\tfetchHistoricalDividends,\n};\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeFinancialRatiosResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_FINANCIAL_RATIOS_DATA,\n\t\tfinancialRatiosData: results,\n\t};\n};\n\nconst fetchFinancialRatios = (apiInstance, venueXid, includeYearEndData) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.FINANCIAL_RATIOS_API_TRANSITION, name: \"load\" });\n\n\t\tconst { optionsReducer } = getState();\n\t\tif (optionsReducer.ratiosDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.FINANCIAL_RATIOS_DETAILS_PATH}/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tincludeYearEndData: includeYearEndData,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdata.venueXid = venueXid;\n\t\t\t\tdispatch({ type: actionTypes.FINANCIAL_RATIOS_API_TRANSITION, name: \"success\" });\n\t\t\t\tdispatch(storeFinancialRatiosResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.FINANCIAL_RATIOS_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchFinancialRatios,\n};\n","import actionTypes from \"./actionTypes\";\nimport { URLS, PERIODICITY_OPTIONS } from \"../../utils/constants\";\n\n//action creator\nconst storeEarningsChartPeriodicity = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_CHART_PERIODICITY,\n\t\tearningsChartPeriodicity: results,\n\t};\n};\n\nconst storeEarningsEstimatesCurrentResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_ESTIMATES_CURRENT_DATA,\n\t\tearningsEstimatesCurrentData: results,\n\t};\n};\n\nconst storeEarningsEstimatesTrendsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_ESTIMATES_TRENDS_DATA,\n\t\tearningsEstimatesTrendsData: results,\n\t};\n};\n\nconst storeAllAnnualEarningsEstimatesTrendsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_ESTIMATES_TRENDS_ANNUAL_DATA,\n\t\tearningsEstimatesTrendsAnnualData: results,\n\t};\n};\n\nconst fetchEarningsEstimatesCurrent = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({\n\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_CURRENT_API_TRANSITION,\n\t\t\tname: \"load\",\n\t\t});\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.EARNINGS_ESTIMATES_CURRENT_PATH}/${venueXid}`\n\t\t\t);\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_CURRENT_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeEarningsEstimatesCurrentResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_CURRENT_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t\tdispatch(storeEarningsEstimatesCurrentResults(null));\n\t\t}\n\t};\n};\n\nconst fetchEarningsEstimatesTrends = (\n\tapiInstance,\n\tvenueXid,\n\tperiodicity,\n\tnumEstimatePeriods,\n\tnumHistoricalPeriods\n) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn \"error\";\n\t\t}\n\t\tdispatch({\n\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_API_TRANSITION,\n\t\t\tname: \"load\",\n\t\t});\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.EARNINGS_ESTIMATES_TRENDS_PATH}/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tperiodicity: periodicity\n\t\t\t\t\t\t\t? periodicity.toLowerCase()\n\t\t\t\t\t\t\t: PERIODICITY_OPTIONS.QUARTERLY,\n\t\t\t\t\t\tnumberOfEstimatePeriods: numEstimatePeriods,\n\t\t\t\t\t\tincludeHistory: true,\n\t\t\t\t\t\tnumberOfHistoricalPeriods: numHistoricalPeriods,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeEarningsEstimatesTrendsResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t\tdispatch(storeEarningsEstimatesTrendsResults(null));\n\t\t}\n\t};\n};\n\nconst fetchAllAnnualEarningsEstimatesTrends = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({\n\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_ANNUAL_API_TRANSITION,\n\t\t\tname: \"load\",\n\t\t});\n\n\t\tconst { equitiesReducer } = getState();\n\t\tif (equitiesReducer.earningsEstimatesTrendsAnnualDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.EARNINGS_ESTIMATES_TRENDS_PATH}/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tperiodicity: PERIODICITY_OPTIONS.ANNUAL,\n\t\t\t\t\t\tnumberOfEstimatePeriods: 8,\n\t\t\t\t\t\tincludeHistory: true,\n\t\t\t\t\t\tnumberOfHistoricalPeriods: 5,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_ANNUAL_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeAllAnnualEarningsEstimatesTrendsResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.EARNINGS_ESTIMATES_TRENDS_ANNUAL_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t\tdispatch(storeAllAnnualEarningsEstimatesTrendsResults(null));\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchEarningsEstimatesCurrent,\n\tfetchEarningsEstimatesTrends,\n\tfetchAllAnnualEarningsEstimatesTrends,\n\tstoreEarningsChartPeriodicity,\n};\n","import actionTypes from \"./actionTypes\";\nimport { URLS, RESEARCH_IDS } from \"utils/constants\";\n\nconst storeMorningstarDocumentDetailsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_MORNINGSTAR_DOCUMENT_DETAILS_DATA,\n\t\tmorningstarDocumentsData: results,\n\t};\n};\n\nconst storeMSDocumentDetailsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_MORGANSTANLEY_DOCUMENT_DETAILS_DATA,\n\t\tmsDocumentsData: results,\n\t};\n};\n\nconst storeResearchPdfResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_RESEARCH_PDF_DATA,\n\t\tresearchPdfData: results,\n\t};\n};\n\nconst fetchDocumentDetails = (apiInstance, venueXid, reportType) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.RESEARCH_API_TRANSITION, name: \"load\" });\n\n\t\tconst { researchReducer } = getState();\n\t\tif (researchReducer.researchDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.post(\n\t\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RESEARCH}/documents`,\n\t\t\t\t{\n\t\t\t\t\targsOperator: \"AND\",\n\t\t\t\t\targuments: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"WSODIssue\",\n\t\t\t\t\t\t\tconditions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\t\t\tvalues: [`${venueXid}`],\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\t{\n\t\t\t\t\t\t\tfield: \"Module\",\n\t\t\t\t\t\t\tconditions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\toperator: \"EqualTo\",\n\t\t\t\t\t\t\t\t\tvalues: [reportType],\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\tlimit: 5,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tsortArgument: {\n\t\t\t\t\t\tdirection: \"desc\",\n\t\t\t\t\t\tfield: \"DocumentDate\",\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst documentData = response.data || {};\n\t\t\tif (documentData && documentData.data && documentData.data.items.length) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.RESEARCH_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tswitch (reportType) {\n\t\t\t\t\tcase \"MorningstarResearch\":\n\t\t\t\t\t\tdispatch(storeMorningstarDocumentDetailsResults(documentData.data));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"MorganStanleyResearch\":\n\t\t\t\t\t\tdispatch(storeMSDocumentDetailsResults(documentData.data));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.RESEARCH_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n};\n\nconst fetchResearchPDF = (apiInstance, documentId) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !documentId) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.RESEARCH_PDF_API_TRANSITION, name: \"load\" });\n\t\tconst { researchReducer } = getState();\n\t\tif (researchReducer.researchPdfStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.RESEARCH_PATH}/${RESEARCH_IDS.RESEARCH}/documents/${documentId}/component-type/PRES`,\n\t\t\t\t{\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: \"application/pdf\",\n\t\t\t\t\t},\n\t\t\t\t\tresponseType: \"blob\",\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst data = response.data || null;\n\t\t\tif (data) {\n\t\t\t\t//Create a Blob from the PDF Stream\n\t\t\t\tconst file = new Blob([data], { type: \"application/pdf\" });\n\n\t\t\t\tconst fileURL = URL.createObjectURL(file);\n\t\t\t\tconst a = document.createElement(\"a\");\n\t\t\t\tdocument.body.appendChild(a);\n\t\t\t\ta.style = \"display: none\";\n\t\t\t\ta.href = fileURL;\n\t\t\t\ta.click();\n\t\t\t\ta.remove();\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\twindow.URL.revokeObjectURL(fileURL);\n\t\t\t\t}, 100);\n\t\t\t\tdispatch({ type: actionTypes.RESEARCH_PDF_API_TRANSITION, name: \"success\" });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.RESEARCH_PDF_API_TRANSITION, name: \"failure\" });\n\t\t\tdispatch(storeResearchPdfResults(null));\n\t\t}\n\t};\n};\n\nexport default { fetchDocumentDetails, fetchResearchPDF };\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeEquitiesMorningStarPeerResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EQUITIES_MORNING_STAR_PEER_DATA,\n\t\tequitiesMorningStarPeerData: results,\n\t};\n};\n\nconst fetchEquitiesMorningStarPeer = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({\n\t\t\ttype: actionTypes.EQUITIES_MORNING_STAR_PEER_API_TRANSITION,\n\t\t\tname: \"load\",\n\t\t});\n\n\t\tconst { equitiesReducer } = getState();\n\t\tif (equitiesReducer.equitiesMorningStarPeerDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(`${URLS.PEERS_PATH}/${venueXid}`);\n\t\t\tconst data = response.data.data || null;\n\t\t\tlet peersData = [];\n\t\t\tif (data) {\n\t\t\t\tdata.forEach((element) => {\n\t\t\t\t\tpeersData.push({ wsodIssue: element.wsodIssue, peerRank: element.PeerRank });\n\t\t\t\t});\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EQUITIES_MORNING_STAR_PEER_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeEquitiesMorningStarPeerResults(peersData));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error && error.response && error.response.status === 404) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EQUITIES_MORNING_STAR_PEER_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeEquitiesMorningStarPeerResults([]));\n\t\t\t} else {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.EQUITIES_MORNING_STAR_PEER_API_TRANSITION,\n\t\t\t\t\tname: \"failure\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeEquitiesMorningStarPeerResults(null));\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchEquitiesMorningStarPeer,\n};\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeXrefSymbolsResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_XREF_SYMBOLS_DATA,\n\t\txrefSymbolsData: results,\n\t};\n};\n\nconst fetchXrefSymbols = (apiInstance, venueXids) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXids || !venueXids.length) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.XREF_SYMBOLS_API_TRANSITION, name: \"load\" });\n\n\t\tconst { xrefReducer } = getState();\n\t\tif (xrefReducer.xrefSymbolsDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t// Use the /venue-xids path to get symbol data from the given venueXids\n\t\t\t\tURLS.XREF_XID_PATH,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tvenueXids: venueXids.join(\",\"),\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst data = response.data.data.items || null;\n\t\t\tif (data) {\n\t\t\t\tdispatch({ type: actionTypes.XREF_SYMBOLS_API_TRANSITION, name: \"success\" });\n\t\t\t\tdispatch(storeXrefSymbolsResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.XREF_SYMBOLS_API_TRANSITION, name: \"failure\" });\n\t\t\tdispatch(storeXrefSymbolsResults(null));\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchXrefSymbols,\n};\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\n//action creator\nconst storeDividendsRatioResults = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_DIVIDENDS_GROWTH_RATE_DATA,\n\t\tdividendsGrowthRateData: results,\n\t};\n};\n\nconst fetchDividendsGrowthRate = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.DIVIDENDS_GROWTH_RATE_API_TRANSITION, name: \"load\" });\n\t\ttry {\n\t\t\tconst response = await apiInstance.get(\n\t\t\t\t`${URLS.FINANCIAL_RATIOS_DETAILS_PATH}/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tincludeYearEndData: true,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst data = response.data.data || null;\n\t\t\tif (data) {\n\t\t\t\tdata.venueXid = venueXid;\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: actionTypes.DIVIDENDS_GROWTH_RATE_API_TRANSITION,\n\t\t\t\t\tname: \"success\",\n\t\t\t\t});\n\t\t\t\tdispatch(storeDividendsRatioResults(data));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.DIVIDENDS_GROWTH_RATE_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t}\n\t};\n};\n\nexport default { fetchDividendsGrowthRate };\n","import actionTypes from \"./actionTypes\";\nimport { URLS } from \"../../utils/constants\";\n\nimport QuoteActionCreator from \"./quoteActions\";\nimport DividendsActionCreator from \"./dividendsActions\";\nimport FinancialRatiosActionCreator from \"./financialRatiosActions\";\nimport EarningsEstimatesActionCreator from \"./earningsEstimatesActions\";\nimport ResearchActionCreator from \"./researchActions\";\nimport PeerComparisonActionCreator from \"./peerComparisonActions\";\nimport XrefActionCreator from \"./xrefActions\";\nimport DividendsGrowthRateActionCreator from \"./dividendsGrowthRateActions\";\n\n//action creators\nconst storeResultsExpirationDates = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EXP_FILTER_DATES,\n\t\tdates: results,\n\t};\n};\n\nconst storeEarningsDetailsData = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_DETAILS_DATA,\n\t\tearningsDetails: results,\n\t};\n};\n\nconst fetchExpirationDates = (apiInstance, venueXid, contractTerm) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!apiInstance || !venueXid) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch({ type: actionTypes.EXP_DATES_API_TRANSITION, name: \"load\" });\n\n\t\tconst tempContractTerm = contractTerm || \"all\"; //possible values: all, weekly, monthly, quarterly\n\t\ttry {\n\t\t\tconst expirationDates = await apiInstance.get(\n\t\t\t\t`${URLS.OPTIONS_PATH}/expirationdates/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tcontractTerm: tempContractTerm,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\t\t\tif (expirationDates.data.data) {\n\t\t\t\tconst { dates } = expirationDates.data.data;\n\t\t\t\tif (Object.keys(dates).length === 0) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: actionTypes.EXP_DATES_API_TRANSITION,\n\t\t\t\t\t\tname: \"failure\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: actionTypes.EXP_DATES_API_TRANSITION,\n\t\t\t\t\t\tname: \"success\",\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(storeResultsExpirationDates(dates));\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.EXP_DATES_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n};\n\nconst fetchEarningsDetailsData = (apiInstance, venueXid) => {\n\treturn async (dispatch, getState) => {\n\t\tif (!venueXid) {\n\t\t\treturn \"error\";\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: actionTypes.EARNINGS_DETAILS_API_TRANSITION,\n\t\t\tname: \"load\",\n\t\t});\n\n\t\tconst { earningsReducer } = getState();\n\t\tif (earningsReducer.earningsDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst earningsData = await apiInstance.get(\n\t\t\t\t`${URLS.EARNINGS_DETAILS_PATH}/${venueXid}`,\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tperiodicity: \"ttm\",\n\t\t\t\t\t\tyearsOfHistory: 5,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.EARNINGS_DETAILS_API_TRANSITION,\n\t\t\t\tname: \"success\",\n\t\t\t});\n\t\t\tdispatch(storeEarningsDetailsData(earningsData));\n\t\t} catch (error) {\n\t\t\tdispatch({\n\t\t\t\ttype: actionTypes.EARNINGS_DETAILS_API_TRANSITION,\n\t\t\t\tname: \"failure\",\n\t\t\t});\n\t\t}\n\t};\n};\n\nconst storeEarningsData = (results) => {\n\treturn {\n\t\ttype: actionTypes.SAVE_EARNINGS_DATA,\n\t\tearnings: results,\n\t};\n};\n\nconst fetchEarningsData = (apiInstance, venueXid) => {\n\t//async here - dispatch here will get set by redux-thunk\n\treturn async (dispatch, getState) => {\n\t\tif (!venueXid) {\n\t\t\treturn \"error\";\n\t\t}\n\t\tdispatch({ type: actionTypes.EARNINGS_API_TRANSITION, name: \"load\" });\n\n\t\tconst { optionsReducer } = getState();\n\t\tif (optionsReducer.earningsDataStatus !== \"FETCHING\") {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst earningsData = await apiInstance.get(`${URLS.EARNINGS_PATH}/${venueXid}`, {});\n\n\t\t\tif (earningsData.data.data) {\n\t\t\t\tconst { estimate } = earningsData.data.data;\n\t\t\t\tif (estimate && estimate.eps && estimate.nextReport) {\n\t\t\t\t\tconst results = {\n\t\t\t\t\t\treportDate: estimate.nextReport.reportDate,\n\t\t\t\t\t\testimate: estimate.eps.currentQuarter.mean,\n\t\t\t\t\t};\n\n\t\t\t\t\tdispatch({ type: actionTypes.EARNINGS_API_TRANSITION, name: \"success\" });\n\t\t\t\t\tdispatch(storeEarningsData(results));\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tdispatch({ type: actionTypes.EARNINGS_API_TRANSITION, name: \"failure\" });\n\t\t}\n\t};\n};\n\nexport default {\n\tfetchExpirationDates,\n\tfetchEarningsData,\n\tfetchEarningsDetailsData,\n\tfetchQuoteData: QuoteActionCreator.fetchQuote,\n\tfetchDividendsData: DividendsActionCreator.fetchDividends,\n\tfetchHistoricalDividendsData: DividendsActionCreator.fetchHistoricalDividends,\n\tfetchFinancialRatiosData: FinancialRatiosActionCreator.fetchFinancialRatios,\n\tfetchFinancialRatiosHistoryData:\n\t\tFinancialRatiosActionCreator.fetchFinancialRatiosHistory,\n\tfetchEarningsEstimatesCurrentData:\n\t\tEarningsEstimatesActionCreator.fetchEarningsEstimatesCurrent,\n\tfetchEarningsEstimatesTrendsData:\n\t\tEarningsEstimatesActionCreator.fetchEarningsEstimatesTrends,\n\tfetchAllAnnualEarningsEstimatesTrendsData:\n\t\tEarningsEstimatesActionCreator.fetchAllAnnualEarningsEstimatesTrends,\n\tfetchDocumentDetailsData: ResearchActionCreator.fetchDocumentDetails,\n\tfetchResearchPdfData: ResearchActionCreator.fetchResearchPDF,\n\tfetchEquitiesMorningStarPeer: PeerComparisonActionCreator.fetchEquitiesMorningStarPeer,\n\tsetEarningsChartPeriodicity:\n\t\tEarningsEstimatesActionCreator.storeEarningsChartPeriodicity,\n\tfetchXrefSymbolsData: XrefActionCreator.fetchXrefSymbols,\n\tfetchDividendsGrowthRateData: DividendsGrowthRateActionCreator.fetchDividendsGrowthRate,\n};\n","export default {\n\tIDLE: \"IDLE\",\n\tFETCHING: \"FETCHING\",\n\tERROR: \"ERROR\",\n};\n","class StateStorage {\n\tconstructor({ key }) {\n\t\tthis.key = key;\n\t}\n\n\tget() {\n\t\tif (this.parsedValue) {\n\t\t\treturn this.parsedValue;\n\t\t}\n\t\tthis.parsedValue = JSON.parse(localStorage.getItem(this.key)) || {};\n\t\treturn this.parsedValue;\n\t}\n\n\tset(args, overrideExisting) {\n\t\tlet storedState = {};\n\t\tif (!overrideExisting) {\n\t\t\tstoredState = this.get();\n\t\t}\n\t\tstoredState = { ...storedState, ...args };\n\t\tthis.parsedValue = storedState;\n\t\tlocalStorage.setItem(this.key, JSON.stringify(storedState));\n\t}\n}\nexport default StateStorage;\n","//Please note that the news url path does not include the version number in order to accomodate the pattern that document links are returned. Please do not add a version without updating news API calls in the project\nexport const URLS = {\n\tALPHA_BETA_STATS: \"/equities-morningstar-alphabetastatistics/v1/alpha-beta-statistics\",\n\tCHARTWORKS_SERIES_PATH: \"/apiman-gateway/MOD/chartworks-data/1.0/\",\n\tDIVIDENDS_PATH: \"/corporateactions-dividends/v1\",\n\tEARNINGS_DETAILS_PATH: \"/equities-morningstar-earnings/v1/details\",\n\tEARNINGS_ESTIMATES_CURRENT_PATH: \"/equities-morningstar-estimates/v1/current\",\n\tEARNINGS_ESTIMATES_TRENDS_PATH: \"/equities-morningstar-estimates/v1/trends\",\n\tEARNINGS_PATH: \"/equities-ibes-estimates/v1/current\",\n\tEQ_MSTAR_CLASSIFICATION_DETAILS_PATH:\n\t\t\"/equities-morningstar-assetclassification/v1/details\",\n\tEQUITIES_MORNING_STAR_GECS: \"/equities-morningstar-gecs/v1/\",\n\tEQUITIES_MORNING_STAR_GENERAL_INFO:\n\t\t\"/equities-morningstar-generalinformation/v1/details/\",\n\tEQUITIES_MORNING_STAR_MANAGEMENT: \"/equities-morningstar-management/v1/details\",\n\tFINANCIAL_RATIOS_DETAILS_PATH: \"/equities-morningstar-financialratios/v1/details\",\n\tFINANCIAL_RATIOS_HISTORY_PATH: \"/equities-morningstar-financialratios/v1/history\",\n\tFINANCIAL_STATEMENTS_CHAIN_PATH: \"/equities-morningstar-financialstatements/v1\",\n\tMERGERS_ACQUISITIONS_PATH:\n\t\t\"/equities-morningstar-mergersandacquisitions/v1/mergers-and-acquisitions\",\n\tMIND_INTERESTING_EVENTS_PATH: \"/mind/v1/interesting-events\",\n\tMSO_API: \"/MSOnline/api\",\n\tMSPI_PATH: \"/ms-research/mspi\",\n\tNEWS_PATH: \"/news\",\n\tOPTIONS_CHAIN_PATH: \"/optionchainsgreeks/v1/options/chainwithgreeks\",\n\tOPTIONS_PATH: \"/optionchains/v1/options\",\n\tPEERS_PATH: \"/apiman-gateway/MorganStanley/morganstanley-api/1.0/peers\",\n\tPRICING_PATH: \"/pricing-current-endofdaystats/v1/details\",\n\tQUOTE_PATH: \"/quote/v1/details\",\n\tRESEARCH_PATH: \"/research/v1\",\n\tSEC_FILING_PATH: \"/sec-filings/v1/documentList\",\n\tSEC_FILINGS_PDF_PATH: \"/sec-filings/v1/document\",\n\tSECTOR_AVERAGE_PATH:\n\t\t\"/equities-morningstar-gecs/v1/ratiosAggregate?countryOfExchange=US\",\n\tSECTOR_EQUITY_CLASSIFICATION: \"/equities-morningstar-gecs/v1/equityClassification\",\n\tSPLITS_PATH: \"/corporateactions-splits/v1\",\n\tUSER_INFO_PATH: \"/userinfo/v1/userInfo\",\n\tUSER_MANAGEMENT: \"/user-management/v1\",\n\tXREF_PREDICTIVE_SEARCH_PATH: \"/xref/v1/venues\",\n\tXREF_SYMBOL_PATH: \"/xref/v1/symbols\",\n\tXREF_XID_PATH: \"/xref/v1/venue-xids\",\n};\nexport const QUERY_KEYS = {\n\tQUOTE: \"quote\",\n\tXREF_SYMBOL: \"xref/symbol\",\n\tXREF_XID: \"xref/xid\",\n\tPEERS: \"peers\",\n\tOPTIONS_EXPIRATION_DATES: \"options/expirationDates\",\n\tOPTIONS: \"options\",\n};\nexport const OPTION_VIEW_TYPE_CALL = \"call\";\nexport const OPTION_VIEW_TYPE_PUT = \"put\";\nexport const OPTION_VIEW_TYPE_CALL_AND_PUT = \"callandput\";\nexport const OPTION_PAGE_VIEW_TYPE_MODAL = \"modal\";\nexport const OPTION_PAGE_VIEW_TYPE_DESKTOP = \"desktop\";\nexport const OPTION_PAGE_VIEW_TYPE_MR_REDESIGN_DESKTOP = \"mr_redesign_desktop\";\nexport const OPTION_PAGE_VIEW_TYPE_MOBILE = \"mobile\";\nexport const TREASURY_YIELD_VENUE_XID = 11523678;\nexport const DIVIDEND_YIELD_DEFAULT = 0;\nexport const RISK_FREE_RATE_DEFAULT = 0.01;\nexport const QUOTE_MODULE_OPIONS = \"options\";\nexport const QUOTE_MODULE_MARKETS_RESEARCH = \"marketsandresearch\";\nexport const MARKETS_AND_RESEARCH_PAGES = {\n\tOVERVIEW: \"overview\",\n\tCHARTING: \"charting\",\n\tNEWS: \"news\",\n\tANALYST_RESEARCH: \"analystresearch\",\n\tEARNINGS: \"earnings\",\n\tDIVIDENDS: \"dividends\",\n\tFINANCIALS: \"financials\",\n\tSECFILING: \"SECFilings\",\n\tOPTIONS: \"options\",\n};\nexport const RESEARCH_IDS = {\n\tFINANCIAL_DETAILS_ID: 471,\n\tRATINGS_AND_PRICE_TARGETS_ID: 472,\n\tRESEARCH: 343,\n};\nexport const SEC_FILING_CIK = \"0000040545\";\nexport const MARKETS_AND_RESEARCH_ROUTE_NAMES = {\n\tOVERVIEW: \"Overview\",\n\tCHARTING: \"Charting\",\n\tNEWS: \"News\",\n\tANALYST_RESEARCH: \"AnalystResearch\",\n\tEARNINGS: \"Earnings\",\n\tDIVIDENDS: \"Dividends\",\n\tFINANCIALS: \"Financials\",\n\tOPTIONS: \"Options\",\n\tSECFILING: \"SECFilings\",\n};\nexport const PERIODICITY_OPTIONS = {\n\tANNUAL: \"annual\",\n\tQUARTERLY: \"quarterly\",\n\tTTM: \"ttm\",\n};\nexport const DEFAULT_EARNINGS_CHART = \"overview\";\nexport const FINANCIAL_STATEMENT_TYPE = {\n\tINCOME_STATEMENT: \"Income Statement\",\n\tCASH_FLOW: \"Cash Flow\",\n\tBALANCE_SHEET: \"Balance Sheet\",\n};\nexport const PERIOD_TYPE = {\n\tINTERIM: \"Interim\",\n\tANNUAL: \"Annual\",\n};\nexport const EARNINGS_TYPE = {\n\tFORWARD: \"forward\",\n\tHISTORICAL: \"historical\",\n};\nexport const RATING_DICTIONARY = {\n\t1: \"Underweight\",\n\t2: \"Equal-weight\",\n\t3: \"Overweight\",\n};\n/* responsive breakpoints should align with bootstrap breakpoints as defined here\n\t\tC:\\Projects\\morganstanley-research\\src\\styles\\partials\\_variables.scss\n\t*/\nexport const RESPONSIVE_BREAKPOINTS = {\n\tMEDIA_BREAKPOINTS_MIN: {\n\t\tMEDIA_BREAKPOINT_MIN_XS: 361,\n\t\tMEDIA_BREAKPOINT_MIN_SM: 376,\n\t\tMEDIA_BREAKPOINT_MIN_MD: 578,\n\t\tMEDIA_BREAKPOINT_MIN_LG: 770,\n\t\tMEDIA_BREAKPOINT_MIN_XL: 994,\n\t\tMEDIA_BREAKPOINT_MIN_XXL: 1120,\n\t},\n\tMEDIA_BREAKPOINTS_MAX: {\n\t\tMEDIA_BREAKPOINT_MAX_XXS: 360,\n\t\tMEDIA_BREAKPOINT_MAX_XS: 375,\n\t\tMEDIA_BREAKPOINT_MAX_SM: 577,\n\t\tMEDIA_BREAKPOINT_MAX_MD: 769,\n\t\tMEDIA_BREAKPOINT_MAX_LG: 993,\n\t\tMEDIA_BREAKPOINT_MAX_XL: 1119,\n\t\tMEDIA_BREAKPOINT_MAX_XXL: 1140,\n\t},\n};\nexport const FRAME_INCREMENT_SIZE = {\n\tOVERVIEW: 250,\n\tALL_RESEARCH_CARD: 50,\n\tALL_RESEARCH_CARD_MIN_HEIGHT: 3050,\n};\nexport const USER_TIERS = {\n\tNASDAQ_REALTIME: [5846, 5847, 4327],\n\tOPTIONS_REALTIME: [5846, 4327],\n};\nexport const RESEARCH_PROVIDERS = {\n\tMORNINGSTAR: \"Morningstar\",\n\tMORGAN_STANLEY: \"Morgan Stanley\",\n};\nexport const CLIENTS = {\n\tMORGAN_STANLEY: \"MorganStanley\",\n\tCANACCORD_GENUITY: \"CanaccordGenuity\",\n};\n// TODO: can this be moved to scss variable\nexport const CANACCORD_GENUITY_BACKGROUND = \"#ffffff\";\nexport const PEER_VALUATION = {\n\tSECTOR_AVERAGE: \"Sector Average\",\n};\nexport const SPIN_OFF = \"Spin-off\";\n","// Default to all feature flags turned off for Production\nlet FEATURE_FLAGS = {\n\tLIST_ALL_INDICATORS: false,\n\tMSQR_7541_BORDER_COLOR: false,\n\tMSQR_8100_REFRESH_BUTTON: false,\n};\n\n// Conditionally turn on features per environment\n// If flags are set to true for all environments, then we can look to decommission the flag\nif (window.MD && window.MD.ENV) {\n\tswitch (window.MD.ENV) {\n\t\tcase \"acceptance\":\n\t\tcase \"acceptance2\":\n\t\tcase \"development\":\n\t\tcase \"localhost\":\n\t\t\tFEATURE_FLAGS = {\n\t\t\t\t...FEATURE_FLAGS,\n\t\t\t\tLIST_ALL_INDICATORS: true,\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"production\":\n\t\tdefault:\n\t\t\tFEATURE_FLAGS = {\n\t\t\t\t...FEATURE_FLAGS,\n\t\t\t};\n\t\t\tbreak;\n\t}\n}\n\nexport default FEATURE_FLAGS;\n","const filterEmptyData = (tableRowsArray, emptyIteratorLength, tableColumnsArray) => {\n\tconst tableData = tableRowsArray.map((x) =>\n\t\tx.filter((y, index) => index > 0 ?? (y.CellValue || y)).map((x) => x.CellValue || x)\n\t);\n\tconst transposeTableData = [];\n\tfor (let k = 0; k < emptyIteratorLength; k++) {\n\t\tconst o = tableData.map((x) => (x[k] === \"—\" ? undefined : x[k]));\n\t\ttransposeTableData.push({ row: k, data: o });\n\t}\n\ttransposeTableData.forEach((x) => {\n\t\tconst arrValues = x.data.filter((x) => x);\n\t\tif (arrValues.length === 0) {\n\t\t\ttableColumnsArray = tableColumnsArray.filter((y, index) => index !== x.row + 1);\n\t\t\ttableRowsArray = tableRowsArray.map((z) =>\n\t\t\t\tz.filter((y, index) => index !== x.row + 1)\n\t\t\t);\n\t\t}\n\t});\n\treturn {\n\t\theadersData: tableColumnsArray,\n\t\trowsData: tableRowsArray,\n\t};\n};\n\nconst filterEmptyDataWithoutHeader = (\n\ttableRowsArray,\n\temptyIteratorLength,\n\ttableColumnsArray\n) => {\n\tconst tableData = tableRowsArray.map((x) => x.map((x) => x.CellValue || x));\n\tconst transposeTableData = [];\n\tfor (let k = 0; k < emptyIteratorLength; k++) {\n\t\tconst o = tableData.map((x) => x[k]);\n\t\ttransposeTableData.push({ row: k, data: o });\n\t}\n\ttransposeTableData.forEach((x) => {\n\t\tconst arrValues = x.data.filter((x) => x);\n\t\tif (arrValues.length === 0) {\n\t\t\ttableColumnsArray = tableColumnsArray.filter((y, index) => index !== x.row);\n\t\t\ttableRowsArray = tableRowsArray.map((z) => z.filter((y, index) => index !== x.row));\n\t\t}\n\t});\n\treturn {\n\t\theadersData: tableColumnsArray,\n\t\trowsData: tableRowsArray,\n\t};\n};\n\nexport default { filterEmptyData, filterEmptyDataWithoutHeader };\n","import format from \"@markit/format\";\n\nexport const options = {\n\terrorString: \"\\u2014\",\n};\n\nformat.extend({\n\tdaysFromCurrentDate(date) {\n\t\tconst currentDate = this.moment(new Date()).startOf(\"day\");\n\t\tconst futureDate = this.moment(date).startOf(\"day\");\n\n\t\treturn Math.abs(futureDate.diff(currentDate, \"days\"));\n\t},\n\tratio(val, precision) {\n\t\tconst formattedNum = format(options).number(val, precision);\n\n\t\treturn formattedNum && formattedNum !== options.errorString\n\t\t\t? `${formattedNum}x`\n\t\t\t: formattedNum;\n\t},\n\tremoveProtocol(val) {\n\t\tif (!val) {\n\t\t\treturn val;\n\t\t}\n\n\t\tconst regex = /^https?:\\/\\//;\n\t\treturn val.replace(regex, \"\");\n\t},\n\tremoveDomainPrefix(val) {\n\t\tif (!val) {\n\t\t\treturn val;\n\t\t}\n\n\t\tconst regex = /^(www\\.)/;\n\t\treturn val.replace(regex, \"\");\n\t},\n\tprice(val, precision = 2, showSign = false, currency = \"USD\") {\n\t\tif (!val && val !== 0) {\n\t\t\treturn options.errorString;\n\t\t}\n\n\t\tconst priceFormatter = precision\n\t\t\t? format(Object.assign(options, { precision: { number: precision } }))\n\t\t\t: format(options);\n\t\tlet formattedVal = priceFormatter.number(val);\n\t\tlet currencyFormat = \"$\";\n\t\tlet percentFormat = \"\";\n\t\tif (currency !== \"USD\") {\n\t\t\tcurrencyFormat = currency + ` `;\n\t\t}\n\t\tif (currency === \"PCT\") {\n\t\t\tcurrencyFormat = \"\";\n\t\t\tpercentFormat = `%`;\n\t\t}\n\t\tif (currency === \"\") {\n\t\t\treturn `${formattedVal}`;\n\t\t}\n\n\t\treturn formattedVal.charAt(0) === \"-\"\n\t\t\t? `-${currencyFormat}${formattedVal.substring(1)}${percentFormat}`\n\t\t\t: showSign\n\t\t\t? `+${currencyFormat}${formattedVal}${percentFormat}`\n\t\t\t: `${currencyFormat}${formattedVal}${percentFormat}`;\n\t},\n\tnumberWithSuffix(val, precision, suffix) {\n\t\tconst formattedNum = formatter.number(val, precision);\n\t\treturn formattedNum !== options.errorString\n\t\t\t? `${formattedNum}${suffix ?? \"\"}`\n\t\t\t: formattedNum;\n\t},\n\tnumberMagnitude(val, precision) {\n\t\tconst formattedNum = formatter.number(val, precision, {\n\t\t\tshowMagnitude: true,\n\t\t});\n\n\t\treturn formattedNum.toUpperCase().replace(\" \", \"\");\n\t},\n\tcurrencyMagnitude(val, precision = 2, currency = \"USD\") {\n\t\tlet currencyFormat = \"$\";\n\t\tif (currency !== \"USD\") {\n\t\t\tcurrencyFormat = currency + ` `;\n\t\t}\n\n\t\treturn val || val === 0\n\t\t\t? `${currencyFormat}${formatter.numberMagnitude(val, precision)}`\n\t\t\t: options.errorString;\n\t},\n\ttext(val) {\n\t\tif (typeof val !== \"undefined\" && val !== null && val !== \"\") {\n\t\t\treturn val.toString();\n\t\t}\n\n\t\treturn options.errorString;\n\t},\n\t/**\n\t * Show minimum to minPrecision, significant digits allowed upto maxPrecision and remove any trailing zeros beyond maxPrecision\n\t * @param {string} val input value\n\t * @param {number} minPrecision minimum precision\n\t * @param {number} maxPrecision max. significant digits allowed\n\t * @returns {string} Formatted price string\n\t * priceWithoutTrailingZero(12345, 2, 2) // $12,345.00\n\t * priceWithoutTrailingZero(12345.67895000, 2, 4) // $12,345.6789\n\t * priceWithoutTrailingZero(12345.6780000, 2, 4) // $12,345.678\n\t * priceWithoutTrailingZero(12345.6700000, 2, 4) // $12,345.67\n\t * priceWithoutTrailingZero(12345.6000000, 2, 4) // $12,345.60\n\t * priceWithoutTrailingZero(12345.6, 2, 4) // $12,345.60\n\t */\n\tpriceWithoutTrailingZero(val, minPrecision, maxPrecision, currency = \"USD\") {\n\t\t// removes trailing zeros\n\t\tif (val === null || typeof val === \"undefined\") return options.errorString;\n\t\tval = val.toString();\n\t\tconst decimalIndex = val.indexOf(\".\");\n\t\tif (decimalIndex > -1) {\n\t\t\tconst decimalPlaces = val.substring(decimalIndex + 1);\n\t\t\tif (decimalPlaces.length > maxPrecision) {\n\t\t\t\tval = val.substring(0, decimalIndex + maxPrecision + 1);\n\t\t\t} else if (decimalPlaces.length < minPrecision) {\n\t\t\t\tmaxPrecision = minPrecision;\n\t\t\t} else {\n\t\t\t\tmaxPrecision = decimalPlaces.length;\n\t\t\t}\n\t\t\treturn formatter.price(val, maxPrecision, undefined, currency);\n\t\t} else {\n\t\t\treturn formatter.price(val, minPrecision, undefined, currency);\n\t\t}\n\t},\n\n\tmarketCapText(marketCap, styleBoxCode) {\n\t\tconst styleBoxMap = {\n\t\t\t1: \"Large\",\n\t\t\t2: \"Large\",\n\t\t\t3: \"Large\",\n\t\t\t4: \"Mid\",\n\t\t\t5: \"Mid\",\n\t\t\t6: \"Mid\",\n\t\t\t7: \"Small\",\n\t\t\t8: \"Small\",\n\t\t\t9: \"Small\",\n\t\t};\n\n\t\tconst capSizeText = styleBoxMap[styleBoxCode]\n\t\t\t? `${styleBoxMap[styleBoxCode]} Cap`\n\t\t\t: this.options.errorString;\n\t\tconst marketCapValue = marketCap || this.options.errorString;\n\t\treturn `${capSizeText} (${marketCapValue})`;\n\t},\n\tquoteTimeStamp(isoDate) {\n\t\t// ISO dates are in UTC, so convert to ET when formatting the time stamp\n\t\tlet quoteTimestamp = isoDate\n\t\t\t? `${this.moment(isoDate).tz(\"America/New_York\").calendar().replace(\" at\", \"\")}`\n\t\t\t: this.options.errorString;\n\n\t\tif (quoteTimestamp !== this.options.errorString && !quoteTimestamp?.includes(\"/\")) {\n\t\t\tquoteTimestamp = `${quoteTimestamp} ET`;\n\t\t}\n\n\t\treturn quoteTimestamp;\n\t},\n\tisValid(value) {\n\t\treturn (!!value && value !== options.errorString) || value === 0;\n\t},\n});\n\nconst formatter = format(options);\n\nexport default formatter;\n","/**\n * Helper to interface with the `PaginationFooter` for components that consume the research endpoints.\n * It returns an object that can be included as props into the `PaginationFooter`. E.g.,\n *\n * \n * \t\n * \n *\n * @param {(nextStartingItem: number) => void} onStartingItemChange The callback for when the navigation buttons are pressed\n * @param {number} limit The current page limit\n * @param {number} startingItem The current starting item index\n * @param {number} totalItems The total number of items in the current result set\n */\nconst paginationHelper = (onStartingItemChange, limit, startingItem, totalItems) => {\n\t// calculate total pages\n\tconst totalPages = Math.ceil(totalItems / limit);\n\n\tlet page = Math.floor(startingItem / limit) + 1;\n\t// ensure current page isn't out of range\n\tif (page < 1) {\n\t\tpage = 1;\n\t} else if (page > totalPages) {\n\t\tpage = totalPages;\n\t}\n\n\t// calculate start and end item indexes\n\tconst startIndex = (page - 1) * limit;\n\tconst endIndex = Math.min(startIndex + limit - 1, totalItems - 1);\n\n\tconst beginningOffsetOfLastPage = Math.floor(totalPages - 1) * limit;\n\treturn {\n\t\tpage: page,\n\t\ttotalPages: totalPages,\n\t\ttotalItems: totalItems.toLocaleString(),\n\t\tstartingItem: (startIndex + 1).toLocaleString(),\n\t\tendingItem: (endIndex + 1).toLocaleString(),\n\t\tarrowClickCallback: (behaviour) => {\n\t\t\tswitch (behaviour) {\n\t\t\t\tcase \"skipToBeginning\":\n\t\t\t\t\tonStartingItemChange(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"skipToEnd\":\n\t\t\t\t\t// calculate start and end item indexes\n\t\t\t\t\tonStartingItemChange(beginningOffsetOfLastPage);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"previousPage\":\n\t\t\t\t\tonStartingItemChange(Math.max(0, startingItem - limit));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"nextPage\":\n\t\t\t\t\tonStartingItemChange(Math.min(beginningOffsetOfLastPage, startingItem + limit));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport default paginationHelper;\n","const paramsToStrip = [\"refresh\", \"source\"];\n\nconst stripUtilityQueryParams = (href) => {\n\tconst [url, queryString] = href.split(\"?\");\n\tconst queryParams = new URLSearchParams(queryString);\n\tparamsToStrip.forEach((param) => {\n\t\tqueryParams.delete(param);\n\t});\n\tconst updatedQueryString = queryParams.toString();\n\treturn `${url}${updatedQueryString ? `?${updatedQueryString}` : \"\"}`;\n};\n\nexport default stripUtilityQueryParams;\n","import { useState, useEffect } from \"react\";\n\n// This definition is not set in stone, awaiting finalization from the client.\nconst breakPointMaxWidths = {\n\tmobile: 575,\n\t\"sm-tablet\": 767,\n\t\"lg-tablet\": 1023,\n\tdesktop: undefined,\n};\n\nfunction checkMediaMatch(width) {\n\treturn window.matchMedia(`(max-width: ${width}px)`).matches;\n}\nfunction getBreakPoint() {\n\tconst [breakPoint] = Object.entries(breakPointMaxWidths).find(\n\t\t([, width]) => !width || checkMediaMatch(width)\n\t);\n\treturn breakPoint;\n}\n\nfunction useBreakPoint() {\n\tconst [breakPoint, setBreakPoint] = useState(getBreakPoint());\n\tuseEffect(() => {\n\t\tfunction resizeHandler() {\n\t\t\tsetBreakPoint(getBreakPoint());\n\t\t}\n\t\twindow.addEventListener(\"resize\", resizeHandler);\n\t\treturn () => window.removeEventListener(\"resize\", resizeHandler);\n\t}, []);\n\treturn breakPoint;\n}\n\nexport default useBreakPoint;\n","import React from \"react\";\nimport \"url-search-params-polyfill\";\nimport { USER_TIERS, SPIN_OFF } from \"./constants\";\nimport formatter from \"./formatUtils\";\n\n// do not remove this. it is needed for MSORSHELL\n// eslint-disable-next-line no-unused-vars\nimport * as MSORVendor from \"utils/vendor/mso-integrations-vendor-mod\"; // NOSONAR\n\nimport { Tooltip, OverlayTrigger } from \"react-bootstrap\";\nimport { ReactComponent as QuestionIcon } from \"assets/icons/question.svg\";\n\nconst parseXML = (xml) => {\n\ttry {\n\t\tconst parser = new DOMParser();\n\t\tconst serializer = new XMLSerializer();\n\t\tconst xmlDoc = parser.parseFromString(xml, \"application/xml\");\n\t\tlet text = xmlDoc.getElementsByTagName(\"text\")[0];\n\t\t//change to text block\n\t\ttext = serializer.serializeToString(text);\n\t\t//include Markit specific tags, replace markit items\n\t\ttext = text.replace(//g, \"
\");\n\t\ttext = text.replace(/<\\/text>/g, \"
\");\n\t\treturn text;\n\t} catch {\n\t\treturn \"no text node\";\n\t}\n};\n\nconst parseXMLNewsWireBody = (xml) => {\n\ttry {\n\t\tconst parser = new DOMParser();\n\t\tconst serializer = new XMLSerializer();\n\t\tconst xmlDoc = parser.parseFromString(xml, \"application/xml\");\n\t\tlet text = xmlDoc.getElementsByTagName(\"BODY\")[0];\n\t\t//change to text block\n\t\ttext = serializer.serializeToString(text);\n\t\t//include Markit specific tags, replace markit items\n\t\ttext = text.replace(/(\\r\\n|\\r|\\n)/g, \"
\");\n\t\treturn text;\n\t} catch {\n\t\treturn \"no text node\";\n\t}\n};\n\nconst getObjectPropertyValue = function (obj, propertyNames) {\n\tlet currentObj;\n\tif (!obj || !propertyNames) {\n\t\treturn currentObj;\n\t}\n\tlet props = [];\n\tif (typeof propertyNames === \"string\") {\n\t\tprops = propertyNames.split(\".\");\n\t}\n\n\tif (Array.isArray(propertyNames)) {\n\t\tprops = propertyNames;\n\t}\n\n\tcurrentObj = { ...obj };\n\tlet found = false;\n\tconst propertySize = props.length - 1;\n\tprops.forEach((prop, index) => {\n\t\tif (currentObj.hasOwnProperty(prop)) {\n\t\t\tcurrentObj = currentObj[prop];\n\t\t\tfound = propertySize === index;\n\t\t}\n\t});\n\n\treturn found ? currentObj : undefined;\n};\n\nconst fetchToken = async () => {\n\tconst query = new URLSearchParams(window.location.search);\n\tconst symbol = query.get(\"symbol\");\n\tconst viewType = query.get(\"viewType\") ? query.get(\"viewType\") : \"desktop\";\n\n\tconst msParentDomain = window.MD?.PARENT_DOMAIN\n\t\t? window.MD.PARENT_DOMAIN\n\t\t: document.referrer;\n\n\tconst env = query.get(\"environment\") ? query.get(\"environment\") : msParentDomain;\n\tconst mspi = query.get(\"mspi\");\n\tconst baseUrl = query.get(\"baseURL\");\n\n\t//mspi = 1 implies that we have already kicked off SP once before. Only retrying once.\n\tif (mspi === \"1\" || !symbol || !viewType || !env) {\n\t\tconsole.log(\"not fetching token - missing params.\");\n\t\treturn;\n\t}\n\n\tif (!mspi) {\n\t\t// set the correct domains and paths\n\t\tconst domainOrigin = window.location.origin;\n\n\t\tconst refPickupHost = window.MD.MSO_DOMAIN\n\t\t\t? window.MD.MSO_DOMAIN.replace(\"https://\", \"\")\n\t\t\t: \"\";\n\t\tconst targetDomainPath = domainOrigin + window.location.pathname;\n\n\t\t// grab and format existing query string parameters\n\t\tconst existingParams = window.location.search;\n\t\tconst formattedParams = existingParams.replace(/^\\?/, \"\");\n\t\tconst targetParams = baseUrl\n\t\t\t? `${formattedParams}&baseURL=${baseUrl}`\n\t\t\t: formattedParams;\n\n\t\t// encode the url to redirect to after a successful saml request\n\t\tconst encodedTarget = encodeURIComponent(\n\t\t\t`${targetDomainPath}?${targetParams}&adapterId=SpRefAdapter&refPickupHost=${refPickupHost}/ms-research/api&mspi=1`\n\t\t);\n\n\t\t/*\n\t\t Redirect to MSO saml request controller in order to generate an auth token\n\t\t we need to access MSO because the saml request should be server-to-server and not browser-to-server\n\t\t If successful, redirect to the correct MS Research page via the TargetSource query param in the URL\n\t\t*/\n\t\tconst url = `${domainOrigin}/MSOnline/samlrequest?environment=${env}&TargetResource=${encodedTarget}&isFromRedesign=true`;\n\t\twindow.location.href = url;\n\t}\n};\n\nconst cloneObject = (obj) => {\n\tif (!obj || typeof obj !== \"object\") {\n\t\treturn undefined;\n\t}\n\t//get list of object keys\n\t//add key to new object\n\t//check if key value is an object - if so recursive call\n\tconst clonedObj = {};\n\tconst innerClone = (input) => {\n\t\tif (!input) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (typeof input !== \"object\") {\n\t\t\treturn input;\n\t\t}\n\n\t\tconst objKeys = Object.keys(input);\n\t\tfor (const key of objKeys) {\n\t\t\tclonedObj[key] = input[key];\n\t\t\tif (typeof input[key] === \"object\") {\n\t\t\t\tinnerClone(input[key]);\n\t\t\t}\n\t\t}\n\t};\n\n\tinnerClone(obj);\n\n\treturn clonedObj;\n};\n\nconst truncateText = (text, limit) => {\n\tif (!text) {\n\t\treturn \"\";\n\t}\n\n\tif (typeof text === \"string\" && limit && limit > 0 && text.length > limit) {\n\t\treturn text.substring(0, limit - 3) + \"...\";\n\t}\n\n\treturn text;\n};\n\nexport const getCookieValue = (name) => {\n\tif (!name) {\n\t\treturn null;\n\t}\n\tconst cookieArr = document.cookie.split(\";\");\n\tlet value = null;\n\tfor (const item of cookieArr) {\n\t\tvar cookieMap = item.split(\"=\");\n\t\tif (name === cookieMap[0].trim()) {\n\t\t\tvalue = decodeURIComponent(cookieMap[1].trim());\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn value;\n};\n\n// Calculate when Good Friday is for the given year, as it is an NYSE holiday.\n// Grabbed from Stack Overflow answer based off a known algorthm for calculating Easter:\n// https://stackoverflow.com/questions/1284314/easter-date-in-javascri\n// https://en.wikipedia.org/wiki/Computus\n// Unit tests added in this project to validate the algorithm\nconst getGoodFridayDateFromYear = (y) => {\n\tvar date, a, b, c, m, d;\n\t// Instantiate the date object.\n\tdate = new Date();\n\n\t// Set the timestamp to midnight.\n\tdate.setHours(0, 0, 0, 0);\n\n\t// Set the year.\n\tdate.setFullYear(y);\n\n\t// Find the golden number.\n\ta = y % 19;\n\n\t// Choose which version of the algorithm to use based on the given year.\n\tb = 2200 <= y && y <= 2299 ? (11 * a + 4) % 30 : (11 * a + 5) % 30;\n\n\t// Determine whether or not to compensate for the previous step.\n\tc = b === 0 || (b === 1 && a > 10) ? b + 1 : b;\n\n\t// Use c first to find the month: April or March.\n\tm = 1 <= c && c <= 19 ? 3 : 2;\n\n\t// Then use c to find the full moon after the northward equinox.\n\td = (50 - c) % 31;\n\n\t// Mark the date of that full moon—the \"Paschal\" full moon.\n\tdate.setMonth(m, d);\n\n\t// Gregorian Western Easter Sunday\n\t// Count forward the number of days until the following Sunday (Easter).\n\tdate.setMonth(m, d + (7 - date.getDay()));\n\n\t// Go back 2 days to find Good Friday\n\tdate.setDate(date.getDate() - 2);\n\n\treturn date;\n};\n\n// Make sure to check the previous Friday or the next Monday if a fixed date holiday falls on a weekend\nconst isDateOrDateObserved = (dateToCheck, month, date) => {\n\t// check the fixed holiday date for the current year unless it is New Years Eve (check New Years Day of the next year)\n\tconst dateToCheckYear =\n\t\tdateToCheck.getMonth() === 11 && dateToCheck.getDate() === 31\n\t\t\t? dateToCheck.getFullYear() + 1\n\t\t\t: dateToCheck.getFullYear();\n\n\t// construct the moment object for the holiday on the month and date passed in\n\tlet holidayDateObserved = formatter.moment(`${dateToCheckYear}-${month}-${date}`);\n\tconst holidayDayOfWeek = holidayDateObserved.day();\n\n\t// if holiday falls on saturday\n\tif (holidayDayOfWeek === 6) {\n\t\tholidayDateObserved.subtract(1, \"day\");\n\t\t// if holiday falls on sunday\n\t} else if (holidayDayOfWeek === 0) {\n\t\tholidayDateObserved.add(1, \"day\");\n\t}\n\n\treturn (\n\t\tdateToCheck.getMonth() === holidayDateObserved.month() &&\n\t\tdateToCheck.getDate() === holidayDateObserved.date()\n\t);\n};\n\n// For All NYSE Markets\n// www.nyse.com/markets/hours-calendars\nconst isBankHoliday = (date) => {\n\tif (isDateOrDateObserved(date, \"01\", \"01\")) {\n\t\treturn \"New Year\";\n\t} else if (isDateOrDateObserved(date, \"07\", \"04\")) {\n\t\treturn \"Independence Day\";\n\t}\n\t//else if (isDateOrDateObserved(date, '11', '11')) { return \"Veterans Day\"; }\n\telse if (isDateOrDateObserved(date, \"12\", \"25\")) {\n\t\treturn \"Christmas Day\";\n\t}\n\n\t// dynamic holidays\n\tconst isDay = (d, month, day, occurance) => {\n\t\tif (d.getMonth() === month - 1 && d.getDay() === day) {\n\t\t\tif (occurance > 0) {\n\t\t\t\treturn occurance === Math.ceil(d.getDate() / 7);\n\t\t\t} else {\n\t\t\t\t// check last occurance\n\t\t\t\tlet _d = new Date(d);\n\t\t\t\t_d.setDate(d.getDate() + 7);\n\t\t\t\treturn _d.getMonth() > d.getMonth();\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tif (isDay(date, 1, 1, 3)) {\n\t\treturn \"MLK Day\";\n\t} else if (isDay(date, 2, 1, 3)) {\n\t\treturn \"Presidents Day\";\n\t} else if (date.getTime() === getGoodFridayDateFromYear(date.getFullYear()).getTime()) {\n\t\treturn \"Good Friday\";\n\t} else if (isDay(date, 5, 1, -1)) {\n\t\treturn \"Memorial Day\";\n\t} else if (isDay(date, 9, 1, 1)) {\n\t\treturn \"Labor Day\";\n\t}\n\t//else if (isDay(date, 10, 1, 2)) { return \"Columbus Day\"; }\n\telse if (isDay(date, 11, 4, 4)) {\n\t\treturn \"Thanksgiving Day\";\n\t}\n\n\t// Non Business days\n\tif (date.getDay() === 0) {\n\t\treturn \"Sunday\";\n\t} else if (date.getDay() === 6) {\n\t\treturn \"Saturday\";\n\t}\n\n\t// not a holiday\n\treturn \"\";\n};\n\n// returns the number of business days (i.e. exluding weekends and NYSE holidays) between the passed-in dates\nconst numBusinessDaysBetweenDates = (minDate, maxDate) => {\n\tif (!minDate || !maxDate) {\n\t\treturn null;\n\t}\n\n\t// start at first input date\n\tlet dateToCheckStartOf = minDate.startOf(\"day\");\n\tlet maxDateStartOf = maxDate.startOf(\"day\");\n\n\tconst maxDaysBetween = maxDateStartOf.diff(dateToCheckStartOf, \"days\");\n\n\tif (maxDaysBetween < 0) {\n\t\treturn null;\n\t}\n\n\tlet numDaysBetween = 0;\n\n\t// find date max business days in the future, accounting for weekends and NYSE bank holidays\n\twhile (!dateToCheckStartOf.isSame(maxDateStartOf) && numDaysBetween < maxDaysBetween) {\n\t\tdateToCheckStartOf = dateToCheckStartOf.add(1, \"day\");\n\n\t\tif (!isBankHoliday(dateToCheckStartOf.toDate())) {\n\t\t\tnumDaysBetween++;\n\t\t}\n\t}\n\n\treturn numDaysBetween;\n};\n\n/**\n * Utility for updating the parent frame with a post message about the our iframe height and width\n * @param {Number} frameHeight - the height of the iframe\n * @param {Number} frameWidth - the width of the iframe\n * @param {Number} heightIncrement - for desktop we add an extra 20px to the bottom as a buffer. For mobile we use 40px.\n */\nconst postDimensions = (frameHeight, frameWidth, heightIncrement = 75) => {\n\tif (frameHeight || frameWidth) {\n\t\tconst framedLoadedPayload = {\n\t\t\tname: \"MDFrameResized\",\n\t\t\theight: frameHeight + heightIncrement,\n\t\t\twidth: frameWidth,\n\t\t};\n\t\tconst postMessage = JSON.stringify(framedLoadedPayload);\n\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN); // NOSONAR\n\n\t\t// Need to catch cross-origin frame error when in non-integrated env\n\t\ttry {\n\t\t\tif (\n\t\t\t\twindow?.MD?.INTEGRATED_DOMAINS?.includes(window?.MD?.PARENT_DOMAIN) ||\n\t\t\t\tIsIntegratedEnv()\n\t\t\t) {\n\t\t\t\tconst postMessage = {\n\t\t\t\t\tname: \"ResizeIframe\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tHeight: `${frameHeight + heightIncrement}px`,\n\t\t\t\t\t\tWidth: `${frameWidth}px`,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN);\n\t\t\t} else {\n\t\t\t\tif (window.console) {\n\t\t\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.log(e);\n\t\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Utility for sending a post message to the parent frame to have the parent scroll by a certain amount.\n * @param {Number} xScrollValue - negative values scroll left and positive values scroll right that amount.\n * @param {Number} yScrollValue - negative values scroll up and positive values scroll down that amount.\n */\nconst postScrollBy = (xScrollValue, yScrollValue) => {\n\tif (xScrollValue || yScrollValue) {\n\t\tconst scrollByPayload = {\n\t\t\tname: \"MDScrollBy\",\n\t\t\txScrollValue: xScrollValue,\n\t\t\tyScrollValue: yScrollValue,\n\t\t};\n\t\tconst postMessage = JSON.stringify(scrollByPayload);\n\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN); // NOSONAR\n\n\t\t// Need to catch cross-origin frame error when in non-integrated env\n\t\ttry {\n\t\t\tif (window?.MD?.INTEGRATED_DOMAINS?.includes(window?.MD?.PARENT_DOMAIN)) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tif (window.console) {\n\t\t\t\t\twindow.scrollBy(xScrollValue, yScrollValue);\n\t\t\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tif (window.console) {\n\t\t\t\twindow.scrollBy(xScrollValue, yScrollValue);\n\t\t\t\tconsole.log(e);\n\t\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\t}\n\t\t}\n\t}\n};\n\n//Utility for sending a post message to the parent frame to have the parent scroll to the top of the page.\nconst postScrollTop = () => {\n\tconst scrollTopPayload = {\n\t\tname: \"MDScrollTop\",\n\t};\n\tconst postMessage = JSON.stringify(scrollTopPayload);\n\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN); // NOSONAR\n\n\t// Need to catch cross-origin frame error when in non-integrated env\n\ttry {\n\t\tif (window?.MD?.INTEGRATED_DOMAINS.includes(window?.MD?.PARENT_DOMAIN)) {\n\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\treturn;\n\t\t} else {\n\t\t\tif (window.console) {\n\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tif (window.console) {\n\t\t\twindow.scrollTo(0, 0);\n\t\t\tconsole.log(e);\n\t\t\tconsole.info(\"Works only in integrated environments!\");\n\t\t}\n\t}\n};\n\nconst isResponseFailed = (response) => {\n\treturn response.status === \"rejected\" || !response.data || !response.data.data;\n};\n\nconst postMSVendorModalScript = (type, id, payload) => {\n\tif (!type || payload) {\n\t\treturn;\n\t}\n\n\tif (type === \"open\" && id) {\n\t\tpostMSVendorOpenModalScript(id, payload);\n\t\treturn;\n\t}\n\n\tif (type === \"show\") {\n\t\tpostMSVendorShowModalScript(payload);\n\t}\n};\n\nexport const postMSVendorRedirectToScript = (payload) => {\n\tconst postMessage = {\n\t\tname: \"RedirectTo\",\n\t\tdata: payload,\n\t};\n\tif (IsIntegratedEnv()) {\n\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN);\n\t} else {\n\t\tif (window.console) {\n\t\t\tconsole.info(\"Works only in MS integrated environment!\");\n\t\t}\n\t}\n};\n\nconst postMSVendorShowModalScript = (payload) => {\n\tconst postMessage = {\n\t\tname: \"OpenModal\",\n\t\tdata: payload,\n\t};\n\tif (IsIntegratedEnv()) {\n\t\treturn window.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN);\n\t} else {\n\t\tif (window.console) {\n\t\t\tconsole.info(\"Works only in MS integrated environment!\");\n\t\t}\n\t}\n};\n\nconst IsIntegratedEnv = () => {\n\t//checking is this content hosted in MSO side or not\n\ttry {\n\t\tvar parent = window.parent.location.href; // Added intentionally to fail.\n\t\tif (parent.indexOf(\"markets-\") === -1 && parent.indexOf(\"markets.\") === -1)\n\t\t\t// If not fail then checking second level.\n\t\t\treturn true; //Integrated true- Market content is hosted in MSO Iframe.\n\n\t\treturn false; //Integrated false - Market content isn't hosted in MSO Iframe.\n\t} catch (e) {\n\t\treturn true; //Integrated true- Market content is hosted in MSO Iframe.\n\t}\n};\nconst postMSVendorOpenModalScript = (definitionId, payload) => {\n\tif (window.parent.MSORShell) {\n\t\twindow.parent.MSORShell.OpenModal(payload);\n\t} else {\n\t\tif (window.console) {\n\t\t\tconsole.info(\n\t\t\t\t\"Works only in MS integrated environment - DefinitionID that will be passed to MS is: \" +\n\t\t\t\t\tdefinitionId\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst getQuoteMarketCapValue = (quoteMarketCap) => {\n\tconst trillion = 1e12;\n\tconst billion = 1e9;\n\tconst million = 1e6;\n\tif (!quoteMarketCap) {\n\t\treturn 0;\n\t}\n\n\tif (quoteMarketCap >= trillion) {\n\t\tconst formatValue = formatter.number(quoteMarketCap / trillion, 3);\n\t\treturn `$${formatValue}T`;\n\t}\n\n\tif (quoteMarketCap >= billion) {\n\t\tconst formatValue = formatter.number(quoteMarketCap / billion, 3);\n\t\treturn `$${formatValue}B`;\n\t}\n\n\tif (quoteMarketCap >= million) {\n\t\tconst formatValue = formatter.number(quoteMarketCap / million, 3);\n\t\treturn `$${formatValue}M`;\n\t}\n};\n\n//Method to return K,M,B,T values for large values\nconst getVolumeHoverValue = (volume) => {\n\tconst trillion = 1e12;\n\tconst billion = 1e9;\n\tconst million = 1e6;\n\tconst thousand = 1e3;\n\tif (!volume) {\n\t\treturn `0`;\n\t}\n\n\tif (volume >= trillion) {\n\t\tconst formatValue = formatter.number(volume / trillion, 2);\n\t\treturn `${formatValue}T`;\n\t}\n\n\tif (volume >= billion) {\n\t\tconst formatValue = formatter.number(volume / billion, 2);\n\t\treturn `${formatValue}B`;\n\t}\n\n\tif (volume >= million) {\n\t\tconst formatValue = formatter.number(volume / million, 2);\n\t\treturn `${formatValue}M`;\n\t}\n\n\tif (volume >= thousand) {\n\t\tconst formatValue = formatter.number(volume / thousand, 2);\n\t\treturn `${formatValue}K`;\n\t}\n};\n\nexport const getFormattedNumber = (value) => {\n\tconst thousand = 1e3;\n\tif (!value) {\n\t\treturn `0`;\n\t}\n\tif (value > 0 && value < thousand) {\n\t\tconst formatValue = formatter.number(value, 2);\n\t\treturn `${formatValue}`;\n\t} else if (value < 0) {\n\t\treturn getNegativeFormatedNumber(value);\n\t} else {\n\t\treturn getVolumeHoverValue(value);\n\t}\n};\n\nconst getNegativeFormatedNumber = (value) => {\n\tconst trillion = -1e12;\n\tconst billion = -1e9;\n\tconst million = -1e6;\n\tconst thousand = -1e3;\n\tif (!value) {\n\t\treturn `0`;\n\t}\n\n\tif (value <= trillion) {\n\t\tconst formatValue = formatter.number(value / trillion, 2);\n\t\treturn `-${formatValue}T`;\n\t}\n\n\tif (value <= billion) {\n\t\tconst formatValue = formatter.number(value / billion, 2);\n\t\treturn `-${formatValue}B`;\n\t}\n\n\tif (value <= million) {\n\t\tconst formatValue = formatter.number(value / million, 2);\n\t\treturn `-${formatValue}M`;\n\t}\n\n\tif (value <= thousand) {\n\t\tconst formatValue = formatter.number(value / thousand, 2);\n\t\treturn `-${formatValue}K`;\n\t}\n\tconst formatValue = formatter.number(value, 2);\n\treturn `${formatValue}`;\n};\n\nconst replaceQueryParam = (paramName, value) => {\n\tif (!paramName || !value) {\n\t\treturn \"\";\n\t}\n\n\tconst queryParams = window.location.search;\n\tconst formattedParams = queryParams.replace(\"?\", \"\");\n\n\tconst paramsArray = formattedParams.split(\"&\");\n\tconst finalParams = [];\n\tconst newParam = `${paramName}=${value}`;\n\tfinalParams.push(newParam);\n\n\tfor (const params of paramsArray) {\n\t\tconst paramKeyValue = params.split(\"=\");\n\t\tif (paramKeyValue[0] && paramKeyValue[0].toLowerCase() !== paramName.toLowerCase()) {\n\t\t\tfinalParams.push(params);\n\t\t}\n\t}\n\n\tconst finalParamString = finalParams.join(\"&\");\n\treturn `?${finalParamString}`;\n};\n\nconst adobeEventTracking = (eventName, pageName, eventType) => {\n\tif (window.MD && window.MktrsPageData && window._satellite && window.MD.ENV) {\n\t\tif (window.MD.ENV !== \"localhost\") {\n\t\t\tlet pageNameText = \"\";\n\t\t\tswitch (eventType) {\n\t\t\t\tcase \"page\":\n\t\t\t\t\tswitch (pageName) {\n\t\t\t\t\t\tcase \"analystresearch\":\n\t\t\t\t\t\t\tpageNameText = `market research | quote search | analyst research-new`;\n\t\t\t\t\t\t\twindow.MktrsPageData.L3 = \"analyst research-new\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tpageNameText = `market research | quote search | ${pageName}-new`;\n\t\t\t\t\t\t\twindow.MktrsPageData.L3 = `${pageName}-new`;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\twindow.MktrsPageData.EventName = eventName;\n\t\t\t\t\twindow.MktrsPageData.PageName = pageNameText;\n\t\t\t\t\twindow._satellite.track(\"MktRS-Page-Tracking\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"event\":\n\t\t\t\t\tpageNameText = pageName;\n\t\t\t\t\twindow.MktrsPageData.EventName = eventName;\n\t\t\t\t\twindow.MktrsPageData.PageName = pageNameText;\n\t\t\t\t\twindow._satellite.track(\"MktRS-Event-Tracking\");\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst replaceSymbolInUrl = (symbol, tab = \"Overview\") => {\n\tconst search = new URLSearchParams(window.location.search);\n\tsearch.set(\"symbol\", symbol);\n\treturn `${tab}?${search.toString()}`;\n};\n\nconst toolTipTrigger = () => {\n\tconst isMobile = window?.matchMedia(\"max-width: 577px\")?.matches;\n\treturn isMobile ? [\"focus\", \"click\"] : [\"focus\", \"hover\"];\n};\n\nexport const isRealtimeNasdaqUser = (userInfo) => {\n\treturn (\n\t\t!!userInfo?.userQuotePreference &&\n\t\t!!userInfo?.userProfessionalStatus &&\n\t\t!!userInfo?.userTier &&\n\t\tUSER_TIERS.NASDAQ_REALTIME.indexOf(userInfo?.userTier) >= 0\n\t);\n};\n\nexport const isRealtimeOptionsUser = (userInfo) =>\n\tuserInfo?.userQuotePreference &&\n\tuserInfo?.userProfessionalStatus &&\n\tuserInfo?.userTier &&\n\tUSER_TIERS.OPTIONS_REALTIME.includes(userInfo.userTier);\n\nexport const buildTooltip = (\n\ttooltipId,\n\ttooltipText,\n\ttooltipType,\n\ttooltipHTML,\n\tplacement\n) => {\n\tlet tooltipHoverElement;\n\n\tswitch (tooltipType) {\n\t\tcase \"button\":\n\t\t\ttooltipHoverElement = (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"text\":\n\t\t\ttooltipHoverElement = tooltipHTML;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\t\t{tooltipText}\n\t\t\t\t\n\t\t\t}\n\t\t\ttrigger={toolTipTrigger()}\n\t\t>\n\t\t\t{tooltipHoverElement}\n\t\t\n\t);\n};\n\nconst checkResearchDocumentFormat = (e, productId, documentId, userInfo) => {\n\te.preventDefault();\n\n\t// only send a postmessage if the user is flagged apprropriately\n\t// (morgan stanley will utilize this flag to route users to an HTML version of the research document)\n\tif (userInfo && userInfo.researchRedesignFlag === \"Y\") {\n\t\t// PostMessage Block (allows MS to render a pdf or html document)\n\t\tconst postMessage = {\n\t\t\tname: \"OpenResearchArticle\",\n\t\t\tdata: {\n\t\t\t\tArticleID: productId,\n\t\t\t\tResearchPDF: `${window.MD.MSO_DOMAIN}/ms-research/markets-and-research/ResearchPdf?documentId=${documentId}`,\n\t\t\t},\n\t\t};\n\t\twindow.parent.postMessage(postMessage, window.MD.PARENT_DOMAIN); // NOSONAR\n\t} else {\n\t\t// open the pdf version of the research doc\n\t\twindow.open(\n\t\t\t`${window.MD.MSO_DOMAIN}/ms-research/markets-and-research/ResearchPdf?documentId=${documentId}`\n\t\t);\n\t}\n};\n\nconst getQuoteURLBasedOnIssueType = (issueType, queryParams) => {\n\tlet url = \"\";\n\tswitch (issueType.toLowerCase()) {\n\t\tcase \"fund\":\n\t\t\turl = `${window.location.origin}/MSOnline/MutualFunds/Overview${queryParams}`;\n\t\t\tbreak;\n\t\tcase \"etf\":\n\t\tcase \"closed end funds\":\n\t\tcase \"debt\":\n\t\t\turl = `${window.location.origin}/MSOnline/ETFs/Overview${queryParams}`;\n\t\t\tbreak;\n\t\tcase \"index\":\n\t\t\turl = `${window.location.origin}/MSOnline/Indexes/Chart${queryParams}`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\turl = `/ms-research/markets-and-research/Stocks/Overview${queryParams}`;\n\t\t\tbreak;\n\t}\n\treturn url;\n};\n\nconst isPropUpdated = (prevProps, currentProps, verificationProp) => {\n\tif (!prevProps) {\n\t\treturn false;\n\t}\n\n\treturn prevProps[verificationProp] !== currentProps[verificationProp];\n};\n\n// Are these all valid returns from the API?\nconst ratingString = (ratingValue) =>\n\t[\"Equal-Weight\", \"Equal-weight\", \"Equal weight\", \"Equal Weight\"].includes(ratingValue)\n\t\t? \"Equal-weight\"\n\t\t: ratingValue;\n\nconst filterOutSpinOffs = (dividendEvents) => {\n\treturn dividendEvents?.filter((o) => o.typeDescription !== SPIN_OFF);\n};\n\nconst getUniqueDividendCurrency = (data) => {\n\tlet uniqueTypeDescription = [];\n\tlet uniquePaymentCurrency = [];\n\tif (data?.dividendEvents?.length) {\n\t\tuniqueTypeDescription = [\n\t\t\t...new Set(data.dividendEvents.map((x) => x.typeDescription)),\n\t\t];\n\n\t\tuniquePaymentCurrency = [\n\t\t\t...new Set(data.dividendEvents.map((x) => x.paymentCurrency)),\n\t\t];\n\t}\n\n\treturn (\n\t\tuniqueTypeDescription.length > 0 &&\n\t\tuniquePaymentCurrency.length > 0 &&\n\t\t!uniqueTypeDescription.includes(\"Stock\") &&\n\t\tuniquePaymentCurrency.length <= 1\n\t);\n};\n\nconst getUniqueCurrencies = (currencies) => {\n\treturn currencies ? Array.from(new Set(currencies)) : [];\n};\n\nconst fetchUniqueCurrency = (currencies) => {\n\tlet uniqueCurrency = getUniqueCurrencies(currencies);\n\treturn uniqueCurrency.length === 1 && uniqueCurrency[0] !== \"USD\"\n\t\t? \"CURRENCY: \" + uniqueCurrency[0]\n\t\t: \"\";\n};\n\nconst getDsnByEnvironment = () => {\n\tswitch (window.MD && window.MD.ENV && window.MD.ENV.toLowerCase()) {\n\t\tcase \"production\":\n\t\t\treturn \"https://25eca2aed0f34958881c7b6b20fbfe50@logging-api.markitdigital.com/11\";\n\t\tcase \"acceptance\":\n\t\tcase \"acceptance2\":\n\t\tcase \"development\":\n\t\tcase \"localhost\":\n\t\tdefault:\n\t\t\treturn \"https://553580950ba247c8aa8979131862a1de@logging-api.markitqa.com/16\";\n\t}\n};\n\nconst utils = {\n\tadobeEventTracking,\n\tbuildTooltip,\n\tcloneObject,\n\tfetchToken,\n\tgetCookieValue,\n\tgetGoodFridayDateFromYear,\n\tgetObjectPropertyValue,\n\tgetQuoteMarketCapValue,\n\tgetVolumeHoverValue,\n\tisBankHoliday,\n\tisDateOrDateObserved,\n\tisPropUpdated,\n\tisRealtimeNasdaqUser,\n\tisResponseFailed,\n\tnumBusinessDaysBetweenDates,\n\tparseXML,\n\tparseXMLNewsWireBody,\n\tpostDimensions,\n\tpostScrollTop,\n\tpostScrollBy,\n\tpostMSVendorModalScript,\n\tpostMSVendorOpenModalScript,\n\tpostMSVendorRedirectToScript,\n\tpostMSVendorShowModalScript,\n\treplaceQueryParam,\n\treplaceSymbolInUrl,\n\ttoolTipTrigger,\n\ttruncateText,\n\tcheckResearchDocumentFormat,\n\tgetQuoteURLBasedOnIssueType,\n\tgetFormattedNumber,\n\tratingString,\n\tfilterOutSpinOffs,\n\tgetUniqueDividendCurrency,\n\tgetUniqueCurrencies: getUniqueCurrencies,\n\tfetchUniqueCurrency,\n\tgetDsnByEnvironment,\n\tIsIntegratedEnv,\n};\nexport default utils;\n","/*\nAuthor : MSOnline\nDescription : Functionality proviced by MSOR, that will be consumed by vendors\n*/\n\nfunction GetDomainNameForMSO() {\n\tvar defaultdomain = \"ms.com\";\n\ttry {\n\t\tvar host = document.domain;\n\t\tvar match = /[^.]*\\.[^.]*(\\.)?$/.exec(host);\n\n\t\tif (!(match == null)) {\n\t\t\treturn match[0];\n\t\t}\n\t} catch (err) {}\n\n\treturn defaultdomain;\n}\n\ntry {\n\t//document.domain = \"morganstanleyclientserv.com\";\n\tdocument.domain = GetDomainNameForMSO();\n} catch (e) {\n\t// alert(\"Error setting document domain : \" + e);\n}\n\n//Functionality proviced by MSOR, that will be consumed by vendors\n\nvar MSORVendor = {\n\tLogMessage: function (type, msg) {\n\t\tif (window.console) {\n\t\t\tconsole.log(type + \":\" + msg);\n\t\t}\n\t},\n\n\tShowMarketDataForSymbol: function (symbolName) {\n\t\tif (\n\t\t\ttypeof window.parent !== \"undefined\" &&\n\t\t\ttypeof window.parent.MSORShell !== \"undefined\" &&\n\t\t\ttypeof window.parent.MSORShell.ShowMarketDataForSymbol === \"function\"\n\t\t) {\n\t\t\twindow.parent.MSORShell.ShowMarketDataForSymbol(symbolName);\n\t\t}\n\t},\n\n\tShowMarketDataPopUp: function (symbol) {\n\t\tif (\n\t\t\ttypeof window.parent !== \"undefined\" &&\n\t\t\ttypeof window.parent.MSORShell !== \"undefined\" &&\n\t\t\ttypeof window.parent.MSORShell.ShowMarketDataPopup === \"function\"\n\t\t) {\n\t\t\twindow.parent.MSORShell.ShowMarketDataPopup(symbol);\n\t\t}\n\t},\n\n\t//CheckMethod: function(methodname)\n\t//{\n\t// if (typeof window.parent !== 'undefined'\n\t// && typeof window.parent.MSORShell !== 'undefined'\n\t// && typeof window.parent.MSORShell[methodname] === 'function') {\n\t// return true;\n\t// }\n\t// else {\n\t// LogMessage(\"Error : Method '\" + methodname + \"' not found\");\n\t// return false;\n\t// }\n\t//},\n\n\t//....other functions\n\n\t/**********************************************\n OpenModal(ModalSettings)\n\n This function used to open modal popup\n Parameters\n ModalSettings=\n {\n Title : title for the popup,\n HTML : html template,\n OR\n URL : url of template\n OR\n WellKnownName: name of predefined well known common modal window (e.g. MarketData,CreateAlert,Definitions),\n WindowsSettings: { Width: width; Height: height},\n Context : { Symbol : symbolname,\n DefinitionType: name of service. e.g. marketresearch,portfolio,billpay, etc}\n }\n\n *************************************************/\n\tOpenModal: function (ModalSettings) {\n\t\treturn window.parent.MSORShell.OpenModal(ModalSettings);\n\t},\n\n\t/**********************************************\n GetData(DataRequest)\n\n This function return the portfolio data in json\n Parameters\n DataRequest=\n {\n WellKnownName: name of predefined type like 'GetTopHoldings'\n }\n\n *************************************************/\n\n\tGetData: function (DataRequest) {\n\t\treturn window.parent.MSORShell.GetData(DataRequest);\n\t},\n\n\t/**********************************************\n ResizeIframe(WindowSettings)\n\n This function provides ability to resize iframe\n Parameters\n WindowSettings=\n {\n Width: width,\n Height: Height\n }\n\n *************************************************/\n\n\tResizeIframe: function (WindowSettings) {\n\t\twindow.parent.MSORShell.ResizeIframe(WindowSettings);\n\t},\n\n\t/**********************************************\n RedirectTo(RedirectData)\n\n This function provides ability to redirect user to differect location\n Parameters\n RedirectData=\n {\n Service: service name where to redirect. e.g. Trade,Transfer,MarketResearch\n Action: action name. e.g. Buy,Sell\n Symbol: symbol,\n Type : 'iframe'\n Context: context\n }\n\n *************************************************/\n\n\tRedirectTo: function (RedirectData) {\n\t\twindow.parent.MSORShell.RedirectTo(RedirectData);\n\t},\n\n\t/**********************************************\n CloseModal(CloseParams,funct,result)\n\n\n Parameters\n CloseParams = {\n RedirectOnClose: true|false - true will redirect to other page when popup is closed\n RedirectToURL: url - if RedirectOnClose is set to true then url must be set for redirection\n //OR\n ReloadIframe: true|false - true will reload the underlying page when popup is closed\n //OR\n ReloadWindow: true|false - true will reload the window when popup is closed\n }\n\n *************************************************/\n\tCloseModal: function (CloseParams) {\n\t\twindow.parent.MSORShell.CloseModal(CloseParams);\n\t},\n\n\tGetRequest: function () {\n\t\treturn window.parent.MSORShell.Request();\n\t},\n\n\tSetResponse: function (result) {\n\t\twindow.parent.MSORShell.Response = result;\n\t},\n};\n\nwindow.MSORVendor = MSORVendor;\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fas\";\nvar faAd = {\n prefix: 'fas',\n iconName: 'ad',\n icon: [512, 512, [], \"f641\", \"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faAdjust = {\n prefix: 'fas',\n iconName: 'adjust',\n icon: [512, 512, [], \"f042\", \"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"]\n};\nvar faAirFreshener = {\n prefix: 'fas',\n iconName: 'air-freshener',\n icon: [512, 512, [], \"f5d0\", \"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"]\n};\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"]\n};\nvar faAllergies = {\n prefix: 'fas',\n iconName: 'allergies',\n icon: [448, 512, [], \"f461\", \"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faAmbulance = {\n prefix: 'fas',\n iconName: 'ambulance',\n icon: [640, 512, [], \"f0f9\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faAmericanSignLanguageInterpreting = {\n prefix: 'fas',\n iconName: 'american-sign-language-interpreting',\n icon: [640, 512, [], \"f2a3\", \"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [], \"f13d\", \"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"]\n};\nvar faAngleDoubleDown = {\n prefix: 'fas',\n iconName: 'angle-double-down',\n icon: [320, 512, [], \"f103\", \"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"]\n};\nvar faAngleDoubleLeft = {\n prefix: 'fas',\n iconName: 'angle-double-left',\n icon: [448, 512, [], \"f100\", \"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"]\n};\nvar faAngleDoubleRight = {\n prefix: 'fas',\n iconName: 'angle-double-right',\n icon: [448, 512, [], \"f101\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"]\n};\nvar faAngleDoubleUp = {\n prefix: 'fas',\n iconName: 'angle-double-up',\n icon: [320, 512, [], \"f102\", \"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [320, 512, [], \"f107\", \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [256, 512, [], \"f104\", \"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [256, 512, [], \"f105\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [320, 512, [], \"f106\", \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"]\n};\nvar faAngry = {\n prefix: 'fas',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"]\n};\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [], \"f644\", \"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"]\n};\nvar faAppleAlt = {\n prefix: 'fas',\n iconName: 'apple-alt',\n icon: [448, 512, [], \"f5d1\", \"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"]\n};\nvar faArchive = {\n prefix: 'fas',\n iconName: 'archive',\n icon: [512, 512, [], \"f187\", \"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [576, 512, [], \"f557\", \"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"]\n};\nvar faArrowCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-circle-down',\n icon: [512, 512, [], \"f0ab\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"]\n};\nvar faArrowCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-circle-left',\n icon: [512, 512, [], \"f0a8\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"]\n};\nvar faArrowCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-circle-right',\n icon: [512, 512, [], \"f0a9\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"]\n};\nvar faArrowCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-circle-up',\n icon: [512, 512, [], \"f0aa\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"]\n};\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [448, 512, [], \"f063\", \"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [], \"f060\", \"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [], \"f061\", \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [448, 512, [], \"f062\", \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"]\n};\nvar faArrowsAlt = {\n prefix: 'fas',\n iconName: 'arrows-alt',\n icon: [512, 512, [], \"f0b2\", \"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"]\n};\nvar faArrowsAltH = {\n prefix: 'fas',\n iconName: 'arrows-alt-h',\n icon: [512, 512, [], \"f337\", \"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"]\n};\nvar faArrowsAltV = {\n prefix: 'fas',\n iconName: 'arrows-alt-v',\n icon: [256, 512, [], \"f338\", \"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"]\n};\nvar faAssistiveListeningSystems = {\n prefix: 'fas',\n iconName: 'assistive-listening-systems',\n icon: [512, 512, [], \"f2a2\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [512, 512, [], \"f069\", \"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"]\n};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [], \"f1fa\", \"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"]\n};\nvar faAtlas = {\n prefix: 'fas',\n iconName: 'atlas',\n icon: [448, 512, [], \"f558\", \"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"]\n};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [448, 512, [], \"f5d2\", \"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"]\n};\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [512, 512, [], \"f29e\", \"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [384, 512, [], \"f77c\", \"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [], \"f77d\", \"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"]\n};\nvar faBackspace = {\n prefix: 'fas',\n iconName: 'backspace',\n icon: [640, 512, [], \"f55a\", \"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"]\n};\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [], \"f04a\", \"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [], \"f7e5\", \"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"]\n};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [512, 512, [], \"f666\", \"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"]\n};\nvar faBalanceScale = {\n prefix: 'fas',\n iconName: 'balance-scale',\n icon: [640, 512, [], \"f24e\", \"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faBalanceScaleLeft = {\n prefix: 'fas',\n iconName: 'balance-scale-left',\n icon: [640, 512, [], \"f515\", \"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"]\n};\nvar faBalanceScaleRight = {\n prefix: 'fas',\n iconName: 'balance-scale-right',\n icon: [640, 512, [], \"f516\", \"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [], \"f05e\", \"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"]\n};\nvar faBandAid = {\n prefix: 'fas',\n iconName: 'band-aid',\n icon: [640, 512, [], \"f462\", \"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [], \"f0c9\", \"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"]\n};\nvar faBaseballBall = {\n prefix: 'fas',\n iconName: 'baseball-ball',\n icon: [496, 512, [], \"f433\", \"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"]\n};\nvar faBasketballBall = {\n prefix: 'fas',\n iconName: 'basketball-ball',\n icon: [496, 512, [], \"f434\", \"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"]\n};\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [], \"f2cd\", \"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [640, 512, [], \"f244\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [640, 512, [], \"f240\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [640, 512, [], \"f242\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [640, 512, [], \"f243\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [640, 512, [], \"f241\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [], \"f236\", \"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"]\n};\nvar faBeer = {\n prefix: 'fas',\n iconName: 'beer',\n icon: [448, 512, [], \"f0fc\", \"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"]\n};\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faBible = {\n prefix: 'fas',\n iconName: 'bible',\n icon: [448, 512, [], \"f647\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [], \"f206\", \"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"]\n};\nvar faBiking = {\n prefix: 'fas',\n iconName: 'biking',\n icon: [640, 512, [], \"f84a\", \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"]\n};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [], \"f780\", \"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faBirthdayCake = {\n prefix: 'fas',\n iconName: 'birthday-cake',\n icon: [448, 512, [], \"f1fd\", \"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBlind = {\n prefix: 'fas',\n iconName: 'blind',\n icon: [384, 512, [], \"f29d\", \"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [320, 512, [], \"f0e7\", \"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"]\n};\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [], \"f1e2\", \"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [640, 512, [], \"f5d7\", \"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"]\n};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [], \"f02d\", \"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"]\n};\nvar faBookDead = {\n prefix: 'fas',\n iconName: 'book-dead',\n icon: [448, 512, [], \"f6b7\", \"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"]\n};\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [], \"f518\", \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"]\n};\nvar faBookReader = {\n prefix: 'fas',\n iconName: 'book-reader',\n icon: [512, 512, [], \"f5da\", \"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderStyle = {\n prefix: 'fas',\n iconName: 'border-style',\n icon: [448, 512, [], \"f853\", \"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [496, 512, [], \"f436\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [512, 512, [], \"f466\", \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"]\n};\nvar faBoxes = {\n prefix: 'fas',\n iconName: 'boxes',\n icon: [576, 512, [], \"f468\", \"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [576, 512, [], \"f5dc\", \"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [576, 512, [], \"f7ec\", \"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [], \"f0b1\", \"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"]\n};\nvar faBroadcastTower = {\n prefix: 'fas',\n iconName: 'broadcast-tower',\n icon: [640, 512, [], \"f519\", \"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"]\n};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [640, 512, [], \"f51a\", \"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"]\n};\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"]\n};\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [576, 512, [], \"f0a1\", \"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [496, 512, [], \"f140\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"]\n};\nvar faBurn = {\n prefix: 'fas',\n iconName: 'burn',\n icon: [384, 512, [], \"f46a\", \"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [512, 512, [], \"f207\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusAlt = {\n prefix: 'fas',\n iconName: 'bus-alt',\n icon: [512, 512, [], \"f55e\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [], \"f64a\", \"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [448, 512, [], \"f1ec\", \"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"]\n};\nvar faCalendarAlt = {\n prefix: 'fas',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"]\n};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"]\n};\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"]\n};\nvar faCalendarTimes = {\n prefix: 'fas',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [], \"f030\", \"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"]\n};\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [], \"f083\", \"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [640, 512, [], \"f6bb\", \"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"]\n};\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"]\n};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [], \"f1b9\", \"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarAlt = {\n prefix: 'fas',\n iconName: 'car-alt',\n icon: [480, 512, [], \"f5de\", \"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [], \"f5df\", \"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faCarCrash = {\n prefix: 'fas',\n iconName: 'car-crash',\n icon: [640, 512, [], \"f5e1\", \"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"]\n};\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [], \"f5e4\", \"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [192, 512, [], \"f0d9\", \"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [192, 512, [], \"f0da\", \"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'fas',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'fas',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'fas',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'fas',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [], \"f787\", \"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"]\n};\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"]\n};\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [512, 512, [], \"f6be\", \"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"]\n};\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [], \"f6c0\", \"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [640, 512, [], \"f51b\", \"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChalkboardTeacher = {\n prefix: 'fas',\n iconName: 'chalkboard-teacher',\n icon: [640, 512, [], \"f51c\", \"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"]\n};\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [], \"f1fe\", \"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [], \"f201\", \"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [544, 512, [], \"f200\", \"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [512, 512, [], \"f00c\", \"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"]\n};\nvar faCheckCircle = {\n prefix: 'fas',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [512, 512, [], \"f560\", \"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"]\n};\nvar faCheckSquare = {\n prefix: 'fas',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"]\n};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"]\n};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [], \"f43a\", \"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [512, 512, [], \"f43c\", \"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [], \"f43f\", \"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"]\n};\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [384, 512, [], \"f441\", \"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [], \"f443\", \"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [], \"f445\", \"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [384, 512, [], \"f447\", \"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChevronCircleDown = {\n prefix: 'fas',\n iconName: 'chevron-circle-down',\n icon: [512, 512, [], \"f13a\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"]\n};\nvar faChevronCircleLeft = {\n prefix: 'fas',\n iconName: 'chevron-circle-left',\n icon: [512, 512, [], \"f137\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"]\n};\nvar faChevronCircleRight = {\n prefix: 'fas',\n iconName: 'chevron-circle-right',\n icon: [512, 512, [], \"f138\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"]\n};\nvar faChevronCircleUp = {\n prefix: 'fas',\n iconName: 'chevron-circle-up',\n icon: [512, 512, [], \"f139\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [448, 512, [], \"f078\", \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [], \"f053\", \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [], \"f054\", \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [448, 512, [], \"f077\", \"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [384, 512, [], \"f1ae\", \"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [], \"f51d\", \"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"]\n};\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [], \"f64f\", \"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"]\n};\nvar faClinicMedical = {\n prefix: 'fas',\n iconName: 'clinic-medical',\n icon: [576, 512, [], \"f7f2\", \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"]\n};\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"]\n};\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [], \"f0c2\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"]\n};\nvar faCloudDownloadAlt = {\n prefix: 'fas',\n iconName: 'cloud-download-alt',\n icon: [640, 512, [], \"f381\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"]\n};\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [576, 512, [], \"f6c3\", \"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"]\n};\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [], \"f73d\", \"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [], \"f6c4\", \"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [576, 512, [], \"f743\", \"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudUploadAlt = {\n prefix: 'fas',\n iconName: 'cloud-upload-alt',\n icon: [640, 512, [], \"f382\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"]\n};\nvar faCocktail = {\n prefix: 'fas',\n iconName: 'cocktail',\n icon: [576, 512, [], \"f561\", \"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"]\n};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [384, 512, [], \"f126\", \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"]\n};\nvar faCoffee = {\n prefix: 'fas',\n iconName: 'coffee',\n icon: [640, 512, [], \"f0f4\", \"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"]\n};\nvar faCog = {\n prefix: 'fas',\n iconName: 'cog',\n icon: [512, 512, [], \"f013\", \"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faCogs = {\n prefix: 'fas',\n iconName: 'cogs',\n icon: [640, 512, [], \"f085\", \"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"]\n};\nvar faColumns = {\n prefix: 'fas',\n iconName: 'columns',\n icon: [512, 512, [], \"f0db\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"]\n};\nvar faCommentAlt = {\n prefix: 'fas',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"]\n};\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"]\n};\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"]\n};\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [576, 512, [], \"f653\", \"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [496, 512, [], \"f51f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faCompressAlt = {\n prefix: 'fas',\n iconName: 'compress-alt',\n icon: [448, 512, [], \"f422\", \"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"]\n};\nvar faCompressArrowsAlt = {\n prefix: 'fas',\n iconName: 'compress-arrows-alt',\n icon: [512, 512, [], \"f78c\", \"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"]\n};\nvar faConciergeBell = {\n prefix: 'fas',\n iconName: 'concierge-bell',\n icon: [512, 512, [], \"f562\", \"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [], \"f563\", \"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"]\n};\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faCropAlt = {\n prefix: 'fas',\n iconName: 'crop-alt',\n icon: [512, 512, [], \"f565\", \"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [], \"f654\", \"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"]\n};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [640, 512, [], \"f521\", \"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"]\n};\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"]\n};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [512, 512, [], \"f1b3\", \"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"]\n};\nvar faCut = {\n prefix: 'fas',\n iconName: 'cut',\n icon: [448, 512, [], \"f0c4\", \"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"]\n};\nvar faDeaf = {\n prefix: 'fas',\n iconName: 'deaf',\n icon: [512, 512, [], \"f2a4\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [], \"f108\", \"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [], \"f655\", \"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"]\n};\nvar faDiagnoses = {\n prefix: 'fas',\n iconName: 'diagnoses',\n icon: [640, 512, [], \"f470\", \"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [], \"f522\", \"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [480, 512, [], \"f6cf\", \"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [], \"f523\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [], \"f524\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [], \"f525\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [], \"f526\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [], \"f527\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [], \"f528\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDigitalTachograph = {\n prefix: 'fas',\n iconName: 'digital-tachograph',\n icon: [640, 512, [], \"f566\", \"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"]\n};\nvar faDirections = {\n prefix: 'fas',\n iconName: 'directions',\n icon: [512, 512, [], \"f5eb\", \"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [], \"f529\", \"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faDizzy = {\n prefix: 'fas',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"]\n};\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [], \"f471\", \"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"]\n};\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [], \"f6d3\", \"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"]\n};\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [288, 512, [], \"f155\", \"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [], \"f472\", \"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faDollyFlatbed = {\n prefix: 'fas',\n iconName: 'dolly-flatbed',\n icon: [640, 512, [], \"f474\", \"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDonate = {\n prefix: 'fas',\n iconName: 'donate',\n icon: [512, 512, [], \"f4b9\", \"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"]\n};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [640, 512, [], \"f52a\", \"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"]\n};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [640, 512, [], \"f52b\", \"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"]\n};\nvar faDotCircle = {\n prefix: 'fas',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [], \"f4ba\", \"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faDraftingCompass = {\n prefix: 'fas',\n iconName: 'drafting-compass',\n icon: [512, 512, [], \"f568\", \"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [], \"f6d5\", \"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [], \"f569\", \"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"]\n};\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"]\n};\nvar faEdit = {\n prefix: 'fas',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"]\n};\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [], \"f7fb\", \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [], \"f052\", \"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"]\n};\nvar faEllipsisH = {\n prefix: 'fas',\n iconName: 'ellipsis-h',\n icon: [512, 512, [], \"f141\", \"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEllipsisV = {\n prefix: 'fas',\n iconName: 'ellipsis-v',\n icon: [192, 512, [], \"f142\", \"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"]\n};\nvar faEnvelopeSquare = {\n prefix: 'fas',\n iconName: 'envelope-square',\n icon: [448, 512, [], \"f199\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [], \"f52c\", \"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [512, 512, [], \"f12d\", \"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [], \"f153\", \"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"]\n};\nvar faExchangeAlt = {\n prefix: 'fas',\n iconName: 'exchange-alt',\n icon: [512, 512, [], \"f362\", \"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [192, 512, [], \"f12a\", \"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"]\n};\nvar faExclamationCircle = {\n prefix: 'fas',\n iconName: 'exclamation-circle',\n icon: [512, 512, [], \"f06a\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExclamationTriangle = {\n prefix: 'fas',\n iconName: 'exclamation-triangle',\n icon: [576, 512, [], \"f071\", \"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"]\n};\nvar faExpandAlt = {\n prefix: 'fas',\n iconName: 'expand-alt',\n icon: [448, 512, [], \"f424\", \"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"]\n};\nvar faExpandArrowsAlt = {\n prefix: 'fas',\n iconName: 'expand-arrows-alt',\n icon: [448, 512, [], \"f31e\", \"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"]\n};\nvar faExternalLinkAlt = {\n prefix: 'fas',\n iconName: 'external-link-alt',\n icon: [512, 512, [], \"f35d\", \"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"]\n};\nvar faExternalLinkSquareAlt = {\n prefix: 'fas',\n iconName: 'external-link-square-alt',\n icon: [448, 512, [], \"f360\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"]\n};\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"]\n};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [], \"f1fb\", \"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faFastBackward = {\n prefix: 'fas',\n iconName: 'fast-backward',\n icon: [512, 512, [], \"f049\", \"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"]\n};\nvar faFastForward = {\n prefix: 'fas',\n iconName: 'fast-forward',\n icon: [512, 512, [], \"f050\", \"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [], \"f1ac\", \"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [], \"f52d\", \"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"]\n};\nvar faFeatherAlt = {\n prefix: 'fas',\n iconName: 'feather-alt',\n icon: [512, 512, [], \"f56b\", \"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"]\n};\nvar faFemale = {\n prefix: 'fas',\n iconName: 'female',\n icon: [256, 512, [], \"f182\", \"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"]\n};\nvar faFighterJet = {\n prefix: 'fas',\n iconName: 'fighter-jet',\n icon: [640, 512, [], \"f0fb\", \"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"]\n};\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileAlt = {\n prefix: 'fas',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileArchive = {\n prefix: 'fas',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [384, 512, [], \"f6dd\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileDownload = {\n prefix: 'fas',\n iconName: 'file-download',\n icon: [384, 512, [], \"f56d\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [], \"f56e\", \"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"]\n};\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [], \"f56f\", \"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"]\n};\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"]\n};\nvar faFileMedicalAlt = {\n prefix: 'fas',\n iconName: 'file-medical-alt',\n icon: [448, 512, [], \"f478\", \"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"]\n};\nvar faFileUpload = {\n prefix: 'fas',\n iconName: 'file-upload',\n icon: [384, 512, [], \"f574\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"]\n};\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"]\n};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [], \"f008\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [384, 512, [], \"f06d\", \"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"]\n};\nvar faFireAlt = {\n prefix: 'fas',\n iconName: 'fire-alt',\n icon: [448, 512, [], \"f7e4\", \"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [448, 512, [], \"f134\", \"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"]\n};\nvar faFirstAid = {\n prefix: 'fas',\n iconName: 'first-aid',\n icon: [576, 512, [], \"f479\", \"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [], \"f578\", \"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFistRaised = {\n prefix: 'fas',\n iconName: 'fist-raised',\n icon: [384, 512, [], \"f6de\", \"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [512, 512, [], \"f11e\", \"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"]\n};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [512, 512, [], \"f74d\", \"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"]\n};\nvar faFlushed = {\n prefix: 'fas',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"]\n};\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fas',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFootballBall = {\n prefix: 'fas',\n iconName: 'football-ball',\n icon: [496, 512, [], \"f44e\", \"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [], \"f04e\", \"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFrown = {\n prefix: 'fas',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"]\n};\nvar faFrownOpen = {\n prefix: 'fas',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faFunnelDollar = {\n prefix: 'fas',\n iconName: 'funnel-dollar',\n icon: [640, 512, [], \"f662\", \"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [], \"f1e3\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [], \"f52f\", \"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [], \"f0e3\", \"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [288, 512, [], \"f22d\", \"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"]\n};\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [], \"f6e2\", \"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [], \"f06b\", \"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"]\n};\nvar faGlassCheers = {\n prefix: 'fas',\n iconName: 'glass-cheers',\n icon: [640, 512, [], \"f79f\", \"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"]\n};\nvar faGlassMartini = {\n prefix: 'fas',\n iconName: 'glass-martini',\n icon: [512, 512, [], \"f000\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"]\n};\nvar faGlassMartiniAlt = {\n prefix: 'fas',\n iconName: 'glass-martini-alt',\n icon: [512, 512, [], \"f57b\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"]\n};\nvar faGlassWhiskey = {\n prefix: 'fas',\n iconName: 'glass-whiskey',\n icon: [512, 512, [], \"f7a0\", \"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [496, 512, [], \"f0ac\", \"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"]\n};\nvar faGlobeAfrica = {\n prefix: 'fas',\n iconName: 'globe-africa',\n icon: [496, 512, [], \"f57c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"]\n};\nvar faGlobeAmericas = {\n prefix: 'fas',\n iconName: 'globe-americas',\n icon: [496, 512, [], \"f57d\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"]\n};\nvar faGlobeAsia = {\n prefix: 'fas',\n iconName: 'globe-asia',\n icon: [496, 512, [], \"f57e\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"]\n};\nvar faGlobeEurope = {\n prefix: 'fas',\n iconName: 'globe-europe',\n icon: [496, 512, [], \"f7a2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"]\n};\nvar faGolfBall = {\n prefix: 'fas',\n iconName: 'golf-ball',\n icon: [416, 512, [], \"f450\", \"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [], \"f19d\", \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [], \"f531\", \"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faGrimace = {\n prefix: 'fas',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"]\n};\nvar faGrin = {\n prefix: 'fas',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinAlt = {\n prefix: 'fas',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'fas',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'grin-beam-sweat',\n icon: [504, 512, [], \"f583\", \"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinHearts = {\n prefix: 'fas',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"]\n};\nvar faGrinSquint = {\n prefix: 'fas',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'fas',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"]\n};\nvar faGrinStars = {\n prefix: 'fas',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"]\n};\nvar faGrinTears = {\n prefix: 'fas',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinTongue = {\n prefix: 'fas',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'fas',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinWink = {\n prefix: 'fas',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"]\n};\nvar faGripHorizontal = {\n prefix: 'fas',\n iconName: 'grip-horizontal',\n icon: [448, 512, [], \"f58d\", \"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [512, 512, [], \"f7a4\", \"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [256, 512, [], \"f7a5\", \"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faHSquare = {\n prefix: 'fas',\n iconName: 'h-square',\n icon: [448, 512, [], \"f0fd\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"]\n};\nvar faHamburger = {\n prefix: 'fas',\n iconName: 'hamburger',\n icon: [512, 512, [], \"f805\", \"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"]\n};\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [], \"f6e3\", \"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"]\n};\nvar faHandHoldingUsd = {\n prefix: 'fas',\n iconName: 'hand-holding-usd',\n icon: [576, 512, [], \"f4c0\", \"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"]\n};\nvar faHandHoldingWater = {\n prefix: 'fas',\n iconName: 'hand-holding-water',\n icon: [576, 512, [], \"f4c1\", \"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [512, 512, [], \"f806\", \"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"]\n};\nvar faHandPaper = {\n prefix: 'fas',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [], \"f0a6\", \"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"]\n};\nvar faHandRock = {\n prefix: 'fas',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"]\n};\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [640, 512, [], \"f4c2\", \"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"]\n};\nvar faHandsHelping = {\n prefix: 'fas',\n iconName: 'hands-helping',\n icon: [640, 512, [], \"f4c4\", \"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"]\n};\nvar faHandsWash = {\n prefix: 'fas',\n iconName: 'hands-wash',\n icon: [576, 512, [], \"e05e\", \"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"]\n};\nvar faHandshakeAltSlash = {\n prefix: 'fas',\n iconName: 'handshake-alt-slash',\n icon: [640, 512, [], \"e05f\", \"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [], \"f6e6\", \"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"]\n};\nvar faHardHat = {\n prefix: 'fas',\n iconName: 'hard-hat',\n icon: [512, 512, [], \"f807\", \"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [], \"f292\", \"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"]\n};\nvar faHdd = {\n prefix: 'fas',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [512, 512, [], \"e063\", \"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [512, 512, [], \"f1dc\", \"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"]\n};\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [], \"f025\", \"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"]\n};\nvar faHeadphonesAlt = {\n prefix: 'fas',\n iconName: 'headphones-alt',\n icon: [512, 512, [], \"f58f\", \"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"]\n};\nvar faHeartBroken = {\n prefix: 'fas',\n iconName: 'heart-broken',\n icon: [512, 512, [], \"f7a9\", \"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHeartbeat = {\n prefix: 'fas',\n iconName: 'heartbeat',\n icon: [512, 512, [], \"f21e\", \"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [], \"f533\", \"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"]\n};\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [544, 512, [], \"f591\", \"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"]\n};\nvar faHiking = {\n prefix: 'fas',\n iconName: 'hiking',\n icon: [384, 512, [], \"f6ec\", \"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [], \"f6ed\", \"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHistory = {\n prefix: 'fas',\n iconName: 'history',\n icon: [512, 512, [], \"f1da\", \"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [448, 512, [], \"f7aa\", \"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"]\n};\nvar faHome = {\n prefix: 'fas',\n iconName: 'home',\n icon: [576, 512, [], \"f015\", \"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [], \"f6f0\", \"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [512, 512, [], \"f7ab\", \"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"]\n};\nvar faHospitalAlt = {\n prefix: 'fas',\n iconName: 'hospital-alt',\n icon: [576, 512, [], \"f47d\", \"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faHospitalSymbol = {\n prefix: 'fas',\n iconName: 'hospital-symbol',\n icon: [512, 512, [], \"f47e\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"]\n};\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [640, 512, [], \"f80d\", \"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"]\n};\nvar faHotTub = {\n prefix: 'fas',\n iconName: 'hot-tub',\n icon: [512, 512, [], \"f593\", \"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [], \"f80f\", \"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [576, 512, [], \"f594\", \"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [], \"f253\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [], \"f252\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [], \"f251\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"]\n};\nvar faHouseDamage = {\n prefix: 'fas',\n iconName: 'house-damage',\n icon: [576, 512, [], \"f6f1\", \"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [], \"e065\", \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"]\n};\nvar faHryvnia = {\n prefix: 'fas',\n iconName: 'hryvnia',\n icon: [384, 512, [], \"f6f2\", \"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [], \"f810\", \"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [], \"f86d\", \"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"]\n};\nvar faIdCardAlt = {\n prefix: 'fas',\n iconName: 'id-card-alt',\n icon: [576, 512, [], \"f47f\", \"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [576, 512, [], \"f01c\", \"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [512, 512, [], \"f275\", \"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [], \"f534\", \"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"]\n};\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"]\n};\nvar faInfoCircle = {\n prefix: 'fas',\n iconName: 'info-circle',\n icon: [512, 512, [], \"f05a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [320, 512, [], \"f033\", \"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"]\n};\nvar faJournalWhills = {\n prefix: 'fas',\n iconName: 'journal-whills',\n icon: [448, 512, [], \"f66a\", \"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [], \"f66b\", \"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [], \"f084\", \"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [], \"f66d\", \"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"]\n};\nvar faKiss = {\n prefix: 'fas',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faKissBeam = {\n prefix: 'fas',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'fas',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [], \"f66f\", \"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"]\n};\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [], \"f109\", \"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopHouse = {\n prefix: 'fas',\n iconName: 'laptop-house',\n icon: [640, 512, [], \"e066\", \"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"]\n};\nvar faLaugh = {\n prefix: 'fas',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"]\n};\nvar faLaughBeam = {\n prefix: 'fas',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughSquint = {\n prefix: 'fas',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughWink = {\n prefix: 'fas',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [512, 512, [], \"f5fd\", \"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [576, 512, [], \"f06c\", \"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"]\n};\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [], \"f536\", \"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"]\n};\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faLevelDownAlt = {\n prefix: 'fas',\n iconName: 'level-down-alt',\n icon: [320, 512, [], \"f3be\", \"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"]\n};\nvar faLevelUpAlt = {\n prefix: 'fas',\n iconName: 'level-up-alt',\n icon: [320, 512, [], \"f3bf\", \"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"]\n};\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [512, 512, [], \"f0c1\", \"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [384, 512, [], \"f195\", \"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [], \"f03a\", \"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faListAlt = {\n prefix: 'fas',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"]\n};\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [], \"f0cb\", \"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [], \"f0ca\", \"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [512, 512, [], \"f124\", \"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"]\n};\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [], \"f023\", \"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"]\n};\nvar faLongArrowAltDown = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-down',\n icon: [256, 512, [], \"f309\", \"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"]\n};\nvar faLongArrowAltLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-left',\n icon: [448, 512, [], \"f30a\", \"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"]\n};\nvar faLongArrowAltRight = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-right',\n icon: [448, 512, [], \"f30b\", \"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"]\n};\nvar faLongArrowAltUp = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-up',\n icon: [256, 512, [], \"f30c\", \"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"]\n};\nvar faLowVision = {\n prefix: 'fas',\n iconName: 'low-vision',\n icon: [576, 512, [], \"f2a8\", \"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"]\n};\nvar faLuggageCart = {\n prefix: 'fas',\n iconName: 'luggage-cart',\n icon: [640, 512, [], \"f59d\", \"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [], \"f604\", \"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"]\n};\nvar faMagic = {\n prefix: 'fas',\n iconName: 'magic',\n icon: [512, 512, [], \"f0d0\", \"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [512, 512, [], \"f076\", \"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"]\n};\nvar faMailBulk = {\n prefix: 'fas',\n iconName: 'mail-bulk',\n icon: [576, 512, [], \"f674\", \"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"]\n};\nvar faMale = {\n prefix: 'fas',\n iconName: 'male',\n icon: [192, 512, [], \"f183\", \"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarked = {\n prefix: 'fas',\n iconName: 'map-marked',\n icon: [576, 512, [], \"f59f\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarkedAlt = {\n prefix: 'fas',\n iconName: 'map-marked-alt',\n icon: [576, 512, [], \"f5a0\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarker = {\n prefix: 'fas',\n iconName: 'map-marker',\n icon: [384, 512, [], \"f041\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"]\n};\nvar faMapMarkerAlt = {\n prefix: 'fas',\n iconName: 'map-marker-alt',\n icon: [384, 512, [], \"f3c5\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [288, 512, [], \"f276\", \"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"]\n};\nvar faMapSigns = {\n prefix: 'fas',\n iconName: 'map-signs',\n icon: [512, 512, [], \"f277\", \"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [384, 512, [], \"f222\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [512, 512, [], \"f227\", \"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [384, 512, [], \"f229\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsStrokeH = {\n prefix: 'fas',\n iconName: 'mars-stroke-h',\n icon: [480, 512, [], \"f22b\", \"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMarsStrokeV = {\n prefix: 'fas',\n iconName: 'mars-stroke-v',\n icon: [288, 512, [], \"f22a\", \"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [640, 512, [], \"f6fa\", \"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"]\n};\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [], \"f5a2\", \"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"]\n};\nvar faMedkit = {\n prefix: 'fas',\n iconName: 'medkit',\n icon: [512, 512, [], \"f0fa\", \"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"]\n};\nvar faMeh = {\n prefix: 'fas',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehBlank = {\n prefix: 'fas',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'fas',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"]\n};\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [640, 512, [], \"f538\", \"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"]\n};\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [288, 512, [], \"f223\", \"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [], \"f753\", \"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [352, 512, [], \"f130\", \"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneAlt = {\n prefix: 'fas',\n iconName: 'microphone-alt',\n icon: [352, 512, [], \"f3c9\", \"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"]\n};\nvar faMicrophoneAltSlash = {\n prefix: 'fas',\n iconName: 'microphone-alt-slash',\n icon: [640, 512, [], \"f539\", \"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [], \"f610\", \"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [], \"f068\", \"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faMinusCircle = {\n prefix: 'fas',\n iconName: 'minus-circle',\n icon: [512, 512, [], \"f056\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"]\n};\nvar faMinusSquare = {\n prefix: 'fas',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"]\n};\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [320, 512, [], \"f10b\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMobileAlt = {\n prefix: 'fas',\n iconName: 'mobile-alt',\n icon: [320, 512, [], \"f3cd\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [640, 512, [], \"f0d6\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'fas',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [640, 512, [], \"f53a\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"]\n};\nvar faMoneyBillWaveAlt = {\n prefix: 'fas',\n iconName: 'money-bill-wave-alt',\n icon: [640, 512, [], \"f53b\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [640, 512, [], \"f53c\", \"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMoneyCheckAlt = {\n prefix: 'fas',\n iconName: 'money-check-alt',\n icon: [640, 512, [], \"f53d\", \"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [], \"f678\", \"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [], \"f21c\", \"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"]\n};\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [640, 512, [], \"f6fc\", \"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"]\n};\nvar faMouse = {\n prefix: 'fas',\n iconName: 'mouse',\n icon: [384, 512, [], \"f8cc\", \"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"]\n};\nvar faMousePointer = {\n prefix: 'fas',\n iconName: 'mouse-pointer',\n icon: [320, 512, [], \"f245\", \"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"]\n};\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [], \"f7b6\", \"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [], \"f001\", \"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [288, 512, [], \"f22c\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [384, 512, [], \"f481\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"]\n};\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"]\n};\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [], \"f679\", \"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [], \"f700\", \"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"]\n};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [], \"f03b\", \"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [], \"f815\", \"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"]\n};\nvar faPaintBrush = {\n prefix: 'fas',\n iconName: 'paint-brush',\n icon: [512, 512, [], \"f1fc\", \"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"]\n};\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [], \"f53f\", \"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"]\n};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"]\n};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [], \"f0c6\", \"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [], \"f1dd\", \"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"]\n};\nvar faParking = {\n prefix: 'fas',\n iconName: 'parking',\n icon: [448, 512, [], \"f540\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"]\n};\nvar faPastafarianism = {\n prefix: 'fas',\n iconName: 'pastafarianism',\n icon: [640, 512, [], \"f67b\", \"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [448, 512, [], \"f0ea\", \"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [448, 512, [], \"f04c\", \"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"]\n};\nvar faPauseCircle = {\n prefix: 'fas',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [496, 512, [], \"f67c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [], \"f304\", \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"]\n};\nvar faPenAlt = {\n prefix: 'fas',\n iconName: 'pen-alt',\n icon: [512, 512, [], \"f305\", \"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [], \"f5ac\", \"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [], \"f5ad\", \"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"]\n};\nvar faPenSquare = {\n prefix: 'fas',\n iconName: 'pen-square',\n icon: [448, 512, [], \"f14b\", \"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"]\n};\nvar faPencilAlt = {\n prefix: 'fas',\n iconName: 'pencil-alt',\n icon: [512, 512, [], \"f303\", \"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"]\n};\nvar faPencilRuler = {\n prefix: 'fas',\n iconName: 'pencil-ruler',\n icon: [512, 512, [], \"f5ae\", \"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [576, 512, [], \"e068\", \"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"]\n};\nvar faPeopleCarry = {\n prefix: 'fas',\n iconName: 'people-carry',\n icon: [640, 512, [], \"f4ce\", \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"]\n};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [], \"f816\", \"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [448, 512, [], \"f295\", \"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"]\n};\nvar faPercentage = {\n prefix: 'fas',\n iconName: 'percentage',\n icon: [384, 512, [], \"f541\", \"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"]\n};\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [], \"f095\", \"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"]\n};\nvar faPhoneAlt = {\n prefix: 'fas',\n iconName: 'phone-alt',\n icon: [512, 512, [], \"f879\", \"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faPhoneSquare = {\n prefix: 'fas',\n iconName: 'phone-square',\n icon: [448, 512, [], \"f098\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"]\n};\nvar faPhoneSquareAlt = {\n prefix: 'fas',\n iconName: 'phone-square-alt',\n icon: [448, 512, [], \"f87b\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [384, 512, [], \"f2a0\", \"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"]\n};\nvar faPhotoVideo = {\n prefix: 'fas',\n iconName: 'photo-video',\n icon: [640, 512, [], \"f87c\", \"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"]\n};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"]\n};\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [], \"f5af\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [], \"f5b0\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [448, 512, [], \"f04b\", \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"]\n};\nvar faPlayCircle = {\n prefix: 'fas',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [], \"f1e6\", \"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"]\n};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [], \"f067\", \"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPlusCircle = {\n prefix: 'fas',\n iconName: 'plus-circle',\n icon: [512, 512, [], \"f055\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPlusSquare = {\n prefix: 'fas',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"]\n};\nvar faPoll = {\n prefix: 'fas',\n iconName: 'poll',\n icon: [448, 512, [], \"f681\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"]\n};\nvar faPollH = {\n prefix: 'fas',\n iconName: 'poll-h',\n icon: [448, 512, [], \"f682\", \"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [], \"f2fe\", \"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [], \"f75a\", \"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"]\n};\nvar faPortrait = {\n prefix: 'fas',\n iconName: 'portrait',\n icon: [384, 512, [], \"f3e0\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faPoundSign = {\n prefix: 'fas',\n iconName: 'pound-sign',\n icon: [320, 512, [], \"f154\", \"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [], \"f011\", \"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"]\n};\nvar faPray = {\n prefix: 'fas',\n iconName: 'pray',\n icon: [384, 512, [], \"f683\", \"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"]\n};\nvar faPrayingHands = {\n prefix: 'fas',\n iconName: 'praying-hands',\n icon: [640, 512, [], \"f684\", \"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"]\n};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [384, 512, [], \"f5b1\", \"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"]\n};\nvar faPrescriptionBottleAlt = {\n prefix: 'fas',\n iconName: 'prescription-bottle-alt',\n icon: [384, 512, [], \"f486\", \"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [], \"f02f\", \"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faProcedures = {\n prefix: 'fas',\n iconName: 'procedures',\n icon: [640, 512, [], \"f487\", \"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faProjectDiagram = {\n prefix: 'fas',\n iconName: 'project-diagram',\n icon: [640, 512, [], \"f542\", \"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [384, 512, [], \"e06a\", \"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"]\n};\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [384, 512, [], \"e06b\", \"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [576, 512, [], \"f12e\", \"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"]\n};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [384, 512, [], \"f128\", \"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"]\n};\nvar faQuestionCircle = {\n prefix: 'fas',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"]\n};\nvar faQuidditch = {\n prefix: 'fas',\n iconName: 'quidditch',\n icon: [640, 512, [], \"f458\", \"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [512, 512, [], \"f10d\", \"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [512, 512, [], \"f10e\", \"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuran = {\n prefix: 'fas',\n iconName: 'quran',\n icon: [448, 512, [], \"f687\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [496, 512, [], \"f7b9\", \"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"]\n};\nvar faRadiationAlt = {\n prefix: 'fas',\n iconName: 'radiation-alt',\n icon: [496, 512, [], \"f7ba\", \"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [576, 512, [], \"f75b\", \"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"]\n};\nvar faRandom = {\n prefix: 'fas',\n iconName: 'random',\n icon: [512, 512, [], \"f074\", \"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"]\n};\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [], \"f543\", \"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"]\n};\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [], \"f1b8\", \"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"]\n};\nvar faRedo = {\n prefix: 'fas',\n iconName: 'redo',\n icon: [512, 512, [], \"f01e\", \"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"]\n};\nvar faRedoAlt = {\n prefix: 'fas',\n iconName: 'redo-alt',\n icon: [512, 512, [], \"f2f9\", \"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"]\n};\nvar faRemoveFormat = {\n prefix: 'fas',\n iconName: 'remove-format',\n icon: [640, 512, [], \"f87d\", \"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [], \"f3e5\", \"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [], \"f122\", \"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [640, 512, [], \"f079\", \"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [], \"f4d6\", \"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [], \"f018\", \"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [], \"f544\", \"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [], \"f09e\", \"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"]\n};\nvar faRssSquare = {\n prefix: 'fas',\n iconName: 'rss-square',\n icon: [448, 512, [], \"f143\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"]\n};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [], \"f158\", \"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [640, 512, [], \"f545\", \"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [576, 512, [], \"f547\", \"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"]\n};\nvar faRunning = {\n prefix: 'fas',\n iconName: 'running',\n icon: [416, 512, [], \"f70c\", \"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [320, 512, [], \"f156\", \"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"]\n};\nvar faSadCry = {\n prefix: 'fas',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"]\n};\nvar faSadTear = {\n prefix: 'fas',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [], \"f7bf\", \"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"]\n};\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [], \"f7c0\", \"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"]\n};\nvar faSave = {\n prefix: 'fas',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [], \"f549\", \"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [], \"f54a\", \"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [640, 512, [], \"f70e\", \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"]\n};\nvar faSearch = {\n prefix: 'fas',\n iconName: 'search',\n icon: [512, 512, [], \"f002\", \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"]\n};\nvar faSearchDollar = {\n prefix: 'fas',\n iconName: 'search-dollar',\n icon: [512, 512, [], \"f688\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"]\n};\nvar faSearchLocation = {\n prefix: 'fas',\n iconName: 'search-location',\n icon: [512, 512, [], \"f689\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faSearchMinus = {\n prefix: 'fas',\n iconName: 'search-minus',\n icon: [512, 512, [], \"f010\", \"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSearchPlus = {\n prefix: 'fas',\n iconName: 'search-plus',\n icon: [512, 512, [], \"f00e\", \"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [], \"f4d8\", \"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [], \"f61f\", \"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [], \"f064\", \"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"]\n};\nvar faShareAlt = {\n prefix: 'fas',\n iconName: 'share-alt',\n icon: [448, 512, [], \"f1e0\", \"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"]\n};\nvar faShareAltSquare = {\n prefix: 'fas',\n iconName: 'share-alt-square',\n icon: [448, 512, [], \"f1e1\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"]\n};\nvar faShareSquare = {\n prefix: 'fas',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [], \"f20b\", \"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faShieldAlt = {\n prefix: 'fas',\n iconName: 'shield-alt',\n icon: [512, 512, [], \"f3ed\", \"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [640, 512, [], \"f21a\", \"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"]\n};\nvar faShippingFast = {\n prefix: 'fas',\n iconName: 'shipping-fast',\n icon: [640, 512, [], \"f48b\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"]\n};\nvar faShoppingBag = {\n prefix: 'fas',\n iconName: 'shopping-bag',\n icon: [448, 512, [], \"f290\", \"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"]\n};\nvar faShoppingBasket = {\n prefix: 'fas',\n iconName: 'shopping-basket',\n icon: [576, 512, [], \"f291\", \"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"]\n};\nvar faShoppingCart = {\n prefix: 'fas',\n iconName: 'shopping-cart',\n icon: [576, 512, [], \"f07a\", \"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [], \"f2cc\", \"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"]\n};\nvar faShuttleVan = {\n prefix: 'fas',\n iconName: 'shuttle-van',\n icon: [640, 512, [], \"f5b6\", \"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"]\n};\nvar faSign = {\n prefix: 'fas',\n iconName: 'sign',\n icon: [512, 512, [], \"f4d9\", \"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"]\n};\nvar faSignInAlt = {\n prefix: 'fas',\n iconName: 'sign-in-alt',\n icon: [512, 512, [], \"f2f6\", \"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"]\n};\nvar faSignLanguage = {\n prefix: 'fas',\n iconName: 'sign-language',\n icon: [448, 512, [], \"f2a7\", \"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"]\n};\nvar faSignOutAlt = {\n prefix: 'fas',\n iconName: 'sign-out-alt',\n icon: [512, 512, [], \"f2f5\", \"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [], \"f012\", \"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"]\n};\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [640, 512, [], \"f0e8\", \"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faSkating = {\n prefix: 'fas',\n iconName: 'skating',\n icon: [448, 512, [], \"f7c5\", \"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSkiing = {\n prefix: 'fas',\n iconName: 'skiing',\n icon: [512, 512, [], \"f7c9\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"]\n};\nvar faSkiingNordic = {\n prefix: 'fas',\n iconName: 'skiing-nordic',\n icon: [576, 512, [], \"f7ca\", \"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [], \"f54c\", \"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [], \"f714\", \"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"]\n};\nvar faSlidersH = {\n prefix: 'fas',\n iconName: 'sliders-h',\n icon: [512, 512, [], \"f1de\", \"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"]\n};\nvar faSmile = {\n prefix: 'fas',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"]\n};\nvar faSmileBeam = {\n prefix: 'fas',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"]\n};\nvar faSmileWink = {\n prefix: 'fas',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"]\n};\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [], \"f48d\", \"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"]\n};\nvar faSmokingBan = {\n prefix: 'fas',\n iconName: 'smoking-ban',\n icon: [512, 512, [], \"f54d\", \"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"]\n};\nvar faSms = {\n prefix: 'fas',\n iconName: 'sms',\n icon: [512, 512, [], \"f7cd\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"]\n};\nvar faSnowboarding = {\n prefix: 'fas',\n iconName: 'snowboarding',\n icon: [512, 512, [], \"f7ce\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [], \"f7d0\", \"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [], \"e06e\", \"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"]\n};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [], \"f696\", \"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [], \"f0dc\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"]\n};\nvar faSortAlphaDown = {\n prefix: 'fas',\n iconName: 'sort-alpha-down',\n icon: [448, 512, [], \"f15d\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaDownAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-down-alt',\n icon: [448, 512, [], \"f881\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAlphaUp = {\n prefix: 'fas',\n iconName: 'sort-alpha-up',\n icon: [448, 512, [], \"f15e\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaUpAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-up-alt',\n icon: [448, 512, [], \"f882\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAmountDown = {\n prefix: 'fas',\n iconName: 'sort-amount-down',\n icon: [512, 512, [], \"f160\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountDownAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-down-alt',\n icon: [512, 512, [], \"f884\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortAmountUp = {\n prefix: 'fas',\n iconName: 'sort-amount-up',\n icon: [512, 512, [], \"f161\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountUpAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-up-alt',\n icon: [512, 512, [], \"f885\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [], \"f0dd\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"]\n};\nvar faSortNumericDown = {\n prefix: 'fas',\n iconName: 'sort-numeric-down',\n icon: [448, 512, [], \"f162\", \"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortNumericDownAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-down-alt',\n icon: [448, 512, [], \"f886\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortNumericUp = {\n prefix: 'fas',\n iconName: 'sort-numeric-up',\n icon: [448, 512, [], \"f163\", \"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"]\n};\nvar faSortNumericUpAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-up-alt',\n icon: [448, 512, [], \"f887\", \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [], \"f0de\", \"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"]\n};\nvar faSpaceShuttle = {\n prefix: 'fas',\n iconName: 'space-shuttle',\n icon: [640, 512, [], \"f197\", \"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [576, 512, [], \"f717\", \"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"]\n};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [], \"f45c\", \"M512 512H0V0h512v512z\"]\n};\nvar faSquareRootAlt = {\n prefix: 'fas',\n iconName: 'square-root-alt',\n icon: [576, 512, [], \"f698\", \"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"]\n};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"]\n};\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [], \"f699\", \"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"]\n};\nvar faStarHalfAlt = {\n prefix: 'fas',\n iconName: 'star-half-alt',\n icon: [536, 512, [], \"f5c0\", \"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [464, 512, [], \"f69a\", \"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [480, 512, [], \"f621\", \"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"]\n};\nvar faStepBackward = {\n prefix: 'fas',\n iconName: 'step-backward',\n icon: [448, 512, [], \"f048\", \"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"]\n};\nvar faStepForward = {\n prefix: 'fas',\n iconName: 'step-forward',\n icon: [448, 512, [], \"f051\", \"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"]\n};\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [512, 512, [], \"f0f1\", \"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faStickyNote = {\n prefix: 'fas',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"]\n};\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [448, 512, [], \"f04d\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faStopCircle = {\n prefix: 'fas',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [], \"f2f2\", \"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [616, 512, [], \"f54e\", \"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"]\n};\nvar faStoreAlt = {\n prefix: 'fas',\n iconName: 'store-alt',\n icon: [640, 512, [], \"f54f\", \"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"]\n};\nvar faStoreAltSlash = {\n prefix: 'fas',\n iconName: 'store-alt-slash',\n icon: [640, 512, [], \"e070\", \"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"]\n};\nvar faStream = {\n prefix: 'fas',\n iconName: 'stream',\n icon: [512, 512, [], \"f550\", \"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"]\n};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSubway = {\n prefix: 'fas',\n iconName: 'subway',\n icon: [448, 512, [], \"f239\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [], \"f0f2\", \"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"]\n};\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"]\n};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSurprise = {\n prefix: 'fas',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"]\n};\nvar faSwimmer = {\n prefix: 'fas',\n iconName: 'swimmer',\n icon: [640, 512, [], \"f5c4\", \"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"]\n};\nvar faSwimmingPool = {\n prefix: 'fas',\n iconName: 'swimming-pool',\n icon: [640, 512, [], \"f5c5\", \"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [], \"f69b\", \"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"]\n};\nvar faSync = {\n prefix: 'fas',\n iconName: 'sync',\n icon: [512, 512, [], \"f021\", \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"]\n};\nvar faSyncAlt = {\n prefix: 'fas',\n iconName: 'sync-alt',\n icon: [512, 512, [], \"f2f1\", \"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [], \"f48e\", \"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"]\n};\nvar faTableTennis = {\n prefix: 'fas',\n iconName: 'table-tennis',\n icon: [512, 512, [], \"f45d\", \"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [], \"f10a\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faTabletAlt = {\n prefix: 'fas',\n iconName: 'tablet-alt',\n icon: [448, 512, [], \"f3fa\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"]\n};\nvar faTachometerAlt = {\n prefix: 'fas',\n iconName: 'tachometer-alt',\n icon: [576, 512, [], \"f3fd\", \"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [512, 512, [], \"f02b\", \"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [640, 512, [], \"f02c\", \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"]\n};\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [640, 512, [], \"f4db\", \"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"]\n};\nvar faTasks = {\n prefix: 'fas',\n iconName: 'tasks',\n icon: [512, 512, [], \"f0ae\", \"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [], \"f1ba\", \"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [640, 512, [], \"f62e\", \"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [640, 512, [], \"f62f\", \"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTenge = {\n prefix: 'fas',\n iconName: 'tenge',\n icon: [384, 512, [], \"f7d7\", \"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"]\n};\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [640, 512, [], \"f120\", \"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"]\n};\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"]\n};\nvar faTh = {\n prefix: 'fas',\n iconName: 'th',\n icon: [512, 512, [], \"f00a\", \"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"]\n};\nvar faThLarge = {\n prefix: 'fas',\n iconName: 'th-large',\n icon: [512, 512, [], \"f009\", \"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"]\n};\nvar faThList = {\n prefix: 'fas',\n iconName: 'th-list',\n icon: [512, 512, [], \"f00b\", \"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"]\n};\nvar faTheaterMasks = {\n prefix: 'fas',\n iconName: 'theater-masks',\n icon: [640, 512, [], \"f630\", \"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"]\n};\nvar faThermometerEmpty = {\n prefix: 'fas',\n iconName: 'thermometer-empty',\n icon: [256, 512, [], \"f2cb\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerFull = {\n prefix: 'fas',\n iconName: 'thermometer-full',\n icon: [256, 512, [], \"f2c7\", \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"]\n};\nvar faThermometerHalf = {\n prefix: 'fas',\n iconName: 'thermometer-half',\n icon: [256, 512, [], \"f2c9\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerQuarter = {\n prefix: 'fas',\n iconName: 'thermometer-quarter',\n icon: [256, 512, [], \"f2ca\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerThreeQuarters = {\n prefix: 'fas',\n iconName: 'thermometer-three-quarters',\n icon: [256, 512, [], \"f2c8\", \"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"]\n};\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"]\n};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [], \"f08d\", \"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"]\n};\nvar faTicketAlt = {\n prefix: 'fas',\n iconName: 'ticket-alt',\n icon: [576, 512, [], \"f3ff\", \"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"]\n};\nvar faTimes = {\n prefix: 'fas',\n iconName: 'times',\n icon: [352, 512, [], \"f00d\", \"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"]\n};\nvar faTimesCircle = {\n prefix: 'fas',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"]\n};\nvar faTint = {\n prefix: 'fas',\n iconName: 'tint',\n icon: [352, 512, [], \"f043\", \"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faTintSlash = {\n prefix: 'fas',\n iconName: 'tint-slash',\n icon: [640, 512, [], \"f5c7\", \"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"]\n};\nvar faTired = {\n prefix: 'fas',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"]\n};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"]\n};\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [384, 512, [], \"f7d8\", \"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [576, 512, [], \"f71e\", \"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [], \"f552\", \"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"]\n};\nvar faTools = {\n prefix: 'fas',\n iconName: 'tools',\n icon: [512, 512, [], \"f7d9\", \"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"]\n};\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [], \"f5c9\", \"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"]\n};\nvar faTorah = {\n prefix: 'fas',\n iconName: 'torah',\n icon: [640, 512, [], \"f6a0\", \"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"]\n};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [], \"f6a1\", \"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"]\n};\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [], \"f722\", \"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [], \"f25c\", \"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [384, 512, [], \"f637\", \"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [], \"f238\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"]\n};\nvar faTram = {\n prefix: 'fas',\n iconName: 'tram',\n icon: [512, 512, [], \"f7da\", \"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [384, 512, [], \"f224\", \"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTransgenderAlt = {\n prefix: 'fas',\n iconName: 'transgender-alt',\n icon: [480, 512, [], \"f225\", \"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"]\n};\nvar faTrashAlt = {\n prefix: 'fas',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestore = {\n prefix: 'fas',\n iconName: 'trash-restore',\n icon: [448, 512, [], \"f829\", \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestoreAlt = {\n prefix: 'fas',\n iconName: 'trash-restore-alt',\n icon: [448, 512, [], \"f82a\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [384, 512, [], \"f1bb\", \"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [], \"f091\", \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [], \"f0d1\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faTruckLoading = {\n prefix: 'fas',\n iconName: 'truck-loading',\n icon: [640, 512, [], \"f4de\", \"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"]\n};\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [], \"f63c\", \"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faTshirt = {\n prefix: 'fas',\n iconName: 'tshirt',\n icon: [640, 512, [], \"f553\", \"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [], \"f1e4\", \"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [], \"f26c\", \"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [640, 512, [], \"f5ca\", \"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"]\n};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faUndo = {\n prefix: 'fas',\n iconName: 'undo',\n icon: [512, 512, [], \"f0e2\", \"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"]\n};\nvar faUndoAlt = {\n prefix: 'fas',\n iconName: 'undo-alt',\n icon: [512, 512, [], \"f2ea\", \"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"]\n};\nvar faUniversity = {\n prefix: 'fas',\n iconName: 'university',\n icon: [512, 512, [], \"f19c\", \"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"]\n};\nvar faUnlink = {\n prefix: 'fas',\n iconName: 'unlink',\n icon: [512, 512, [], \"f127\", \"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [], \"f09c\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faUnlockAlt = {\n prefix: 'fas',\n iconName: 'unlock-alt',\n icon: [448, 512, [], \"f13e\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserAlt = {\n prefix: 'fas',\n iconName: 'user-alt',\n icon: [512, 512, [], \"f406\", \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"]\n};\nvar faUserAltSlash = {\n prefix: 'fas',\n iconName: 'user-alt-slash',\n icon: [640, 512, [], \"f4fa\", \"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"]\n};\nvar faUserCircle = {\n prefix: 'fas',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"]\n};\nvar faUserCog = {\n prefix: 'fas',\n iconName: 'user-cog',\n icon: [640, 512, [], \"f4fe\", \"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"]\n};\nvar faUserEdit = {\n prefix: 'fas',\n iconName: 'user-edit',\n icon: [640, 512, [], \"f4ff\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"]\n};\nvar faUserFriends = {\n prefix: 'fas',\n iconName: 'user-friends',\n icon: [640, 512, [], \"f500\", \"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"]\n};\nvar faUserMd = {\n prefix: 'fas',\n iconName: 'user-md',\n icon: [448, 512, [], \"f0f0\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [], \"f504\", \"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [], \"f21b\", \"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"]\n};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"]\n};\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"]\n};\nvar faUserTimes = {\n prefix: 'fas',\n iconName: 'user-times',\n icon: [640, 512, [], \"f235\", \"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersCog = {\n prefix: 'fas',\n iconName: 'users-cog',\n icon: [640, 512, [], \"f509\", \"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"]\n};\nvar faUtensilSpoon = {\n prefix: 'fas',\n iconName: 'utensil-spoon',\n icon: [512, 512, [], \"f2e5\", \"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"]\n};\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [416, 512, [], \"f2e7\", \"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"]\n};\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [512, 512, [], \"f5cb\", \"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"]\n};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [288, 512, [], \"f221\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [512, 512, [], \"f226\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [576, 512, [], \"f228\", \"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [480, 512, [], \"f492\", \"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"]\n};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [640, 512, [], \"f493\", \"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [], \"f03d\", \"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"]\n};\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"]\n};\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"]\n};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faVolleyballBall = {\n prefix: 'fas',\n iconName: 'volleyball-ball',\n icon: [512, 512, [], \"f45f\", \"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"]\n};\nvar faVolumeDown = {\n prefix: 'fas',\n iconName: 'volume-down',\n icon: [384, 512, [], \"f027\", \"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"]\n};\nvar faVolumeMute = {\n prefix: 'fas',\n iconName: 'volume-mute',\n icon: [512, 512, [], \"f6a9\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [256, 512, [], \"f026\", \"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"]\n};\nvar faVolumeUp = {\n prefix: 'fas',\n iconName: 'volume-up',\n icon: [576, 512, [], \"f028\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"]\n};\nvar faVoteYea = {\n prefix: 'fas',\n iconName: 'vote-yea',\n icon: [640, 512, [], \"f772\", \"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"]\n};\nvar faWalking = {\n prefix: 'fas',\n iconName: 'walking',\n icon: [320, 512, [], \"f554\", \"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"]\n};\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"]\n};\nvar faWeight = {\n prefix: 'fas',\n iconName: 'weight',\n icon: [512, 512, [], \"f496\", \"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"]\n};\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [], \"f1eb\", \"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"]\n};\nvar faWindowClose = {\n prefix: 'fas',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"]\n};\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"]\n};\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [288, 512, [], \"f4e3\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"]\n};\nvar faWineGlassAlt = {\n prefix: 'fas',\n iconName: 'wine-glass-alt',\n icon: [288, 512, [], \"f5ce\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [576, 512, [], \"f159\", \"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [], \"f0ad\", \"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [640, 512, [], \"f497\", \"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [384, 512, [], \"f157\", \"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [496, 512, [], \"f6ad\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar _iconsCache = {\n faAd: faAd,\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAirFreshener: faAirFreshener,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAnchor: faAnchor,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faAngry: faAngry,\n faAnkh: faAnkh,\n faAppleAlt: faAppleAlt,\n faArchive: faArchive,\n faArchway: faArchway,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowUp: faArrowUp,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAtlas: faAtlas,\n faAtom: faAtom,\n faAudioDescription: faAudioDescription,\n faAward: faAward,\n faBaby: faBaby,\n faBabyCarriage: faBabyCarriage,\n faBackspace: faBackspace,\n faBackward: faBackward,\n faBacon: faBacon,\n faBacteria: faBacteria,\n faBacterium: faBacterium,\n faBahai: faBahai,\n faBalanceScale: faBalanceScale,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faBalanceScaleRight: faBalanceScaleRight,\n faBan: faBan,\n faBandAid: faBandAid,\n faBarcode: faBarcode,\n faBars: faBars,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBath: faBath,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBeer: faBeer,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBezierCurve: faBezierCurve,\n faBible: faBible,\n faBicycle: faBicycle,\n faBiking: faBiking,\n faBinoculars: faBinoculars,\n faBiohazard: faBiohazard,\n faBirthdayCake: faBirthdayCake,\n faBlender: faBlender,\n faBlenderPhone: faBlenderPhone,\n faBlind: faBlind,\n faBlog: faBlog,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBone: faBone,\n faBong: faBong,\n faBook: faBook,\n faBookDead: faBookDead,\n faBookMedical: faBookMedical,\n faBookOpen: faBookOpen,\n faBookReader: faBookReader,\n faBookmark: faBookmark,\n faBorderAll: faBorderAll,\n faBorderNone: faBorderNone,\n faBorderStyle: faBorderStyle,\n faBowlingBall: faBowlingBall,\n faBox: faBox,\n faBoxOpen: faBoxOpen,\n faBoxTissue: faBoxTissue,\n faBoxes: faBoxes,\n faBraille: faBraille,\n faBrain: faBrain,\n faBreadSlice: faBreadSlice,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBroadcastTower: faBroadcastTower,\n faBroom: faBroom,\n faBrush: faBrush,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBurn: faBurn,\n faBus: faBus,\n faBusAlt: faBusAlt,\n faBusinessTime: faBusinessTime,\n faCalculator: faCalculator,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarDay: faCalendarDay,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCalendarWeek: faCalendarWeek,\n faCamera: faCamera,\n faCameraRetro: faCameraRetro,\n faCampground: faCampground,\n faCandyCane: faCandyCane,\n faCannabis: faCannabis,\n faCapsules: faCapsules,\n faCar: faCar,\n faCarAlt: faCarAlt,\n faCarBattery: faCarBattery,\n faCarCrash: faCarCrash,\n faCarSide: faCarSide,\n faCaravan: faCaravan,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCarrot: faCarrot,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCashRegister: faCashRegister,\n faCat: faCat,\n faCertificate: faCertificate,\n faChair: faChair,\n faChalkboard: faChalkboard,\n faChalkboardTeacher: faChalkboardTeacher,\n faChargingStation: faChargingStation,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartPie: faChartPie,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckDouble: faCheckDouble,\n faCheckSquare: faCheckSquare,\n faCheese: faCheese,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBoard: faChessBoard,\n faChessKing: faChessKing,\n faChessKnight: faChessKnight,\n faChessPawn: faChessPawn,\n faChessQueen: faChessQueen,\n faChessRook: faChessRook,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faChurch: faChurch,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faCity: faCity,\n faClinicMedical: faClinicMedical,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudMeatball: faCloudMeatball,\n faCloudMoon: faCloudMoon,\n faCloudMoonRain: faCloudMoonRain,\n faCloudRain: faCloudRain,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faCloudSun: faCloudSun,\n faCloudSunRain: faCloudSunRain,\n faCloudUploadAlt: faCloudUploadAlt,\n faCocktail: faCocktail,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCoffee: faCoffee,\n faCog: faCog,\n faCogs: faCogs,\n faCoins: faCoins,\n faColumns: faColumns,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDollar: faCommentDollar,\n faCommentDots: faCommentDots,\n faCommentMedical: faCommentMedical,\n faCommentSlash: faCommentSlash,\n faComments: faComments,\n faCommentsDollar: faCommentsDollar,\n faCompactDisc: faCompactDisc,\n faCompass: faCompass,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faConciergeBell: faConciergeBell,\n faCookie: faCookie,\n faCookieBite: faCookieBite,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCouch: faCouch,\n faCreditCard: faCreditCard,\n faCrop: faCrop,\n faCropAlt: faCropAlt,\n faCross: faCross,\n faCrosshairs: faCrosshairs,\n faCrow: faCrow,\n faCrown: faCrown,\n faCrutch: faCrutch,\n faCube: faCube,\n faCubes: faCubes,\n faCut: faCut,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDemocrat: faDemocrat,\n faDesktop: faDesktop,\n faDharmachakra: faDharmachakra,\n faDiagnoses: faDiagnoses,\n faDice: faDice,\n faDiceD20: faDiceD20,\n faDiceD6: faDiceD6,\n faDiceFive: faDiceFive,\n faDiceFour: faDiceFour,\n faDiceOne: faDiceOne,\n faDiceSix: faDiceSix,\n faDiceThree: faDiceThree,\n faDiceTwo: faDiceTwo,\n faDigitalTachograph: faDigitalTachograph,\n faDirections: faDirections,\n faDisease: faDisease,\n faDivide: faDivide,\n faDizzy: faDizzy,\n faDna: faDna,\n faDog: faDog,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyFlatbed: faDollyFlatbed,\n faDonate: faDonate,\n faDoorClosed: faDoorClosed,\n faDoorOpen: faDoorOpen,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDraftingCompass: faDraftingCompass,\n faDragon: faDragon,\n faDrawPolygon: faDrawPolygon,\n faDrum: faDrum,\n faDrumSteelpan: faDrumSteelpan,\n faDrumstickBite: faDrumstickBite,\n faDumbbell: faDumbbell,\n faDumpster: faDumpster,\n faDumpsterFire: faDumpsterFire,\n faDungeon: faDungeon,\n faEdit: faEdit,\n faEgg: faEgg,\n faEject: faEject,\n faEllipsisH: faEllipsisH,\n faEllipsisV: faEllipsisV,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faEnvelopeSquare: faEnvelopeSquare,\n faEquals: faEquals,\n faEraser: faEraser,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeSlash: faEyeSlash,\n faFan: faFan,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFaucet: faFaucet,\n faFax: faFax,\n faFeather: faFeather,\n faFeatherAlt: faFeatherAlt,\n faFemale: faFemale,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileContract: faFileContract,\n faFileCsv: faFileCsv,\n faFileDownload: faFileDownload,\n faFileExcel: faFileExcel,\n faFileExport: faFileExport,\n faFileImage: faFileImage,\n faFileImport: faFileImport,\n faFileInvoice: faFileInvoice,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFilePrescription: faFilePrescription,\n faFileSignature: faFileSignature,\n faFileUpload: faFileUpload,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFill: faFill,\n faFillDrip: faFillDrip,\n faFilm: faFilm,\n faFilter: faFilter,\n faFingerprint: faFingerprint,\n faFire: faFire,\n faFireAlt: faFireAlt,\n faFireExtinguisher: faFireExtinguisher,\n faFirstAid: faFirstAid,\n faFish: faFish,\n faFistRaised: faFistRaised,\n faFlag: faFlag,\n faFlagCheckered: faFlagCheckered,\n faFlagUsa: faFlagUsa,\n faFlask: faFlask,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderMinus: faFolderMinus,\n faFolderOpen: faFolderOpen,\n faFolderPlus: faFolderPlus,\n faFont: faFont,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFootballBall: faFootballBall,\n faForward: faForward,\n faFrog: faFrog,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFunnelDollar: faFunnelDollar,\n faFutbol: faFutbol,\n faGamepad: faGamepad,\n faGasPump: faGasPump,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGhost: faGhost,\n faGift: faGift,\n faGifts: faGifts,\n faGlassCheers: faGlassCheers,\n faGlassMartini: faGlassMartini,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faGlassWhiskey: faGlassWhiskey,\n faGlasses: faGlasses,\n faGlobe: faGlobe,\n faGlobeAfrica: faGlobeAfrica,\n faGlobeAmericas: faGlobeAmericas,\n faGlobeAsia: faGlobeAsia,\n faGlobeEurope: faGlobeEurope,\n faGolfBall: faGolfBall,\n faGopuram: faGopuram,\n faGraduationCap: faGraduationCap,\n faGreaterThan: faGreaterThan,\n faGreaterThanEqual: faGreaterThanEqual,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faGripHorizontal: faGripHorizontal,\n faGripLines: faGripLines,\n faGripLinesVertical: faGripLinesVertical,\n faGripVertical: faGripVertical,\n faGuitar: faGuitar,\n faHSquare: faHSquare,\n faHamburger: faHamburger,\n faHammer: faHammer,\n faHamsa: faHamsa,\n faHandHolding: faHandHolding,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingMedical: faHandHoldingMedical,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandMiddleFinger: faHandMiddleFinger,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSparkles: faHandSparkles,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHelping: faHandsHelping,\n faHandsWash: faHandsWash,\n faHandshake: faHandshake,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faHandshakeSlash: faHandshakeSlash,\n faHanukiah: faHanukiah,\n faHardHat: faHardHat,\n faHashtag: faHashtag,\n faHatCowboy: faHatCowboy,\n faHatCowboySide: faHatCowboySide,\n faHatWizard: faHatWizard,\n faHdd: faHdd,\n faHeadSideCough: faHeadSideCough,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faHeadSideMask: faHeadSideMask,\n faHeadSideVirus: faHeadSideVirus,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeadphonesAlt: faHeadphonesAlt,\n faHeadset: faHeadset,\n faHeart: faHeart,\n faHeartBroken: faHeartBroken,\n faHeartbeat: faHeartbeat,\n faHelicopter: faHelicopter,\n faHighlighter: faHighlighter,\n faHiking: faHiking,\n faHippo: faHippo,\n faHistory: faHistory,\n faHockeyPuck: faHockeyPuck,\n faHollyBerry: faHollyBerry,\n faHome: faHome,\n faHorse: faHorse,\n faHorseHead: faHorseHead,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHospitalUser: faHospitalUser,\n faHotTub: faHotTub,\n faHotdog: faHotdog,\n faHotel: faHotel,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faHouseDamage: faHouseDamage,\n faHouseUser: faHouseUser,\n faHryvnia: faHryvnia,\n faICursor: faICursor,\n faIceCream: faIceCream,\n faIcicles: faIcicles,\n faIcons: faIcons,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faIgloo: faIgloo,\n faImage: faImage,\n faImages: faImages,\n faInbox: faInbox,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faInfinity: faInfinity,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faItalic: faItalic,\n faJedi: faJedi,\n faJoint: faJoint,\n faJournalWhills: faJournalWhills,\n faKaaba: faKaaba,\n faKey: faKey,\n faKeyboard: faKeyboard,\n faKhanda: faKhanda,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faKiwiBird: faKiwiBird,\n faLandmark: faLandmark,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLaptopCode: faLaptopCode,\n faLaptopHouse: faLaptopHouse,\n faLaptopMedical: faLaptopMedical,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLayerGroup: faLayerGroup,\n faLeaf: faLeaf,\n faLemon: faLemon,\n faLessThan: faLessThan,\n faLessThanEqual: faLessThanEqual,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faLink: faLink,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocationArrow: faLocationArrow,\n faLock: faLock,\n faLockOpen: faLockOpen,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLowVision: faLowVision,\n faLuggageCart: faLuggageCart,\n faLungs: faLungs,\n faLungsVirus: faLungsVirus,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMailBulk: faMailBulk,\n faMale: faMale,\n faMap: faMap,\n faMapMarked: faMapMarked,\n faMapMarkedAlt: faMapMarkedAlt,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMarker: faMarker,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMask: faMask,\n faMedal: faMedal,\n faMedkit: faMedkit,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMemory: faMemory,\n faMenorah: faMenorah,\n faMercury: faMercury,\n faMeteor: faMeteor,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faMicrophoneSlash: faMicrophoneSlash,\n faMicroscope: faMicroscope,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusSquare: faMinusSquare,\n faMitten: faMitten,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoneyBillWave: faMoneyBillWave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faMoneyCheck: faMoneyCheck,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faMonument: faMonument,\n faMoon: faMoon,\n faMortarPestle: faMortarPestle,\n faMosque: faMosque,\n faMotorcycle: faMotorcycle,\n faMountain: faMountain,\n faMouse: faMouse,\n faMousePointer: faMousePointer,\n faMugHot: faMugHot,\n faMusic: faMusic,\n faNetworkWired: faNetworkWired,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotEqual: faNotEqual,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOilCan: faOilCan,\n faOm: faOm,\n faOtter: faOtter,\n faOutdent: faOutdent,\n faPager: faPager,\n faPaintBrush: faPaintBrush,\n faPaintRoller: faPaintRoller,\n faPalette: faPalette,\n faPallet: faPallet,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faParking: faParking,\n faPassport: faPassport,\n faPastafarianism: faPastafarianism,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPeace: faPeace,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenFancy: faPenFancy,\n faPenNib: faPenNib,\n faPenSquare: faPenSquare,\n faPencilAlt: faPencilAlt,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleCarry: faPeopleCarry,\n faPepperHot: faPepperHot,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faPersonBooth: faPersonBooth,\n faPhone: faPhone,\n faPhoneAlt: faPhoneAlt,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faPhoneVolume: faPhoneVolume,\n faPhotoVideo: faPhotoVideo,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPizzaSlice: faPizzaSlice,\n faPlaceOfWorship: faPlaceOfWorship,\n faPlane: faPlane,\n faPlaneArrival: faPlaneArrival,\n faPlaneDeparture: faPlaneDeparture,\n faPlaneSlash: faPlaneSlash,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPoll: faPoll,\n faPollH: faPollH,\n faPoo: faPoo,\n faPooStorm: faPooStorm,\n faPoop: faPoop,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPray: faPray,\n faPrayingHands: faPrayingHands,\n faPrescription: faPrescription,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPrint: faPrint,\n faProcedures: faProcedures,\n faProjectDiagram: faProjectDiagram,\n faPumpMedical: faPumpMedical,\n faPumpSoap: faPumpSoap,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faQuran: faQuran,\n faRadiation: faRadiation,\n faRadiationAlt: faRadiationAlt,\n faRainbow: faRainbow,\n faRandom: faRandom,\n faReceipt: faReceipt,\n faRecordVinyl: faRecordVinyl,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRegistered: faRegistered,\n faRemoveFormat: faRemoveFormat,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRepublican: faRepublican,\n faRestroom: faRestroom,\n faRetweet: faRetweet,\n faRibbon: faRibbon,\n faRing: faRing,\n faRoad: faRoad,\n faRobot: faRobot,\n faRocket: faRocket,\n faRoute: faRoute,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRuler: faRuler,\n faRulerCombined: faRulerCombined,\n faRulerHorizontal: faRulerHorizontal,\n faRulerVertical: faRulerVertical,\n faRunning: faRunning,\n faRupeeSign: faRupeeSign,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSatellite: faSatellite,\n faSatelliteDish: faSatelliteDish,\n faSave: faSave,\n faSchool: faSchool,\n faScrewdriver: faScrewdriver,\n faScroll: faScroll,\n faSdCard: faSdCard,\n faSearch: faSearch,\n faSearchDollar: faSearchDollar,\n faSearchLocation: faSearchLocation,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faServer: faServer,\n faShapes: faShapes,\n faShare: faShare,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faShekelSign: faShekelSign,\n faShieldAlt: faShieldAlt,\n faShieldVirus: faShieldVirus,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShoePrints: faShoePrints,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShower: faShower,\n faShuttleVan: faShuttleVan,\n faSign: faSign,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSignature: faSignature,\n faSimCard: faSimCard,\n faSink: faSink,\n faSitemap: faSitemap,\n faSkating: faSkating,\n faSkiing: faSkiing,\n faSkiingNordic: faSkiingNordic,\n faSkull: faSkull,\n faSkullCrossbones: faSkullCrossbones,\n faSlash: faSlash,\n faSleigh: faSleigh,\n faSlidersH: faSlidersH,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSmog: faSmog,\n faSmoking: faSmoking,\n faSmokingBan: faSmokingBan,\n faSms: faSms,\n faSnowboarding: faSnowboarding,\n faSnowflake: faSnowflake,\n faSnowman: faSnowman,\n faSnowplow: faSnowplow,\n faSoap: faSoap,\n faSocks: faSocks,\n faSolarPanel: faSolarPanel,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faSortAlphaUp: faSortAlphaUp,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faSortAmountDown: faSortAmountDown,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faSortAmountUp: faSortAmountUp,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faSortNumericUp: faSortNumericUp,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faSortUp: faSortUp,\n faSpa: faSpa,\n faSpaceShuttle: faSpaceShuttle,\n faSpellCheck: faSpellCheck,\n faSpider: faSpider,\n faSpinner: faSpinner,\n faSplotch: faSplotch,\n faSprayCan: faSprayCan,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faSquareRootAlt: faSquareRootAlt,\n faStamp: faStamp,\n faStar: faStar,\n faStarAndCrescent: faStarAndCrescent,\n faStarHalf: faStarHalf,\n faStarHalfAlt: faStarHalfAlt,\n faStarOfDavid: faStarOfDavid,\n faStarOfLife: faStarOfLife,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStopwatch20: faStopwatch20,\n faStore: faStore,\n faStoreAlt: faStoreAlt,\n faStoreAltSlash: faStoreAltSlash,\n faStoreSlash: faStoreSlash,\n faStream: faStream,\n faStreetView: faStreetView,\n faStrikethrough: faStrikethrough,\n faStroopwafel: faStroopwafel,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSuitcaseRolling: faSuitcaseRolling,\n faSun: faSun,\n faSuperscript: faSuperscript,\n faSurprise: faSurprise,\n faSwatchbook: faSwatchbook,\n faSwimmer: faSwimmer,\n faSwimmingPool: faSwimmingPool,\n faSynagogue: faSynagogue,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTablets: faTablets,\n faTachometerAlt: faTachometerAlt,\n faTag: faTag,\n faTags: faTags,\n faTape: faTape,\n faTasks: faTasks,\n faTaxi: faTaxi,\n faTeeth: faTeeth,\n faTeethOpen: faTeethOpen,\n faTemperatureHigh: faTemperatureHigh,\n faTemperatureLow: faTemperatureLow,\n faTenge: faTenge,\n faTerminal: faTerminal,\n faTextHeight: faTextHeight,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faTheaterMasks: faTheaterMasks,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faTicketAlt: faTicketAlt,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTint: faTint,\n faTintSlash: faTintSlash,\n faTired: faTired,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faToilet: faToilet,\n faToiletPaper: faToiletPaper,\n faToiletPaperSlash: faToiletPaperSlash,\n faToolbox: faToolbox,\n faTools: faTools,\n faTooth: faTooth,\n faTorah: faTorah,\n faToriiGate: faToriiGate,\n faTractor: faTractor,\n faTrademark: faTrademark,\n faTrafficLight: faTrafficLight,\n faTrailer: faTrailer,\n faTrain: faTrain,\n faTram: faTram,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTrashRestore: faTrashRestore,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faTree: faTree,\n faTrophy: faTrophy,\n faTruck: faTruck,\n faTruckLoading: faTruckLoading,\n faTruckMonster: faTruckMonster,\n faTruckMoving: faTruckMoving,\n faTruckPickup: faTruckPickup,\n faTshirt: faTshirt,\n faTty: faTty,\n faTv: faTv,\n faUmbrella: faUmbrella,\n faUmbrellaBeach: faUmbrellaBeach,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUser: faUser,\n faUserAlt: faUserAlt,\n faUserAltSlash: faUserAltSlash,\n faUserAstronaut: faUserAstronaut,\n faUserCheck: faUserCheck,\n faUserCircle: faUserCircle,\n faUserClock: faUserClock,\n faUserCog: faUserCog,\n faUserEdit: faUserEdit,\n faUserFriends: faUserFriends,\n faUserGraduate: faUserGraduate,\n faUserInjured: faUserInjured,\n faUserLock: faUserLock,\n faUserMd: faUserMd,\n faUserMinus: faUserMinus,\n faUserNinja: faUserNinja,\n faUserNurse: faUserNurse,\n faUserPlus: faUserPlus,\n faUserSecret: faUserSecret,\n faUserShield: faUserShield,\n faUserSlash: faUserSlash,\n faUserTag: faUserTag,\n faUserTie: faUserTie,\n faUserTimes: faUserTimes,\n faUsers: faUsers,\n faUsersCog: faUsersCog,\n faUsersSlash: faUsersSlash,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faVectorSquare: faVectorSquare,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVest: faVest,\n faVestPatches: faVestPatches,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoSlash: faVideoSlash,\n faVihara: faVihara,\n faVirus: faVirus,\n faVirusSlash: faVirusSlash,\n faViruses: faViruses,\n faVoicemail: faVoicemail,\n faVolleyballBall: faVolleyballBall,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeUp: faVolumeUp,\n faVoteYea: faVoteYea,\n faVrCardboard: faVrCardboard,\n faWalking: faWalking,\n faWallet: faWallet,\n faWarehouse: faWarehouse,\n faWater: faWater,\n faWaveSquare: faWaveSquare,\n faWeight: faWeight,\n faWeightHanging: faWeightHanging,\n faWheelchair: faWheelchair,\n faWifi: faWifi,\n faWind: faWind,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWineBottle: faWineBottle,\n faWineGlass: faWineGlass,\n faWineGlassAlt: faWineGlassAlt,\n faWonSign: faWonSign,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign,\n faYinYang: faYinYang\n};\n\nexport { _iconsCache as fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\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'];","import 'core-js';\n\nconst NOT_PROVIDED = 'Not provided';\nvar events = [\n\t{\n\t\taction: 'Set Price Marker Type',\n\t\tevent: 'PRICE_MARKER_TYPE_SET',\n\t\tlabel: ({ type } = { }) => {\n\t\t\treturn type || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Set Timeseries',\n\t\tevent: 'TIME_SERIES_SET',\n\t\tlabel: ({ days, interval, period} = {}) => {\n\t\t\treturn `Days: ${days || NOT_PROVIDED}, Interval: ${interval || NOT_PROVIDED}, Period: ${period || NOT_PROVIDED}`\n\t\t}\n\t},\n\t{\n\t\taction: 'Add Upper Indicator',\n\t\tevent: 'INDICATOR_UPPER_ADD',\n\t\tlabel: ({ indicatorType } = {}) => {\n\t\t\treturn indicatorType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Remove Upper Indicator',\n\t\tevent: 'INDICATOR_UPPER_REMOVE',\n\t\tlabel: ({ indicatorType } = {}) => {\n\t\t\treturn indicatorType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Add Lower Indicator',\n\t\tevent: 'INDICATOR_LOWER_ADD',\n\t\tlabel: ({ indicatorType } = {}) => {\n\t\t\treturn indicatorType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Remove Lower Indicator',\n\t\tevent: 'INDICATOR_LOWER_REMOVE',\n\t\tlabel: ({ indicatorType } = {}) => {\n\t\t\treturn indicatorType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Add Comparison',\n\t\tevent: 'COMPARISON_ADD',\n\t\tlabel: ({ issueId } = {}) => {\n\t\t\treturn issueId || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Remove Comparison',\n\t\tevent: 'COMPARISON_REMOVE',\n\t\tlabel: ({ issueId } = {}) => {\n\t\t\treturn issueId || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Add Event',\n\t\tevent: 'EVENT_ADD',\n\t\tlabel: ({ eventType } = {}) => {\n\t\t\treturn eventType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Remove Event',\n\t\tevent: 'EVENT_REMOVE',\n\t\tlabel: ({ eventType } = {}) => {\n\t\t\treturn eventType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Add Tool',\n\t\tevent: 'TOOL_ADD',\n\t\tlabel: ({ toolType } = {}) => {\n\t\t\treturn toolType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Remove Tool',\n\t\tevent: 'TOOL_REMOVE',\n\t\tlabel: ({ toolType } = {}) => {\n\t\t\treturn toolType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Update Tool',\n\t\tevent: 'TOOL_UPDATE',\n\t\tlabel: ({ toolType } = {}) => {\n\t\t\treturn toolType || NOT_PROVIDED\n\t\t}\n\t},\n\t{\n\t\taction: 'Set Scale',\n\t\tevent: 'PANEL_SCALE_CHANGE',\n\t\tlabel: ({ scale } = {}) => {\n\t\t\treturn scale || NOT_PROVIDED\n\t\t}\n\t}\n];\n\nconst GTM_CATEGORY = 'Charting - Time Series';\nconst GTM_EVENT = 'chart-interaction';\nlet isEnabled = true;\n\n/**\n * Utility to add GA Analytics tracking to Modcharts implementations \n * @class ChartAnalytics\n * @constructor\n * @param {string} chart Instance of Modcharts\n * @param {object} { onBeforeLog } Optional method to intercept individual ga logging events\n */\nclass ChartAnalytics {\n\tconstructor (chart, { onBeforeLog } = {}) {\n\t\tif (chart && chart.eventEmitter && chart.eventEmitter) {\n\t\t\tthis.chart = chart;\n\t\t\tthis.onBeforeLog = onBeforeLog;\n\t\t\tthis._registerEvents(chart);\n\t\t\t\n\t\t} else {\n\t\t\tconsole.error('Chart must be provided with event emitter interface');\n\t\t}\n\t}\n\t/**\n\t * Indefinitely disables logging within the page (call enable to re-enable). Logging is enabled by default\n\t * @method disable\n\t */\n\tdisable () {\n\t\tisEnabled = false;\n\t}\n\t/**\n\t * Indefinitely enables logging within the page\n\t * @method enable\n\t */\n\tenable () {\n\t\tisEnabled = true;\n\t}\n\tregisterEvent ({\n\t\taction,\n\t\tevent,\n\t\tlabel\n\t}) {\n\t\tthis.chart.eventEmitter.on(event, eventData => {\n\t\t\tif (isEnabled) {\n\t\t\t\tif (window.dataLayer && window.dataLayer.push) {\n\t\t\t\t\tthis._logEvent({ action, event, label }, eventData);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('window.dataLayer is not defined or does not have a push method');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t_registerEvents () {\n\t\tevents.forEach(eventConfig => {\n\t\t\tthis.registerEvent(eventConfig);\n\t\t});\n\t}\n\t_logEvent ({ action, event, label }, eventData) {\n\t\tconst skipLog = this.onBeforeLog && (this.onBeforeLog({ action, event, label }, eventData) === false);\n\t\tif (!skipLog) {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: GTM_EVENT,\n\t\t\t\tchartTagCategory: GTM_CATEGORY,\n\t\t\t\tchartTagAction: action,\n\t\t\t\tchartTagLabel: this._getLabelFromEventData({ label }, eventData)\n\t\t\t});\n\t\t}\n\t}\n\t_getLabelFromEventData ({ label }, eventData) {\n\t\tlet val;\n\t\tif (typeof(label) === 'function') {\n\t\t\tval = label(eventData);\n\t\t} else {\n\t\t\tval = label;\n\t\t}\n\t\treturn val\n\t}\n}\n\nexport { ChartAnalytics as default };\n","import numeral from 'numeral';\nimport moment from 'moment-msdate';\nimport deepmerge from 'deepmerge';\n\nvar currenciesMap = [\n\t{ \"name\": \"Albania Lek\", \"code\": \"ALL\", \"unicodes\": [ 76, 101, 107 ] },\n\t{ \"name\": \"Afghanistan Afghani\", \"code\": \"AFN\", \"unicodes\": [ 1547 ] },\n\t{ \"name\": \"Argentina Peso\", \"code\": \"ARS\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Aruba Guilder\", \"code\": \"AWG\", \"unicodes\": [ 402 ] },\n\t{ \"name\": \"Australia Dollar\", \"code\": \"AUD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Azerbaijan New Manat\", \"code\": \"AZN\", \"unicodes\": [ 1084, 1072, 1085 ] },\n\t{ \"name\": \"Bahamas Dollar\", \"code\": \"BSD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Barbados Dollar\", \"code\": \"BBD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Belarus Ruble\", \"code\": \"BYR\", \"unicodes\": [ 112, 46 ] },\n\t{ \"name\": \"Belize Dollar\", \"code\": \"BZD\", \"unicodes\": [ 66, 90, 36 ] },\n\t{ \"name\": \"Bermuda Dollar\", \"code\": \"BMD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Bolivia Boliviano\", \"code\": \"BOB\", \"unicodes\": [ 36, 98 ] },\n\t{ \"name\": \"Bosnia and Herzegovina Convertible Marka\", \"code\": \"BAM\", \"unicodes\": [ 75, 77 ] },\n\t{ \"name\": \"Botswana Pula\", \"code\": \"BWP\", \"unicodes\": [ 80 ] },\n\t{ \"name\": \"Bulgaria Lev\", \"code\": \"BGN\", \"unicodes\": [ 1083, 1074 ] },\n\t{ \"name\": \"Brazil Real\", \"code\": \"BRL\", \"unicodes\": [ 82, 36 ] },\n\t{ \"name\": \"Brunei Darussalam Dollar\", \"code\": \"BND\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Cambodia Riel\", \"code\": \"KHR\", \"unicodes\": [ 6107 ] },\n\t{ \"name\": \"Canada Dollar\", \"code\": \"CAD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Cayman Islands Dollar\", \"code\": \"KYD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Chile Peso\", \"code\": \"CLP\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"China Yuan Renminbi\", \"code\": \"CNY\", \"unicodes\": [ 165 ] },\n\t{ \"name\": \"Colombia Peso\", \"code\": \"COP\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Costa Rica Colon\", \"code\": \"CRC\", \"unicodes\": [ 8353 ] },\n\t{ \"name\": \"Croatia Kuna\", \"code\": \"HRK\", \"unicodes\": [ 107, 110 ] },\n\t{ \"name\": \"Cuba Peso\", \"code\": \"CUP\", \"unicodes\": [ 8369 ] },\n\t{ \"name\": \"Czech Republic Koruna\", \"code\": \"CZK\", \"unicodes\": [ 75, 269 ] },\n\t{ \"name\": \"Denmark Krone\", \"code\": \"DKK\", \"unicodes\": [ 107, 114 ] },\n\t{ \"name\": \"Dominican Republic Peso\", \"code\": \"DOP\", \"unicodes\": [ 82, 68, 36 ] },\n\t{ \"name\": \"East Caribbean Dollar\", \"code\": \"XCD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Egypt Pound\", \"code\": \"EGP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"El Salvador Colon\", \"code\": \"SVC\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Estonia Kroon\", \"code\": \"EEK\", \"unicodes\": [ 107, 114 ] },\n\t{ \"name\": \"Euro Member Countries\", \"code\": \"EUR\", \"unicodes\": [ 8364 ] },\n\t{ \"name\": \"Falkland Islands (Malvinas Pound\", \"code\": \"FKP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Fiji Dollar\", \"code\": \"FJD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Ghana Cedi\", \"code\": \"GHC\", \"unicodes\": [ 162 ] },\n\t{ \"name\": \"Gibraltar Pound\", \"code\": \"GIP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Guatemala Quetzal\", \"code\": \"GTQ\", \"unicodes\": [ 81 ] },\n\t{ \"name\": \"Guernsey Pound\", \"code\": \"GGP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Guyana Dollar\", \"code\": \"GYD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Honduras Lempira\", \"code\": \"HNL\", \"unicodes\": [ 76 ] },\n\t{ \"name\": \"Hong Kong Dollar\", \"code\": \"HKD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Hungary Forint\", \"code\": \"HUF\", \"unicodes\": [ 70, 116 ] },\n\t{ \"name\": \"Iceland Krona\", \"code\": \"ISK\", \"unicodes\": [ 107, 114 ] },\n\t{ \"name\": \"India Rupee\", \"code\": \"INR\", \"unicodes\": [ 8377 ] },\n\t{ \"name\": \"India Rupee\", \"code\": \"INR\", \"unicodes\": [ 96 ] },\n\t{ \"name\": \"Indonesia Rupiah\", \"code\": \"IDR\", \"unicodes\": [ 82, 112 ] },\n\t{ \"name\": \"Iran Rial\", \"code\": \"IRR\", \"unicodes\": [ 65020 ] },\n\t{ \"name\": \"Isle of Man Pound\", \"code\": \"IMP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Israel Shekel\", \"code\": \"ILS\", \"unicodes\": [ 8362 ] },\n\t{ \"name\": \"Jamaica Dollar\", \"code\": \"JMD\", \"unicodes\": [ 74, 36 ] },\n\t{ \"name\": \"Japan Yen\", \"code\": \"JPY\", \"unicodes\": [ 165 ] },\n\t{ \"name\": \"Jersey Pound\", \"code\": \"JEP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Kazakhstan Tenge\", \"code\": \"KZT\", \"unicodes\": [ 1083, 1074 ] },\n\t{ \"name\": \"Korea (North Won\", \"code\": \"KPW\", \"unicodes\": [ 8361 ] },\n\t{ \"name\": \"Korea (South Won\", \"code\": \"KPW\", \"unicodes\": [ 8361 ] },\n\t{ \"name\": \"Kyrgyzstan Som\", \"code\": \"KGS\", \"unicodes\": [ 1083, 1074 ] },\n\t{ \"name\": \"Laos Kip\", \"code\": \"LAK\", \"unicodes\": [ 8365 ] },\n\t{ \"name\": \"Latvia Lat\", \"code\": \"LVL\", \"unicodes\": [ 76, 115 ] },\n\t{ \"name\": \"Lebanon Pound\", \"code\": \"LBP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Liberia Dollar\", \"code\": \"LRD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Lithuania Litas\", \"code\": \"LTL\", \"unicodes\": [ 76, 116 ] },\n\t{ \"name\": \"Macedonia Denar\", \"code\": \"MKD\", \"unicodes\": [ 1076, 1077, 1085 ] },\n\t{ \"name\": \"Malaysia Ringgit\", \"code\": \"MYR\", \"unicodes\": [ 82, 77 ] },\n\t{ \"name\": \"Mauritius Rupee\", \"code\": \"MUR\", \"unicodes\": [ 8360 ] },\n\t{ \"name\": \"Mexico Peso\", \"code\": \"MXN\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Mongolia Tughrik\", \"code\": \"MNT\", \"unicodes\": [ 8366 ] },\n\t{ \"name\": \"Mozambique Metical\", \"code\": \"MZN\", \"unicodes\": [ 77, 84 ] },\n\t{ \"name\": \"Namibia Dollar\", \"code\": \"NAD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Nepal Rupee\", \"code\": \"NPR\", \"unicodes\": [ 8360 ] },\n\t{ \"name\": \"Netherlands Antilles Guilder\", \"code\": \"ANG\", \"unicodes\": [ 402 ] },\n\t{ \"name\": \"New Zealand Dollar\", \"code\": \"NZD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Nicaragua Cordoba\", \"code\": \"NIO\", \"unicodes\": [ 67, 36 ] },\n\t{ \"name\": \"Nigeria Naira\", \"code\": \"NGN\", \"unicodes\": [ 8358 ] },\n\t{ \"name\": \"Norway Krone\", \"code\": \"NOK\", \"unicodes\": [ 107, 114 ] },\n\t{ \"name\": \"Oman Rial\", \"code\": \"OMR\", \"unicodes\": [ 65020 ] },\n\t{ \"name\": \"Pakistan Rupee\", \"code\": \"PKR\", \"unicodes\": [ 8360 ] },\n\t{ \"name\": \"Panama Balboa\", \"code\": \"PAB\", \"unicodes\": [ 66, 47, 46 ] },\n\t{ \"name\": \"Paraguay Guarani\", \"code\": \"PYG\", \"unicodes\": [ 71, 115 ] },\n\t{ \"name\": \"Peru Nuevo Sol\", \"code\": \"PEN\", \"unicodes\": [ 83, 47, 46 ] },\n\t{ \"name\": \"Philippines Peso\", \"code\": \"PHP\", \"unicodes\": [ 8369 ] },\n\t{ \"name\": \"Poland Zloty\", \"code\": \"PLN\", \"unicodes\": [ 122, 322 ] },\n\t{ \"name\": \"Qatar Riyal\", \"code\": \"QAR\", \"unicodes\": [ 65020 ] },\n\t{ \"name\": \"Romania New Leu\", \"code\": \"RON\", \"unicodes\": [ 108, 101, 105 ] },\n\t{ \"name\": \"Russia Ruble\", \"code\": \"RUB\", \"unicodes\": [ 1088, 1091, 1073 ] },\n\t{ \"name\": \"Saint Helena Pound\", \"code\": \"SHP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Saudi Arabia Riyal\", \"code\": \"SAR\", \"unicodes\": [ 65020 ] },\n\t{ \"name\": \"Serbia Dinar\", \"code\": \"RSD\", \"unicodes\": [ 1044, 1080, 1085, 46 ] },\n\t{ \"name\": \"Seychelles Rupee\", \"code\": \"SCR\", \"unicodes\": [ 8360 ] },\n\t{ \"name\": \"Singapore Dollar\", \"code\": \"SGD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Solomon Islands Dollar\", \"code\": \"SBD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Somalia Shilling\", \"code\": \"SOS\", \"unicodes\": [ 83 ] },\n\t{ \"name\": \"South Africa Rand\", \"code\": \"ZAR\", \"unicodes\": [ 82 ] },\n\t{ \"name\": \"Sri Lanka Rupee\", \"code\": \"LKR\", \"unicodes\": [ 8360 ] },\n\t{ \"name\": \"Sweden Krona\", \"code\": \"SEK\", \"unicodes\": [ 107, 114 ] },\n\t{ \"name\": \"Switzerland Franc\", \"code\": \"CHF\", \"unicodes\": [ 67, 72, 70 ] },\n\t{ \"name\": \"Suriname Dollar\", \"code\": \"SRD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Syria Pound\", \"code\": \"SYP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"Taiwan New Dollar\", \"code\": \"TWD\", \"unicodes\": [ 78, 84, 36 ] },\n\t{ \"name\": \"Thailand Baht\", \"code\": \"THB\", \"unicodes\": [ 3647 ] },\n\t{ \"name\": \"Trinidad and Tobago Dollar\", \"code\": \"TTD\", \"unicodes\": [ 84, 84, 36 ] },\n\t{ \"name\": \"Turkey Lira (New)\", \"code\": \"TRY\", \"unicodes\": [ 89, 84, 76 ] },\n\t{ \"name\": \"Turkey Lira\", \"code\": \"TRL\", \"unicodes\": [ 8356 ] },\n\t{ \"name\": \"Tuvalu Dollar\", \"code\": \"TVD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Ukraine Hryvnia\", \"code\": \"UAH\", \"unicodes\": [ 8372 ] },\n\t{ \"name\": \"United Kingdom Pound\", \"code\": \"GBP\", \"unicodes\": [ 163 ] },\n\t{ \"name\": \"United States Dollar\", \"code\": \"USD\", \"unicodes\": [ 36 ] },\n\t{ \"name\": \"Uruguay Peso\", \"code\": \"UYU\", \"unicodes\": [ 36, 85 ] },\n\t{ \"name\": \"Uzbekistan Som\", \"code\": \"UZS\", \"unicodes\": [ 1083, 1074 ] },\n\t{ \"name\": \"Venezuela Bolivar\", \"code\": \"VEF\", \"unicodes\": [ 66, 115 ] },\n\t{ \"name\": \"Viet Nam Dong\", \"code\": \"VND\", \"unicodes\": [ 8363 ] },\n\t{ \"name\": \"Yemen Rial\", \"code\": \"YER\", \"unicodes\": [ 65020 ] },\n\t{ \"name\": \"Zimbabwe Dollar\", \"code\": \"ZWD\", \"unicodes\": [ 90, 36 ] }\n]\n;\n\n/**\r\n * A representation of some information from the ISO currency codes, plus display information and logic\r\n * @ignore\r\n */\r\nvar Currency = /** @class */ (function () {\r\n /**\r\n * A representation of some information from the ISO currency codes, plus display information and logic\r\n * @param {ICurrency} obj An object that can be stored and retrieved as a POJO that represents the currency.\r\n */\r\n function Currency(obj) {\r\n this.name = obj.name;\r\n this.code = obj.code;\r\n this.unicodes = obj.unicodes;\r\n }\r\n /**\r\n * Turns the internal unicode array into a string of HTML numeric character references\r\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Entity }\r\n */\r\n Currency.prototype.toHtmlEncoding = function () {\r\n return String.prototype.concat.apply('', this.unicodes.map(this.codeToChar));\r\n };\r\n Currency.prototype.codeToChar = function (unicode) {\r\n return \"&#\" + unicode + \";\";\r\n };\r\n return Currency;\r\n}());\r\n/** @ignore */\r\nvar CurrencyDictionary = /** @class */ (function () {\r\n /**\r\n * A dictionary of currencies keyed off the currency code\r\n * @param {ICurrency[]} _currenciesMap\r\n */\r\n function CurrencyDictionary(_currenciesMap) {\r\n var _this = this;\r\n _currenciesMap.forEach(function (currencysObj) {\r\n var currency = new Currency(currencysObj);\r\n _this[currency.code] = currency;\r\n }, this);\r\n }\r\n return CurrencyDictionary;\r\n}());\r\nvar CurrencyDictionary$1 = new CurrencyDictionary(currenciesMap);\n\n/** Default error string to display for invalid values.\r\n * @ignore\r\n * */\r\nvar defaultErrorString = '--';\r\n/** Values considered to be invalid.\r\n * @ignore\r\n * */\r\nvar invalidValues = [undefined, null, defaultErrorString];\r\n/**\r\n * Base Format class. Note that the default export of the library returns the format() function.\r\n */\r\nvar Format = /** @class */ (function () {\r\n /** Create an instance of Format, with optional global options. */\r\n function Format(options) {\r\n var defaults = {\r\n dateFormat: 'L',\r\n errorString: defaultErrorString,\r\n inputTimezone: null,\r\n percentModifier: 1,\r\n precision: {\r\n number: 0,\r\n percent: 2,\r\n price: 2\r\n },\r\n showNegAsParentheses: false,\r\n showSign: false,\r\n timeFormat: 'LT'\r\n };\r\n this.options = options ? deepmerge(defaults, options) : defaults;\r\n // Update the default null returns to the default error string\r\n this.numeral.nullFormat(this.options.errorString);\r\n this.moment.updateLocale(moment.locale(), {\r\n invalidDate: this.options.errorString\r\n });\r\n }\r\n Object.defineProperty(Format.prototype, \"numeral\", {\r\n /** Instance of `numeral` available for use */\r\n get: function () {\r\n return numeral;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Format.prototype, \"moment\", {\r\n /** Instance of `moment-msdate` with `moment-timezone` available for use */\r\n get: function () {\r\n return moment;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Format.prototype, \"timeOffsetRegex\", {\r\n /** @ignore */\r\n get: function () {\r\n return /( |T)[\\d:.]+([-+][\\d:]+)$|( [-+]\\d{4})$|( ?[A-Za-z]+$)|( [A-Za-z]+-\\d{4})/;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Format a number string to a thousands-delimited (,) number. Defaults to 0 decimal precision.\r\n * @param input - Input value\r\n * @param [precision] - Output decimal precision\r\n * @param [options]\r\n * @param {boolean} [options.showSign] Prepend +/- sign to formatted number\r\n * @param {boolean} [options.showNegAsParentheses] Use parantheses to indicate negative numbers\r\n * @param {boolean} [options.showMagnitude] Add magnitude markers - k (thousands), m (millions),\r\n * etc - to end of string, before percent symbol\r\n * @returns {string} - Formatted number string\r\n * @example\r\n * ```\r\n * format().number(109282) // 109,282\r\n * format().number(109282, 4) // 109,282.0000\r\n * format().number(-100, null, { showNegAsParentheses: true }) // (100)\r\n * ```\r\n */\r\n Format.prototype.number = function (input, precision, options) {\r\n var parsedValue = numeral(input).value();\r\n // return errorString if invalid value,\r\n // or numeral(x).value() is null\r\n if (invalidValues.includes(input) || parsedValue === null) {\r\n return this.options.errorString;\r\n }\r\n var showSign = (options && options.showSign) || this.options.showSign;\r\n var showNegAsParentheses = parsedValue !== 0 &&\r\n ((options && options.showNegAsParentheses) || this.options.showNegAsParentheses);\r\n var showMagnitude = (options && options.showMagnitude) || false;\r\n // build precision string to pass to numeral.format\r\n var precisionString = '';\r\n if (parsedValue) {\r\n if (precision !== undefined && precision !== null) {\r\n precisionString = this.getPrecision(precision);\r\n }\r\n else {\r\n precisionString = this.getPrecision(this.options.precision.number);\r\n }\r\n }\r\n var magnitudeString = showMagnitude ? ' a' : '';\r\n // build numeral format string\r\n // format = '(+0,0.00), etc.'\r\n var format;\r\n if (showNegAsParentheses) {\r\n format = \"(0,0.\" + precisionString + magnitudeString + \")\";\r\n }\r\n else {\r\n var signString = showSign ? '+' : '';\r\n format = signString + \"0,0.\" + precisionString + magnitudeString;\r\n }\r\n return this.numeral(input).format(format);\r\n };\r\n /**\r\n * Format a number string to a thousands-delimited (,) percent. Expects decimal notation.\r\n * Defaults to 2 decimal precision.\r\n *\r\n * @param {*} input - Input value\r\n * @param {number} [precision] - Output decimal precision\r\n * @param {PercentOptions} [options]\r\n * @param {boolean} [options.showSign] Prepend +/- sign to formatted number\r\n * @param {boolean} [options.showNegAsParentheses] Use parantheses to indicate negative numbers\r\n * @param {boolean} [options.showMagnitude] Add magnitude markers - k (thousands), m (millions),\r\n * etc - to end of string, before percent symbol\r\n * @param {number} [options.percentModifier] Amount to multiply input values by in order\r\n * to noramlize them to decimal notation. Set this to 0.01 if input values are already\r\n * in percent form. Default: 1, or value provided to options.percentModifier.\r\n * @returns {string} - Formatted percent string\r\n * @example\r\n * ```\r\n * format().percent(0.1) // 10%\r\n * format().percent(100, 1, { percentModifier: 0.01 }) // 100.0%\r\n * ```\r\n */\r\n Format.prototype.percent = function (input, precision, options) {\r\n var parsedValue = numeral(input).value();\r\n // return errorString ('--') if invalid value,\r\n // or numeral(x).value() is null\r\n if (invalidValues.includes(input) || parsedValue === null) {\r\n return this.options.errorString;\r\n }\r\n var showSign = (options && options.showSign) || this.options.showSign;\r\n var showNegAsParentheses = parsedValue !== 0 &&\r\n ((options && options.showNegAsParentheses) || this.options.showNegAsParentheses);\r\n var showMagnitude = (options && options.showMagnitude) || false;\r\n var modifier = options && options.percentModifier !== undefined\r\n ? options.percentModifier\r\n : this.options.percentModifier;\r\n // percentModifier should be above 0 to prevent confusion,\r\n // and random 0 / negative values\r\n if (modifier <= 0) {\r\n throw new Error(\"[format.percent] percentModifier option must be above 0\");\r\n }\r\n // build precision string to pass to numeral.format\r\n var precisionString = '';\r\n if (parsedValue) {\r\n if (precision !== undefined && precision !== null) {\r\n precisionString = this.getPrecision(precision);\r\n }\r\n else {\r\n precisionString = this.getPrecision(this.options.precision.percent);\r\n }\r\n }\r\n var magnitudeString = showMagnitude ? 'a' : '';\r\n // build numeral format string\r\n // format = '(+0,0.00%), etc.'\r\n var format;\r\n if (showNegAsParentheses) {\r\n format = \"(0,0.\" + precisionString + magnitudeString + \"%)\";\r\n }\r\n else {\r\n var signString = showSign ? '+' : '';\r\n format = signString + \"0,0.\" + precisionString + magnitudeString + \"%\";\r\n }\r\n // apply percent modifier\r\n var _input = parsedValue * modifier;\r\n return this.numeral(_input).format(format);\r\n };\r\n /**\r\n * Format a number string to a thousands-delimited (,) price. Defaults to 2 decimal precision or\r\n * the input's number of significant figures, whichever is greater, without rounding.\r\n * @param {string} input Input value\r\n * @param {number} [precision] Output decimal precision\r\n * @param {PriceOptions} [options]\r\n * @param {string} [options.currencyISO] ISO 4217 code to use for the currency symbol; defaults to\r\n * USD. Will be pre- or suffixed appropriately for that locale.\r\n * @param {boolean} [options.hideCurrencySymbol] Hide the currency symbol\r\n * @param {boolean} [options.showSign] Prepend +/- sign to formatted number\r\n * @param {boolean} [options.showNegAsParentheses] Use parantheses to indicate negative numbers\r\n * @param {boolean} [options.showMagnitude] Add magnitude markers (k (thousands), m (millions),\r\n * etc) to end of string\r\n * @returns {string} Formatted price string\r\n * @example\r\n * ```\r\n * format().price(12345) // $12,345.00\r\n * format().price(12.10933) // $12.10933\r\n * format().price(12.10933, 4) // $12.1093\r\n * format().price(13500, 2, { currencyISO: 'JPY' }) // ¥13,500.00\r\n * ```\r\n */\r\n Format.prototype.price = function (input, precision, options) {\r\n var parsedValue = numeral(input).value();\r\n // return errorString if invalid value,\r\n // or numeral(x).value() is null\r\n if (invalidValues.includes(input) || parsedValue === null) {\r\n return this.options.errorString;\r\n }\r\n var showSign = (options && options.showSign) || this.options.showSign;\r\n var showNegAsParentheses = parsedValue !== 0 &&\r\n ((options && options.showNegAsParentheses) || this.options.showNegAsParentheses);\r\n var showMagnitude = (options && options.showMagnitude) || false;\r\n // allow users to set the currency symbol, with the currencyISO taking precedence if both are set\r\n var currencySymbol = (options && options.currencySymbol) || '$';\r\n if (options && options.currencyISO && CurrencyDictionary$1.hasOwnProperty(options.currencyISO)) {\r\n currencySymbol = CurrencyDictionary$1[options.currencyISO].toHtmlEncoding();\r\n }\r\n // hide symbol if hideCurrencySymbol is set to true\r\n if (options && options.hideCurrencySymbol) {\r\n currencySymbol = '';\r\n }\r\n // build precision string to pass to numeral.format\r\n var precisionString = '';\r\n if (parsedValue) {\r\n // use precision param\r\n if (precision !== undefined && precision !== null) {\r\n precisionString = this.getPrecision(precision);\r\n // drop precision for values larger than 1,000\r\n }\r\n else if (parsedValue >= 1000) {\r\n precisionString = '';\r\n // otherwise, use default precision option, with optional zeros\r\n // default: 00[00]\r\n }\r\n else {\r\n precisionString = this.getPrecision(this.options.precision.price, 2);\r\n }\r\n }\r\n var magnitudeString = showMagnitude ? ' a' : '';\r\n var absValue = Math.abs(parsedValue);\r\n // use absolute value to avoid putting +/- signs in the wrong place\r\n var formattedValue = \"\" + currencySymbol + this.numeral(absValue).format(\"0,0.\" + precisionString + magnitudeString, Math.floor);\r\n if (parsedValue > 0 && showSign && !showNegAsParentheses) {\r\n return \"+\" + formattedValue;\r\n }\r\n else if (parsedValue < 0) {\r\n return showNegAsParentheses ? \"(\" + formattedValue + \")\" : \"-\" + formattedValue;\r\n }\r\n else {\r\n return formattedValue;\r\n }\r\n };\r\n /**\r\n * Format an input to a date string. Defaults to 'L'. See https://momentjs.com/docs/#/displaying/format/\r\n * for more information about formatting tokens.\r\n * @param {*} input - ISO 8601 or RFC 2822 date/time format string, i.e. any value that moment.js accepts\r\n * @param {string} [format] - String used to format dates. See https://momentjs.com/docs/#/displaying/format/\r\n * @param {DateTimeOptions} [options]\r\n * @example\r\n * ```\r\n * // Assuming America/Denver\r\n * format().date('2019-01-01') // 1/1/2019\r\n * format().date('2019-01-01', 'YYYY') // 2019\r\n * format().date('42298.6868055556', null, { isMSDate: true }) // 10/21/2015\r\n * ```\r\n */\r\n Format.prototype.date = function (input, format, options) {\r\n var formatString = format || this.options.dateFormat;\r\n return this.dateTime.call(this, input, formatString, options);\r\n };\r\n /**\r\n * Format an input to a time string. Defaults to 'LT'. See https://momentjs.com/docs/#/displaying/format/\r\n * for more information about formatting tokens.\r\n * @param {*} input - ISO 8601 or RFC 2822 date/time format string, i.e. any value that moment.js accepts\r\n * @param {string} [format] - String used to format dates. See https://momentjs.com/docs/#/displaying/format/\r\n * @param {DateTimeOptions} [options]\r\n * @example\r\n * ```\r\n * // Assuming America/Denver\r\n * format().time('2019-01-01T12:00+02:00') // 3:00 AM\r\n * format().time('2000-12-25T00:00:00', 'LLLL', {\r\n * inputTimezone: 'Pacific/Easter'\r\n * }) // Sunday, December 24, 2000 10:00 PM\r\n * ```\r\n */\r\n Format.prototype.time = function (input, format, options) {\r\n var formatString = format || this.options.timeFormat;\r\n return this.dateTime.call(this, input, formatString, options);\r\n };\r\n /**\r\n * Format a datetime to a string; an alias for [[Format.date]] and [[Format.time]]\r\n * @param {*} input - ISO 8601 or RFC 2822 date/time format string, i.e. any value that moment.js accepts\r\n * @param {string} [format] - String used to format dates. See https://momentjs.com/docs/#/displaying/format/\r\n * @param {DateTimeOptions} [options]\r\n * @returns {string}\r\n * @example\r\n * ```\r\n * format().date('2019-01-01', 'LL')\r\n * ```\r\n */\r\n Format.prototype.dateTime = function (input, format, options) {\r\n // Return error string if the input matches any invalid values\r\n if (invalidValues.includes(input)) {\r\n return this.options.errorString;\r\n }\r\n var inputTimezone = options && options.inputTimezone ? options.inputTimezone : this.options.inputTimezone;\r\n var outputTimezone = options && options.outputTimezone ? options.outputTimezone : null;\r\n var isMSDate = options && options.isMSDate ? options.isMSDate : false;\r\n var preserveOffset = options && options.preserveOffset ? options.preserveOffset : false;\r\n // Test UTC offset in ISO and RFC:\r\n // https://regexr.com/4ia1t\r\n // 1. ( |T)[\\d:.]+([-+][\\d:]+)$ -- test for ISO offset (±00:00)\r\n // 2. ( [-+]\\d{4})$ -- test for RFC 4-digit offset (zone)\r\n // 3. ( ?[A-ia-iK-Zk-z]+)$ -- test for RFC obs-zone / ISO Z\r\n var hasOffset = this.timeOffsetRegex.test(input);\r\n var momentDate;\r\n // Handle MSDates, which are unambiguous\r\n if (isMSDate) {\r\n momentDate = this.moment(this.moment.fromOADate(input).format()); // returns UTC offset date\r\n // Any ISO/RFC offset or RFC zone? --> use moment()\r\n // Need to preserve the offset (not convert to local time) --> use moment.parseZone()\r\n }\r\n else if (hasOffset) {\r\n momentDate = preserveOffset ? this.moment.parseZone(input) : this.moment(input);\r\n // All other date inputs\r\n }\r\n else {\r\n // Set the inputTimezone if provided\r\n momentDate =\r\n inputTimezone !== undefined && inputTimezone !== null\r\n ? this.moment.tz(input, inputTimezone)\r\n : this.moment(input);\r\n }\r\n // Return dates that are to be converted to an outputTimezone, with\r\n // preserveOffset being overridden by outputTimezone\r\n if (outputTimezone) {\r\n return momentDate.tz(outputTimezone).format(format);\r\n }\r\n // Ambiguous times that are interpreted by inputTimezone should be\r\n // formatted to local time when outputTimezone is not provided -\r\n // we parse the momentDate (which is in the inputTimezone) in order to achieve this,\r\n // otherwise it will return in the inputTimezone (does your head hurt yet?)\r\n if (!hasOffset && inputTimezone) {\r\n return this.moment(momentDate.format()).format(format);\r\n }\r\n return momentDate.format(format);\r\n };\r\n /**\r\n * Get a precision string in 0's to be passed to numeral.format()\r\n * based on the number (precision) passed in\r\n *\r\n * @private\r\n * @param {number} precision Number of 0's in the string returned\r\n * @param {number} optional Number of 0's to optionally show\r\n * @example\r\n * getPrecision(4) // '0000'\r\n * getPrecision(2, 2) // '00[00]'\r\n */\r\n Format.prototype.getPrecision = function (precision, optional) {\r\n var precisionZeros = Array(precision)\r\n .fill(0)\r\n .join('');\r\n if (optional !== undefined) {\r\n var optionalZeros = Array(optional)\r\n .fill(0)\r\n .join('');\r\n return precisionZeros + \"[\" + optionalZeros + \"]\";\r\n }\r\n else {\r\n return \"\" + precisionZeros;\r\n }\r\n };\r\n return Format;\r\n}());\r\n/**\r\n * Default export. Returns an instance of the Format class.\r\n * Takes global options in the form of [[FormatOptions]].\r\n *\r\n * @param {FormatOptionsProperty} [options]\r\n * @returns {Format}\r\n */\r\nfunction format(options) {\r\n return new Format(options);\r\n}\r\n/**\r\n * Returns the current locale's language code\r\n *\r\n * @returns {string} - language tag of current locale\r\n */\r\nformat.locale = 'en';\r\n/**\r\n * Set the current locale by passing in a language tag.\r\n * See https://www.w3.org/International/questions/qa-choosing-language-tags.\r\n * Remember that you have to import Numeral's locales manually, e.g. import 'numeral/locales/fr'\r\n * If the locale is unavailable in `moment` or `numeral`, register it with registerLocale\r\n * @example\r\n * ```\r\n * import 'numeral/locales/fr';\r\n * format.setLocale('fr');\r\n * ```\r\n *\r\n * @param {string} locale - Language tag of locale\r\n */\r\nformat.setLocale = function (locale) {\r\n if (!locale || !locale.length) {\r\n return;\r\n }\r\n var oldLocale = this.locale;\r\n // Since moment will not allow unregistered locales and reverts to the\r\n // last valid locale, throw helpful error if the attempted locale change cannot be done\r\n if (moment.locale(locale) !== locale) {\r\n this.setLocale(oldLocale);\r\n throw new Error(\"[Format] - Failed to change locale; \" + locale + \" has not been registered with registerLocale yet\");\r\n }\r\n this.locale = locale;\r\n numeral.locale(locale);\r\n};\r\n/**\r\n * Register a new moment and numeral locale. See `moment` and `numeral`'s documentation for more\r\n * information on how to define a locale: https://momentjs.com/docs/#/i18n/adding-locale/ and\r\n * http://numeraljs.com/#locales\r\n * @example\r\n * ```\r\n * format.registerLocale('lang-tag', { ... }, { ... });\r\n * ```\r\n *\r\n * @param {string} locale - Language tag of locale\r\n * @param {LocaleSpecification} momentLocale - `moment` locale definition\r\n * @param {NumeralJSLocale|NumeralJsFormat} numeralLocale - `numeral` locale definition\r\n */\r\nformat.registerLocale = function (locale, momentLocale, numeralLocale) {\r\n if (!locale || !locale.length) {\r\n throw new Error('[Format] registerLocale: Locale language tag must be provided');\r\n }\r\n numeral.register('locale', locale, numeralLocale);\r\n moment.locale(locale, momentLocale);\r\n // reset moment to the last used locale to prevent registration from also switching locales\r\n moment.locale(this.locale);\r\n};\r\n/**\r\n * Extends the library with custom methods. Expects an object where keys are method names and values are the corresponding functions.\r\n * You can use all of the library's methods - like number(), percent(), myCustomMethod() - within custom methods. *\r\n * `this` = Format instance, i.e. this.number(...)\r\n *\r\n * @param {...ExtendMethodsMap[]} args (1 or more) objects containing functions\r\n */\r\nformat.extend = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var extensions = Object.assign.apply(Object, [{}].concat(args));\r\n Object.keys(extensions).forEach(function (method) {\r\n Format.prototype[method] = extensions[method];\r\n });\r\n};\n\nexport default format;\nexport { Format };\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","import superPropBase from \"./superPropBase.js\";\nimport defineProperty from \"./defineProperty.js\";\nfunction set(e, r, t, o) {\n return set = \"undefined\" != typeof Reflect && Reflect.set ? Reflect.set : function (e, r, t, o) {\n var f,\n i = superPropBase(e, r);\n if (i) {\n if ((f = Object.getOwnPropertyDescriptor(i, r)).set) return f.set.call(o, t), !0;\n if (!f.writable) return !1;\n }\n if (f = Object.getOwnPropertyDescriptor(o, r)) {\n if (!f.writable) return !1;\n f.value = t, Object.defineProperty(o, r, f);\n } else defineProperty(o, r, t);\n return !0;\n }, set(e, r, t, o);\n}\nfunction _set(e, r, t, o, f) {\n if (!set(e, r, t, o || e) && f) throw new TypeError(\"failed to set property\");\n return t;\n}\nexport { _set as default };","import superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","export default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return this.children;\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n currentTarget = event.currentTarget,\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","import { merge, cloneDeep, set, get } from 'lodash';\nimport { formatLocale } from 'd3-format';\nimport axios from 'axios';\nimport { select } from 'd3-selection';\nimport { timeFormatDefaultLocale } from 'd3-time-format';\nimport EventEmitter from 'events';\nimport { scalePow, scaleLinear } from 'd3-scale';\nimport { min, max } from 'd3-array';\nimport { zoomIdentity, zoom, zoomTransform } from 'd3-zoom';\n\nclass Annotation {\n\tconstructor(panel, params = {}) {\n\t\tthis.core = panel.core;\n\t\tthis.panel = panel;\n\t\tthis.params = merge(this._getDefaultParams(), params);\n\t}\n}\n\n/** Utility function to add pixel adjustment to canvas fillRect method */\nconst fillRect = (ctx, x, y, w, h) => {\n\tctx.fillRect(\n\t\tMath.round(x),\n\t\tMath.round(y),\n\t\tMath.round(w) + 1,\n\t\tMath.round(h) + 1\n\t);\n};\n\n/** Utility function to add pixel adjustment to canvas rect method for hollow candles */\nfunction hollowRect(ctx, x, y, w, h) {\n\tconst h2 = h < 0 ? Math.min(-1, h) : Math.max(1, h); // enforce 1px height for IE11 (NXC-766)\n\tctx.rect(this.px(x), this.px(y), Math.round(w), h2);\n}\n\n/** Utility method to draw a canvas line with pixel offset applied */\nconst lineTo = (ctx, x, y) => ctx.lineTo(px(x), px(y));\n\n/** Utility method to move the pointer with pixel offset applied */\nconst moveTo = (ctx, x, y) => ctx.moveTo(px(x), px(y));\n\n/**\n * Method to adjust value for canvas subpixel offset\n * @param {number} val\n * @param {Boolean} roundUp - Whether or not to round the value up. True rounds up, false rounds down.\n * @return {number}\n */\nconst px = (val, roundUp = true) => roundUp ? Math.round(val) + 0.5 : Math.round(val) - 0.5;\n\n/**\n * Canvas rectangle utility function\n * @param {CanvasRenderingContext2D} ctx\n * @param {int} x\n * @param {int} y\n * @param {int} w - rectangle width\n * @param {int} h - rectangle height\n */\nconst rect = (ctx, x, y, w, h) => ctx.rect(px(x), px(y), Math.round(w), Math.round(h));\n\n/** Utility function to add pixel adjustment to canvas strokeRect method */\nconst strokeRect = (ctx, x, y, w, h) => ctx.strokeRect(px(x), px(y), Math.round(w), Math.round(h));\n\nvar subpixel = {\n\tfillRect,\n\thollowRect,\n\tlineTo,\n\tmoveTo,\n\tpx,\n\trect,\n\tstrokeRect\n};\n\n/**\n * Line Annotation\n */\nclass LineAnnotation extends Annotation {\n\tconstructor(panel, params) {\n\t\tsuper(panel, params);\n\t}\n\n\t_getDefaultParams() {\n\t\treturn { \n\t\t\tstart: { date: null, value: null, x: null, y: null },\n\t\t\tstop: { date: null, value: null, x: null, y: null },\n\t\t\tstyle: merge({}, this.core.getStyle('annotation.line'))\n\t\t};\n\t}\n\n\trender () {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst panel = this.panel;\n\t\tconst params = this.params;\n\t\tconst xScale = panel.xAxis.primaryScale;\n\t\tconst yScale = panel.yAxis.primaryScale;\n\t\tconst x0 = typeof params.start.x === 'number' ? params.start.x : xScale(this.core.closestExchangeIndex(new Date(params.start.date)));\n\t\tconst x1 = typeof params.stop.x === 'number' ? params.stop.x : xScale(this.core.closestExchangeIndex(new Date(params.stop.date)));\n\t\tconst y0 = typeof params.start.y === 'number' ? params.start.y : yScale(params.start.value);\n\t\tconst y1 = typeof params.stop.y === 'number' ? params.stop.y : yScale(params.stop.value);\n\t\tctx.setLineDash(params.style.lineDash.split(/\\s*,\\s*/));\n\t\tctx.lineWidth = params.style.width;\n\t\tctx.strokeStyle = params.style.color;\n\t\tctx.beginPath();\n\t\tctx.moveTo(subpixel.px(x0), subpixel.px(y0));\n\t\tctx.lineTo(subpixel.px(x1), subpixel.px(y1));\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n}\n\n/**\n * Text Annotation\n */\nclass TextAnnotation extends Annotation {\n\tconstructor(panel, params) {\n\t\tsuper(panel, params);\n\t}\n\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tdate: null,\n\t\t\tvalue: null,\n\t\t\ttext: 'Text',\n\t\t\tx: null,\n\t\t\ty: null,\n\t\t\tstyle: merge({}, this.core.getStyle('annotation.text'))\n\t\t};\n\t}\n\n\trender () {\n\t\tconst panel = this.panel;\n\t\tconst params = this.params;\n\t\tconst ctx = panel.rootContext;\n\t\tconst xScale = panel.xAxis.primaryScale;\n\t\tconst yScale = panel.yAxis.primaryScale;\n\t\tlet x0 = typeof params.x === 'number' ? params.x : xScale(this.core.closestExchangeIndex(new Date(params.date)));\n\t\tlet y0 = typeof params.y === 'number' ? params.y : yScale(params.value);\n\t\tx0 += params.style.padding.left;\n\t\tx0 -= params.style.padding.right;\n\t\ty0 += params.style.padding.top;\n\t\ty0 -= params.style.padding.bottom;\n\t\tctx.textAlign = params.style.textAlign;\n\t\tctx.textBaseline = params.style.textBaseline;\n\t\tctx.fillStyle = params.style.color;\n\t\tctx.font = panel.getFontStyle(params.style.fontWeight, params.style.fontSize, params.style.fontFamily);\n\t\tpanel.glowText(\n\t\t\tctx,\n\t\t\tparams.text,\n\t\t\tx0,\n\t\t\ty0,\n\t\t\tparams.style.color,\n\t\t\tparams.style.glowColor,\n\t\t\tparams.style.glowWidth\n\t\t);\n\t}\n}\n\nconst drawLine = (chart, params = {}) => {\n\tconst annotation = new LineAnnotation(\n\t\tchart.panels[0], \n\t\tparams\n\t);\n\tannotation.render();\n};\n\nconst drawText = (chart, params = {}) => {\n\tconst annotation = new TextAnnotation(\n\t\tchart.panels[0], \n\t\tparams\n\t);\n\tannotation.render();\n};\n\nvar annotation$1 = {\n\tdrawLine,\n\tdrawText\n};\n\n/**\n * Enum for event type\n * @readonly\n * @enum {string}\n */\nconst types$1 = Object.freeze({\n\tBOUNDARY_STATUS: 'BOUNDARY_STATUS',\n\tCLICK: 'CLICK',\n\tCLICK_RIGHT: 'CLICK_RIGHT',\n\tCLICK_START: 'CLICK_START',\n\tCOMPARISON_ADD: 'COMPARISON_ADD',\n\tCROSSHAIR_HIDE: 'CROSSHAIR_HIDE',\n\tCROSSHAIR_MOVE: 'CROSSHAIR_MOVE',\n\tCROSSHAIR_SHOW: 'CROSSHAIR_SHOW',\n\tCURSOR_CHANGE: 'CURSOR_CHANGE',\n\tDATA_ELEMENT_ERROR: 'DATA_ELEMENT_ERROR',\n\tDATA_LOAD_ERROR: 'DATA_LOAD_ERROR',\n\tDATA_LOAD_COMPLETE: 'DATA_LOAD_COMPLETE',\n\tDATA_POLL_ERROR: 'DATA_POLL_ERROR',\n\tDATA_PREPEND_ERROR: 'DATA_PREPEND_ERROR',\n\tDOUBLE_CLICK: 'DOUBLE_CLICK',\n\tEVENT_ADD: 'EVENT_ADD',\n\tEVENT_REMOVE: 'EVENT_REMOVE',\n\tEVENT_MOUSE_ENTER: 'EVENT_MOUSE_ENTER',\n\tEVENT_MOUSE_LEAVE: 'EVENT_MOUSE_LEAVE',\n\tEVENT_RENDER: 'EVENT_RENDER',\n\tEXPORT_CANVAS_END: 'EXPORT_CANVAS_END',\n\tEXPORT_CANVAS_START: 'EXPORT_CANVAS_START',\n\tFLAG_HIDE_CROSSHAIR: 'FLAG_HIDE_CROSSHAIR',\n\tFLAG_HIDE_HORIZ_ANNOTATION: 'FLAG_HIDE_HORIZ_ANNOTATION',\n\tFLAG_HIDE_INDICATOR: 'FLAG_HIDE_INDICATOR',\n\tFLAG_HIDE_LASTCLOSE: 'FLAG_HIDE_LASTCLOSE',\n\tFLAG_HIDE_XAXIS: 'FLAG_HIDE_XAXIS',\n\tFLAG_RENDER_CROSSHAIR: 'FLAG_RENDER_CROSSHAIR',\n\tFLAG_RENDER_HORIZ_ANNOTATION: 'FLAG_RENDER_HORIZ_ANNOTATION',\n\tFLAG_RENDER_INDICATOR: 'FLAG_RENDER_INDICATOR',\n\tFLAG_RENDER_LASTCLOSE: 'FLAG_RENDER_LASTCLOSE',\n\tFLAG_RENDER_XAXIS: 'FLAG_RENDER_XAXIS',\n\tFLAG_SHOW_CROSSHAIR: 'FLAG_SHOW_CROSSHAIR',\n\tFLAG_SHOW_HORIZ_ANNOTATION: 'FLAG_SHOW_HORIZ_ANNOTATION',\n\tFLAG_SHOW_INDICATOR: 'FLAG_SHOW_INDICATOR',\n\tFLAG_SHOW_LASTCLOSE: 'FLAG_SHOW_LASTCLOSE',\n\tFLAG_SHOW_XAXIS: 'FLAG_SHOW_XAXIS',\n\tINDICATOR_BESTWORST_UPDATE: 'INDICATOR_BESTWORST_UPDATE',\n\tINDICATOR_HIGHLOW_RENDER: 'INDICATOR_HIGHLOW_RENDER',\n\tINDICATOR_INPUT_UPDATE: 'INDICATOR_INPUT_UPDATE',\n\tINDICATOR_LOWER_ADD: 'INDICATOR_LOWER_ADD',\n\tINDICATOR_LOWER_REMOVE: 'INDICATOR_LOWER_REMOVE',\n\tINDICATOR_PARAM_UPDATE: 'INDICATOR_PARAM_UPDATE',\n\tINDICATOR_STYLE_UPDATE: 'INDICATOR_STYLE_UPDATE',\n\tINDICATOR_UPPER_ADD: 'INDICATOR_UPPER_ADD',\n\tINDICATOR_UPPER_REMOVE: 'INDICATOR_UPPER_REMOVE',\n\tKEY_DOWN: 'KEY_DOWN',\n\tKEY_UP: 'KEY_UP',\n\tLOAD_START: 'LOAD_START',\n\tLOAD_STOP: 'LOAD_STOP',\n\tLONG_DOUBLE_PRESS: 'LONG_DOUBLE_PRESS',\n\tLONG_PRESS: 'LONG_PRESS',\n\tMOUSE_DOWN: 'MOUSE_DOWN',\n\tMOUSE_ENTER: 'MOUSE_ENTER',\n\tMOUSE_LEAVE: 'MOUSE_LEAVE',\n\tMOUSE_MOVE: 'MOUSE_MOVE',\n\tMOUSE_UP: 'MOUSE_UP',\n\tPANEL_LEGEND_UPDATE: 'PANEL_LEGEND_UPDATE',\n\tPANEL_MOUSE_MOVE: 'PANEL_MOUSE_MOVE',\n\tPANEL_SCALE_CHANGE: 'PANEL_SCALE_CHANGE',\n\tPRICE_MARKER_TYPE_SET: 'PRICE_MARKER_TYPE_SET',\n\tRENDER: 'RENDER',\n\tRESIZE: 'RESIZE',\n\tRESIZE_HANDLE_HOVER: 'RESIZE_HANDLE_HOVER',\n\tIMAGE_SAVE_ERROR: 'IMAGE_SAVE_ERROR',\n\tIMAGE_SAVE_SUCCESS: 'IMAGE_SAVE_SUCCESS',\n\tSAVE_COMPLETE: 'SAVE_COMPLETE',\n\tTEMPLATE_APPLY: 'TEMPLATE_APPLY',\n\tTEMPLATE_LOAD: 'TEMPLATE_LOAD',\n\tTEMPLATE_LOAD_ERROR: 'TEMPLATE_LOAD_ERROR',\n\tTEMPLATE_SAVE_COMPLETE: 'TEMPLATE_SAVE_COMPLETE',\n\tTIME_SERIES_SET: 'TIME_SERIES_SET',\n\tTOOL_ADD: 'TOOL_ADD',\n\tTOOL_DOUBLE_CLICK: 'TOOL_DOUBLE_CLICK',\n\tTOOL_MODE_CHANGE: 'TOOL_MODE_CHANGE',\n\tTOOL_MOUSE_DOWN: 'TOOL_MOUSE_DOWN',\n\tTOOL_MOUSE_ENTER: 'TOOL_MOUSE_ENTER',\n\tTOOL_MOUSE_MOVE: 'TOOL_MOUSE_MOVE',\n\tTOOL_MOUSE_UP: 'TOOL_MOUSE_UP',\n\tTOOL_OHLCCROSSHAIR_RENDER: 'TOOL_OHLCCROSSHAIR_RENDER',\n\tTOOL_REMOVE: 'TOOL_REMOVE',\n\tTOOL_RENDER: 'TOOL_RENDER',\n\tTOOL_SELECT: 'TOOL_SELECT',\n\tTOUCH_END: 'TOUCH_END',\n\tTOUCH_MOVE: 'TOUCH_MOVE',\n\tTOUCH_START: 'TOUCH_START',\n\tWINDOW_RESIZE: 'WINDOW_RESIZE',\n\tZOOM: 'ZOOM',\n\tZOOM_END: 'ZOOM_END',\n\tZOOM_START: 'ZOOM_START'\n});\n\n/**\n * Enums associated with events\n * @readonly\n * @enum {object}\n */\nvar event$1 = {\n\ttypes: types$1\n};\n\n/** Flags show up in a panel's yaxis gutter and are generated automatically (not saved) */\nclass Flag {\n\t/** \n\t * @param {object} args Developer-defined custom args \n\t * @property {object} style Flag style customization options\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args = {}) {\n\t\t/** @type {number} */\n\t\tthis.id = args.id;\n\t\t/** @type {Panel} */\n\t\tthis.panel = args.panel;\n\t\t/** @type {Indicator} */\n\t\tthis.indicator = args.indicator;\n\t\t/** @type {object} */\n\t\tthis.el = {};\n\t\t/** \n\t\t * @type {object}\n\t\t * @property {string} backgroundColor Hex flag background color\n\t\t * @property {string} labelColor Hex flag text color\n\t\t * @property {string} labelFontFamily Font family for flag text\n\t\t * @property {number} labelFontSize Font size for flag text\n\t\t */\n\t\tthis.style = this.getStyle(args);\n\t}\n\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @property {object} args.style Developer-defined style settings for this flag\n\t * @property {string} args.style.backgroundColor Hex flag background color\n\t * @property {string} args.style.labelColor Hex flag text color\n\t * @property {string} args.style.labelFontFamily Font family for flag text\n\t * @property {number} args.style.labelFontSize Font size for flag text\n\t * @returns {object} Default style for this type of flag\n\t * @private\n\t */\n\tgetStyle(args) {\n\t\tconst defaultStyle = {\n\t\t\tbackgroundColor: '#555555',\n\t\t\tlabelColor: '#FFFFFF',\n\t\t\tlabelFontFamily: 'Arial',\n\t\t\tlabelFontSize: 12\n\t\t};\n\n\t\t// merge derived flag's default style into local style\n\t\treturn { ...defaultStyle, ...this.getDefaultStyle(args) };\n\t}\n\n\t/** Set the flag element's visibility to hidden */\n\thide() {\n\t\tthis.eventEmitter.emit(types$1[this.eventType.hide], { id: this.id });\n\t\tif (!this.isCustomRender){\n\t\t\tObject.values(this.el).forEach(el => {\n\t\t\t\tel.style('visibility', 'hidden');\n\t\t\t});\n\t\t}\n\t}\n\n\t/** Show the flag element */\n\tshow() {\n\t\tif (!this.panel.core.params.showFlags) return;\n\t\tif (this.id === 'xAxis' && !this.panel.core.params.showXAxisFlag) return;\n\t\tthis.eventEmitter.emit(types$1[this.eventType.show], { id: this.id });\n\t\tif (!this.isCustomRender){\n\t\t\tObject.values(this.el).forEach(el => {\n\t\t\t\tel.style('visibility', null);\n\t\t\t});\n\t\t}\n\t}\n\t\n\t/**\n\t * Abstract method to return label value. Must be overridden\n\t * @abstract\n\t * @private\n\t */\n\tgetValue() {}\n\n\t/** Remove the flag element from the DOM */\n\tremove() {\n\t\tif (this.el.flagBody) {\n\t\t\tconst el = this.el.flagBody.node().parentNode;\n\t\t\tif (el) {\n\t\t\t\tel.parentNode.removeChild(el);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Create svg group for the flag \n\t * @returns SVG flag group element\n\t * @private\n\t */\n\tgetFlagGroupSVG() {\n\t\tconst group = this.panel.rootOverlay.append('g');\n\n\t\tif (this.id) {\n\t\t\tgroup.attr('class', 'modcharts-flag-' + this.id);\n\t\t}\n\n\t\treturn group;\n\t}\n\n\t/**\n\t * Create flag body inside flag svg group\n\t * Group is passed in here because svg/d3 are a little awkward in creating elements with no parent\n\t * @param {object} group A flag body SVG group - d3 selection\n\t * @returns d3 svg polygon selection\n\t * @private\n\t */\n\tgetFlagBody(group) {\n\t\tconst body = group.append('polygon');\n\n\t\t// background color\n\t\tbody.style('fill', this.style.backgroundColor);\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Create a label for the flag svg group.\n\t * Group is passed in here because svg/d3 are a little awkward in creating\n\t * elements with no parent\n\t * @param {object} group A flag body SVG group - d3 selection\n\t * @returns d3 svg text selection that will receive repeated updates to its\n\t * value during crosshair updates\n\t * @private\n\t */\n\tgetFlagLabel(group) {\n\t\tconst label = group\n\t\t\t.append('text')\n\t\t\t.style('fill', this.style.labelColor)\n\t\t\t.style('font-family', this.style.labelFontFamily)\n\t\t\t.style('font-size', this.style.labelFontSize + 'px')\n\t\t\t.attr('dy', '0.35em'); // dominant-baseline doesn't seem to work right in IE\n\n\t\treturn label;\n\t}\n\n\t/**\n\t * Update svg flag polygon points\n\t * @param {Panel} panel Panel to which this flag belongs\n\t * @param {number} x New x-axis location for this flag\n\t * @param {number} y New y-axis location for this flag\n\t * @returns d3 svg polygon selection\n\t */\n\tupdateFlagBody(panel, x, y) {\n\t\tif (!this.el.flagBody || window.isNaN(x) || window.isNaN(y)) return;\n\t\tconst size = 7; // TODO: 7 should not be hardcoded since it doesn't scale with different label font sizes\n\t\tlet points;\n\t\tlet x2;\n\t\tif (this.panel.core.params.yAxisSide === 'left') {\n\t\t\t// flag with caret pointing right\n\t\t\tx2 = x + panel.size.padding.left;\n\t\t\tpoints = [\n\t\t\t\t[x, y - size],\n\t\t\t\t[x2 - size, y - size],\n\t\t\t\t[x2, y],\n\t\t\t\t[x2 - size, y + size],\n\t\t\t\t[x, y + size]\n\t\t\t];\n\t\t} else {\n\t\t\t// flag with caret pointing left\n\t\t\tx2 = x + panel.size.padding.right;\n\t\t\tpoints = [\n\t\t\t\t[x, y],\n\t\t\t\t[x + size, y - size],\n\t\t\t\t[x2, y - size],\n\t\t\t\t[x2, y + size],\n\t\t\t\t[x + size, y + size]\n\t\t\t];\n\t\t}\n\n\t\t// polygon points\n\t\tfor (let i = 0; i < points.length; i++) {\n\t\t\tpoints[i] = points[i].join(' ');\n\t\t}\n\n\t\tthis.el.flagBody.attr('points', points.join(','));\n\t}\n\n\t/**\n\t * Update flag label position and value\n\t * @param {Panel} panel The panel to which this flag belongs\n\t * @param {string} val The new flag label value\n\t * @param {number} x The label's new x-axis location\n\t * @param {number} y The label's new y-axis location\n\t * @returns d3 svg polygon selection\n\t */\n\tupdateFlagLabel(panel, val, x, y) {\n\t\tif (!this.el.flagLabel || window.isNaN(x) || window.isNaN(y)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update label\n\t\tconst isNormalized = panel.isNormalized;\n\t\tconst formatString = panel.yAxis\n\t\t\t.getFormatString(panel.yAxis.primaryScale, 5)\n\t\t\t.replace(/s/, 'f');\n\t\tconst localeNumberFormat = formatLocale(panel.core.locale)\n\t\t\t.format(formatString);\n\t\tconst formatValue = panel.yAxis.getFormatValue(\n\t\t\tlocaleNumberFormat(val),\n\t\t\tnull,\n\t\t\tisNormalized\n\t\t);\n\n\t\t// coords\n\t\tconst leftYAxis = panel.core.params.yAxisSide === 'left';\n\t\t// text anchor point\n\t\tx = leftYAxis ? panel.size.padding.left - 7 : x + 7; // TODO: 7 should not be hardcoded since it doesn't scale with different label font sizes\n\t\tthis.el.flagLabel.attr('x', x);\n\t\tthis.el.flagLabel.attr('y', y);\n\t\tthis.el.flagLabel.attr('text-anchor', leftYAxis ? 'end' : 'start');\n\n\t\t// update label value\n\t\tthis.el.flagLabel.text(formatValue);\n\t}\n\n\t/**\n\t * Update flag svg if something has changed\n\t * @private\n\t */\n\tresetFlagBackground() {\n\t\t// update background color - this may have changed if the parent indicator's styles were modified\n\t\tconst origBgColor = this.style.backgroundColor;\n\n\t\tif (this.indicator.params.componentSeries) {\n\t\t\t// recalculate style\n\t\t\tthis.style = this.getStyle({\n\t\t\t\tpanel: this.panel,\n\t\t\t\tid: this.id,\n\t\t\t\tindicator: this.indicator\n\t\t\t});\n\t\t} else {\n\t\t\tconst indicatorStyle = this.indicator\n\t\t\t\t? this.indicator.params.style\n\t\t\t\t: {};\n\n\t\t\tif (indicatorStyle.color) this.style.backgroundColor = indicatorStyle.color;\n\t\t}\n\n\t\tif (origBgColor !== this.style.backgroundColor) {\n\t\t\tthis.el.flagBody.style('fill', this.style.backgroundColor);\n\t\t}\n\n\t\tif (this.style.backgroundColor === this.style.labelColor) {\n\t\t\tthis.el.flagLabel.style('fill', '#000000');\n\t\t} else if (this.el.flagLabel.style('fill') !== this.style.labelColor) {\n\t\t\tthis.el.flagLabel.style('fill', this.style.labelColor);\n\t\t}\n\t}\n\n\t/**\n\t * Update flag html and render changes\n\t * @param {number} val New value for the flag label\n\t * @return {object}\n\t * @property {number} val Flag label value\n\t * @property {number} x X-axis location for flag\n\t * @property {number} y Y-axis location for flag\n\t * @property {number} top Flag panel's top location\n\t * @property {number} bottom Flag panel's bottom location\n\t */\n\trender(val = this.getValue()) {\n\t\tconst { panel } = this;\n\t\t\n\t\tif (val) {\n\t\t\tconst height = 14;\n\t\t\tconst halfHeight = height / 2;\n\t\t\tlet x;\n\t\t\tif (panel.core.params.yAxisSide === 'left'){\n\t\t\t\tx = 0;\n\t\t\t} else {\n\t\t\t\tx = panel.size.width + panel.size.padding.left + 1;\n\t\t\t}\n\t\t\tconst y = panel.yAxis.primaryScale(val);\n\t\t\tconst yEdgeTest = y + panel.size.margin.top;\n\t\t\tconst panelTop = panel.calculatedTop;\n\t\t\tconst panelBottom = panelTop + panel.size.height;\n\n\t\t\t// Hide if near top/bottom edges of panel. yEdgeTest takes into account top margin, since y is relative to zero value of scale.\n\t\t\tif (yEdgeTest + halfHeight > panelBottom || yEdgeTest - halfHeight < panelTop) return this.hide();\n\n\t\t\t// default render\n\t\t\tif (!this.isCustomRender) {\n\t\t\t\t// create body and label once\n\t\t\t\tif (!this.el.flagBody) {\n\t\t\t\t\tconst group = this.getFlagGroupSVG();\n\t\t\t\t\tthis.el.flagBody = this.getFlagBody(group);\n\t\t\t\t\tthis.el.flagLabel = this.getFlagLabel(group);\n\t\t\t\t}\n\n\t\t\t\t// check if color params have changed, if so update SVG components\n\t\t\t\tif (this.indicator) this.resetFlagBackground();\n\n\t\t\t\tthis.updateFlagBody(panel, x, y);\n\t\t\t\tthis.updateFlagLabel(panel, val, x, y);\n\t\t\t} else {\n\n\t\t\t\t// custom flag render\n\t\t\t\tthis.eventEmitter.emit(types$1[this.eventType.render], { \n\t\t\t\t\tval, \n\t\t\t\t\tx, \n\t\t\t\t\ty, \n\t\t\t\t\tpanelTop, \n\t\t\t\t\tpanelBottom, \n\t\t\t\t\tid: this.id, \n\t\t\t\t\tpanel: this.panel, \n\t\t\t\t\tindicator: this.indicator, \n\t\t\t\t\tstyle: this.style\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.show();\n\n\t\t\treturn { val, x, y, top: panelTop, bottom: panelBottom };\n\t\t}\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t * @abstract\n\t */\n\tget eventType () {\n\t\tthrow new Error('Required Flag eventType getter not found');\n\t}\n\n\t/**\n\t * @returns True if a custom render listener is enabled\n\t * @type {boolean}\n\t */\n\tget isCustomRender () {\n\t\treturn this.eventEmitter.listeners(this.eventType.render).length > 0;\n\t}\n\t/**\n\t * @returns Core event emitter\n\t * @type {object}\n\t */\n\tget eventEmitter () {\n\t\treturn this.panel.core.eventEmitter;\n\t}\n}\n\n/** Crosshair flag */\nclass CrosshairFlag extends Flag {\n\t/** \n\t * @param {object} args Custom args\n\t * @property {object} style Developer-defined style settings for this flag\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @return {object} Default style for this type of flag\n\t * @property {string} backgroundColor Hex flag background color\n\t * @property {string} labelColor Hex flag text color\n\t * @property {string} labelFontFamily Font family for flag text\n\t * @property {number} labelFontSize Font size for flag text\n\t * @private\n\t */\n\tgetDefaultStyle(args) {\n\t\tconst { core } = this.panel;\n\t\tconst panelStyle = this.panel.params.style;\n\t\tconst color = core.getStyle('flag.crosshair.color.background');\n\n\t\t// store to prevent repeated getStyle lookups later\n\t\tcore.state.crosshairFlagColor = color;\n\n\t\tconst style = {\n\t\t\tbackgroundColor: color,\n\t\t\tlabelColor: core.getStyle('flag.crosshair.color.label'),\n\t\t\tlabelFontFamily:\n\t\t\t\tcore.getStyle('flag.crosshair.font.family') ||\n\t\t\t\tpanelStyle.yAxis.font.family ||\n\t\t\t\t'Arial',\n\t\t\tlabelFontSize:\n\t\t\t\tcore.getStyle('flag.crosshair.font.size') ||\n\t\t\t\tpanelStyle.yAxis.font.size ||\n\t\t\t\t12,\n\t\t\t...args.style\n\t\t};\n\t\treturn style;\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t */\n\tget eventType () {\n\t\treturn {\n\t\t\trender: 'FLAG_RENDER_CROSSHAIR',\n\t\t\thide: 'FLAG_HIDE_CROSSHAIR',\n\t\t\tshow: 'FLAG_SHOW_CROSSHAIR'\n\t\t};\n\t}\n}\n\n/** XAxis flag */\nclass XAxisFlag extends Flag {\n\t/** \n\t * @param {object} args Custom args\n\t * @property {object} style Developer-defined style settings for this flag\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @return {object} Default style for this type of flag\n\t * @property {string} backgroundColor Hex flag background color\n\t * @property {string} labelColor Hex flag text color\n\t * @property {string} labelFontFamily Font family for flag text\n\t * @property {number} labelFontSize Font size for flag text\n\t * @private\n\t */\n\tgetDefaultStyle(args) {\n\t\tconst { core } = this.panel;\n\t\tconst panelStyle = this.panel.params.style;\n\t\tconst backgroundColor = core.getStyle('flag.xAxis.color.background');\n\n\t\t// store to prevent repeated getStyle lookups later\n\t\tcore.state.xAxisFlagColor = backgroundColor;\n\n\t\tconst style = {\n\t\t\tbackgroundColor,\n\t\t\tlabelColor: core.getStyle('flag.xAxis.color.label'),\n\t\t\tlabelFontFamily:\n\t\t\t\tcore.getStyle('flag.xAxis.font.family') ||\n\t\t\t\tpanelStyle.xAxis.font.family ||\n\t\t\t\t'Arial',\n\t\t\tlabelFontSize:\n\t\t\t\tcore.getStyle('flag.xAxis.font.size') ||\n\t\t\t\tpanelStyle.xAxis.font.size ||\n\t\t\t\t12,\n\t\t\t...args.style\n\t\t};\n\n\t\treturn style;\n\t}\n\n\trender(x0, valDate) {\n\t\t// Only render with proper date value\n\t\tif (!valDate) return;\n\n\t\tconst { size: panelSize } = this.panel;\n\n\t\tconst panelBottom =\n\t\t\tpanelSize.top + // Panel top is already past the top margin, so don't include the top margin\n\t\t\tpanelSize.padding.top +\n\t\t\tpanelSize.height;\n\n\n\t\tif (!this.isCustomRender) {\t\t\n\t\t\tif (!this.el.rootBody){\n\t\t\t\tthis.el.rootBody = this.panel.core.rootModchart\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.attr('class', 'modcharts-flag-xaxis')\n\t\t\t\t\t.style('background-color', this.style.backgroundColor)\n\t\t\t\t\t.style('color', this.style.labelColor)\n\t\t\t\t\t.style('font-family', this.style.labelFontFamily)\n\t\t\t\t\t.style('font-size', this.style.labelFontSize + 'px');\n\t\t\t}\n\n\t\t\tthis.el.rootBody\n\t\t\t\t.html(this.getLabel(valDate))\n\t\t\t\t.style('top', `${panelBottom}px`)\n\t\t\t\t.style('left', `${this.getLeft(x0)}px`);\n\n\t\t} else {\n\n\t\t\tthis.eventEmitter.emit(types$1[this.eventType.render], { \n\t\t\t\tdate: valDate, \n\t\t\t\tdateLabel: this.getLabel(valDate),\n\t\t\t\tid: this.id, \n\t\t\t\tindicator: this.indicator, \n\t\t\t\tpanel: this.panel, \n\t\t\t\tpanelBottom,\n\t\t\t\tstyle: this.style,\n\t\t\t\tx: x0\n\t\t\t});\n\t\t}\n\t}\n\tgetLeft(x0) {\n\t\tconst width = this.el.rootBody.node().offsetWidth;\n\t\tlet left = Math.max(x0 - (width / 2), 0);\n\t\tif (left + width > this.panel.size.width){\n\t\t\tleft = this.panel.size.width - width;\n\t\t}\n\t\treturn left;\n\t}\n\tgetLabel(valDate) {\n\t\tlet label = this.formatDate(valDate);\n\t\tif (this.panel.core.state.isIntraday){\n\t\t\tlabel = `${label} ${this.formatTime(valDate)}`;\n\t\t}\n\t\treturn label;\n\t}\n\tformatDate(date) {\n\t\treturn this.panel.core.timeFormat('%x')(date);\n\t}\n\tformatTime(date) {\n\t\tconst core = this.panel.core;\n\t\treturn core.timeFormat(core.locale.time)(date);\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t */\n\tget eventType() {\n\t\treturn {\n\t\t\trender: 'FLAG_RENDER_XAXIS',\n\t\t\thide: 'FLAG_HIDE_XAXIS',\n\t\t\tshow: 'FLAG_SHOW_XAXIS'\n\t\t};\n\t}\n}\n\n/**\n * Enum for cursor type\n * @readonly\n * @enum {string}\n */\nconst types = Object.freeze({\n\tDEFAULT: 'default', \n\tPOINTER: 'pointer', \n\tNS_RESIZE: 'ns-resize', \n\tCROSSHAIR: 'cross', \n\tCLOSED_HAND: 'closed_hand'\n});\n\n/**\n * Enums associated with the cursor\n * @readonly\n * @enum {object}\n */\nvar cursor = {\n\ttypes\n};\n\n/** Class used to render/reveal/conceal crosshairs on panels */\nclass Crosshair {\n\t/**\n\t * @param {Object} core - Modcharts chart object\n\t * @param {Object} settings - Parameters to configure crosshair\n\t */\n\tconstructor (core, settings) {\n\t\t/** @type {Object} */\n\t\tthis.core = core;\n\t\t/** @type {Boolean} */\n\t\tthis.isNearEdge = false;\n\t\t/**\n\t\t * @type {Object}\n\t\t * @property {Boolean} params.enabled - Parameter to enable display of the crosshair\n\t\t * @property {Boolean} params.flagEnabled - Parameter to enable display of the crosshair flag on Y-axis\n\t\t * @property {Boolean} params.persist - Parameter to continue to display crosshair after mouse leaves chart\n\t\t * @property {Boolean} params.primaryOnly - Parameter to restrict display of crosshair to primary panel only\n\t\t * @property {Boolean} params.showCircle - Parameter to enable display of crosshair circle on chart data point under mouse\n\t\t * @property {Boolean} params.showFlagCrosshairDisabled - Show crosshair flag even if crosshair is disabled (still follows flagEnabled param)\n\t\t * @property {Boolean} params.snapHorizontalToData - Position the horizontal crosshair line at the y position of current data point (disabled is under mouse)\n\t\t */\n\t\tthis.params = {\n\t\t\tenabled: true,\n\t\t\tflagEnabled: false,\n\t\t\tpersist: false,\n\t\t\tprimaryOnly: false,\n\t\t\tshowCircle: false,\n\t\t\tshowFlagCrosshairDisabled: false,\n\t\t\tsnapHorizontalToData: false,\n\t\t\t...settings,\n\t\t};\n\t\tthis._registerEvents();\n\t}\n\n\t/** Register events to listen for during which the crosshair will be updated */\n\t_registerEvents () {\n\t\tthis.core.eventEmitter.on(types$1.RESIZE, () => { this._concealCrosshairs(); });\n\t\tthis.core.eventEmitter.on(types$1.LOAD_START, () => { this._concealCrosshairs(); });\n\t\tthis.core.eventEmitter.on(types$1.MOUSE_DOWN, () => { if (!this.core.state.isTouchDevice) this._concealCrosshairs();\t});\n\t\tthis.core.eventEmitter.on(types$1.RESIZE_HANDLE_HOVER, () => { this._concealCrosshairs(); });\n\t\tthis.core.eventEmitter.on(types$1.TOOL_MOUSE_MOVE, () => { this._concealCrosshairs(); });\n\t\tthis.core.eventEmitter.on(types$1.ZOOM, () => { this._concealCrosshairs(); });\n\t\tthis.core.eventEmitter.on(types$1.PANEL_MOUSE_MOVE, ({ mouse, activePanel }) => {\n\t\t\tthis._updateCrosshair(mouse, activePanel);\n\t\t\tthis._revealCrosshairs(activePanel);\n\t\t});\n\t\tthis.core.eventEmitter.on(types$1.MOUSE_MOVE, () => {\n\t\t\tif (\n\t\t\t\tthis.core.state.zooming ||\n\t\t\t\tthis.core.dataXHR ||\n\t\t\t\tthis.core.status === 0\n\t\t\t) {\n\t\t\t\tthis._concealCrosshairs();\n\t\t\t}\n\t\t});\n\t\tthis.core.eventEmitter.on(types$1.MOUSE_LEAVE, () => {\n\t\t\tif (!this.params.persist) {\n\t\t\t\tthis._concealCrosshairs();\n\t\t\t}\n\t\t});\n\t\tthis.core.eventEmitter.on(types$1.CURSOR_CHANGE, ({ cursor }) => {\n\t\t\tthis._enforceChartCursor(cursor);\n\t\t});\n\t}\n\n\t/**\n\t * Create crosshairs if they don't exist, update crosshair information and call render methods\n\t * @param {Object} mouse - Mouse position information\n\t * @param {Object} activePanel - Panel that is active (mouse is currently hovering over)\n\t */\n\t_updateCrosshair (mouse, activePanel) {\n\t\tif (this.core.status === 0) return;\n\t\tif (!activePanel || !this.core.exchangeDates) return;\n\n\t\t// Update cursor when crosshair is enabled\n\t\tif (this.params.enabled) {\n\t\t\tthis.core.setCursor(types.CROSSHAIR);\n\t\t} else {\n\t\t\tthis.core.setCursor(types.DEFAULT);\n\t\t}\n\n\t\tconst [valX, valY] = mouse;\n\t\tconst valIdx = this.core.panels[0].xAxis.primaryScale.invert(valX);\n\t\tconst leftLimit = activePanel.size.padding.left;\n\t\tconst rightLimit = activePanel.size.width + activePanel.size.padding.left;\n\t\tlet indicator;\n\t\tlet valDate;\n\t\tlet valueY;\n\t\tlet newX;\n\t\tlet newY;\n\t\tlet dataY;\n\t\tlet dataIndex;\n\t\tconst dataSource = this.core.params.customData ? this.core.dataPrimary : this.core.dataFrame;\n\n\t\tif (\n\t\t\tthis.core.data &&\n\t\t\tthis.core.state.toolmode === null &&\n\t\t\tdataSource\n\t\t) {\n\t\t\tdataIndex = this.core._getIndexByDomain(valIdx, dataSource, 'dateIndex');\n\t\t\t\n\t\t\t// Don't select index that is off of the chart\n\t\t\tconst [domainLowerBound, domainUpperBound] = activePanel.xAxis.primaryScale.domain();\n\t\t\tconst { dateIndex } = dataSource[dataIndex];\n\t\t\tif (dateIndex > domainUpperBound) dataIndex--;\n\t\t\telse if (dateIndex < domainLowerBound) dataIndex++;\n\n\t\t\t// fix errant errors while chart is changing state\n\t\t\tif (!dataSource[dataIndex]) return;\n\n\t\t\tnewX = subpixel.px(\n\t\t\t\tNumber(\n\t\t\t\t\tthis.core.panels[0].xAxis.primaryScale(dataSource[dataIndex].dateIndex)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tif (isNaN(newX)) return;\n\n\t\t\tfor (const panel of this.core.panels) {\n\t\t\t\t// Create the horizontal crosshair (this gets created on every panel)\n\t\t\t\tif (!panel.crosshairHoriz) {\n\t\t\t\t\tpanel.crosshairHoriz = panel.rootOverlay\n\t\t\t\t\t\t.append('g')\n\t\t\t\t\t\t.attr('class', 'modcharts-crosshair-horiz')\n\t\t\t\t\t\t.append('line')\n\t\t\t\t\t\t.style('visibility', 'hidden');\n\t\t\t\t}\n\n\t\t\t\t// Create the vertical crosshair (this gets created on every panel)\n\t\t\t\tif (!panel.crosshairVert) {\n\t\t\t\t\tpanel.crosshairVert = panel.rootOverlay\n\t\t\t\t\t\t.append('g')\n\t\t\t\t\t\t.attr('class', 'modcharts-crosshair-vert')\n\t\t\t\t\t\t.append('line')\n\t\t\t\t\t\t.style('visibility', 'hidden');\n\t\t\t\t}\n\n\t\t\t\t// Create the flag and circle on the upper panel only\n\t\t\t\tif (panel.isUpper) {\n\t\t\t\t\t// Create flag if it doesn't exist\n\t\t\t\t\tif (!panel.flags['crosshair']) {\n\t\t\t\t\t\tpanel.flags['crosshair'] = new CrosshairFlag({\n\t\t\t\t\t\t\tpanel: panel,\n\t\t\t\t\t\t\tid: 'crosshair'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// Create crosshair circle element\n\t\t\t\t\tif (!panel.crosshairCircle) {\n\t\t\t\t\t\tpanel.crosshairCircle = panel.rootOverlay\n\t\t\t\t\t\t\t.append('circle')\n\t\t\t\t\t\t\t.attr('class', 'modcharts-crosshair-circle')\n\t\t\t\t\t\t\t.attr('r', panel.params.style.crosshair.circleRadius)\n\t\t\t\t\t\t\t.style('visibility', 'hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Create the optional XAxis flag\n\t\t\t\tif (\n\t\t\t\t\t!panel.flags['xAxis'] && \n\t\t\t\t\tpanel.xAxis.hasAxis() && \n\t\t\t\t\tpanel.core.params.showXAxisFlag\n\t\t\t\t) {\n\t\t\t\t\tpanel.flags['xAxis'] = new XAxisFlag({\n\t\t\t\t\t\tpanel: panel,\n\t\t\t\t\t\tid: 'xAxis'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tindicator = panel.indicators[0];\n\n\t\t\t\t// indicators can sometimes be removed before mousemove handler is complete\n\t\t\t\tif (!indicator) break;\n\n\t\t\t\t// vertical crosshair and data callback\n\t\t\t\tif (\n\t\t\t\t\tthis.core.exchangeDates[Math.round(valIdx)] &&\n\t\t\t\t\tvalX < rightLimit &&\n\t\t\t\t\tvalX > leftLimit\n\t\t\t\t) {\n\t\t\t\t\t// call this._callbackCrosshair() on active panel\n\t\t\t\t\tif (panel === activePanel) {\n\t\t\t\t\t\tnewY = subpixel.px(valY);\n\t\t\t\t\t\tvalueY = this.core.params.customData\n\t\t\t\t\t\t\t? dataSource[dataIndex].value\n\t\t\t\t\t\t\t: dataSource[dataIndex].close;\n\n\t\t\t\t\t\tif (typeof valueY === 'number') {\n\t\t\t\t\t\t\tvalDate = new Date(dataSource[dataIndex].date);\n\t\t\t\t\t\t\tdataY = Number(this.core.panels[0].yAxis.primaryScale(valueY));\n\t\t\t\t\t\t\tthis._callbackCrosshair(valDate, newX, newY, dataY, activePanel);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// vertical crosshair is rendered on every panel\n\t\t\t\t\tthis._renderCrosshairVertical(panel, newX, valDate);\n\t\t\t\t} else {\n\t\t\t\t\t// hide invalid crosshairs\n\t\t\t\t\tpanel.crosshairVert.style('visibility', 'hidden');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// crosshair x & flag are only rendered on the active panel\n\t\t\tthis._renderCrosshairHorizontal(activePanel, mouse, newX, newY, dataY);\n\t\t}\n\t}\n\n\t/**\n\t * Render the vertical crosshair for a given panel\n\t * @param {Object} panel - Panel on which to render crosshair\n\t * @param {Number} newX - Chart data point X coordinate closest to mouse X coordinate\n\t */\n\t_renderCrosshairVertical (panel, newX, valDate) {\n\n\t\t// render xAxis flag\n\t\tif (panel.flags['xAxis']) {\n\t\t\t// update flag & label\n\t\t\tpanel.flags['xAxis'].render(\n\t\t\t\tnewX,\n\t\t\t\tvalDate\n\t\t\t);\n\t\t}\n\n\t\t// primary panel crosshair only (NXC-657)\n\t\tif (!panel.isUpper && this.params.primaryOnly) return;\n\n\t\t// Update crosshair vertical\n\t\tpanel.crosshairVert\n\t\t\t.attr('x1', newX)\n\t\t\t.attr('y1', panel.size.padding.top)\n\t\t\t.attr('x2', newX)\n\t\t\t.attr('y2', panel.size.padding.top + panel.size.height)\n\t\t\t.style('visibility', 'hidden');\n\n\t\t// reflow\n\t\ttry {\n\t\t\tpanel.crosshairVert.node().getBBox();\n\t\t} catch (error) {\n\t\t\tthis.warn(error.message);\n\t\t}\n\t}\n\n\t/**\n\t * Render the horizontal crosshair for a given panel\n\t * @param {Object} activePanel - Panel that is active (mouse is currently hovering over)\n\t * @param {Number[]} mouse - Mouse position information [x, y]\n\t * @param {Number} newX - Chart data point X coordinate closest to mouse X coordinate\n\t * @param {Number} newY - Distance from top of active panel to Mouse Y coordinate\n\t * @param {Number} dataY - Vertical location of the current chart data point under the crosshair\n\t */\n\t_renderCrosshairHorizontal (\n\t\tactivePanel,\n\t\tmouse,\n\t\tnewX,\n\t\tnewY,\n\t\tdataY\n\t) {\n\t\tif (isNaN(newY) || !activePanel) return;\n\n\t\t// Align upper panel horizontal crosshair to mouse Y (newY) or data Y (dataY) depending on preference\n\t\tif (\n\t\t\tthis.params.snapHorizontalToData &&\n\t\t\tactivePanel.isUpper &&\n\t\t\ttypeof dataY === 'number'\n\t\t) {\n\t\t\tnewY = dataY;\n\t\t} else {\n\t\t\t// Adjust Y coord to be relative to active panel\n\t\t\tnewY -= activePanel.size.top;\n\t\t}\n\n\t\t// hide flag/horizontal crosshair if the mouse nears vertical edge of the panel\n\t\tif (\n\t\t\tnewY - 6 < activePanel.size.padding.top ||\n\t\t\tnewY + 6 > activePanel.size.padding.top + activePanel.size.height\n\t\t) {\n\t\t\tthis.isNearEdge = true;\n\t\t} else {\n\t\t\tthis.isNearEdge = false;\n\t\t}\n\n\t\t// Update horizontal crosshair\n\t\tactivePanel.crosshairHoriz\n\t\t\t.attr('x1', activePanel.size.padding.left)\n\t\t\t.attr('y1', newY)\n\t\t\t.attr('x2',\tactivePanel.size.padding.left + activePanel.size.width)\n\t\t\t.attr('y2', newY)\n\t\t\t.style('visibility', 'hidden');\n\n\t\t// Render crosshair flag\n\t\tif (activePanel.flags['crosshair']) {\n\t\t\t// Update flag & label\n\t\t\tactivePanel.flags['crosshair'].render(activePanel.yAxis.primaryScale.invert(newY));\n\t\t\tactivePanel.flags['crosshair'].hide();\n\t\t}\n\n\t\t// Locate the crosshair circle on the chart\n\t\tif (\n\t\t\tactivePanel.crosshairCircle &&\n\t\t\t!isNaN(dataY) &&\n\t\t\ttypeof dataY === 'number' &&\n\t\t\tactivePanel.isWithin(mouse)\n\t\t) {\n\t\t\tactivePanel.crosshairCircle\n\t\t\t\t.attr('cx', newX)\n\t\t\t\t.attr('cy', dataY)\n\t\t\t\t.style('visibility', 'hidden');\n\t\t}\n\t\t\n\t}\n\n\t/**\n\t * Call back with the OHLCV or custom data for the current crosshair position\n\t * @param {Date} valDate - Date for relevant data point, used to get appropriate chart data\n\t * @param {Number} newX - Chart data point X coordinate closest to mouse X coordinate\n\t * @param {Number} newY - Distance from top of active panel to Mouse Y coordinate\n\t * @param {Number} dataY - Vertical location of the current chart data point under the crosshair\n\t * @param {Object} activePanel - Panel that is active (mouse is currently hovering over)\n\t */\n\t_callbackCrosshair (valDate, newX, newY, dataY, activePanel) {\n\t\t// Return if feature/data not available\n\t\tif (!this.params.enabled ||\t!this.core.data) return;\n\t\t\n\t\tconst { core } = this;\n\t\tconst dataOut = {\n\t\t\tdate: valDate, \n\t\t\tcoords: { \n\t\t\t\tx: newX, \n\t\t\t\ty: newY, \n\t\t\t\tdataY: dataY\n\t\t\t}, \n\t\t\tactivePanel: activePanel\n\t\t};\n\t\tconst customIndex = core.closestExchangeIndex(valDate);\n\t\tconst dataOHLC = core.getDataByType(core.params.symbol, 'price');\n\t\tconst dataVolume = core.getDataByType(core.params.symbol, 'volume');\n\t\tlet dataIndex = core._getIndexByDate(core.dataPrimary, valDate);\n\t\tlet dp;\n\n\t\t// ohlc\n\t\tif (dataOHLC.length) {\n\t\t\tdp = dataOHLC[0][dataIndex];\n\t\t\tdataOut.open = dp.open;\n\t\t\tdataOut.high = dp.high;\n\t\t\tdataOut.low = dp.low;\n\t\t\tdataOut.close = dp.close;\n\t\t}\n\n\t\t// volume\n\t\tif (dataVolume.length && dataVolume[0][dataIndex]) {\n\t\t\tdataOut.volume = dataVolume[0][dataIndex].volume;\n\t\t}\n\n\t\t// Get indicator data from all panels\n\t\tdataOut.panels = [];\n\t\tcore.panels.forEach(panel => {\n\t\t\t// Use object for panelData for potential future additions\n\t\t\tconst panelData = {};\n\t\t\tconst indicators = [];\n\t\t\tfor (const ind of panel.indicators) {\n\t\t\t\t// Don't add info for noClip indicators\n\t\t\t\tif (ind.params.noClip) continue;\n\n\t\t\t\t// Get indicator data for this panel\n\t\t\t\tconst { id, uid } = ind.params;\n\t\t\t\tconst indParams = { id, uid };\n\t\t\t\t\n\t\t\t\t// Get standard data\n\t\t\t\tif (core.data[core.params.symbol]) {\n\t\t\t\t\t// Get standard indicator data for this panel\n\t\t\t\t\tconst symbol = ind.params.symbol || core.params.symbol;\n\t\t\t\t\tconst symbolData = core.data[symbol];\n\n\t\t\t\t\t// Does data exist for this indicator ID and UID?\n\t\t\t\t\tif (\n\t\t\t\t\t\tsymbolData[id] && \n\t\t\t\t\t\tsymbolData[id][uid]\n\t\t\t\t\t) {\n\t\t\t\t\t\tdataIndex = core._getLowerIndexByDate(\n\t\t\t\t\t\t\tsymbolData[id][uid], \n\t\t\t\t\t\t\tvalDate\n\t\t\t\t\t\t);\n\t\t\t\t\t\t// Does data exist for this index?\n\t\t\t\t\t\tif (symbolData[id][uid][dataIndex]) {\n\t\t\t\t\t\t\tconst data = symbolData[id][uid][dataIndex];\n\t\t\t\t\t\t\tindParams.symbol = symbol;\n\n\t\t\t\t\t\t\t// Convert data values to coordinate values\n\t\t\t\t\t\t\tconst y = {};\n\t\t\t\t\t\t\tfor (const key in data) {\n\t\t\t\t\t\t\t\tconst value = data[key];\n\n\t\t\t\t\t\t\t\t// Skip date/text values\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t!/^date/.test(key) &&\n\t\t\t\t\t\t\t\t\t!isNaN(Number(value))\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\ty[key] = Number(ind._yScale()(value));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tindicators.push({\n\t\t\t\t\t\t\t\tcoords: {\n\t\t\t\t\t\t\t\t\tx: newX,\n\t\t\t\t\t\t\t\t\ty\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\tindicator: ind,\n\t\t\t\t\t\t\t\tpanel: ind.panel,\n\t\t\t\t\t\t\t\tparams: { ...indParams }\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\t// Get custom data\n\t\t\t\telse if (core.params.customData) {\n\t\t\t\t\tconst { customData } = core.params;\n\t\t\t\t\tconst { datasetId } = ind.params;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcustomData[datasetId] &&\n\t\t\t\t\t\tcustomData[datasetId][customIndex]\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst data = { ...core.params.customData[datasetId][customIndex] };\n\t\t\t\t\t\tindParams.datasetId = datasetId;\n\n\t\t\t\t\t\t// Convert data values to coordinate values\n\t\t\t\t\t\tconst y = {};\n\t\t\t\t\t\tfor (const key in data) {\n\t\t\t\t\t\t\tconst value = data[key];\n\n\t\t\t\t\t\t\t// Skip date/text values\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!/^date/.test(key) &&\n\t\t\t\t\t\t\t\t!isNaN(Number(value))\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\ty[key] = Number(ind._yScale()(value));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tindicators.push({\n\t\t\t\t\t\t\tcoords: {\n\t\t\t\t\t\t\t\tx: newX,\n\t\t\t\t\t\t\t\ty\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\tindicator: ind,\n\t\t\t\t\t\t\tpanel: ind.panel,\n\t\t\t\t\t\t\tparams: { ...indParams }\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\t// Add indicator info to panel object\n\t\t\tpanelData.indicators = [...indicators];\n\n\t\t\tdataOut.panels.push(panelData);\n\t\t});\n\n\t\t// currency\n\t\tif (core.state.currency) dataOut.currency = core.state.currency;\n\n\t\t// timezone label\n\t\tif (core.state.timezoneLabel) dataOut.timezoneLabel = core.state.timezoneLabel;\n\n\t\t// utc offset\n\t\tconst symbol = core.params.symbol;\n\t\tif (symbol) {\n\t\t\tdataOut.utcOffset = core.xref[symbol].utcOffset;\n\t\t\tdataOut.issueType = core.xref[symbol].issueType;\n\t\t}\n\n\t\t// Use setTimeout so as not to block when there are repeated calls to update the crosshair\n\t\tsetTimeout(() => core.eventEmitter.emit(types$1.CROSSHAIR_MOVE, dataOut), 0);\n\t}\n\n\t/** Conceal crosshairs on all panels. This is done using the 'visibility' style attribute. */\n\t_concealCrosshairs () {\n\t\tthis.core.panels.forEach(panel => {\n\t\t\t// conceal horiz line\n\t\t\tif (panel.crosshairHoriz) {\n\t\t\t\tpanel.crosshairHoriz.style('visibility', 'hidden');\n\t\t\t}\n\n\t\t\t// conceal vert line\n\t\t\tif (panel.crosshairVert) {\n\t\t\t\tpanel.crosshairVert.style('visibility', 'hidden');\n\t\t\t}\n\n\t\t\t// conceal crosshair flag (only will exist on first panel)\n\t\t\tif (panel.flags.crosshair) {\n\t\t\t\tpanel.flags.crosshair.hide();\n\t\t\t}\n\n\t\t\t// conceal xAxis flag\n\t\t\tif (panel.flags.xAxis) {\n\t\t\t\tpanel.flags.xAxis.hide();\n\t\t\t}\n\n\t\t\t// conceal circle (only will exist on first panel)\n\t\t\tif (panel.crosshairCircle) {\n\t\t\t\tpanel.crosshairCircle.style('visibility', 'hidden');\n\t\t\t}\n\t\t});\n\t\tthis.core.eventEmitter.emit(types$1.CROSSHAIR_HIDE);\n\t}\n\n\t/**\n\t * Reveal vertical crosshairs on all panels; horizontal crosshair, flag, and circle on active panel\n\t * @param {Object} activePanel - Panel that is active (mouse is currently hovering over)\n\t */\n\t_revealCrosshairs (activePanel) {\n\t\tfor (const panel of this.core.panels) {\n\t\t\t// Don't reveal crosshair if panel is lower and primary only option is true (NXC-657)\n\t\t\tif (!panel.isUpper &&\tthis.params.primaryOnly) break;\n\n\t\t\t// Reveal vertical crosshair for panel\n\t\t\tif (\n\t\t\t\tthis.params.enabled &&\n\t\t\t\tpanel.params.enableCrosshair &&\n\t\t\t\tpanel.crosshairVert\n\t\t\t) {\n\t\t\t\tpanel.crosshairVert.style('visibility', null);\n\t\t\t}\n\n\t\t\t// Reveal horizontal line, flag, circle for active panel only (flag, circle will appear on first panel only)\n\t\t\tif (panel === activePanel) {\n\t\t\t\t// Only show horizontal, flag if not near edge\n\t\t\t\tif(!this.isNearEdge) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.params.enabled &&\n\t\t\t\t\t\tpanel.params.enableCrosshair &&\n\t\t\t\t\t\tpanel.crosshairHoriz\n\t\t\t\t\t) {\n\t\t\t\t\t\tpanel.crosshairHoriz.style('visibility', null);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t// Check if flag should be shown even if crosshair is disabled\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(this.params.enabled && panel.params.enableCrosshair) ||\n\t\t\t\t\t\t\tthis.params.showFlagCrosshairDisabled\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tthis.params.flagEnabled &&\n\t\t\t\t\t\tpanel.flags.crosshair\n\t\t\t\t\t) {\n\t\t\t\t\t\tpanel.flags.crosshair.show();\n\t\t\t\t\t\tif (panel.flags.xAxis) panel.flags.xAxis.show();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tthis.params.enabled &&\n\t\t\t\t\tpanel.params.enableCrosshair &&\n\t\t\t\t\tthis.params.showCircle &&\n\t\t\t\t\tpanel.crosshairCircle\n\t\t\t\t) {\n\t\t\t\t\tpanel.crosshairCircle.style('visibility', null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.core.eventEmitter.emit(types$1.CROSSHAIR_SHOW);\n\t}\n\n\t/** Ensures chart does not use crosshair cursor when disabled */\n\t_enforceChartCursor (cursor) {\n\t\tif (cursor === types.CROSSHAIR && !this.params.enabled) {\n\t\t\tthis.core.setCursor(types.DEFAULT);\n\t\t}\n\t}\n\n\t/**\n\t * Method used to change crosshair parameters\n\t * @param {String} param - Name of parameter to change\n\t * @param {Boolean} isEnabled - Turn parameter on/off\n\t */\n\tsetParam (param, isEnabled) {\n\t\t// Save new value of param\n\t\tthis.params[param] = typeof isEnabled === 'boolean' ? isEnabled : true;\n\n\t\tswitch (param) {\n\t\t\tcase 'showCircle':\n\t\t\t\tthis.core.panels.forEach(panel => {\n\t\t\t\t\tif (panel.crosshairCircle) {\n\t\t\t\t\t\tlet visibility = 'hidden';\n\n\t\t\t\t\t\tif (this.params.showCircle) visibility = null;\n\n\t\t\t\t\t\tpanel.crosshairCircle.style('visibility', visibility);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvar annotation = {\n\tline: {\n\t\tcolor: '#000',\n\t\tlineDash: '1,0',\n\t\twidth: 1.5\n\t},\n\ttext: {\n\t\tcolor: '#777',\n\t\tfontFamily: 'Arial',\n\t\tfontSize: 12,\n\t\tfontWeight: 'normal',\n\t\tglowColor: 'none',\n\t\tglowWidth: 2,\n\t\tpadding: {\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t},\n\t\ttextAlign: 'left',\n\t\ttextBaseline: 'bottom'\n\t}\n};\n\nvar event = {\n\toffsetY: 20,\n\tpadding: 5,\n\tdiameter: 16\n};\n\nconst color$1 = {\n\tbackground: '#555555',\n\tlabel: '#fff'\n};\nconst font$1 = {\n\tfamily: null,\n\tsize: 12\n};\n\nvar flag = {\n\tcrosshair: {\n\t\tcolor: color$1,\n\t\tfont: font$1\n\t},\n\thorizontalAnnotation: {\n\t\tcolor: {\n\t\t\tbackground: null,\n\t\t\tlabel: null\n\t\t},\n\t\tfont: {\n\t\t\tfamily: null,\n\t\t\tsize: null,\n\t\t}\n\t},\n\tlastClose: {\n\t\tcolor: color$1,\n\t\tfont: font$1\n\t},\n\txAxis: {\n\t\tcolor: color$1,\n\t\tfont: font$1\n\t}\n};\n\nconst BAND_COLOR_LINE = 'rgba(200, 200, 200, 0.5)';\nconst BAND_COLOR = 'rgba(0, 0, 0, 0.05)';\nconst COLOR_PRIMARY = 'steelblue';\nconst DEFAULT_LINE_WIDTH = 1.5;\nconst DEFAULT_PANEL_HEIGHT_RATIO = 0.25;\nconst FONT_ARIAL = 'Arial, Helvetica, sans-serif';\nconst GRAY_DEFAULT = '#777';\nconst GRAY_LIGHT = '#CCC';\nconst NEGATIVE_DEFAULT = 'firebrick';\nconst NEUTRAL_DEFAULT = '#999999';\nconst POSITIVE_DEFAULT = 'forestgreen';\n\nvar defaults = {\n\tBAND_COLOR_LINE,\n\tBAND_COLOR,\n\tCOLOR_PRIMARY,\n\tDEFAULT_LINE_WIDTH,\n\tDEFAULT_PANEL_HEIGHT_RATIO,\n\tFONT_ARIAL,\n\tGRAY_DEFAULT,\n\tGRAY_LIGHT,\n\tNEGATIVE_DEFAULT,\n\tNEUTRAL_DEFAULT,\n\tPOSITIVE_DEFAULT\n};\n\n/**\n * Enum for Canvas context textAlign property\n * @readonly\n * @enum {string}\n */\nconst textAlign = Object.freeze({\n\tCENTER: 'center',\n\t// END: 'end',\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\t// START: 'start'\n});\n\n/**\n * Enum for Canvas context textBaseline property\n * @readonly\n * @enum {string}\n */\nconst textBaseline = Object.freeze({\n\tALPHABETIC: 'alphabetic',\n\t// BOTTOM: 'bottom',\n\tHANGING: 'hanging',\n\t// IDEOGRAPHIC: 'ideographic',\n\tMIDDLE: 'middle',\n\t// TOP: 'top'\n});\n\n/**\n * Enums associated with Canvas context methods\n * @readonly\n * @enum {object}\n */\nvar canvasEnums = {\n\ttextAlign,\n\ttextBaseline\n};\n\nvar marker = {\n\tband: {\n\t\tcolor: {\n\t\t\tbackground: defaults.BAND_COLOR,\n\t\t\tline: defaults.BAND_COLOR_LINE\n\t\t},\n\t\tlabel :{\n\t\t\tfont: {\n\t\t\t\tcolor: '#888',\n\t\t\t\tfamily: defaults.FONT_ARIAL,\n\t\t\t\tsize: 11,\n\t\t\t\tweight: 'normal'\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tleft: 5,\n\t\t\t\tright: 5\n\t\t\t},\n\t\t\ttextAlign: canvasEnums.textAlign.LEFT,\n\t\t},\n\t\tlineDash: '',\n\t\twidth: 1\n\t},\n\textendedHours: {\n\t\tlineColor: 'rgba(255, 255, 255, 0.3)',\n\t\tlineWidth: 1,\n\t\tpreMarket: {\n\t\t\tbackgroundColor: 'rgba(155,155,155,0.15)',\n\t\t},\n\t\tafterHours: {\n\t\t\tbackgroundColor: 'rgba(155,155,155,0.15)',\n\t\t}\n\t}\n};\n\nconst band$1 = {\n\t...marker.band,\n\tcolor: {\n\t\tbackground: defaults.BAND_COLOR,\n\t\tline: '#777'\n\t}\n};\n\nvar commoditychannelindex = {\n\tcolor: '#FF5F20',\n\tlineDash: '',\n\toverbought: { ...band$1 },\n\toversold: { ...band$1 },\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar moneyflowindex = {\n\tcolor: 'purple',\n\tlineDash: '',\n\toverbought: { ...marker.band },\n\toversold: { ...marker.band },\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nconst band = {\n\t...marker.band,\n\tcolor: {\n\t\tbackground: defaults.BAND_COLOR,\n\t\tline: '#777'\n\t}\n};\n\nvar percentb = {\n\tcolor: 'brown',\n\tlineDash: '',\n\tmedian: {\n\t\tcolor: defaults.COLOR_PRIMARY,\n\t\tlineDash: '',\n\t\twidth: 3,\n\t},\n\toverbought: { ...band },\n\toversold: { ...band },\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\n/**\n * Enum for marker type, which determines the marker to use when drawing the chart\n * @readonly\n * @enum {string}\n */\nconst markerType = Object.freeze({\n\t/** Draw indicator using bar markers */\n\tBAR: 'bar',\n\t/** Draw indicator using candlestick markers */\n\tCANDLESTICK: 'candlestick',\n\t/** Draw indicator using a line chart with a fill underneath the line */\n\tFILL: 'fill',\n\t/** Draw indicator using High-Low-Close markers */\n\tHLC: 'hlc',\n\t/** Draw indicator using lines connecting each data point */\n\tLINE: 'line',\n\t/** Draw indicator using lines connecting each data point, with a shape at each point on top of the line */\n\tLINEWITHSHAPES: 'lineWithShapes',\n\t/** Draw indicator using Open-High-Low-Close markers with colors specified by ohlcType */\n\tOHLC: 'ohlc',\n\t/** Draw indicator using positive/negative fill based on previous close */\n\tPOSNEG: 'posneg',\n\t/** Draw indicator using shapes for each data point */\n\tSHAPE: 'shape',\n\t/** Draw indicator using stepped line markers (think of the outline of the bar chart) */\n\tSTEPPED: 'stepped'\n});\n\n/**\n * Enum for OHLC type, which determines how to render the OHLC marker\n * @readonly\n * @enum {string}\n */\nconst ohlcType = Object.freeze({\n\t/** Draw using one color */\n\tMONO: 'mono',\n\t/** Draw new highs with positive color */\n\tNEWHIGHS: 'newhighs',\n\t/** Draw new lows with negative color */\n\tNEWLOWS: 'newlows',\n\t/** Draw using posneg logic */\n\tPOSNEG: 'posneg'\n});\n\nconst shapeType = Object.freeze({\n\tCIRCLE: 'circle',\n\tCUSTOM: 'custom',\n\tDIAMOND: 'diamond',\n\tSQUARE: 'square',\n\tTRIANGLE: 'triangle'\n});\n\nvar PRICE = {\n\tmarkerType,\n\tohlcType,\n\tshapeType\n};\n\nvar price = {\n\tbar: {\n\t\tcolor: defaults.COLOR_PRIMARY,\n\t\tfillColor: defaults.COLOR_PRIMARY\n\t},\n\tcandlestick: {\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT\n\t\t}, \n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT\n\t\t}, \n\t\tneutral: {\n\t\t\tcolor: defaults.NEUTRAL_DEFAULT\n\t\t}\n\t},\n\tcolor: defaults.COLOR_PRIMARY,\n\tfillColor: defaults.COLOR_PRIMARY,\n\tfillColorStop: 'rgba(255, 255, 255, 0.4)',\n\tlineDash: null,\n\tohlc: {\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT\n\t\t}, \n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT\n\t\t}, \n\t\tneutral: {\n\t\t\tcolor: defaults.NEUTRAL_DEFAULT\n\t\t}\n\t},\n\tposneg: {\n\t\tlineDash: null,\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT,\n\t\t\tfillColor: 'rgba(17, 182, 0, 0.1)',\n\t\t\tfillColorStop: null\n\t\t}, \n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT,\n\t\t\tfillColor: 'rgba(178, 0, 0, 0.1)',\n\t\t\tfillColorStop: null\n\t\t}\n\t},\n\tsessionBreak: {\n\t\tcolor: defaults.COLOR_PRIMARY,\n\t\tfillColor: 'rgba(0, 0, 0, 0.04)',\n\t\tlineDash: '2,2',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH\n\t},\n\tshape: {\n\t\tcolor: defaults.COLOR_PRIMARY,\n\t\tfillColor: defaults.COLOR_PRIMARY,\n\t\tlength: 7,\n\t\tlineWidth: 1.5,\n\t\toffset: 2,\n\t\ttype: shapeType.CIRCLE\n\t},\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar rsi = {\n\tcolor: '#17510A',\n\tlineDash: '',\n\toverbought: { ...marker.band },\n\toversold: { ...marker.band },\t\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar stochastics = {\n\tcolor: '#666',\n\td: {\n\t\tcolor: '#600',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: ''\n\t},\n\tlineDash: '',\n\toverbought: { ...marker.band },\n\toversold: { ...marker.band },\t\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar ultimateoscillator = {\n\tcolor: '#555',\n\tlineDash: '',\n\toverbought: { ...marker.band },\n\toversold: { ...marker.band },\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar williamspctr = {\n\tcolor: '#029974',\n\tlineDash: '',\n\toverbought: { ...marker.band },\n\toversold: { ...marker.band },\n\twidth: defaults.DEFAULT_LINE_WIDTH\n};\n\nvar indicator = {\n\tadl: {\n\t\tcolor: '#D1009D',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tadvancedecline: {\n\t\tcolor: '#49CF6B',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tavgtruerange: {\n\t\tcolor: '#007CEF',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tawesomeoscillator: {\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT\n\t\t},\n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT\n\t\t}\n\t},\n\tbestworst: {\n\t\twidth: 1,\n\t\tbest: {\n\t\t\tbackgroundColor: 'rgba(17, 182, 0, 0.1)',\n\t\t\tcolor: defaults.POSITIVE_DEFAULT,\n\t\t\tlineDash: '2,3'\n\t\t},\n\t\tworst: {\n\t\t\tbackgroundColor: 'rgba(178, 0, 0, 0.1)',\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT,\n\t\t\tlineDash: '2,3'\n\t\t}\n\t},\n\tbollinger: {\n\t\tfillColor: 'rgba(194, 235, 254, 0.15)',\n\t\tcolor: 'rgba(136, 136, 136, 0.8)',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tsma: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT,\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t}\n\t},\n\tbollingerbandwidth: {\n\t\tcolor: '#CE9B3C',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tchaikins: {\n\t\tcolor: '#32868F',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tcommoditychannelindex,\n\tcrs: {\n\t\tcolor: '#269843',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tdividendyield: {\n\t\tcolor: '#0090FF',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tdmi: {\n\t\tadx: {\n\t\t\tcolor: '#0074E8',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t},\n\t\tadxr: {\n\t\t\tcolor: 'darkorange',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t},\n\t\tnegative: {\n\t\t\tcolor: 'blue',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t},\n\t\tpositive: {\n\t\t\tcolor: '#FF5F20',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t}\n\t},\n\tema: {\n\t\tcolor: '#D16905',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\thighlow: {\n\t\tmin: {\n\t\t\tcolor: '#e70d18'\n\t\t},\n\t\tmax: {\n\t\t\tcolor: '#077c07'\n\t\t},\n\t\tlabel: {\n\t\t\tglowColor: null\n\t\t}\n\t},\n\tichimokucloud: {\n\t\tchikou: {\n\t\t\tcolor: '#F34949',\n\t\t\twidth: 1.25,\n\t\t\tlineDash: null\n\t\t},\n\t\tkijun: {\n\t\t\tcolor: '#2E8AAC',\n\t\t\twidth: 1.25,\n\t\t\tlineDash: null\n\t\t},\n\t\tsenkou: {\n\t\t\ta: {\n\t\t\t\tcolor: 'green',\n\t\t\t\twidth: 1.25,\n\t\t\t\tlineDash: null\n\t\t\t},\n\t\t\tb: {\n\t\t\t\tcolor: 'red',\n\t\t\t\twidth: 1.25,\n\t\t\t\tlineDash: null\n\t\t\t},\n\t\t\tnegative: {\n\t\t\t\tfillColor: 'rgba(255, 0, 0, 0.2)'\n\t\t\t},\n\t\t\tpositive: {\n\t\t\t\tfillColor: 'rgba(73, 184, 64, 0.3)'\n\t\t\t}\n\t\t},\n\t\ttenkan: {\n\t\t\tcolor: '#9A4AEC',\n\t\t\twidth: 1.25,\n\t\t\tlineDash: null\n\t\t}\n\t},\n\tlinearregression: {\n\t\tcolor: '#C05E00',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tmacd: {\n\t\tcolor: '#046EE6',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tema: {\n\t\t\tcolor: '#A82323',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t},\n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT\n\t\t},\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT\n\t\t},\n\t\tzero: {\n\t\t\tcolor: '#888',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t},\n\t},\n\tmae: {\n\t\tcolor: '#999',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tfillColor: 'rgba(194, 235, 254, 0.15)',\n\t\tlineDash: null\n\t},\n\tmassindex: {\n\t\tcolor: '#672D8A',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tsetup: {\n\t\t\tcolor: '#EA7125',\n\t\t\twidth: 1,\n\t\t\tlineDash: null\n\t\t},\n\t\ttrigger: {\n\t\t\tcolor: '#00A0DF',\n\t\t\twidth: 1,\n\t\t\tlineDash: null\n\t\t}\n\t},\n\tmomentum: {\n\t\tcolor: '#8938BA',\n\t\tfillColor: 'rgba(137, 56, 186, 0.2)',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tmoneyflow: {\n\t\tcolor: 'darkred',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tmoneyflowindex,\n\tonbalancevolume: {\n\t\tcolor: '#E47600',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tperange: {\n\t\tcolor: '#2E9DE4',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tlow: {\n\t\t\tcolor: 'green',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null,\n\t\t}\n\t},\n\tperatio: {\n\t\tcolor: '#E47600',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tpercentb,\n\tpreviousclose: {\n\t\tcolor: 'darkred',\n\t\tlabel: {\n\t\t\tcolor: '#333',\n\t\t\tfontSize: 11,\n\t\t\tfontWeight: 'normal',\n\t\t\tfontFamily: defaults.FONT_ARIAL,\n\t\t\tglowColor: null\n\t\t},\n\t\tlineDash: null,\n\t\twidth: defaults.DEFAULT_LINE_WIDTH\n\t},\n\tprice,\n\tpricechannel: {\n\t\tcolor: '#888',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tfillColor: 'rgba(194, 235, 254, 0.15)'\n\t},\n\tproc: {\n\t\tcolor: 'green',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tzero: {\n\t\t\tcolor: '#000',\n\t\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\t\tlineDash: null\n\t\t}\n\t},\n\tpsar: {\n\t\tcolor: '#EA4D00',\n\t\tlength: 4\n\t},\n\trevenues: {\n\t\tcolor: '#AB491F',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\trollingdividend: {\n\t\tcolor: '#26A42D',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\trollingeps: {\n\t\tcolor: '#216711',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\trsi,\n\tsectorindustry: {\n\t\tcolor: '#EA4D00',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tsma: {\n\t\tcolor: '#44B6E2',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tstochastics,\n\ttsf:{\n\t\tcolor: '#0076C9',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tultimateoscillator,\n\tupdown: {\n\t\tcolor: '#72D6FB',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tupdownratio: {\n\t\tcolor: '#2E8AAC',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tvolume: {\n\t\tcolor: defaults.COLOR_PRIMARY,\n\t\tnegative: {\n\t\t\tcolor: defaults.NEGATIVE_DEFAULT\n\t\t},\n\t\tneutral: {\n\t\t\tcolor: '#999'\n\t\t},\n\t\tpanelHeightRatio: defaults.DEFAULT_PANEL_HEIGHT_RATIO,\n\t\tpositive: {\n\t\t\tcolor: defaults.POSITIVE_DEFAULT\n\t\t},\n\t},\n\tvolumebyprice: {\n\t\tup: {\n\t\t\tcolor: 'rgba(34, 139, 34, 0.5)'\n\t\t},\n\t\tdown: {\n\t\t\tcolor: 'rgba(178, 34, 34, 0.5)'\n\t\t}\n\t},\n\tvroc: {\n\t\tcolor: '#D56B03',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null,\n\t\tzero: {\n\t\t\tcolor: '#333',\n\t\t\twidth: 1,\n\t\t\tlineDash: null\t\t\t\n\t\t}\n\t},\n\tvwap: {\n\t\tcolor: 'purple',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\twilliamspctr,\n\twma: {\n\t\tcolor: '#03907E',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t},\n\tyieldspread: {\n\t\tcolor: '#EA4D00',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tlineDash: null\n\t}\n};\n\nconst color = { background: null };\nconst font = {\n\tcolor: '#666',\n\tfamily: defaults.FONT_ARIAL,\n\tsize: 11,\n\tweight: 'normal'\n};\n\nvar axes = {\n\txAxis: {\n\t\tcolor,\n\t\tfont,\n\t\tlabel: {\n\t\t\tlineHeight: null,\n\t\t\tpadding: {\n\t\t\t\tleft: 3,\n\t\t\t\tright: 3,\n\t\t\t\ttop: 5\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tdefault: 50,\n\t\t\t\tminutes: 75\n\t\t\t},\n\t\t\tsteps: {\n\t\t\t\tminutes: [1, 5, 10, 15, 30],\n\t\t\t\thours: [1, 2, 4],\n\t\t\t\tdays: [1, 2, 3],\n\t\t\t\tweeks: [1, 2, 4, 16],\n\t\t\t\tmonths: [1, 2, 3, 4, 6],\n\t\t\t\tyears: [1, 2, 5, 10]\n\t\t\t},\n\t\t\ttextAlign: canvasEnums.textAlign.LEFT\n\t\t},\n\t\t// Padding for axis domain\n\t\tpadding: {\n\t\t\tleft: 0,\n\t\t\tright: 0\n\t\t},\n\t\ttick: {\n\t\t\talt: {\n\t\t\t\tcolor: defaults.GRAY_LIGHT,\n\t\t\t\tlength: 8,\n\t\t\t\tlineDash: null,\n\t\t\t\twidth: null\n\t\t\t},\n\t\t\tcolor: defaults.GRAY_LIGHT,\n\t\t\tlength: 4,\n\t\t\tlineDash: '',\n\t\t\twidth: 1\n\t\t}\n\t},\n\tyAxis: {\n\t\tcolor,\n\t\tfont,\n\t\tlabel: {\n\t\t\tformat: {\n\t\t\t\tdefault: {\n\t\t\t\t\tformat: '0,.2f',\n\t\t\t\t\tformatPercent: '0,.2%'\n\t\t\t\t},\n\t\t\t\tlarge: {\n\t\t\t\t\tformat: '0,.2s',\n\t\t\t\t\tformatPercent: '0,.2%',\n\t\t\t\t\tthreshold: 10000\n\t\t\t\t},\n\t\t\t\tsmall: {\n\t\t\t\t\tformat: '0.3f',\n\t\t\t\t\tformatPercent: '0.2%',\n\t\t\t\t\tthreshold: 0.01\n\t\t\t\t},\n\t\t\t\tmicro: {\n\t\t\t\t\tformat: '0.4f',\n\t\t\t\t\tformatPercent: '0.2%',\n\t\t\t\t\tthreshold: 0.001\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Padding for labels\n\t\t\tpadding: {\n\t\t\t\tbottom: 3,\n\t\t\t\tleft: 5,\n\t\t\t\tright: 5,\n\t\t\t\ttop: 3\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tdefault: 50,\n\t\t\t\tsmall: 30\n\t\t\t},\n\t\t\ttextAlign: canvasEnums.textAlign.LEFT,\n\t\t\ttextBaseline: canvasEnums.textBaseline.MIDDLE,\n\t\t\tthreshold: {\n\t\t\t\tsmall: 170\n\t\t\t}\n\t\t},\n\t\t// Padding for axis domain\n\t\tpadding: {\n\t\t\ttop: 15,\n\t\t\tbottom: 15\n\t\t},\n\t\ttick: {\n\t\t\talt: {\n\t\t\t\tcolor: null,\n\t\t\t\tlength: null,\n\t\t\t\tlineDash: null,\n\t\t\t\twidth: null\n\t\t\t},\n\t\t\tcolor: null,\n\t\t\tlength: 4,\n\t\t\tlineDash: '',\n\t\t\twidth: 1\n\t\t}\n\t},\n};\n\nvar crosshair = {\n\tcircleRadius: 3.5\n};\n\nvar grid = {\n\tbackground: { color: null },\n\tcolor: defaults.GRAY_LIGHT,\n\textension: 0,\n\thorizontal: {\n\t\tcolor: null,\n\t\textension: null,\n\t\tlineDash: '1,1',\n\t\twidth: null,\n\t\tnormalize: {\n\t\t\tcolor: null,\n\t\t\tlineDash: null,\n\t\t\twidth: null\n\t\t}\n\t},\n\tlineDash: '',\n\twidth: 1,\n\tvertical: {\n\t\talt: {\n\t\t\tcolor: defaults.GRAY_DEFAULT,\n\t\t\textension: null,\n\t\t\tlineDash: null,\n\t\t\twidth: null\n\t\t},\n\t\tcolor: null,\n\t\textension: null,\n\t\tlineDash: '1,1',\n\t\twidth: null,\n\t\tnormalize: {\n\t\t\tcolor: null,\n\t\t\tlineDash: null,\n\t\t\twidth: null\n\t\t}\n\t}\n};\n\nvar label = {\n\tclosure: {\n\t\tcolor: 'rgba(255, 255, 255, 0.12)'\n\t}\n};\n\nvar border = {\n\tcolor: {\n\t\tbottom: null,\n\t\tdefault: defaults.GRAY_LIGHT,\n\t\tleft: null,\n\t\tright: null,\n\t\ttop: null\n\t},\n\tlineDash: {\n\t\tbottom: null,\n\t\tdefault: '',\n\t\tleft: null,\n\t\tright: null,\n\t\ttop: null\n\t},\n\tlineWidth: {\n\t\tbottom: null,\n\t\tdefault: 1,\n\t\tleft: null,\n\t\tright: null,\n\t\ttop: null\n\t},\n\tpadding: {\n\t\tbottom: null,\n\t\tdefault: 0,\n\t\tleft: null,\n\t\tright: null,\n\t\ttop: null\n\t}\n};\n\nvar panel = {\n\t...axes,\n\tborder,\n\tcrosshair,\n\tgrid,\n\tlabel,\n\tmargin: {\n\t\tbottom: 0,\n\t\ttop: 0\n\t},\n\tpadding: {\n\t\tbottom: 35,\n\t\tleft: 0,\n\t\tright: 50,\n\t\ttop: 0\n\t}\t\n};\n\nvar panelLower = {\n\tyAxis: {\n\t\tpadding: {\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t}\n\t}\n};\n\nvar panelYAxisLeft = {\n\tyAxis: {\n\t\tlabel: {\n\t\t\ttextAlign: canvasEnums.textAlign.RIGHT\n\t\t}\n\t},\n\tpadding: {\n\t\tleft: 50,\n\t\tright: 0,\n\t}\t\n};\n\nvar tool = {\n\textendedHorizontal: {\n\t\tsupport: {\n\t\t\tcolor: 'limegreen',\n\t\t\twidth: 2\n\t\t},\n\t\tresistance: {\n\t\t\tcolor: 'red',\n\t\t\twidth: 2\n\t\t},\n\t\tdefault: {\n\t\t\tcolor: 'pink',\n\t\t\twidth: 2\n\t\t}\n\t},\n\tline: {\n\t\tcolor: '#80B9FF',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH\n\t},\n\tmeasurementLine: {\n\t\tcolor: '#2496F1',\n\t\twidth: defaults.DEFAULT_LINE_WIDTH,\n\t\tfontFamily: 'Arial, Helvetica, sans-serif',\n\t\tfontColor: '#333',\n\t\tfontSize: 14,\n\t\tfillOpacity: 0.05,\n\t\tfillColor: '#000'\n\t},\n\thandle: {\n\t\tbackgroundColor: '#6AB5FF',\n\t\tcolor: '#fff',\n\t\twidth: 8,\n\t\thover: {\n\t\t\tbackgroundColor: '#111',\n\t\t\tcolor: '#aaa'\n\t\t}\n\t},\n\tray: {\n\t\tcolor: 'purple',\n\t\twidth: 2\n\t},\n\tlineArrow: {\n\t\tcolor: 'steelblue',\n\t\twidth: 2,\n\t\tarrow: {\n\t\t\twidth: 5,\n\t\t\theight: 15\n\t\t}\n\t},\n\tlineExtended: {\n\t\tcolor: 'orange',\n\t\twidth: 2\n\t},\n\tlineFibonacci: {\n\t\tcolor: 'white',\n\t\twidth: 1\n\t},\n\tlineEllipse: {\n\t\tboundingBoxPenPxOn: 2,\n\t\tboundingBoxPenPxOff: 3,\n\t\tcolor: '#000',\n\t\tcolorBoundingBox:'#000',\n\t\topacity: 0.05,\n\t\twidth: 1\n\t},\n\tlineFibArc: {\n\t\tcolor: '#666',\n\t\topacity: 0.05,\n\t\twidth: 1,\n\t\tlevel236: {\n\t\t\tcolor: '#133aac'\n\t\t},\n\t\tlevel382: {\n\t\t\tcolor: 'orange'\n\t\t},\n\t\tlevel5: {\n\t\t\tcolor: '#887a00'\n\t\t},\n\t\tlevel618: {\n\t\t\tcolor: '#062170'\n\t\t}\n\t},\n\tlineFibCircle: {\n\t\tcolor: '#666',\n\t\topacity: 0.05,\n\t\twidth: 1,\n\t\tlevel236: {\n\t\t\tcolor: '#133aac'\n\t\t},\n\t\tlevel382: {\n\t\t\tcolor: 'orange'\n\t\t},\n\t\tlevel5: {\n\t\t\tcolor: '#887a00'\n\t\t},\n\t\tlevel618: {\n\t\t\tcolor: '#062170'\n\t\t}\n\t},\n\tlineFibFan: {\n\t\tcolor: '#05E9FF',\n\t\topacity: 0.05,\n\t\twidth: 1,\n\t\tlevel0: {\n\t\t\tcolor: '#A9ABAB'\n\t\t},\n\t\tlevel236: {\n\t\t\tcolor: '#A92B21'\n\t\t},\n\t\tlevel382: {\n\t\t\tcolor: '#F7E816'\n\t\t},\n\t\tlevel5: {\n\t\t\tcolor: '#24B829'\n\t\t},\n\t\tlevel618: {\n\t\t\tcolor: '#19A878'\n\t\t}\n\t},\n\tlineHorizontal: {\n\t\tcolor: defaults.GRAY_DEFAULT,\n\t\twidth: 1\n\t},\n\tlineRectangle: {\n\t\tbackgroundColor: 'none',\n\t\tcolor: 'darkred',\n\t\topacity: 0.05,\n\t\twidth: 2\n\t},\n\tlineGannFan: {\n\t\tcolor: '#666',\n\t\twidth: 1,\n\t\tlevel12: {\n\t\t\tcolor: 'darkred'\n\t\t},\n\t\tlevel13: {\n\t\t\tcolor: 'orange'\n\t\t},\n\t\tlevel14: {\n\t\t\tcolor: '#A8A800'\n\t\t},\n\t\tlevel18: {\n\t\t\tcolor: 'darkgreen'\n\t\t}\n\t},\n\tsnapHandle: {\n\t\tcolor: 'orange'\n\t},\n\ttext: {\n\t\tboundingBoxPenPxOn: 2,\n\t\tboundingBoxPenPxOff: 3,\n\t\tcolor: '#333',\n\t\tcolorBoundingBox: '#000',\n\t\tfontSize: 14,\n\t\tfontFamily: 'Arial, Helvetica, sans-serif',\n\t\theight: 70,\n\t\tlineHeight: 1.35,\n\t\twidth: 200\n\t}\n};\n\nvar DEFAULT_STYLES = {\n\tannotation,\n\tevent,\n\tflag,\n\tindicator,\n\tmarker,\n\tpanel,\n\tpanelLower,\n\tpanelYAxisLeft,\n\ttool\n};\n\n/**\n * Enum for average type, which is used in calculating the MA envelope\n * @readonly\n * @enum {string}\n */\nconst averageTypes = Object.freeze({\n\t/** Use EMA in MAE calculations */\n\tEMA: 'ema',\n\t/** Use SMA in MAE calculations */\n\tSMA: 'sma',\n\t/** Use WMA in MAE calculations */\n\tWMA: 'wma'\n});\n\nvar MAE = {\n\taverageTypes,\n};\n\n/**\n * Enums associated with various indicators\n * @readonly\n * @enum {object}\n */\nvar indicators = Object.freeze({\n\t/** Enums associated with MAE indicator */\n\tMAE,\n\t/** Enums associated with Price indicator */\n\tPRICE\n});\n\nconst HIGHEST = 0;\nconst HIGH = 1;\nconst MIDDLE = 2;\nconst LOW = Infinity;\n\n/**\n * Enums associated with the labeler\n * @readonly\n * @enum {object}\n */\nvar labelerEnums = Object.freeze({\n\tlabelPriorities: {\n\t\tLOW,\n\t\tMARKET_OPEN: HIGH,\n\t\tMARKET_CLOSE: HIGH,\n\t\tMIDDAY: MIDDLE,\n\t\tMIDDLE,\n\t\tHIGH,\n\t\tHIGHEST\n\t}\n});\n\n/**\n * Enums associated with adjusting the scale domain for an axis\n * @readonly\n * @enum {object}\n * @property {object} xAxis - Categories which would necessitate an augmentation to the X-axis domain\n */\nconst domainAdjustmentCategories = Object.freeze({\n\txAxis: { \n\t\tBAR_MARKER: 'barMarker',\n\t\tEVENT: 'event',\n\t\tLINEWITHSHAPES: 'lineWithShapes',\n\t\tSHAPE: 'shape'\n\t}\n});\n\n/**\n * Enums associated with the renderDuplicateLabels param\n * @readonly\n * @enum {object}\n * @property {string} KEEP_ALL - Render all labels (skip the check for duplicates)\n * @property {string} KEEP_LEFT - Render the left-most duplicate label\n * @property {string} KEEP_RIGHT - Render the right-most duplicate label\n */\nconst renderDuplicateLabelsCategories = Object.freeze({\t\n\tKEEP_ALL: 'KEEP_ALL',\n\tKEEP_LEFT: 'KEEP_LEFT',\n\tKEEP_RIGHT: 'KEEP_RIGHT'\n});\n\n/**\n * Enums associated with the showMarketCloseLabels params\n * @readonly\n * @enum {string}\n * @property {string} ALL - For left aligned labels (the default), the market close labels will be drawn to the right of the market open labels. For center and right aligned labels, the market close label will only be drawn for the current day.\n * @property {string} NONE - No market close labels will be drawn\n * @property {string} ONCE - The label will only be drawn at the last drawable location on the XAxis\n */\nconst showMarketCloseLabelsCategories = Object.freeze({\t\n\tALL: 'all',\n\tNONE: null,\n\tONCE: 'once'\n});\n\n/**\n * Enums associated with the Modcharts class\n * @readonly\n * @enum {object}\n */\nvar modcharts = {\n\tdomainAdjustmentCategories,\n\trenderDuplicateLabelsCategories,\n\tshowMarketCloseLabelsCategories\n};\n\n/**\n * Enum for label format in Fibonacci tools, which determines how the label is rendered\n * @readonly\n * @enum {string}\n */\nconst FibToolLabelFormat$4 = {\n\t/** Display the labels using a decimal representation */\n\tDECIMAL: 'decimal',\n\t/** Display the labels using a percentage representation */\n\tPERCENT: 'percent'\n};\n\nvar FIBONACCI = {\n\tFibToolLabelFormat: FibToolLabelFormat$4\n};\n\n/**\n * Enums associated with various tools\n * @readonly\n * @enum {object}\n */\nvar toolEnums = Object.freeze({\n\t/** Enums associated with the Fibonacci Line tool */\n\tFIBONACCI\n});\n\nvar enums = {\n\tcursor,\n\tevent: event$1,\n\tindicators,\n\tlabeler: labelerEnums,\n\tmodcharts,\n\ttools: toolEnums\n};\n\n/**\n * Combine all panel canvas elements into a single canvas for use in printing or saving\n */\nconst _getExportCanvas = (core, args = {}) => {\n\t\n\tcore.eventEmitter.emit(types$1.EXPORT_CANVAS_START);\n\n\tconst { size } = core.panels[0];\n\tconst rootNode = core.rootModchart.node();\n\tconst isStyled = !!getComputedStyle(rootNode)['width'];\n\tconst bBox = rootNode.getBoundingClientRect();\n\tconst { height: origHeight, width: origWidth } = bBox;\n\tconst bgColor = _getVisibleBackgroundColor(rootNode);\n\tconst ratio = core.getScreenRatio();\n\t\n\targs.height = args.height || 0;\n\targs.width = args.width || (size.width + size.padding.left + size.padding.right);\n\n\tif (args.height === 0) {\n\t\t// get total height\n\t\tcore.panels.forEach(panel => {\n\t\t\targs.height +=\n\t\t\t\tpanel.size.height +\n\t\t\t\tpanel.size.padding.top +\n\t\t\t\tpanel.size.padding.bottom;\n\t\t});\n\t}\n\n\t// set new dimensions\n\trootNode.style.height = args.height;\n\trootNode.style.width = args.width;\n\n\tcore.resize();\n\tcore.render();\n\n\targs.header = _getExportCanvasHeader();\n\targs.footer = _getExportCanvasFooter();\n\n\tconst canvasHeight = args.height + args.header.height + args.footer.height + 1;\n\n\t// create canvas inside iframe\n\tconst canvas = document.createElement('canvas');\n\tcanvas.setAttribute('width', args.width * ratio);\n\tcanvas.setAttribute('height', canvasHeight * ratio);\n\tcanvas.style.width = args.width;\n\tcanvas.style.height = canvasHeight;\n\tconst ctx = canvas.getContext('2d');\n\n\n\tctx.rect(0, 0, args.width * ratio, canvasHeight * ratio);\n\tctx.fillStyle = bgColor;\n\tctx.fill();\n\n\t// fill canvas with content\n\t_applyExportCanvasContent(core, ctx, args);\n\n\t// reset dimensions back to original\n\trootNode.style.height = isStyled ? origHeight : '';\n\trootNode.style.width = isStyled ? origWidth : '';\n\n\tcore.resize();\n\tcore.render();\n\n\tcore.eventEmitter.emit(types$1.EXPORT_CANVAS_END);\n\n\treturn canvas;\n};\n\n/**\n * overridable method to add custom header content to an exported canvas\n * height = intended height of header section\n * applyContent = function reference that will receive a canvas context to draw into\n */\nconst _getExportCanvasHeader = () => {\n\t// default\n\treturn {\n\t\theight: 0,\n\t\tapplyContent: () => {}\n\t};\n};\n\n/**\n * overridable method to add custom footer content to an exported canvas\n * height = intended height of footer section\n * applyContent = function reference that will receive a canvas context to draw into\n */\nconst _getExportCanvasFooter = () => {\n\t// default\n\treturn {\n\t\theight: 0,\n\t\tapplyContent: () => {}\n\t};\n};\n\n/**\n * draw each panel into the temporary canvas context\n */\nconst _applyExportCanvasContent = (core, context, args) => {\n\tlet y = args.header\n\t\t? args.header.height\n\t\t: 0;\n\tconst ratio = core.getScreenRatio();\n\n\t// optional header content\n\tif (args.header) {\n\t\targs.header.applyContent(context, 0);\n\t}\n\n\t// default font\n\tif (!args.font) {\n\t\targs.font = '11px Arial';\n\t}\n\n\t// init context\n\tcontext.font = args.font;\n\tcontext.textBaseline = 'top';\n\tcontext.textAlign = 'left';\n\n\t// add legend text (which is normally drawn using HTML) to each panel canvas\n\tcore.panels.forEach(panel => {\n\t\tcontext.drawImage(panel.rootCanvas.node(), 0, y);\n\t\tcontext.drawImage(panel.rootTools.node(), 0, y);\n\n\t\t// draw legend content for this panel\n\t\t_applyExportCanvasLegendContent(core, context, panel, y);\n\n\t\ty +=\n\t\t\t(\n\t\t\t\tMath.round(panel.size.height) +\n\t\t\t\tpanel.size.padding.top +\n\t\t\t\tMath.max(\n\t\t\t\t\tpanel.size.padding.bottom,\n\t\t\t\t\tpanel.size.margin.bottom\n\t\t\t\t)\n\t\t\t) *\n\t\t\tratio;\n\t});\n\n\t// optional footer content\n\tif (args.footer) {\n\t\targs.footer.applyContent(context, y);\n\t}\n};\n\n/**\n * overridable method to draw a legend for a single panel into the export canvas\n */\nconst _applyExportCanvasLegendContent = (\n\tcore,\n\tcontext,\n\tpanel,\n\ttop\n) => {\n\tlet thisIndicator = {};\n\tlet inputs = [];\n\tconst indicators = panel.indicators;\n\tlet xLeft = panel.size.padding.left + 5;\n\tlet label = '';\n\tlet symbol = '';\n\n\tfor (let x = 0; x < indicators.length; x++) {\n\t\tthisIndicator = indicators[x];\n\t\tinputs = [];\n\n\t\tfor (let i = 0; i < thisIndicator.params.inputs.length; i++) {\n\t\t\tinputs.push(thisIndicator.params.inputs[i].value);\n\t\t}\n\n\t\t// text label\n\t\tif (thisIndicator.params.id === 'price') {\n\t\t\t// price labels should include company name\n\t\t\tsymbol = thisIndicator.params.symbol;\n\n\t\t\tlabel = symbol\n\t\t\t\t? core.xref[symbol].companyName\n\t\t\t\t: thisIndicator.params.symbol;\n\t\t} else {\n\t\t\t// all other indicators\n\t\t\tlabel =\n\t\t\t\t(thisIndicator.params.name || '') +\n\t\t\t\t(inputs.length !== 0 ? ' (' + inputs.join(',') + ')' : '');\n\t\t}\n\n\t\tcontext.fillStyle =\n\t\t\tthisIndicator.params.style.lineColor ||\n\t\t\tthisIndicator.params.style.fillColor ||\n\t\t\t'#666';\n\t\tcontext.fillText(label, xLeft, top + 2);\n\n\t\txLeft += context.measureText(label).width + 10;\n\t}\n};\n\n/**\n * get first non-transparent backgroundcolor from dom ancestors\n */\nconst _getVisibleBackgroundColor = el => {\n\tlet color;\n\tlet bgColor = null;\n\n\twhile (!bgColor && el.parentNode !== document) {\n\t\tcolor = el.style.backgroundColor;\n\t\tif (color.split(',').length !== 4 && color !== 'transparent') {\n\t\t\tbgColor = color;\n\t\t}\n\n\t\tel = el.parentNode;\n\t}\n\n\treturn bgColor || '#FFFFFF';\n};\n\n/**\n * combine canvas panels and print hidden iframe\n */\nconst print = (core, args = {}) => {\n\t// unselect tools and exit tool mode\n\tcore.selectTool(null);\n\tcore.setToolMode(false);\n\n\tcore.render();\n\n\tlet printFrame = document.createElement('iframe');\n\tconst marginTop = 80;\n\tconst canvas = _getExportCanvas(core, args);\n\t_getPrintHeader(core, {\n\t\tsymbol: core.params.symbol\n\t});\n\tprintFrame.setAttribute('height', core.size.height);\n\tprintFrame.setAttribute('width', core.size.width);\n\tprintFrame.style.visibility = 'hidden';\n\tprintFrame.style.zIndex = -1;\n\tprintFrame.addEventListener('load', () => {\n\t\tconst doc = printFrame.contentDocument;\n\t\tconst body = doc.body;\n\t\t// append new canvas\n\t\tcanvas.style.position = 'absolute';\n\t\tcanvas.style.top = marginTop;\n\n\t\tbody.appendChild(canvas);\n\n\t\t// firefox likes a setTimeout here\n\t\twindow.setTimeout(() => {\n\t\t\t// invoke print from within iframe\n\t\t\tprintFrame.contentWindow.focus();\n\n\t\t\tif (\n\t\t\t\t!printFrame.contentWindow.document.execCommand(\n\t\t\t\t\t'print',\n\t\t\t\t\tfalse,\n\t\t\t\t\tnull\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tprintFrame.contentWindow.print();\n\t\t\t}\n\n\t\t\t// remove hidden iframe\n\t\t\tprintFrame.parentElement.removeChild(printFrame);\n\t\t\tprintFrame = null;\n\t\t}, 0);\n\t});\n\n\tdocument.body.appendChild(printFrame);\n};\n\n/**\n * custom print header - can be overridden locally\n */\nconst _getPrintHeader = (/* args */) => {\n\treturn false;\n\t// return \"

Chart for \" + args.symbol + \"

\";\n};\n\n/**\n * store down image on server\n */\nconst saveImage = async (core, args) => {\n\t// unselect tools and exit tool mode\n\tcore.selectTool(null);\n\tcore.setToolMode(false);\n\n\targs = args || {\n\t\twidth: core.size.width,\n\t\theight: core.size.height\n\t};\n\n\tconst canvas = _getExportCanvas(core, args);\n\tconst canvasB64 = canvas.toDataURL();\n\tconst inputs = {\n\t\tjson: canvasB64,\n\t\tname: args.name\n\t};\n\n\t// optional id\n\tif (args.id && args.id.length) {\n\t\tinputs.id = args.id;\n\t}\n\n\ttry {\n\t\tconst response = await axios.post(\n\t\t\t`${core.params.apiPath}chartapi/saveimage`,\n\t\t\tinputs,\n\t\t\t{ headers: core._getXHRHeaders() }\n\t\t);\n\t\t\t\t\n\t\tconst result = core.parseDebugInfo(response.request.responseText);\n\t\t\t\t\n\t\tif (args.onComplete) {\n\t\t\targs.onComplete(result);\n\t\t} else if (result.Id) {\n\t\t\tconst url = core.params.apiPath + 'chartapi/loadimage/' + result.Id;\n\t\t\tcore.eventEmitter.emit(types$1.IMAGE_SAVE_SUCCESS, { result, url });\n\t\t\treturn {\n\t\t\t\targs,\n\t\t\t\tid: result.Id,\n\t\t\t\tresult,\n\t\t\t\turl\n\t\t\t};\n\t\t} else {\n\t\t\tcore.eventEmitter.emit(types$1.IMAGE_SAVE_ERROR, { result });\n\t\t\tthrow new Error(\n\t\t\t\t\"Can't complete request to save image\"\n\t\t\t);\n\t\t}\n\t} catch(error) {\n\t\twindow.alert(`An error occurred.\\n\\n${error.message}`);\n\t}\n};\n\n/**\n * Temporarily store image, send down with custom filename, then delete image.\n */\nconst downloadImage = async (core, args = {}) => {\n\t// unselect tools and exit tool mode\n\tcore.selectTool(null);\n\tcore.setToolMode(false);\n\n\tconst canvas = _getExportCanvas(core, args);\n\tconst canvasB64 = canvas.toDataURL();\n\n\ttry {\n\t\tconst response = await axios.post(\n\t\t\t`${core.params.apiPath}chartapi/saveimage`,\n\t\t\t{ json: canvasB64 },\n\t\t\t{ headers: core._getXHRHeaders()}\n\t\t);\n\n\t\tconst result = core.parseDebugInfo(response.request.responseText);\n\n\t\tif (result.Id) {\n\t\t\tlet url =\n\t\t\t\tcore.params.apiPath +\n\t\t\t\t'chartapi/loadimage/' +\n\t\t\t\tresult.Id +\n\t\t\t\t'?download=true&remove=true';\n\n\t\t\tif (args.name) {\n\t\t\t\turl += '&filename=' + args.name;\n\t\t\t}\n\n\t\t\tif (core.state.authToken) {\n\t\t\t\turl += '&access_token=' + core.state.authToken;\n\t\t\t}\n\n\t\t\t// Set URL to initiate download\n\t\t\twindow.location.href = url;\n\n\t\t\treturn {\n\t\t\t\targs,\n\t\t\t\tid: result.Id,\n\t\t\t\tresult,\n\t\t\t};\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t\"Can't complete request to save image\"\n\t\t\t);\n\t\t}\n\t} catch(error) {\n\t\twindow.alert(`An error occurred.\\n\\n${error.message}`);\n\t}\n};\n\nvar _export = {\n\tdownloadImage,\n\tprint,\n\tsaveImage\n};\n\nvar defaultLabelTemplates = {\n\txAxis: {\n\t\tdoubleRow: {\n\t\t\tminutes: {\n\t\t\t\tdefault: '%X',\n\t\t\t\tfirst: '%x %A'\n\t\t\t},\n\t\t\thours: {\n\t\t\t\tdefault: '%X',\n\t\t\t\tfirst: '%x %A'\n\t\t\t},\n\t\t\tdays: {\n\t\t\t\tdefault: '%e',\n\t\t\t\tfirst: '%b %Y',\n\t\t\t\tfirstAlt: '%x %A',\n\t\t\t\tintraday: '%x %A'\n\t\t\t},\n\t\t\tweeks: {\n\t\t\t\tdefault: '%-m/%-d',\n\t\t\t\tfirst: '%b %Y',\n\t\t\t\tfirstAlt: '%b %Y'\n\t\t\t},\n\t\t\tmonths: {\n\t\t\t\tdefault: '%b',\n\t\t\t\tfirst: '%Y',\n\t\t\t\tfirstAlt: '%b %Y',\n\t\t\t},\n\t\t\tyears: {\n\t\t\t\tdefault: '%Y',\n\t\t\t\tfirst: '%Y'\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar defaultRowTemplateThresholds = [\n\t// Small charts\n\t{\n\t\twidth: 150,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t}\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 15,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365,\n\t\t\t\tupper: 'weeks',\n\t\t\t\tlower: 'years'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 10,\n\t\t\t\tupper: 'months',\n\t\t\t\tlower: 'years'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'years',\n\t\t\t\tlower: null\n\t\t\t}\n\t\t]\n\t},\n\t// Medium charts\n\t{\n\t\twidth: 900,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 4,\n\t\t\t\tupper: 'minutes',\n\t\t\t\tlower: 'days'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 24,\n\t\t\t\tupper: 'hours',\n\t\t\t\tlower: 'days'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 60,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t}\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 17,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 150,\n\t\t\t\tupper: 'weeks',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 3,\n\t\t\t\tupper: 'months',\n\t\t\t\tlower: 'years'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'years',\n\t\t\t\tlower: null\n\t\t\t}\n\t\t]\n\t},\n\t// Large charts\n\t{\n\t\twidth: Number.MAX_SAFE_INTEGER,\n\t\tintraday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 4,\n\t\t\t\tupper: 'minutes',\n\t\t\t\tlower: 'days'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 50,\n\t\t\t\tupper: 'hours',\n\t\t\t\tlower: 'days'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 130,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t}\n\t\t],\n\t\tinterday: [\n\t\t\t{\n\t\t\t\ttimeSpan: 30,\n\t\t\t\tupper: 'days',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 80,\n\t\t\t\tupper: 'weeks',\n\t\t\t\tlower: 'months'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: 365 * 5,\n\t\t\t\tupper: 'months',\n\t\t\t\tlower: 'years'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttimeSpan: Number.MAX_SAFE_INTEGER,\n\t\t\t\tupper: 'years',\n\t\t\t\tlower: null\n\t\t\t}\n\t\t]\n\t}\n];\n\n// Customize label templates for locale\nconst customLabelTemplates$1 = cloneDeep(defaultLabelTemplates);\ncustomLabelTemplates$1.xAxis.doubleRow.weeks.default = '%-d/%-m';\n\nvar en_AU = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%-I:%M%p', // 12-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%-d/%-m/%Y', // %x\n\tdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // %A\n\tshortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // %a\n\tmonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], // %B\n\tshortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // %b\n\ttranslations: {},\n\tlabelTemplates: customLabelTemplates$1,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\n// Customize label templates for locale\nconst customLabelTemplates = cloneDeep(defaultLabelTemplates);\ncustomLabelTemplates.xAxis.doubleRow.weeks.default = '%-d/%-m';\n\nvar en_GB = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%-I:%M%p', // 12-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%-d/%-m/%Y', // %x\n\tdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // %A\n\tshortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // %a\n\tmonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], // %B\n\tshortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // %b\n\ttranslations: {},\n\tlabelTemplates: customLabelTemplates,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\nvar LocaleEnUs = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%-I:%M%p', // 12-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%-m/%-d/%Y', // %x\n\tdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // %A\n\tshortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // %a\n\tmonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], // %B\n\tshortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // %b\n\ttranslations: {\n\t\tband: {\n\t\t\toverbought: 'Overbought',\n\t\t\toversold: 'Oversold'\n\t\t},\n\t\tchart: {\n\t\t\tunavailable: 'Chart not available',\n\t\t\tunavailableIndicator: 'No data available for {0}'\n\t\t},\n\t\tindicator: {\n\t\t\tpreviousclose: {\n\t\t\t\tlabel: 'Previous Close {0}'\n\t\t\t}\n\t\t}\n\t},\n\tlabelTemplates: defaultLabelTemplates,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\nvar fr_CA = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%H:%M', // 24-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%-m/%-d/%Y', // %x\n\tdays: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], // %A\n\tshortDays: ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam'], // %a\n\tmonths: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], // %B\n\tshortMonths: ['janv', 'fév', 'mars', 'avr', 'mai', 'juin', 'juill', 'août', 'sept', 'oct', 'nov', 'déc'], // %b\n\ttranslations: {\n\t\tband: {\n\t\t\toverbought: 'Sur-achat',\n\t\t\toversold: 'sur-vente'\n\t\t},\n\t\tchart: {\n\t\t\tunavailable: 'Graphique non disponible'\n\t\t},\n\t\tindicator: {\n\t\t\tpreviousclose: {\n\t\t\t\tlabel: 'Prix ​​précédent {0}'\n\t\t\t}\n\t\t}\n\t},\n\tlabelTemplates: defaultLabelTemplates,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\nvar it_IT = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%-I:%M%p', // 12-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%-m/%-d/%Y', // %x\n\tdays: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], // %A\n\tshortDays: ['do.', 'lun.', 'mar.', 'mer.', 'gio.', 'ven.', 'sab.'], // %a\n\tmonths: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio ', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], // %B\n\tshortMonths: ['genn.', 'febbr.', 'mar.', 'apr.', 'magg.', 'giugno', 'luglio', 'ag.', 'sett.', 'ott.', 'nov', 'dic.'], // %b\n\ttranslations: {\n\t\tband: {\n\t\t\toverbought: 'Ipercomprato',\n\t\t\toversold: 'Ipervenduto'\n\t\t},\n\t\tindicator: {\n\t\t\tpreviousclose: {\n\t\t\t\tlabel: 'Prezzo precedente {0}'\n\t\t\t}\n\t\t}\n\t},\n\tlabelTemplates: defaultLabelTemplates,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\nvar ja_JP = {\n\tdecimal: '.',\n\tthousands: ',',\n\tgrouping: [3],\n\tcurrency: ['$', ''],\n\tdateTime: '%a %b %e %X %Y', // %c\n\ttime: '%-I:%M%p', // 12-hour format\n\tperiods: ['am', 'pm'], // %p\n\tdate: '%Y年%-m月%-d日', // %x\n\tdays: ['日曜日', '月曜', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'], // %A\n\tshortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // %a\n\tmonths: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], // %B\n\tshortMonths: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], // %b\n\ttranslations: {\n\t\tband: {\n\t\t\toverbought: '買われすぎ',\n\t\t\toversold: '売られすぎ'\n\t\t},\n\t\tchart: {\n\t\t\tunavailable: 'チャートを表示できません'\n\t\t},\n\t\tindicator: {\n\t\t\tpreviousclose: {\n\t\t\t\tlabel: '以前の価格 {0}'\n\t\t\t}\n\t\t}\n\t},\n\tlabelTemplates: defaultLabelTemplates,\n\trowTemplateThresholds: defaultRowTemplateThresholds\n};\n\nvar locales = {\n\ten_AU,\n\ten_GB,\n\ten_US: LocaleEnUs,\n\tfr_CA,\n\tit_IT,\n\tja_JP,\n};\n\nvar name = \"@markit/modcharts\";\nvar version = \"2.0.0-alpha.162\";\nvar description = \"HTML5 Charting Library\";\nvar author = \"Markit Digital\";\nvar license = \"BSD-2-Clause\";\nvar main = \"dist/modcharts.cjs.js\";\nvar module = \"dist/modcharts.esm.js\";\nvar browser = \"dist/modcharts.esm.js\";\nvar repository = {\n\ttype: \"git\",\n\turl: \"ssh://git@stash.mgmt.local/pd/modcharts.git\"\n};\nvar files = [\n\t\"dist\"\n];\nvar scripts = {\n\tbuild: \"rollup -c\",\n\tpostbuild: \"npm run doc\",\n\tchangelog: \"auto-changelog -p\",\n\tconcatMdFiles: \"node ./manual/concatMdFiles.js\",\n\tcoverage: \"jest --coverage --reporters=default --reporters=jest-junit\",\n\tdev: \"rollup -c -w\",\n\tpredoc: \"npm run concatMdFiles\",\n\tdoc: \"esdoc\",\n\tpostdoc: \"cp ./static/favicon.ico ./docs\",\n\ttest: \"jest\",\n\t\"test:debug\": \"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand\",\n\tversion: \"npm run changelog && git add .\\\\manual\\\\changelog.md\"\n};\nvar devDependencies = {\n\t\"@babel/core\": \"^7.9.6\",\n\t\"@babel/plugin-transform-runtime\": \"^7.12.17\",\n\t\"@babel/preset-env\": \"^7.9.6\",\n\t\"@rollup/plugin-babel\": \"^5.2.2\",\n\t\"@rollup/plugin-commonjs\": \"^17.0.0\",\n\t\"@rollup/plugin-json\": \"^4.1.0\",\n\t\"@rollup/plugin-node-resolve\": \"^11.0.1\",\n\t\"auto-changelog\": \"^2.3.0\",\n\t\"babel-eslint\": \"^10.1.0\",\n\t\"concat-md\": \"^0.3.5\",\n\t\"core-js\": \"^3.12.1\",\n\tesdoc: \"^1.1.0\",\n\t\"esdoc-ecmascript-proposal-plugin\": \"^1.0.0\",\n\t\"esdoc-inject-style-plugin\": \"^1.0.0\",\n\t\"esdoc-standard-plugin\": \"^1.0.0\",\n\teslint: \"^7.11.0\",\n\t\"eslint-plugin-jest\": \"^24.4.0\",\n\tjest: \"^24.9.0\",\n\t\"jest-canvas-mock\": \"^2.2.0\",\n\t\"jest-junit\": \"^10.0.0\",\n\tmockdate: \"^3.0.2\",\n\t\"regenerator-runtime\": \"^0.13.7\",\n\trimraf: \"^3.0.2\",\n\trollup: \"^2.53.3\",\n\t\"rollup-plugin-copy\": \"^3.3.0\",\n\t\"rollup-plugin-node-polyfills\": \"^0.2.1\"\n};\nvar dependencies = {\n\t\"@babel/runtime\": \"^7.12.18\",\n\taxios: \"^0.21.1\",\n\t\"d3-array\": \"^2.11.0\",\n\t\"d3-format\": \"^2.0.0\",\n\t\"d3-scale\": \"^3.2.3\",\n\t\"d3-selection\": \"^2.0.0\",\n\t\"d3-time-format\": \"^3.0.0\",\n\t\"d3-zoom\": \"^2.0.0\",\n\tevents: \"^3.1.0\",\n\tlodash: \"^4.17.20\"\n};\nvar nomad = {\n\t\"default\": {\n\t\t\"service.name\": \"modcharts\",\n\t\t\"service.tags\": [\n\t\t\t\"meta.team=pluto-charon\",\n\t\t\t\"meta.documentation=https://confluence.ihsmarkit.com/display/MOD/MODCharts\",\n\t\t\t\"meta.email=md-plutocharon@ihsmarkit.com\"\n\t\t]\n\t},\n\t\"ptc1-acceptance\": {\n\t},\n\t\"ptc1-acceptance-2\": {\n\t},\n\t\"ptc1-production\": {\n\t},\n\t\"ctc1-production\": {\n\t}\n};\nvar pkg = {\n\tname: name,\n\tversion: version,\n\tdescription: description,\n\tauthor: author,\n\tlicense: license,\n\tmain: main,\n\tmodule: module,\n\tbrowser: browser,\n\trepository: repository,\n\tfiles: files,\n\tscripts: scripts,\n\tdevDependencies: devDependencies,\n\t\"jest-junit\": {\n\toutputDirectory: \"./coverage\"\n},\n\tdependencies: dependencies,\n\tnomad: nomad\n};\n\n/** Grid handles chores related to rendering lines and ticks */\nclass Grid {\n\t/** @param {Panel} panel - the panel to which this grid belongs */\n\tconstructor(panel) {\n\t\t/** @type {Panel} */\n\t\tthis.panel = panel;\n\t}\n\n\t/**\n\t * Render vertical grid lines and xaxis ticks\n\t * @param {object} dateLabels\n\t */\n\trenderVerticalGrid(dateLabels) {\n\t\tconst { panel } = this;\n\t\tconst ctx = panel.rootContext;\n\t\tconst grid = this.getVerticalGridPositions(dateLabels);\n\n\t\tthis.renderVerticalGridLines(ctx, grid.lines);\n\t\tthis.renderVerticalAltLines(ctx, grid.altLines);\n\t\tthis.renderVerticalTicks(ctx, grid.lines); // Regular ticks have the same x positions as regular lines\n\t\tthis.renderVerticalAltTicks(ctx, grid.altTicks);\n\t}\n\n\t/** \n\t * Draw regular vertical ticks\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t */ \n\trenderVerticalTicks(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst y0 = panel.size.padding.top + panel.size.height;\n\t\tconst { color, length, lineDash, width } = style.xAxis.tick;\n\t\tthis.renderVerticalLines(ctx, data, y0, length, color, lineDash, width);\n\t}\n\n\t/** \n\t * Draw regular vertical lines\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t */ \n\trenderVerticalGridLines(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst y0 = panel.size.padding.top;\n\t\tconst color =\n\t\t\tstyle.grid.vertical.color ||\n\t\t\tstyle.grid.color;\n\t\tconst extension =\n\t\t\tstyle.grid.vertical.extension ||\n\t\t\tstyle.grid.extension;\n\t\tconst lineDash =\n\t\t\tstyle.grid.vertical.lineDash ||\n\t\t\tstyle.grid.lineDash;\n\t\tconst lineWidth =\n\t\t\tstyle.grid.vertical.width ||\n\t\t\tstyle.grid.width;\n\t\t// The extension will push the lines past the chart border\n\t\tconst length = panel.size.height + extension;\n\t\t\n\t\tthis.renderVerticalLines(ctx, data, y0, length, color, lineDash, lineWidth);\n\t}\n\n\t/** \n\t * Draw alt vertical lines\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t */ \n\trenderVerticalAltLines(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst y0 = panel.size.padding.top;\n\t\tconst color =\n\t\t\tstyle.grid.vertical.alt.color ||\n\t\t\tstyle.grid.vertical.color ||\n\t\t\tstyle.grid.color;\n\t\tconst extension =\n\t\t\tstyle.grid.vertical.alt.extension ||\n\t\t\tstyle.grid.vertical.extension ||\n\t\t\tstyle.grid.extension;\n\t\tconst lineDash =\n\t\t\tstyle.grid.vertical.alt.lineDash ||\n\t\t\tstyle.grid.vertical.lineDash ||\n\t\t\tstyle.grid.lineDash;\n\t\tconst lineWidth =\n\t\t\tstyle.grid.vertical.alt.width ||\n\t\t\tstyle.grid.vertical.width ||\n\t\t\tstyle.grid.width;\n\t\t// The extension will push the lines past the chart border\n\t\tconst length = panel.size.height + extension;\n\n\t\tthis.renderVerticalLines(ctx, data, y0, length, color, lineDash, lineWidth);\n\t}\n\n\t/** \n\t * Draw alt vertical ticks\n\t * @param {rootContext} ctx - the root context for this grid's parent panel\n\t * @param {object} data - chart data\n\t */ \n\trenderVerticalAltTicks(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst y0 = panel.size.padding.top + panel.size.height;\n\t\tconst color =\n\t\t\tstyle.xAxis.tick.alt.color ||\n\t\t\tstyle.xAxis.tick.color;\n\t\tconst length =\n\t\t\tstyle.xAxis.tick.alt.length ||\n\t\t\tstyle.xAxis.tick.length;\n\t\tconst lineDash =\n\t\t\tstyle.xAxis.tick.alt.lineDash ||\n\t\t\tstyle.xAxis.tick.lineDash;\n\t\tconst lineWidth =\n\t\t\tstyle.xAxis.tick.alt.width ||\n\t\t\tstyle.xAxis.tick.width;\n\n\t\tthis.renderVerticalLines(ctx, data, y0, length, color, lineDash, lineWidth);\n\t}\n\n\t/**\n\t * Common render method for vertical lines\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t * @param {number} x0 - Location of 0 on the yAxis for this panel\n\t * @param {number} length - Length of lines to render\n\t * @param {string} color - Color to use for these lines\n\t * @param {string[]} lineDash - Settings to turn on a dashed line\n\t * @param {number} lineWidth - Line width to use for these lines\n\t */ \n\trenderVerticalLines(ctx, data, y0, length, color, lineDash, lineWidth) {\n\t\tif (\n\t\t\tlineWidth &&\n\t\t\t(\n\t\t\t\tcolor &&\n\t\t\t\t(\n\t\t\t\t\tcolor !== 'transparent' ||\n\t\t\t\t\tcolor !== 'none'\n\t\t\t\t)\n\t\t\t)\n\t\t) {\n\t\t\tctx.save();\n\t\t\tctx.beginPath();\n\n\t\t\tctx.strokeStyle = color;\n\t\t\tctx.lineWidth = lineWidth;\n\t\t\tctx.setLineDash(lineDash.split(/\\s*,\\s*/));\n\t\t\tdata.forEach(x0 => {\n\t\t\t\tctx.moveTo(x0, y0);\n\t\t\t\tctx.lineTo(x0, y0 + length);\n\t\t\t});\n\t\t\tctx.stroke();\n\n\t\t\tctx.restore();\n\t\t}\n\t}\n\n\t/** \n\t * Return x positions of lines, alt lines, and alt ticks (which aren't always the same)\n\t * @param {object} dateLabels\n\t * @returns {object} Returns object with arrays of line, altLine, and altTick Xaxis locations\n\t */ \n\tgetVerticalGridPositions(dateLabels) {\n\t\tconst grid = {\n\t\t\tlines: [],\n\t\t\taltLines: [],\n\t\t\taltTicks: []\n\t\t};\n\t\tconst self = this;\n\t\tconst { panel } = this;\n\t\tlet y = 0;\n\t\tlet i = 0;\n\t\tlet x0 = 0;\n\t\tlet dayLabel = {};\n\n\t\t// collect lines, ticks, alt grid lines, and alt ticks.\n\t\tObject.keys(dateLabels).forEach(row => {\n\t\t\tconst el = dateLabels[row];\n\t\t\tif (!el) return true;\n\t\t\tlabelLoop: for (i = el.length - 1, x0 = 0; i >= 0; i--) {\n\t\t\t\tx0 = subpixel.px(panel.xAxis.primaryScale(el[i].index));\n\n\t\t\t\tif (row === 'months' && dateLabels.years) {\n\t\t\t\t\t// interday alt grid lines\n\n\t\t\t\t\t// check years for same index, if so add to alt collection and don't draw here.\n\t\t\t\t\tfor (y = 0; y < dateLabels.years.length; y++) {\n\t\t\t\t\t\tif (dateLabels.years[y].index === el[i].index) {\n\t\t\t\t\t\t\tgrid.altLines.push(x0);\n\t\t\t\t\t\t\tgrid.altTicks.push(x0);\n\t\t\t\t\t\t\tcontinue labelLoop;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (/minutes|hours/.test(row) && dateLabels.days) {\n\t\t\t\t\t// intraday alt grid lines\n\n\t\t\t\t\t// check days for same index, if so add to alt collection and don't draw here.\n\t\t\t\t\tfor (y = 0; y < dateLabels.days.length; y++) {\n\t\t\t\t\t\tdayLabel = dateLabels.days[y];\n\n\t\t\t\t\t\tif (el[i].index === dayLabel.index) {\n\t\t\t\t\t\t\tgrid.altLines.push(x0);\n\t\t\t\t\t\t\tgrid.altTicks.push(x0);\n\t\t\t\t\t\t\tcontinue labelLoop;\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tself.hasAltLabelIntraday(el[i], el[i - 1], dayLabel)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// use x position of the first dayLabel of each new day\n\t\t\t\t\t\t\t// when narrow collection's step doesn't line up with the day step.\n\t\t\t\t\t\t\tgrid.altLines.push(\n\t\t\t\t\t\t\t\tsubpixel.px(panel.xAxis.primaryScale(dayLabel.index))\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\tgrid.lines.push(x0);\n\t\t\t}\n\n\t\t\t// only draw grids for the first applicable row of labels\n\t\t\t// (ex: months, not both months and years)\n\t\t\tif (el.length) return false;\n\t\t});\n\n\t\treturn grid;\n\t}\n\n\t/**\n\t * When the narrow collection's step doesn't align with the day collection's step, use an alternative\n\t * way to determine if this qualifies as an alt label. an example of this is when the narrow labels\n\t * are \"hours\" and have a step of 2 on even-numbered hours, but the first day label is on an odd hour.\n\t * @param {object} narrowLabel\n\t * @param {object} prevNarrowLabel\n\t * @param {object} dayLabel\n\t * @returns {boolean}\n\t */\n\thasAltLabelIntraday(narrowLabel, prevNarrowLabel, dayLabel) {\n\t\tif (\n\t\t\tprevNarrowLabel &&\n\t\t\tdayLabel.date.getDate() === narrowLabel.date.getDate() &&\n\t\t\tdayLabel.date.getDate() !== prevNarrowLabel.date.getDate()\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Render the horizontal grid lines and optionally the horizontal normalize line\n\t * @param {number[]} yTicks - Array of the yAxis tick locations\n\t */\n\trenderHorizontalGrid(yTicks) {\n\t\tconst { panel } = this;\n\t\tconst ctx = panel.rootContext;\n\n\t\tthis.renderHorizontalGridLines(ctx, yTicks);\n\t\tthis.renderYAxisTicks(ctx, yTicks);\n\t\tif (panel.isNormalized & panel.isUpper) this.renderHorizontalNormalizationLine(ctx);\n\t}\n\n\t/**\n\t * Renders the yAxis ticks\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t */\n\trenderYAxisTicks(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst { color, length, lineDash, lineWidth } = style.yAxis.tick;\n\t\tlet x0;\n\t\tif (panel.core.params.yAxisSide === 'left') {\n\t\t\tx0 = panel.size.padding.left - length;\n\t\t} else {\n\t\t\tx0 = panel.size.padding.left + panel.size.width;\n\t\t}\n\t\tthis.renderHorizontalLines(ctx, data, x0, length, color, lineDash, lineWidth);\n\t}\n\n\t/**\n\t * Renders the horizontal normalization line\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t */\n\trenderHorizontalNormalizationLine(ctx) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst x0 = panel.size.padding.left;\n\t\tconst data = [panel.yAxis.primaryScale(0.0)];\n\t\tconst color =\n\t\t\tstyle.grid.horizontal.normalize.color ||\n\t\t\tstyle.grid.horizontal.color ||\n\t\t\tstyle.grid.color;\n\t\tconst extension =\n\t\t\tstyle.grid.horizontal.normalize.extension ||\n\t\t\tstyle.grid.horizontal.extension ||\n\t\t\tstyle.grid.extension;\n\t\tconst lineWidth =\n\t\t\tstyle.grid.horizontal.normalize.width ||\n\t\t\tstyle.grid.horizontal.width ||\n\t\t\tstyle.grid.width;\n\t\tconst lineDash =\n\t\t\tstyle.grid.horizontal.normalize.lineDash ||\n\t\t\tstyle.grid.horizontal.lineDash ||\n\t\t\tstyle.grid.lineDash;\n\t\t// The extension will push the lines past the chart border\n\t\tconst length = panel.size.width + extension;\n\n\t\tthis.renderHorizontalLines(ctx, data, x0, length, color, lineDash, lineWidth);\n\t}\n\n\t/**\n\t * Renders the horizontal grid lines\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t */\n\trenderHorizontalGridLines(ctx, data) {\n\t\tconst { panel } = this;\n\t\tconst { style } = panel.params;\n\t\tconst x0 = panel.size.padding.left;\n\t\tconst color =\n\t\t\tstyle.grid.horizontal.color ||\n\t\t\tstyle.grid.color;\n\t\tconst extension =\n\t\t\tstyle.grid.horizontal.extension ||\n\t\t\tstyle.grid.extension;\n\t\tconst lineDash =\n\t\t\tstyle.grid.horizontal.lineDash ||\n\t\t\tstyle.grid.lineDash;\n\t\tconst lineWidth =\n\t\t\tstyle.grid.horizontal.width ||\n\t\t\tstyle.grid.width;\n\t\t// The extension will push the lines past the chart border\n\t\tconst length = panel.size.width + extension;\n\n\t\tthis.renderHorizontalLines(ctx, data, x0, length, color, lineDash, lineWidth);\n\t}\n\n\t/**\n\t * Common render method for horizontal lines\n\t * @param {CanvasRenderingContext2D} ctx - Root context for this grid's parent panel\n\t * @param {number[]} data - Collection of coordinates for starting points of lines\n\t * @param {number} x0 - Location of 0 on the xAxis for this panel\n\t * @param {number} length - Length of lines to render\n\t * @param {string} color - Color to use for these lines\n\t * @param {string[]} lineDash - Settings to turn on a dashed line\n\t * @param {number} lineWidth - Line width to use for these lines\n\t */ \n\trenderHorizontalLines(ctx, data, x0, length, color, lineDash, lineWidth) {\n\t\tif (\n\t\t\tlineWidth &&\n\t\t\t(\n\t\t\t\tcolor &&\n\t\t\t\t(\n\t\t\t\t\tcolor !== 'transparent' ||\n\t\t\t\t\tcolor !== 'none'\n\t\t\t\t)\n\t\t\t)\n\t\t) {\n\t\t\tctx.save();\n\t\t\tctx.beginPath();\n\n\t\t\tctx.strokeStyle = color;\n\t\t\tctx.lineWidth = lineWidth;\n\t\t\tctx.setLineDash(lineDash.split(/\\s*,\\s*/));\n\t\t\tdata.forEach(y0 => {\n\t\t\t\tctx.moveTo(x0, y0);\n\t\t\t\tctx.lineTo(x0 + length, y0);\n\t\t\t});\n\t\t\tctx.stroke();\n\n\t\t\tctx.restore();\n\t\t}\n\t}\n}\n\nfunction createUid() {\n\tconst uid = [];\n\n\tfor (let x = 0; x < 8; x++) {\n\t\tuid.push(((Math.random() * 16) | 0).toString(16));\n\t}\n\n\treturn uid.join('');\n}\n\nclass Axis {\n\t/**\n\t * @param {Panel} panel - A reference to the panel this Axis belongs to\n\t * @param {Object} scaleParams - Optional params used to configure the primary scale\n\t */\n\tconstructor(panel, scaleParams = {}) {\n\t\t/** @type {Panel} */\n\t\tthis.panel = panel;\n\t\t/** @type {Map} */\n\t\tthis.scales = new Map();\n\t\tthis.primaryScaleUid = createUid();\n\t\tthis.scales.set(this.primaryScaleUid, this.createScale(scaleParams.domain, scaleParams.scaleType, scaleParams.range));\n\t}\n\n\t/**\n\t * Adds new scale to the axis scale Map\n\t * @param {d3-scale} newScale - The new scale to add to this axis\n\t * @return {string} UID for the new scale\n\t */\n\taddScale(newScale = this.createScale()) {\n\t\tconst newUid = createUid();\n\t\tthis.scales.set(newUid, newScale);\n\t\treturn newUid;\n\t}\n\n\t/**\n\t * Create and return a scale per the given parameters\n\t * @param {Number[]} domain - Number array containing the domain bounds for the scale\n\t * @param {('linear'|'log')} scaleType - The type of scale, linear or log\n * @param {Number[]} range - Number array containing the range bounds for the scale\n\t * @returns {d3-scale} The newly created scale\n\t */\n\tcreateScale(domain = [0, 0], scaleType = 'linear', range = [0, 0]) {\n\t\tconst scale = scaleType === 'log'\n\t\t\t? scalePow().exponent(0.00001)\n\t\t\t: scaleLinear();\n\t\tscale.domain(domain).range(range);\n\n\t\treturn scale;\n\t}\n\n\t/**\n\t * Gets the axis scale with the given UID\n\t * @param {string} scaleUid - The UID for the scale to get\n\t * @return {d3-scale} The requested scale\n\t */\n\tgetScale(scaleUid) {\n\t\treturn this.scales.get(scaleUid);\n\t}\n\n\tset primaryScale(newScale) {\n\t\tthis.scales.set(this.primaryScaleUid, newScale);\n\t}\n\n\tget primaryScale() {\n\t\treturn this.scales.get(this.primaryScaleUid);\n\t}\n\n\t/** Draws axis tool on the canvas */\n\trender() {\n\t\tthrow new Error('Required Axis render method not found');\n\t}\n\n\t/**\n\t * Sets the range (min and max) for the axis scale with the given UID.\n\t * The YAxis starts at the max and stops at the min. The XAxis starts at the min and\n\t * stops at the max.\n\t * @param {number} start - Value where the range starts\n\t * @param {number} stop - Value where the range stops\n\t */\n\tsetScaleRange({\n\t\tscaleUid = this.primaryScaleUid,\n\t\tstart,\n\t\tstop\n\t}) {\n\t\tthis.scales.get(scaleUid).range([start, stop]);\n\t}\n\n\t/**\n\t * Sets the domain (start and stop) for the axis scale with the given UID.\n\t * The YAxis starts at the max and stops at the min. The XAxis starts at the min and\n\t * stops at the max.\n\t * @param {number} start - Value where the domain starts\n\t * @param {number} stop - Value where the domain stops\n\t * @param {boolean} shouldSetNice - round the domain to ‘nice’ round values\n\t */\n\tsetScaleDomain({\n\t\tstart,\n\t\tstop,\n\t\tscaleUid = this.primaryScaleUid,\n\t\tshouldSetNice = false\n\t}) {\n\t\tconst scale = this.scales.get(scaleUid);\n\t\tif (shouldSetNice) scale.nice();\n\t\tscale.domain([start, stop]);\n\t}\n\n}\n\n/** A wrapper for the collection of d3 scales and related functions */\nclass AxisNumber extends Axis {\n\t/** @param {Panel} panel A reference to the panel this AxisNumber belongs to */\n\tconstructor(panel, scaleParams) {\n\t\tsuper(panel, scaleParams);\n\t}\n\n\t/**\n\t * Return y label density figure\n\t * @param {object} size - panel size parameters\n\t * @property {number} size.height - height of the panel\n\t * @returns {number}\n\t * @private\n\t */\n\tgetNumTicksY(size) {\n\t\tconst { spacing, threshold } = this.panel.params.style.yAxis.label;\n\t\treturn size.height < threshold.small\n\t\t\t? Math.ceil(size.height / spacing.small)\n\t\t\t: Math.ceil(size.height / spacing.default);\n\t}\n\n\t/**\n\t * Return id of the appropriate label bucket (micro, small, default, large)\n\t * @param {number} step - the step between two consecutive ticks\n\t * @param {number} precisionMultiple - (example: 5) allows certain internal calls to override the micro and small buckets logic.\n\t * @returns {string} label bucket id\n\t * @private\n\t */\n\tgetFormatType(step, precisionMultiple, panel) {\n\t\tconst { format: stepFormat } = panel.params.style.yAxis.label;\n\t\tif (step >= stepFormat.large.threshold) {\n\t\t\treturn 'large';\n\t\t} else if (step < (stepFormat.micro.threshold * precisionMultiple || 1)) {\n\t\t\treturn 'micro';\n\t\t} else if (step < (stepFormat.small.threshold * precisionMultiple || 1)) {\n\t\t\treturn 'small';\n\t\t}\n\n\t\treturn 'default';\n\t}\n\n\t/**\n\t * Return a d3 format string for use in a format statement\n\t * @param {d3-scale} yScale - Yaxis scale\n\t * @param {number} [precisionMultiple] - optional precision multiplier. Defaults to 1\n\t * @returns {string}\n\t */\n\tgetFormatString(yScale, precisionMultiple = 1, chart = this.panel.core) {\n\t\tconst { panel } = this;\n\t\tconst { size } = panel;\n\t\tconst domain = yScale.domain();\n\t\tconst yTicks = yScale.ticks(this.getNumTicksY(size, chart)).reverse();\n\t\tlet step;\n\t\tlet formatString;\n\n\t\t// get the step between two consecutive ticks\n\t\tif (yTicks.length > 1) {\n\t\t\tstep = yTicks[1] - yTicks[0];\n\t\t} else if (yTicks.length && yTicks[0] !== 0) {\n\t\t\tstep = yTicks[0];\n\t\t} else {\n\t\t\tstep = Math.abs(domain[1] - domain[0]);\n\t\t}\n\t\tconst formatType = this.getFormatType(step, precisionMultiple, panel);\n\t\tconst yLabelFormat = panel.params.style.yAxis.label.format[formatType];\n\t\tif (panel.params.yAxis.format === 'percent' || panel.isNormalized) {\n\t\t\t// percent-change formatting\n\t\t\tformatString = yLabelFormat.formatPercent.replace('%', 'f'); // appending \"%\" is handled separately in getFormatValue\n\t\t} else {\n\t\t\t// default formatting\n\t\t\tformatString = yLabelFormat.format;\n\t\t}\n\n\t\t// remove decimal places on large steps and values\n\t\tif (step > 2 && yTicks.length && yTicks[yTicks.length - 1] >= 1000 && formatType !== 'large') {\n\t\t\tformatString = formatString.replace(/\\.\\d/, '.0');\n\t\t}\n\n\t\treturn formatString;\n\t}\n\n\t/**\n\t * Formats the Yaxis value to show $ or %\n\t * @param {number} val - number to format\n\t * @param {boolean} formatString - whether or not to use d3 formatting\n\t * @param {boolean} isNormalized - whether or not chart data is normalized\n\t * @returns {string}\n\t */\n\tgetFormatValue(val, formatString, isNormalized) {\n\t\tconst { panel } = this;\n\t\tconst isCurrency = panel.params.yAxis.format === 'currency';\n\t\tconst prefix = isCurrency ? '$' : '';\n\t\tconst isPercent = panel.params.yAxis.format === 'percent' || isNormalized;\n\t\tconst suffix = isPercent ? '%' : '';\n\t\tlet valOut = '';\n\n\t\tif (formatString) {\n\t\t\tvalOut = formatLocale(panel.core.locale).format(prefix + formatString)(val) + suffix;\n\t\t} else if (isCurrency) {\n\t\t\tvalOut = prefix + val;\n\t\t} else {\n\t\t\tvalOut = val + suffix;\n\t\t}\n\n\t\treturn valOut.replace(/G/, 'B');\n\t}\n\n\t/** Draw linear Y-axis */\n\trender(chart = this.panel.core) {\n\t\tconst yScale = this.primaryScale;\n\t\tconst { panel } = this;\n\t\tconst { size } = panel;\n\t\tconst { padding } = size;\n\t\tconst { style } = panel.params;\n\t\tconst ctx = panel.rootContext;\n\t\tconst numTicksY = this.getNumTicksY(size, chart);\n\t\tconst yScaleTicks = yScale.ticks(numTicksY).reverse();\n\t\tconst yFormatString = this.getFormatString(yScale, 1, chart);\n\t\tconst localeNumberFormat = formatLocale(chart.locale).format(yFormatString);\n\t\tlet x0;\n\t\tlet y0 = 0;\n\t\tif (chart.params.yAxisSide === 'left') {\n\t\t\tx0 = padding.left - style.yAxis.label.padding.left;\n\t\t} else {\n\t\t\tx0 = padding.left + size.width + style.yAxis.label.padding.left;\n\t\t}\n\t\tconst yTicks = [];\n\t\tconst halfFontHeight = Math.ceil(style.yAxis.font.size / 2) + 2;\n\t\tlet bottomCollide = false;\n\t\tlet topCollide = false;\n\t\tlet lastY = null;\n\t\tthis._renderedLabels = [];\n\n\t\t// prepare context for labels\n\t\tctx.beginPath();\n\t\tctx.textAlign = style.yAxis.label.textAlign;\n\t\tctx.textBaseline = style.yAxis.label.textBaseline;\n\t\tctx.fillStyle = style.yAxis.font.color;\n\t\tctx.font = panel.getFontStyle(\n\t\t\tstyle.yAxis.font.weight,\n\t\t\tstyle.yAxis.font.size,\n\t\t\tstyle.yAxis.font.family\n\t\t);\n\n\t\t// y labels\n\t\tyScaleTicks.forEach((yTick, i) => {\n\t\t\ty0 = subpixel.px(yScale(yTick));\n\n\t\t\tlet yWithPadding;\n\n\t\t\t// Adjust y0 for text baseline setting\n\t\t\tswitch (style.yAxis.label.textBaseline) {\n\t\t\t\tcase canvasEnums.textBaseline.ALPHABETIC:\n\t\t\t\t\tyWithPadding = y0 - style.yAxis.label.padding.bottom;\n\t\t\t\t\tbreak;\n\t\t\t\tcase canvasEnums.textBaseline.HANGING:\n\t\t\t\t\tyWithPadding = y0 + style.yAxis.label.padding.top;\n\t\t\t\t\tbreak;\n\t\t\t\tcase canvasEnums.textBaseline.MIDDLE: // Fall through\n\t\t\t\tdefault:\n\t\t\t\t\t// Don't modify y0\n\t\t\t\t\tyWithPadding = y0;\n\t\t\t}\n\n\t\t\t// Will I need to update collision logic?\n\t\t\tbottomCollide = i === 0 && y0 > size.height - halfFontHeight;\n\t\t\ttopCollide = i === yScaleTicks.length - 1 && y0 < halfFontHeight;\n\n\t\t\tif (!bottomCollide && !topCollide) {\n\t\t\t\tif (!lastY || y0 + halfFontHeight < lastY) {\n\t\t\t\t\tconst label = this.getFormatValue(\n\t\t\t\t\t\tlocaleNumberFormat(yTick),\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tpanel.isNormalized\n\t\t\t\t\t);\n\t\t\t\t\tctx.fillText(\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tx0,\n\t\t\t\t\t\tyWithPadding\n\t\t\t\t\t);\n\t\t\t\t\tlastY = yWithPadding;\n\t\t\t\t\tthis._renderedLabels.push(label); // Store for testing\n\t\t\t\t}\n\n\t\t\t\tyTicks.push(y0);\n\t\t\t}\n\t\t});\n\n\t\t// Draw horizontal grid lines\n\t\tpanel.grid.renderHorizontalGrid(yTicks);\n\t}\n}\n\nconst { labelPriorities } = labelerEnums;\n\n/** Performs these actions on a ruler: create labels, align labels, position labels, render labels */\nclass Labeler {\n\tconstructor(axis, core) {\n\t\tthis.axis = axis;\n\t\tthis.core = core;\n\t\tthis.labels = {};\n\t\tthis.rowTemplate = {};\n\t}\n\n\t/** Returns a formatted string for a given date */\n\tformat(date, labelType, formatType = 'default') {\n\t\t// CH-1615: In the future, this method should be adapted to get single row label templates\n\t\tconst { core } = this;\n\t\tlet { labelTemplates } = core.params.locale;\n\t\tif (!labelTemplates) {\n\t\t\t// labelTemplates could be missing if loading a saved chart from before this feature was added\n\t\t\tcore.warn(\"'labelTemplates' not found in locale. Using 'defaultLabelTemplates' instead.\");\n\t\t\tcore.params.locale.labelTemplates = defaultLabelTemplates;\n\t\t\tlabelTemplates = defaultLabelTemplates;\n\t\t}\n\n\t\treturn core.timeFormat(labelTemplates.xAxis.doubleRow[labelType][formatType])(date);\n\t}\n\n\t/**\n\t * Returns a dynamic step based on the distance between labels of a certain type\n\t * (weekly, monthly, etc.). This works by iterating through available label steps\n\t * until the distance provided exceeds the spacing value. For example: Say we\n\t * know the distance between the January and February labels is 48.5px, and we've\n\t * defined a spacing value of 50 for \"months\" labels. It will begin by looking at\n\t * the array of steps for months ([1, 2, 3, 4, 6]). Since 48.5 is less than 50/1\n\t * it will move to the next step and repeat. 48.5 is not less than 50/2, so it\n\t * will stop iterating there and return a step of 2.\n\t */\n\t_step(dist, spacing, steps) {\n\t\treturn steps.find(step => dist >= spacing / step) || 1;\n\t}\n\n\t/**\n\t * Generate a full collection of fresh labels for the entire XAxis. Each label\n\t * will contain information about itself: its date, widths, formatted strings\n\t * and priority. Only a subset of these labels will be chosen during XAxis\n\t * renders, aka if the entire array has 8500 \"days\" labels, a given render\n\t * may only be processing 19 labels. This method typically needs to be called on\n\t * first load, or if the locale language was changed, or if switching between\n\t * interday/intraday.\n\t */\n\t_createLabels() {\n\t\tconst { core } = this;\n\t\tconst { exchangeDates } = core;\n\t\tconst years = [];\n\t\tconst months = [];\n\t\tconst weeks = [];\n\t\tconst days = [];\n\t\tconst hours = [];\n\t\tconst minutes = [];\n\t\tconst isIntraday =\n\t\t\t\ttypeof core.state.isIntraday === 'boolean'\n\t\t\t\t\t? core.state.isIntraday\n\t\t\t\t\t: core.params.days <= core.limitIntradayTrading;\n\t\tconst denseLabelLimitLeft = new Date().setDate(\n\t\t\tnew Date().getDate() - core.limitIntradayTrading - 10\n\t\t);\n\t\tconst denseLabelLimitRight = new Date().setDate(new Date().getDate() + 4);\n\t\tlet lastYear;\n\t\tlet lastMonth;\n\t\tlet lastWeek;\n\t\tlet lastDay;\n\t\tlet lastHour;\n\t\tlet lastMin;\n\t\tlet date;\n\t\tlet dateLabel;\n\t\tlet year;\n\t\tlet month;\n\t\tlet week;\n\t\tlet day;\n\t\tlet hour;\n\t\tlet min;\n\n\t\tfor (let i = 0; i < exchangeDates.length; i++) {\n\t\t\tdate = new Date(exchangeDates[i]);\n\t\t\tdateLabel = new Date(date);\n\n\t\t\tyear = date.getFullYear();\n\t\t\tmonth = date.getMonth();\n\t\t\tweek = this.getWeeks(date);\n\t\t\tday = date.getDate();\n\t\t\thour = date.getHours();\n\t\t\tmin = date.getMinutes();\n\n\t\t\t/**\n\t\t\t * 'first' labels represent what will be displayed in the bottom row if the\n\t\t\t * given label is in the first position in the top row (furthest to the left).\n\t\t\t * This generally should match the default format of the next bigger timeframe.\n\t\t\t * 'firstAlt' labels are used when additional information needs to be added\n\t\t\t * to the label to specify the time period (eg. adding the year to January\n\t\t\t * labels when the bottom row shows month names).\n\t\t\t */\n\t\t\tif (year !== lastYear) {\n\t\t\t\tyears.push({\n\t\t\t\t\tindex: i,\n\t\t\t\t\tdate,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\tdefault: this.format(date, 'years'),\n\t\t\t\t\t\tfirst: this.format(date, 'years', 'first')\n\t\t\t\t\t},\n\t\t\t\t\tstepCompare: date.getFullYear(),\n\t\t\t\t\tpriority: labelPriorities.LOW\n\t\t\t\t});\n\n\t\t\t\tlastYear = year;\n\t\t\t}\n\n\t\t\tif (month !== lastMonth) {\n\t\t\t\tmonths.push({\n\t\t\t\t\tindex: i,\n\t\t\t\t\tdate,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\tdefault: this.format(date, 'months'),\n\t\t\t\t\t\tfirst: this.format(date, 'months', 'first'),\n\t\t\t\t\t\tfirstAlt: this.format(date, 'months', 'firstAlt')\n\t\t\t\t\t},\n\t\t\t\t\tstepCompare: date.getMonth(),\n\t\t\t\t\tpairedFirst: 'years',\n\t\t\t\t\tpriority: labelPriorities.LOW\n\t\t\t\t});\n\n\t\t\t\tlastMonth = month;\n\t\t\t}\n\n\t\t\tif (week !== lastWeek) {\n\t\t\t\tweeks.push({\n\t\t\t\t\tindex: i,\n\t\t\t\t\tdate,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\tdefault: this.format(date, 'weeks'),\n\t\t\t\t\t\tfirst: this.format(date, 'weeks', 'first'),\n\t\t\t\t\t\tfirstAlt: this.format(date, 'weeks', 'firstAlt')\n\t\t\t\t\t},\n\t\t\t\t\tstepCompare: this.getWeeks(date),\n\t\t\t\t\tpairedFirst: 'months',\n\t\t\t\t\tpriority: labelPriorities.LOW\n\t\t\t\t});\n\n\t\t\t\tlastWeek = week;\n\t\t\t}\n\n\t\t\tif (day !== lastDay) {\n\t\t\t\tdays.push({\n\t\t\t\t\tindex: i,\n\t\t\t\t\tdate,\n\t\t\t\t\tformat: {\n\t\t\t\t\t\tdefault: this.format(date, 'days'),\n\t\t\t\t\t\tfirst: this.format(date, 'days', 'first'),\n\t\t\t\t\t\tfirstAlt: this.format(date, 'days', 'firstAlt'),\n\t\t\t\t\t\tintraday: this.format(date, 'days', 'intraday')\n\t\t\t\t\t},\n\t\t\t\t\tstepCompare: date.getDate(),\n\t\t\t\t\tpairedFirst: 'months',\n\t\t\t\t\tpriority: labelPriorities.LOW\n\t\t\t\t});\n\n\t\t\t\tlastDay = day;\n\t\t\t}\n\n\t\t\tif (isIntraday) {\n\t\t\t\tconst minutesFromStartOfDay = date.getHours() * 60 + date.getMinutes();\n\n\t\t\t\t// Get default market close/open times\n\t\t\t\tlet previousClose = core.state.typicalSessions\n\t\t\t\t\t? core.state.typicalSessions.max\n\t\t\t\t\t: null;\n\t\t\t\tlet currentOpen = core.state.typicalSessions\n\t\t\t\t\t? core.state.typicalSessions.min\n\t\t\t\t\t: null;\n\n\t\t\t\t// Get date from previous element or use today's date\n\t\t\t\tlet previousTradingDate = new Date();\n\t\t\t\tif (i > 0) previousTradingDate = new Date(exchangeDates[i - 1]);\n\n\t\t\t\t// Function to get alternate session data, if the dates match\n\t\t\t\tconst checkForAlternateSession = (dateToCheck) => {\n\t\t\t\t\t// Get the dates (which are the keys)\n\t\t\t\t\tconst alternateSessionDates = Object.keys(core.timeService.alternateSessions);\n\t\t\t\t\t\n\t\t\t\t\t// Look for a matching date\n\t\t\t\t\tconst matchingDate = alternateSessionDates.find(dateString => {\n\t\t\t\t\t\tconst date = new Date(dateString);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tdateToCheck.getYear() === date.getYear() &&\n\t\t\t\t\t\t\tdateToCheck.getMonth() === date.getMonth() &&\n\t\t\t\t\t\t\tdateToCheck.getDate() === date.getDate()\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\n\t\t\t\t\t// Look for a matching exchange ID\n\t\t\t\t\treturn (\n\t\t\t\t\t\tmatchingDate &&\n\t\t\t\t\t\tcore.timeService.alternateSessions[matchingDate]\n\t\t\t\t\t\t\t.find(session => session.exchangeId === core.xref[core.params.symbol].exchangeId)\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\t// Check for alternate sessions associated with PREVIOUS trading date\n\t\t\t\tif (\n\t\t\t\t\tcore.timeService.alternateSessions && // Are there alternate sessions?\n\t\t\t\t\tcheckForAlternateSession(previousTradingDate)\n\t\t\t\t) {\n\t\t\t\t\t// Get the open/close info for that session\n\t\t\t\t\tconst session = checkForAlternateSession(previousTradingDate);\n\t\t\t\t\tpreviousClose = session.close;\n\t\t\t\t}\n\n\t\t\t\t// Check for alternate sessions associated with CURRENT trading date\n\t\t\t\tif (\n\t\t\t\t\tcore.timeService.alternateSessions &&\n\t\t\t\t\tcheckForAlternateSession(date)\n\t\t\t\t) {\n\t\t\t\t\t// Get the open/close info for that session\n\t\t\t\t\tconst session = checkForAlternateSession(date);\n\t\t\t\t\tcurrentOpen = session.open;\n\t\t\t\t}\n\n\t\t\t\t// Check if time from current data point is for market open\n\t\t\t\tconst isMarketOpen = currentOpen === minutesFromStartOfDay;\n\n\t\t\t\t/**\n\t\t\t\t * If session start/end data exists, add market close label BEFORE next market\n\t\t\t\t * open label (if flag is enabled)\n\t\t\t\t * */\n\t\t\t\tif (\n\t\t\t\t\tcore.params.showMarketCloseLabels &&\n\t\t\t\t\tisMarketOpen\n\t\t\t\t) {\n\t\t\t\t\tconst marketClose = {\n\t\t\t\t\t\thours: Math.floor(previousClose / 60),\n\t\t\t\t\t\tminutes: previousClose % 60\n\t\t\t\t\t};\n\n\t\t\t\t\t/**\n\t\t\t\t\t * CH-1513\n\t\t\t\t\t * If market close label is for current date, it gets a higher priority such that it draws\n\t\t\t\t\t * instead of the (future) market open label. We have to look at the next day because the\n\t\t\t\t\t * market close label lives at the same time as the market open label, which in this case\n\t\t\t\t\t * is on the next day.\n\t\t\t\t\t*/\n\t\t\t\t\tconst datePriorityCheck = new Date((new Date()).setDate(new Date().getDate() + 1));\n\t\t\t\t\t\n\t\t\t\t\t// Set date to use market close time\n\t\t\t\t\tpreviousTradingDate.setHours(marketClose.hours);\n\t\t\t\t\tpreviousTradingDate.setMinutes(marketClose.minutes);\n\t\t\t\t\t\n\t\t\t\t\thours.push({\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\tformat: {\n\t\t\t\t\t\t\tdefault: this.format(previousTradingDate, 'hours'),\n\t\t\t\t\t\t\t// Should this be date instead of previousTradingDate?\n\t\t\t\t\t\t\tfirst: this.format(date, 'hours', 'first')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstepCompare: date.getHours(),\n\t\t\t\t\t\tpairedFirst: 'days',\n\t\t\t\t\t\t// Use toLocaleDateString to avoid time check\n\t\t\t\t\t\tpriority: date.toLocaleDateString() === datePriorityCheck.toLocaleDateString()\n\t\t\t\t\t\t\t? labelPriorities.HIGHEST\n\t\t\t\t\t\t\t: labelPriorities.MARKET_CLOSE,\n\t\t\t\t\t\tisMarketClose: true\n\t\t\t\t\t});\n\n\t\t\t\t\tminutes.push({\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\tformat: {\n\t\t\t\t\t\t\tdefault: this.format(previousTradingDate, 'minutes'),\n\t\t\t\t\t\t\t// Should this be date instead of previousTradingDate?\n\t\t\t\t\t\t\tfirst: this.format(date, 'minutes', 'first')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstepCompare: date.getMinutes(),\n\t\t\t\t\t\tpairedFirst: 'days',\n\t\t\t\t\t\t// Use toLocaleDateString to avoid time check\n\t\t\t\t\t\tpriority: date.toLocaleDateString() === datePriorityCheck.toLocaleDateString()\n\t\t\t\t\t\t\t? labelPriorities.HIGHEST\n\t\t\t\t\t\t\t: labelPriorities.MARKET_CLOSE,\n\t\t\t\t\t\tisMarketClose: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// If within dense label limits, add hour and minute\n\t\t\t\tif (\n\t\t\t\t\tdate > denseLabelLimitLeft &&\n\t\t\t\t\tdate < denseLabelLimitRight\n\t\t\t\t) {\n\t\t\t\t\t// Check time to add correct priority\n\t\t\t\t\tconst priority = isMarketOpen\n\t\t\t\t\t\t? labelPriorities.MARKET_OPEN\n\t\t\t\t\t\t: date.getHours() === 12 && date.getMinutes() === 0\n\t\t\t\t\t\t\t? labelPriorities.MIDDAY\n\t\t\t\t\t\t\t: labelPriorities.LOW;\n\n\t\t\t\t\tif (hour !== lastHour) {\n\t\t\t\t\t\thours.push({\n\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\tdate: date,\n\t\t\t\t\t\t\tformat: {\n\t\t\t\t\t\t\t\tdefault: this.format(dateLabel, 'hours'),\n\t\t\t\t\t\t\t\tfirst: this.format(dateLabel, 'hours', 'first')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstepCompare: date.getHours(),\n\t\t\t\t\t\t\tpairedFirst: 'days',\n\t\t\t\t\t\t\tpriority,\n\t\t\t\t\t\t\tisMarketOpen\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlastHour = hour;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (min !== lastMin) {\n\t\t\t\t\t\tminutes.push({\n\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\tdate: date,\n\t\t\t\t\t\t\tformat: {\n\t\t\t\t\t\t\t\tdefault: this.format(dateLabel, 'minutes'),\n\t\t\t\t\t\t\t\tfirst: this.format(dateLabel, 'minutes', 'first')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstepCompare: date.getMinutes(),\n\t\t\t\t\t\t\tpairedFirst: 'days',\n\t\t\t\t\t\t\tpriority,\n\t\t\t\t\t\t\tisMarketOpen\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlastMin = min;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.labels = this.measureLabels({\n\t\t\tminutes,\n\t\t\thours,\n\t\t\tdays,\n\t\t\tweeks,\n\t\t\tmonths,\n\t\t\tyears\n\t\t});\n\t}\n\n\t/**\n\t * Measures and stores label widths for future collision detection logic\n\t * @param {object} labels - Label object to use in calculations\n\t * @return {object} Label object with measurements added\n\t * */\n\tmeasureLabels(labels) {\n\t\tconst { panel } = this.axis;\n\t\tconst ctx = panel.rootContext;\n\t\tconst { style } = panel.params;\n\n\t\t// before measuring label dimensions, set to axis label style\n\t\tctx.font = panel.getFontStyle(\n\t\t\tstyle.xAxis.font.weight,\n\t\t\tstyle.xAxis.font.size,\n\t\t\tstyle.xAxis.font.family\n\t\t);\n\t\tObject.keys(labels).forEach(label => {\n\t\t\tconst vals = labels[label];\n\t\t\tvals.forEach(value => {\n\t\t\t\tvalue.width = {};\n\t\t\t\tconst { format, width } = value;\n\n\t\t\t\tObject.keys(format).forEach(formatType => {\n\t\t\t\t\tconst formatValue = format[formatType];\n\t\t\t\t\twidth[formatType] = ctx.measureText(formatValue).width;\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn labels;\n\t}\n\n\t/**\n\t * Returns the number of non-weekend days between two dates\n\t * @param {Date} startDate\n\t * @param {Date} endDate\n\t * @return {number}\n\t */\n\tgetWeekdays(startDate, endDate) {\n\t\tlet weekDay;\n\t\tlet num = 0;\n\t\tconst currentDate = new Date(startDate);\n\n\t\twhile (currentDate <= endDate) {\n\t\t\tweekDay = currentDate.getDay();\n\n\t\t\tif (weekDay !== 0 && weekDay !== 6) {\n\t\t\t\tnum++;\n\t\t\t}\n\n\t\t\tcurrentDate.setDate(currentDate.getDate() + 1);\n\t\t}\n\n\t\treturn num;\n\t}\n\n\t/**\n\t * Returns the numeric week of the year\n\t * @param {Date} date - UTC date\n\t * @return {number}\n\t */\n\tgetWeeks(date) {\n\t\tconst jan = new Date(date.getFullYear(), 0, 1);\n\t\treturn Math.ceil(((date - jan) / 86400000 + jan.getDay() + 1) / 7);\n\t}\n\n\t/**\n\t * given current xScale domain, trim labels collection to just the appropriate labels\n\t * @return {object}\n\t */\n\tfilterLabels() {\n\t\tconst self = this;\n\t\tconst { panel } = this.axis;\n\t\tconst { core } = this;\n\t\tconst ruler = core.exchangeDates;\n\t\tconst domain = this.axis.primaryScale.domain();\n\t\tconst domainLeft = Math.max(0, Math.floor(domain[0]));\n\t\tconst domainRight = Math.min(ruler.length - 1, Math.floor(domain[1]));\n\t\tlet i;\n\t\tlet dist;\n\t\tlet lastX;\n\t\tlet rowLabel;\n\t\tconst labels = {};\n\t\tlet idxLeft;\n\t\tlet idxRight;\n\t\tlet step;\n\t\tlet newLabels;\n\t\tconst loopLabels = {};\n\t\tlet count;\n\t\tlet amt;\n\t\tconst style = panel.params.style.xAxis;\n\n\t\tthis.rowTemplate = this._getRowTemplate(domainLeft, domainRight);\n\n\t\tloopLabels[this.rowTemplate.upper] = self.labels[this.rowTemplate.upper];\n\n\t\tif (this.rowTemplate.lower) {\n\t\t\tloopLabels[this.rowTemplate.lower] = self.labels[this.rowTemplate.lower];\n\t\t}\n\n\t\t// trim all labels down to what's in current range\n\t\tObject.keys(loopLabels).forEach(rowId => {\n\t\t\tconst rowLabels = loopLabels[rowId];\n\t\t\tif (!rowLabels || !rowLabels.length) return;\n\n\t\t\tconst labelSteps = style.label.steps[rowId];\n\t\t\tconst labelSpacing = style.label.spacing[rowId] || style.label.spacing.default;\n\t\t\t\n\t\t\tidxLeft = Math.max(\n\t\t\t\t0,\n\t\t\t\tcore._getIndexByDomain(domainLeft, rowLabels) - 1\n\t\t\t);\n\t\t\tidxRight = Math.min(\n\t\t\t\trowLabels.length - 1,\n\t\t\t\tcore._getIndexByDomain(domainRight, rowLabels) + 1\n\t\t\t);\n\n\t\t\tlabels[rowId] = rowLabels.slice(idxLeft, idxRight + 1);\n\n\t\t\t// calculate x positions of all rows and max dist\n\t\t\tcount = 0;\n\t\t\tamt = 0;\n\n\t\t\tlastX = false;\n\n\t\t\t// loop backward so we can splice\n\t\t\tfor (i = labels[rowId].length - 1; i >= 0; i--) {\n\t\t\t\trowLabel = labels[rowId][i];\n\t\t\t\trowLabel.x0 = panel.xAxis.primaryScale(rowLabel.index);\n\t\t\t\t\n\t\t\t\t// If label is market close, add negative subpixel offset\n\t\t\t\tif (\n\t\t\t\t\trowLabel.isMarketClose &&\n\t\t\t\t\trowLabel.x0 >= panel.size.padding.left + panel.size.width // Check right chart edge\n\t\t\t\t) {\n\t\t\t\t\trowLabel.x0 = subpixel.px(rowLabel.x0, false);\n\t\t\t\t}\n\n\t\t\t\t// trim if outside of chart boundaries\n\t\t\t\tif (\n\t\t\t\t\trowLabel.x0 < panel.size.padding.left || // Check left chart edge\n\t\t\t\t\trowLabel.x0 >= panel.size.padding.left + panel.size.width // Check right chart edge\n\t\t\t\t) {\n\t\t\t\t\tlabels[rowId].splice(i, 1);\n\t\t\t\t} else if (\n\t\t\t\t\tlastX &&\n\t\t\t\t\t// Don't include label 0 since its dist is often much shorter and throws off the step calculation\n\t\t\t\t\ti > 0 &&\n\t\t\t\t\t// Don't add market close labels (because they're a special case and could throw off the calculation)\n\t\t\t\t\t!rowLabel.isMarketClose\n\t\t\t\t) {\n\t\t\t\t\tamt += lastX - rowLabel.x0;\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\n\t\t\t\tlastX = rowLabel.x0;\n\t\t\t}\n\n\t\t\t// find average distance between all distances deemed valid\n\t\t\tdist = amt / count;\n\n\t\t\t// trim out row if dist is too small\n\t\t\tif (dist < 0.1) {\n\t\t\t\tlabels[rowId] = null;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// now figure out a good step\n\t\t\tstep = self._step(dist, labelSpacing, labelSteps);\n\n\t\t\t// Trim vals in each row that don't match the step, unless they're high priority\n\t\t\tnewLabels = labels[rowId].filter(row => {\n\t\t\t\treturn (\n\t\t\t\t\trow.priority <= labelPriorities.HIGH || // Don't filter out high priority labels\n\t\t\t\t\trow.stepCompare % step === 0\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tif (rowId === 'hours') newLabels.forEach(row => row.step = step);\n\n\t\t\tlabels[rowId] = newLabels;\n\n\t\t\t// other removals\n\n\t\t\t// trim out years if we have days and months\n\t\t\tif (\n\t\t\t\trowId === 'years' &&\n\t\t\t\tlabels.days &&\n\t\t\t\tlabels.days.length &&\n\t\t\t\tlabels.months &&\n\t\t\t\tlabels.months.length\n\t\t\t) {\n\t\t\t\tlabels.years = null;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// trim out hours if we have days and minutes\n\t\t\tif (rowId === 'hours' && labels.minutes && labels.minutes.length) {\n\t\t\t\tlabels.hours = null;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// trim out weeks if we have days\n\t\t\tif (rowId === 'weeks' && labels.days && labels.days.length) {\n\t\t\t\tlabels.weeks = null;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\treturn labels;\n\t}\n\n\t/**\n\t * Determines the appropriate upper/lower xAxis row template id's.\n\t * Example: an interday chart may return \"months\" and \"years\", but an intraday chart may return\n\t * \"hours\" and \"days\". Depending on the width of the chart and other factors, different templates\n\t * will be returned.\n\t * @param {number} rulerLeft - The index for the left side of the xAxis domain\n\t * @param {number} rulerRight - The index for the right side of the xAxis domain\n\t * @returns {object} The selected row template\n\t */\n\t_getRowTemplate(rulerLeft, rulerRight) {\n\t\tconst { core } = this;\n\t\tconst { width } = this.axis.panel.size;\n\n\t\tlet { rowTemplateThresholds } = core.params.locale ;\n\n\t\t// rowTemplateThresholds could be missing or malformed if loading a saved chart from before this feature was added\n\t\tif (\n\t\t\t!rowTemplateThresholds || \n\t\t\trowTemplateThresholds.find(row => row.width === null)\n\t\t) {\n\t\t\tcore.warn(\"'rowTemplateThresholds' not found in locale. Using 'defaultRowTemplateThresholds' instead.\");\n\t\t\tcore.params.locale.rowTemplateThresholds = defaultRowTemplateThresholds;\n\t\t\trowTemplateThresholds = defaultRowTemplateThresholds;\n\t\t}\n\t\tconst chartType = core.state.isIntraday\n\t\t\t? 'intraday'\n\t\t\t: 'interday';\n\n\t\t// Figure out what time span comparison should be (value in hours for intraday or days for interday)\n\t\tconst ruler = core.exchangeDates;\n\t\tconst timeSpan = chartType === 'intraday'\n\t\t\t? (rulerRight - rulerLeft) / 60\n\t\t\t: core.params.customData\n\t\t\t\t? Math.ceil(((ruler[rulerRight] - ruler[rulerLeft]) / (1000 * 60 * 60 * 24)) * 0.69)\n\t\t\t\t: rulerRight - rulerLeft;\n\n\t\t// Find correct row template\n\t\tconst { lower, upper } = rowTemplateThresholds\n\t\t\t// CH-1823: We might need to add sorting as a CYA operation\n\t\t\t.find(widthThreshold => width <= widthThreshold.width)[chartType]\n\t\t\t.find(timeSpanThreshold => timeSpan <= timeSpanThreshold.timeSpan);\n\n\t\treturn { lower,\tupper };\n\t}\n\n\t/** render each row (years, months, days, etc) of labels */\n\trender(labels) {\n\t\tconst { panel } = this.axis;\n\t\tconst ctx = panel.rootContext;\n\t\tconst { style } = panel.params;\n\t\tconst y0 =\n\t\t\t\tpanel.size.height +\n\t\t\t\tpanel.size.padding.top +\n\t\t\t\t(style.xAxis.label.padding.top || 0);\n\t\tconst paddingLeft = style.xAxis.label.padding.left;\n\t\tconst paddingRight = style.xAxis.label.padding.right;\n\n\t\tconst limitLeft = panel.size.padding.left;\n\t\tconst limitRight =\n\t\t\tpanel.size.padding.left +\n\t\t\tpanel.size.width;\n\n\t\tlet label = {};\n\t\tlet rowNum = 0;\n\t\tlet newY = 0;\n\t\tlet i = 0;\n\t\tlet left = 0;\n\t\tlet right = 0;\n\n\t\t// Start a new canvas path\n\t\tctx.beginPath();\n\t\tctx.fillStyle = style.xAxis.font.color;\n\t\tctx.font = panel.getFontStyle(\n\t\t\tstyle.xAxis.font.weight,\n\t\t\tstyle.xAxis.font.size,\n\t\t\tstyle.xAxis.font.family\n\t\t);\n\t\tctx.textBaseline = 'top'; // Should this be alphabetic?\n\t\t\n\t\t// Modify specific labels based on special case rules\n\t\tlabels = this.applyRenderLabelRules(labels);\n\n\t\t// Draw rows from small to large - minutes first, years last\n\t\tfor (const row in labels) {\n\t\t\t// Get row labels\n\t\t\tconst rowLabels = labels[row];\n\n\t\t\t// Initialize flag for market close labels\n\t\t\tlet foundMarketClose = false;\n\n\t\t\t// Start with the far right as the previous left coord\n\t\t\tlet previousLeft = limitRight;\n\n\t\t\t// Draw from right to left\n\t\t\tfor (i = rowLabels.length - 1; i >= 0; i--) {\n\t\t\t\tlabel = rowLabels[i];\n\t\t\t\tlet labelCoord = label.x0;\n\t\t\t\tlet isDuplicate = false;\n\t\t\t\tlet leftCollide = false;\n\t\t\t\tlet rightCollide = false;\n\t\t\t\tconst labelFormat = label.format;\n\t\t\t\t\n\t\t\t\t// Market close label should only be right aligned when the X-axis is left aligned\n\t\t\t\t// and only show up once on the X-axis\n\t\t\t\tlet { textAlign } = style.xAxis.label;\n\t\t\t\tif (\n\t\t\t\t\t!foundMarketClose &&\n\t\t\t\t\tlabel.isMarketClose &&\n\t\t\t\t\tstyle.xAxis.label.textAlign === canvasEnums.textAlign.LEFT\n\t\t\t\t) {\n\t\t\t\t\ttextAlign = canvasEnums.textAlign.RIGHT;\n\t\t\t\t\t// Only keep track of market close labels if only one should be drawn (CH-1513)\n\t\t\t\t\tif (this.core.params.showMarketCloseLabels === showMarketCloseLabelsCategories.ONCE) foundMarketClose = true;\n\t\t\t\t}\n\n\t\t\t\tctx.textAlign = textAlign;\n\t\t\t\tswitch (textAlign) {\n\t\t\t\t\tcase canvasEnums.textAlign.RIGHT:\n\t\t\t\t\t\tright = label.x0 - paddingRight;\n\t\t\t\t\t\tleft = right - label.width.default;\n\t\t\t\t\t\tlabelCoord = right;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase canvasEnums.textAlign.CENTER:\n\t\t\t\t\t\tleft = label.x0 - (label.width.default / 2);\n\t\t\t\t\t\tright = left + label.width.default;\n\t\t\t\t\t\tlabelCoord = label.x0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase canvasEnums.textAlign.LEFT:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tleft = label.x0 + paddingLeft;\n\t\t\t\t\t\tright = left + label.width.default;\n\t\t\t\t\t\tlabelCoord = left;\n\t\t\t\t}\n\n\t\t\t\t// Check for collision with (valid and visible) right-hand neighbor\n\t\t\t\trightCollide =\n\t\t\t\t\ti < rowLabels.length - 1 && // No collision on first pass through loop\n\t\t\t\t\tright >= previousLeft;\n\n\t\t\t\t/**\n\t\t\t\t * If there's a collision, check priorities of current label and next label\n\t\t\t\t * Draw the higher priority one, or if they're the same, draw the current (right) label\n\t\t\t\t * This assumes that priority 1 is the highest, and greater numbers are lower\n\t\t\t\t */\n\t\t\t\tif (i > 0) {\n\t\t\t\t\tconst nextLabel = rowLabels[i - 1];\n\t\t\t\t\tlet nextLeft;\n\t\t\t\t\tlet nextRight;\n\n\t\t\t\t\tswitch (textAlign) {\n\t\t\t\t\t\tcase canvasEnums.textAlign.RIGHT:\n\t\t\t\t\t\t\tnextRight = nextLabel.x0 - paddingRight;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase canvasEnums.textAlign.CENTER:\n\t\t\t\t\t\t\tnextLeft = nextLabel.x0 - (nextLabel.width.default / 2);\n\t\t\t\t\t\t\tnextRight = nextLeft + nextLabel.width.default;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase canvasEnums.textAlign.LEFT:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tnextLeft = nextLabel.x0 + paddingLeft;\n\t\t\t\t\t\t\tnextRight = nextLeft + nextLabel.width.default;\n\t\t\t\t\t}\n\n\t\t\t\t\tleftCollide =\n\t\t\t\t\t\tnextRight >= left && // Next label impedes on current label\n\t\t\t\t\t\tnextLabel.priority < label.priority; // Lower number is the higher priority\n\t\t\t\t}\n\n\t\t\t\t// Duplicate label check (CH-1748). This works per label row. KEEP_RIGHT is wonky right now\n\t\t\t\t// and will need further work to account for the dynamically inserted left labels.\n\t\t\t\tif (this.core.params.renderDuplicateLabels !== renderDuplicateLabelsCategories.KEEP_ALL) {\n\t\t\t\t\tconst previousLabel = i < rowLabels.length - 1 ? rowLabels[i + 1] : null;\n\t\t\t\t\tconst nextLabel = i > 0 ? rowLabels[i - 1] : null;\n\n\t\t\t\t\tswitch (this.core.params.renderDuplicateLabels) {\n\t\t\t\t\t\tcase renderDuplicateLabelsCategories.KEEP_LEFT:\n\t\t\t\t\t\t\tif (nextLabel && nextLabel.format.default === label.format.default)\tisDuplicate = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase renderDuplicateLabelsCategories.KEEP_RIGHT:\n\t\t\t\t\t\t\tif (previousLabel && previousLabel.format.default === label.format.default)\tisDuplicate = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Draw non-duplicate, non-colliding labels\n\t\t\t\tif (\n\t\t\t\t\t!isDuplicate &&\n\t\t\t\t\tright < limitRight &&\n\t\t\t\t\tleft > limitLeft &&\n\t\t\t\t\t!rightCollide &&\n\t\t\t\t\t!leftCollide\n\t\t\t\t) {\n\t\t\t\t\t// Use lineHeight setting to determine row height. if unspecified, choose an automatic lineHeight\n\t\t\t\t\tnewY = y0 + rowNum * (style.xAxis.label.lineHeight || style.xAxis.font.size + 4);\n\n\t\t\t\t\t// Draw label\n\t\t\t\t\tctx.fillText(labelFormat.default, labelCoord, newY);\n\n\t\t\t\t\t// Update previousLeft to left coord of last drawn label\n\t\t\t\t\tpreviousLeft = left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (rowLabels.length) rowNum++;\n\t\t}\n\t}\n\n\t/** Just before rendering, modify specific labels based on rules */\n\tapplyRenderLabelRules(labels) {\n\t\t// Rule: apply bottom row first label formatting (usually to ensure the year is always visible)\n\t\tfor (const labelType in labels) {\n\t\t\tconst labelTypeCollection = labels[labelType];\n\t\t\tif (\n\t\t\t\tlabelTypeCollection.length &&\n\t\t\t\tlabelTypeCollection[0].format &&\n\t\t\t\tlabelType !== 'years'\n\t\t\t) {\n\t\t\t\tlabels = this.updatePairedLabelRow(labelTypeCollection[0], labels);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Apply special case rules by overwriting the default format and width properties for matching labels\n\t\tlet rowNum = 0;\n\t\tfor (const labelType in labels) {\n\t\t\tconst labelTypeCollection = labels[labelType];\n\n\t\t\t// Work from right to left\n\t\t\tfor (let i = labelTypeCollection.length - 1; i >= 0; i--) {\n\t\t\t\tconst label = labelTypeCollection[i];\n\t\t\t\tconst labelFormat = label.format;\n\n\t\t\t\t// Rule: bottom row intraday labels use \"intraday\" formatting, only for when the top row is minutes or hours\n\t\t\t\t// CH-1615: This is a bit of an ugly rule and should probably be removed in the future. But it works for now.\n\t\t\t\tif (\n\t\t\t\t\tlabelFormat.intraday &&\n\t\t\t\t\ti > 0 &&\n\t\t\t\t\t(\n\t\t\t\t\t\t(labels.hours && labels.hours.length) ||\n\t\t\t\t\t\t(labels.minutes && labels.minutes.length)\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlabelFormat.default = labelFormat.intraday;\n\t\t\t\t\tlabel.width.default = label.width.intraday;\n\t\t\t\t}\n\n\t\t\t\t// Rule: add year to january labels when bottom row is \"months\" (eg use the \"firstAlt\" formatting)\n\t\t\t\tif (\n\t\t\t\t\tlabelType === 'months' &&\n\t\t\t\t\trowNum > 0 &&\n\t\t\t\t\tlabel.date.getMonth() === 0\n\t\t\t\t) {\n\t\t\t\t\tlabelFormat.default = labelFormat.firstAlt;\n\t\t\t\t\tlabel.width.default = label.width.firstAlt;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increment row counter to allow for format check on months row\n\t\t\tif (labelTypeCollection.length) rowNum++;\n\t\t}\n\n\t\treturn labels;\n\t}\n\n\t/**\n\t * Insert a label into the bottom row that has alternative formatting (usually to ensure the year is always visible).\n\t * Take \"first\" formatting from the top label's formats and insert a new label into the paired bottom row label collection.\n\t */\n\tupdatePairedLabelRow(label, labels) {\n\t\t// Get the paired label collection so we can add the \"first\"-styled label to it\n\t\tconst pairedId = label.pairedFirst;\n\t\tlet paired = labels[pairedId];\n\n\t\tif (!paired || !paired.length) {\n\t\t\t// There are no paired labels, create new\n\t\t\tpaired = labels[pairedId] = [cloneDeep(label) || {}];\n\n\t\t\tpaired[0].format.default = paired[0].format.first;\n\t\t\tpaired[0].width.default = paired[0].width.first;\n\t\t} else {\n\t\t\t// Insert label at beginning of collection if it preceeds the first paired label\n\t\t\t// otherwise we'll directly modify the first paired label instead\n\t\t\tif (paired[0].date - label.date > 0) paired.splice(0, 0, cloneDeep(label) || {});\n\n\t\t\tpaired[0].format.default = label.format.first;\n\t\t\tpaired[0].width.default = label.width.first;\n\t\t\tpaired[0].x0 = label.x0;\n\n\t\t\tconst { style } = this.axis.panel.params;\n\t\t\tconst { left: paddingLeft, right: paddingRight} = style.xAxis.label.padding;\n\t\t\tconst left = paired[0].x0 + paddingLeft - paddingRight;\n\t\t\tconst right = left + paired[0].width.default;\n\n\t\t\t// CH-1615: Could we avoid this step by using the label priority?\n\n\t\t\t// Remove neighboring paired label(s) if the new label is now overlapping.\n\t\t\t// We do this here to ensure this label always shows up since the render loop\n\t\t\t// prioritizes right-hand labels.\n\t\t\tfor (let x = paired.length - 1; x >= 1; x--) {\n\t\t\t\tif (paired[x].x0 && paired[x].x0 <= right) paired.splice(1, 1);\n\t\t\t}\n\t\t}\n\n\t\treturn labels;\n\t}\n}\n\n/**\n * A wrapper for the collection of scales and label related functions\n */\nclass AxisDate extends Axis {\n\tconstructor(panel, scaleParams) {\n\t\tsuper(panel, scaleParams);\n\t\t/** @type {Labeler} */\n\t\tthis.labeler = new Labeler(this, this.panel.core);\n\t}\n\n\t/**\n\t * Trim time labels to frame, render labels and grid\n\t * @param {object} dateLabels - object with years and months to display\n\t */\n\trender(dateLabels) {\n\t\tconst { panel } = this;\n\t\tconst { core } = panel;\n\t\tconst { params } = core;\n\n\t\t// render labels if there is room\n\t\tif (panel.size.padding.bottom > 0) {\n\t\t\tthis.labeler.render(cloneDeep(dateLabels) || {});\n\t\t}\n\n\t\t// normalized charts can style the normalizedate line differently\n\t\tif (\n\t\t\tparams.normalizeDate &&\n\t\t\tpanel.isNormalized &&\n\t\t\tpanel.params.style.grid.vertical.normalize.color &&\n\t\t\t!core.dataXHR\n\t\t) {\n\t\t\tlet index = 0;\n\t\t\tconst normalizeDate = new Date(params.normalizeDate);\n\n\t\t\tindex = core.closestExchangeIndex(normalizeDate);\n\n\t\t\tlet x0 = this.primaryScale(index);\n\t\t\tconst padLeft = panel.size.padding.left;\n\t\t\tconst ctx = panel.rootContext;\n\n\t\t\t// render vertical normalize line\n\t\t\tif (x0 && x0 > padLeft && x0 < panel.size.width + padLeft) {\n\t\t\t\tconst style = panel.params.style.grid.vertical.normalize;\n\t\t\t\tconst lineDash = style.lineDash;\n\t\t\t\tx0 = subpixel.px(x0);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.strokeStyle = style.color;\n\t\t\t\tctx.lineWidth = style.width;\n\t\t\t\tif (lineDash) ctx.setLineDash(lineDash.split(/\\s*,\\s*/));\n\t\t\t\tctx.moveTo(x0, panel.size.padding.top);\n\t\t\t\tctx.lineTo(x0, panel.size.padding.top + panel.size.height);\n\t\t\t\tctx.stroke();\n\t\t\t\tctx.setLineDash([]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Return true if this panel gets an XAxis based on various chart settings\n\t * @returns {boolean}\n\t */\n\thasAxis() {\n\t\tconst panel = this.panel;\n\t\tconst { core } = panel;\n\t\tconst { panelXAxis } = core.params;\n\t\tconst idx = core.getPanelIndex(panel);\n\t\tconst lastIdx = core.panels.length - 1;\n\n\t\tif (typeof panel.params.hasXAxis === 'boolean') {\n\t\t\t// a per-panel param overrides the global rule\n\t\t\treturn panel.params.hasXAxis === true;\n\t\t} else if (panelXAxis === 'none') {\n\t\t\treturn false;\n\t\t} else if (panelXAxis === 'all') {\n\t\t\treturn true;\n\t\t} else if (panelXAxis === 'first' && idx === 0) {\n\t\t\treturn true;\n\t\t} else if (panelXAxis === 'last' && idx === lastIdx) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Generates an array of dates based on a custom dataset, similar to getExchangeRuler\n\t * @returns {array}\n\t */\n\tgetCustomRuler() {\n\t\tconst core = this.panel.core;\n\t\tconst rulerData = [];\n\t\tconst customDates = core.getFirstDataset(core.data);\n\n\t\t// convert to dates\n\t\tcustomDates.forEach(function (index, i) {\n\t\t\trulerData[i] = new Date(customDates[i].date);\n\t\t});\n\n\t\treturn rulerData;\n\t}\n\n\t/**\n\t * Get array of dates for an exchange, based on information from the TimeService API call.\n\t * @returns {array}\n\t */\n\tgetExchangeRuler() {\n\t\tconst core = this.panel.core;\n\t\tconst tradingDays = core.timeService.tradingDays;\n\t\tlet i = 0;\n\t\tlet iLen = 0;\n\t\tconst data = [];\n\t\tlet exchangeId = '';\n\n\t\tif (!core.state.isIntraday) {\n\t\t\t// interday is simple - just use the tradingdays from the timeservice call\n\n\t\t\t// convert to utc date objects\n\t\t\tfor (i = 0, iLen = tradingDays.length; i < iLen; i++) {\n\t\t\t\tdata[i] = core.getUTCDate(new Date(tradingDays[i])).getTime();\n\t\t\t}\n\t\t} else if (core.timeService.typicalSessions) {\n\t\t\t// if intraday, loop over tradingdays, and within each trading day, loop over the\n\t\t\t// typical session(s) for that day of the week.\n\t\t\t// for each trading day, it starts at the minimum session date and counts up by one minute,\n\t\t\t// each time checking if that minute falls within one of that day's sessions.\n\t\t\t// it stops when the minutes exceed the maximum session date.\n\t\t\t// the maximum session date may be shorter than a typical day if part of the alternatesession collection (eg partial holiday).\n\n\t\t\tconst typicalSessions = [...core.timeService.typicalSessions];\n\t\t\tlet typicalDay = {};\n\t\t\tlet tradingDate = new Date();\n\t\t\tlet dateMin = new Date();\n\t\t\tlet dateMax = new Date();\n\t\t\tlet dateMinMs = 0;\n\t\t\tlet dateMaxMs = 0;\n\n\t\t\tfor (i = 0, iLen = tradingDays.length; i < iLen; i++) {\n\t\t\t\ttradingDate = core.getUTCDate(new Date(tradingDays[i]));\n\n\t\t\t\t// grab typical sessions for this day.\n\t\t\t\ttypicalDay = typicalSessions[tradingDate.getDay()];\n\n\t\t\t\tif (!typicalDay.sessions.length) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// convert the open/close offsets into ms\n\t\t\t\tObject.keys(typicalDay.rulerSessions).forEach(exchangeId => {\n\t\t\t\t\tconst exchangeSession = typicalDay.rulerSessions[exchangeId];\n\t\t\t\t\texchangeSession.openMs = this.getSessionDateMS(\n\t\t\t\t\t\ttradingDate,\n\t\t\t\t\t\texchangeSession.open\n\t\t\t\t\t);\n\t\t\t\t\texchangeSession.closeMs = this.getSessionDateMS(\n\t\t\t\t\t\ttradingDate,\n\t\t\t\t\t\texchangeSession.close\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t\t// snap the loop start/end to min/max of all sessions on tradingDate\n\t\t\t\tdateMin = this.getMinSessionDate(tradingDate, typicalDay);\n\t\t\t\tdateMax = this.getMaxSessionDate(\n\t\t\t\t\ttradingDays[i],\n\t\t\t\t\ttradingDate,\n\t\t\t\t\ttypicalDay\n\t\t\t\t);\n\n\t\t\t\t// convert dates to ints for better performance\n\t\t\t\tdateMinMs = dateMin.getTime();\n\t\t\t\tdateMaxMs = dateMax.getTime();\n\n\t\t\t\t// collect all valid trading minutes within range\n\t\t\t\twhile (dateMinMs < dateMaxMs) {\n\t\t\t\t\t// check if this minute falls within any session\n\t\t\t\t\tfor (exchangeId in typicalDay.rulerSessions) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(typicalDay.rulerSessions, exchangeId)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst exchangeSession =\n\t\t\t\t\t\t\t\ttypicalDay.rulerSessions[exchangeId];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdateMinMs >= exchangeSession.openMs &&\n\t\t\t\t\t\t\t\tdateMinMs < exchangeSession.closeMs &&\n\t\t\t\t\t\t\t\t(!data.length ||\n\t\t\t\t\t\t\t\t\tdateMinMs > data[data.length - 1])\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdata[data.length] = dateMinMs;\n\t\t\t\t\t\t\t\tbreak;\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\t// increment one minute\n\t\t\t\t\tdateMinMs += 60000;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Return a date object with specified minute offset from midnight\n\t * @param {Date} date - the date to be offset\n\t * @param {number} minutes - how many minutes to offset from midnight\n\t * @returns {Date}\n\t * @private\n\t */\n\tgetSessionDateMS(date, minutes) {\n\t\treturn new Date(\n\t\t\tdate.getFullYear(),\n\t\t\tdate.getMonth(),\n\t\t\tdate.getDate(),\n\t\t\t0,\n\t\t\tminutes\n\t\t).getTime();\n\t}\n\n\t/**\n\t * Return a date object for a specific date with a minute offset for that day's typical session open\n\t * @param {Date} tradingDate - the date to be offset\n\t * @param {object} typicalDay - object with typical session open offset\n\t * @property {number} typicalDay.min - number of minutes to offset open\n\t * @private\n\t */\n\tgetMinSessionDate(tradingDate, typicalDay) {\n\t\tconst dateMin = new Date(tradingDate);\n\t\tdateMin.setMinutes(typicalDay.min);\n\n\t\treturn dateMin;\n\t}\n\n\t/**\n\t * Return a date object for a specific date with a minute offset for that day's typical session close.\n\t * Also accounts for alternate session information\n\t * @param {Date} tradingDay\n\t * @param {Date} tradingDate - the date to be offset\n\t * @param {object} typicalDay - object with typical session close offset\n\t * @property {number} typicalDay.max - number of minutes to offset close\n\t * @returns {Date}\n\t * @private\n\t */\n\tgetMaxSessionDate(tradingDay, tradingDate, typicalDay) {\n\t\tlet dateMin = new Date(tradingDate);\n\t\tconst core = this.panel.core;\n\n\t\t// default to typical day's max\n\t\tdateMin.setMinutes(typicalDay.max);\n\n\t\t// adjust for alternate sessions\n\t\tif (core.params.collapseAlternateSessionGaps) {\n\t\t\tconst alternateSessions = core.timeService.alternateSessions || {};\n\n\t\t\t// find alternate session on this trading date\n\t\t\tObject.keys(alternateSessions).forEach(function (key) {\n\t\t\t\tif (key === tradingDay.replace(/Z$/, '')) {\n\t\t\t\t\t// this day's date matches alternatesessions date\n\n\t\t\t\t\t// calculate new max\n\t\t\t\t\tlet alternateMax = 0;\n\n\t\t\t\t\t// loop through typical day's rulersessions\n\t\t\t\t\tObject.keys(typicalDay.rulerSessions).forEach(function (\n\t\t\t\t\t\texchangeId\n\t\t\t\t\t) {\n\t\t\t\t\t\t// alternate sessions for this exchange\n\t\t\t\t\t\tconst matches = alternateSessions[key].filter(function (\n\t\t\t\t\t\t\trow\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn row.exchangeId === exchangeId;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// if alternate session found, use alternate close date\n\t\t\t\t\t\tif (matches.length > 0) {\n\t\t\t\t\t\t\t// find max of all matches\n\t\t\t\t\t\t\tconst matchesMax = Math.max(\n\t\t\t\t\t\t\t\tmatches.map(function (o) {\n\t\t\t\t\t\t\t\t\treturn o.close;\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\talternateMax = Math.max(alternateMax, matchesMax);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if no match, use typical close date\n\t\t\t\t\t\t\talternateMax = Math.max(\n\t\t\t\t\t\t\t\talternateMax,\n\t\t\t\t\t\t\t\ttypicalDay.rulerSessions[exchangeId].close\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\t// set alternate dateMin for this day only\n\t\t\t\t\tif (alternateMax > 0) {\n\t\t\t\t\t\tdateMin = new Date(tradingDate);\n\t\t\t\t\t\tdateMin.setMinutes(alternateMax);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn dateMin;\n\t}\n}\n\n/**\n * Indicator objects are indicator parameters (period, smoothing) applied to one or more Markers\n */\nclass Indicator {\n\t/** @param {object} args - Custom args */\n\tconstructor (args = {}) {\n\t\t/** @type {Panel} */\n\t\tthis.panel = args.panel;\n\t\t/** @type {number[]} */\n\t\tthis.scaleUids = args.scaleUids || [this.panel.xAxis.primaryScaleUid, this.panel.yAxis.primaryScaleUid];\n\t\t/** @type {object} */\n\t\tthis.params = this._getParams(args.params);\n\t\t/** @type {object} */\n\t\tthis.markers = this._getMarkers();\n\t\t/** @type {object} */\n\t\tthis.flags = {};\n\t}\n\n\t/**\n\t * Returns a merged collection of default and custom params\n\t * @param {object} args - Developer custom constructor args.\n\t * @returns {object}\n\t */\n\t_getParams (args) {\n\t\tconst params = {\n\t\t\textraInputs: [], // inputs not used by api (see mass index)\n\t\t\tid: 'indicator',\n\t\t\tinputs: [], // inputs used by chart api\n\t\t\tname: 'Chart Indicator',\n\t\t\tstyle: {},\n\t\t\tuid: createUid(),\n\t\t\tvisible: true // Whether or not the indicator should be rendered\n\t\t};\n\n\t\t// merge derived indicator's default params into local params\n\t\tlet paramsOut = { ...params, ...this._getDefaultParams() };\n\n\t\t// merge in styles from styleMap\n\t\tparamsOut.style = merge(paramsOut.style, this._getDefaultStyles(paramsOut.id));\n\n\t\t// merge in paramsCustom argument\n\t\tparamsOut = merge({}, paramsOut, args);\n\n\t\treturn paramsOut;\n\t}\n\n\t/**\n\t * Parse the styleMap for this indicator's styles\n\t * @param {string} id - Indicator id (aka 'sma')\n\t * @returns {object} A style object matching the styleMap for this indicator\n\t */\n\t_getDefaultStyles (id = this.params.id) {\n\t\tconst { core } = this.panel;\n\n\t\treturn core.styleMap\n\t\t\t? cloneDeep(core.styleMap.indicator[id])\n\t\t\t: {};\n\t}\n\n\t/**\n\t * Gets a style property from the chart style object\n\t * @param {string} selector - Style to search for\n\t * @param {string} [property] - Optional property\n\t */\n\t_getStyle (selector, property) {\n\t\treturn this.panel.core.getStyle(selector, property);\n\t}\n\n\t/**\n\t * Returns value of input name\n\t * @param {string} name - Input name to search for.\n\t */\n\tgetInput (name) {\n\t\tfor (let x = 0; x < this.params.inputs.length; x++) {\n\t\t\tif (this.params.inputs[x].name === name) {\n\t\t\t\treturn this.params.inputs[x].value;\n\t\t\t}\n\t\t}\n\n\t\tfor (let x = 0; x < (this.params.extraInputs || []).length; x++) {\n\t\t\tif (this.params.extraInputs[x].name === name) {\n\t\t\t\treturn this.params.extraInputs[x].value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets an input on this indicator\n\t * @param {string} name - The input to set\n\t * @param {string} value - The new input value\n\t */\n\tsetInput (name, value) {\n\t\t// Get indicator input with given name\n\t\tconst indicatorInput = this.params.inputs.filter((row) => {\n\t\t\treturn row.name === name;\n\t\t});\n\n\t\t// Set input to new value if that input was found above\n\t\tif (indicatorInput.length) {\n\t\t\t// Set input\n\t\t\tindicatorInput[0].value = value;\n\n\t\t\t// Fire update event\n\t\t\tconst indicator = this;\n\t\t\tthis.panel.core.eventEmitter.emit(\n\t\t\t\ttypes$1.INDICATOR_INPUT_UPDATE,\n\t\t\t\t{ indicator, name, value }\n\t\t\t);\n\t\t} else {\n\t\t\t// Figure out how to show error?\n\t\t\tthis.panel.core.warn(`Input ${name} not found`);\n\t\t}\n\t}\n\n\t/**\n\t * Sets a parameter on this indicator\n\t * @param {string} name - The parameter to set\n\t * @param {string} value - The new parameter value\n\t */\n\tsetParam (name, value) {\n\t\t// Get parameter with given name\n\t\tif (Object.prototype.hasOwnProperty.call(this.params, name)) {\n\t\t\t// Set param\n\t\t\tthis.params[name] = value;\n\n\t\t\t// Fire update event\n\t\t\tconst indicator = this;\n\t\t\tthis.panel.core.eventEmitter.emit(\n\t\t\t\ttypes$1.INDICATOR_PARAM_UPDATE,\n\t\t\t\t{ indicator, name, value }\n\t\t\t);\n\t\t} else {\n\t\t\tthis.panel.core.warn(`Param ${name} not found`);\n\t\t}\n\t}\n\n\t/**\n\t * Sets a style on this indicator\n\t * @param {string} name - The style to set\n\t * @param {string} value - The new style value\n\t */\n\tsetStyle (name, value) {\n\t\t// Make sure that numbers are saved as numbers, not strings\n\t\tif (\n\t\t\ttypeof this.getStyle(name) === 'number' &&\n\t\t\ttypeof value !== 'number' &&\n\t\t\t!isNaN(value)\n\t\t) value = Number(value);\n\t\t\n\t\tset(this.params.style, name, value);\n\n\t\t// Fire update event\n\t\tconst indicator = this;\t\t\n\t\tthis.panel.core.eventEmitter.emit(\n\t\t\ttypes$1.INDICATOR_STYLE_UPDATE,\n\t\t\t{ indicator, name, value }\n\t\t);\n\t}\n\n\t/**\n\t * Returns style info for the given selector from this indicator's params.style collection\n\t * @param {string} selector - Selector to use when getting style (eg. 'panel.padding.right')\n\t * @return {string|number} The style found in the styleMap\n\t */\n\tgetStyle(selector) {\n\t\treturn get(this.params.style, selector);\n\t}\n\n\t/**\n\t * Clips canvas context to panel size\n\t * @param {CanvasRenderingContext2D} ctx - Canvas context\n\t * @param {string} direction - Specify which area to clip - above or below value\n\t * @param {int} value - The value limit of clip\n\t * @return {CanvasRenderingContext2D}\n\t */\n\t_clip (ctx, direction, value) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\n\t\tconst top = this.panel.params.style.padding.top;\n\t\tconst right = this.panel.params.style.padding.left + this.panel.size.width;\n\t\tconst bottom = this.panel.params.style.padding.top + this.panel.size.height;\n\t\tconst left = this.panel.params.style.padding.left;\n\t\tconst y0 = this._yScale()(value);\n\n\t\tif (direction === 'above') {\n\t\t\tctx.moveTo(left, top);\n\t\t\tctx.lineTo(right, top);\n\t\t\tctx.lineTo(right, y0);\n\t\t\tctx.lineTo(left, y0);\n\t\t} else {\n\t\t\tctx.moveTo(left, y0);\n\t\t\tctx.lineTo(right, y0);\n\t\t\tctx.lineTo(right, bottom);\n\t\t\tctx.lineTo(left, bottom);\n\t\t}\n\n\t\tctx.closePath();\n\n\t\tctx.clip();\n\n\t\treturn ctx;\n\t}\n\n\t/**\n\t * Restores context to preclip state\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @return {CanvasRenderingContext2D}\n\t */\n\t_clipEnd (ctx) {\n\t\tctx.restore();\n\t\treturn ctx;\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator.\n\t * @abstract\n\t */\n\t_getDefaultParams () {\n\t\tconsole.warn('Required Indicator method _getDefaultParams not found');\n\t}\n\n\t/**\n\t * Maps the current slice of indicator data to a one-dimensional array for\n\t * use in generic marker rendering.\n\t * @abstract\n\t */\n\t_getDataMap () {\n\t\tconsole.warn('Required Indicator method _getDataMap not found');\n\t}\n\n\t/**\n\t * Returns indicator panel's xaxis d3-scale\n\t * @returns {d3-scale}\n\t */\n\t_xScale () {\n\t\treturn this.panel.xAxis.getScale(this.scaleUids[0]);\n\t}\n\n\t/**\n\t * Returns indicator panel's yaxis d3-scale\n\t * @returns {d3-scale}\n\t */\n\t_yScale () {\n\t\treturn this.panel.yAxis.getScale(this.scaleUids[1]);\n\t}\n\n\t/**\n\t * Returns the minimum value of all datasets for this indicator.\n\t * @abstract\n\t */\n\tgetRangeMin () {\n\t\tconsole.warn('Required Indicator method getRangeMin not found');\n\t}\n\n\t/**\n\t * Returns the maximum value of all datasets for this indicator.\n\t * @abstract\n\t */\n\tgetRangeMax () {\n\t\tconsole.warn('Required Indicator method getRangeMax not found');\n\t}\n\n\t/**\n\t * Helper function for getMinRange\n\t * @return {number} The minimum value in the arguments\n\t */\n\t_min () {\n\t\tlet min = Infinity;\n\n\t\tfor (const a of arguments) {\n\t\t\tmin = Math.min(a, min);\n\t\t}\n\t\treturn min;\n\t}\n\n\t/**\n\t * Helper function for getMaxRange\n\t * @return {number} The maximum value in the arguments\n\t */\n\t_max () {\n\t\tlet max = -Infinity;\n\n\t\tfor (const a of arguments) {\n\t\t\tmax = Math.max(a, max);\n\t\t}\n\t\treturn max;\n\t}\n\n\t/**\n\t * Return true if mouse coordinates intersect indicator.\n\t * @return {Boolean} Whether or not the the mouse is within the indicator\n\t * @abstract\n\t */\n\tisWithin () {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Checks for overlap between two boxes\n\t * todo: performance improvement - convert to simple arrays instead of objects with x,y,width,height props\n\t * @param {object} r1 - Rectangle 1\n\t * @property {number} r1.x - Rectangle 1 x location\n\t * @property {number} r1.y - Rectangle 1 y location\n\t * @property {number} r1.width - Rectangle 1 width\n\t * @property {number} r1.height - Rectangle 1 height\n\t * @param {object} r2 - Rectangle 1\n\t * @property {number} r2.x - Rectangle 1 x location\n\t * @property {number} r2.y - Rectangle 1 y location\n\t * @property {number} r2.width - Rectangle 1 width\n\t * @property {number} r2.height - Rectangle 1 height\n\t * @returns {boolean}\n\t */\n\t_intersect (r1, r2) {\n\t\tif (\n\t\t\tr1.x < r2.x + r2.width &&\n\t\t\tr2.x < r1.x + r1.width &&\n\t\t\tr1.y < r2.y + r2.height\n\t\t) {\n\t\t\treturn r2.y < r1.y + r1.height;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Initialize and create references to this Indicator's Marker objects.\n\t * @abstract\n\t */\n\t_getMarkers () {\n\t\tconsole.warn('Required Indicator method _getMarkers not found');\n\t}\n\n\t/**\n\t * Render this Indicator's Marker objects\n\t * @abstract\n\t */\n\trender () {\n\t\tconsole.warn('Required Indicator method render not found');\n\t}\n\n\t/**\n\t * Cleanup before removing this indicator from panel's indicator collection\n\t */\n\tremove () {\n\t\t// remove any associated flags\n\t\tObject.keys(this.flags).forEach(key => {\n\t\t\tconst flag = this.flags[key];\n\t\t\tflag.remove();\n\t\t\tdelete this.flags[key];\n\t\t});\n\t}\n\n\t/**\n\t * Returns a gradient object given some colors and stops\n\t * @param {CanvasRenderingContext2D} ctx - Canvas context\n\t * @param {string} colorStart - CSS color value for the gradient start\n\t * @param {string} colorStop - CSS color value for the gradient stop\n\t * @param {number} x0 - X axis start location\n\t * @param {number} y0 - Y axis start location\n\t * @param {number} x1 - X axis end location\n\t * @param {number} y1 - Y axis end location\n\t * @returns {ICanvasGradient}\n\t */\n\t_getLinearGradient (\n\t\tctx,\n\t\tcolorStart,\n\t\tcolorStop,\n\t\tx0,\n\t\ty0,\n\t\tx1,\n\t\ty1\n\t) {\n\t\tconst fill = ctx.createLinearGradient(x0, y0, x1, y1);\n\t\tfill.addColorStop(0, colorStart);\n\t\tfill.addColorStop(1, colorStop);\n\t\treturn fill;\n\t}\n\t\n\t/**\n\t * Gets a generic JSON object representation of this Indicator\n\t * @returns {object} JSON representation of this indicator\n\t */\n\ttoJSON () {\n\t\tconst json = {};\n\t\tconst skipIndicatorParams = ['description']; // don't save these indicator params\n\t\tObject.keys(this.params).forEach(key => {\n\t\t\tconst value = this.params[key];\n\t\t\tif (value === null) {\n\t\t\t\treturn true;\n\t\t\t} else if (typeof value === 'object') {\n\t\t\t\tif (value.constructor === Array) {\n\t\t\t\t\tjson[key] = [ ...[], ...value ];\n\t\t\t\t} else {\n\t\t\t\t\tjson[key] = { ...{}, ...value };\n\t\t\t\t}\n\t\t\t} else if (!skipIndicatorParams.includes(key)) {\n\t\t\t\tjson[key] = value;\n\t\t\t}\n\t\t});\n\t\treturn json;\n\t}\n\n\t/**\n\t * Returns the first datapoint so that it can be passed back to ModchartsEngine for pan events.\n\t * This prevents a jagged 'stairstep' jump when panning. Only needed for a few indicators (OBV, A/D, ADL).\n\t * @returns {object} Date and value of the first datapoint\n\t */\n\t_getCumulativeAdjustment () {\n\t\tconst chart = this.panel.core;\n\t\tconst data = chart.data[chart.params.symbol][this.params.id][this.params.uid][0]; // this.data['36276'].adl['518b16a3'][0].adl\n\t\t// adjust the time offset so it is passed through as UTC (CH-352)\n\t\tconst exchangeOffset = this.panel.core.xref[this.panel.core.params.symbol].utcOffset;\n\t\tconst localOffset = data.date.getTimezoneOffset();\n\t\tconst newDateIntraday = new Date(data.date.getTime() - ((localOffset + exchangeOffset) * 60000));\n\t\tconst newDateInterday = new Date(data.date.getTime() - (localOffset * 60000));\n\t\treturn {\n\t\t\tdate: this.panel.core.state.isIntraday ? newDateIntraday : newDateInterday,\n\t\t\tvalue: data[this.params.id]\n\t\t};\n\t}\n}\n\n/**\n * Marker objects can directly alter the DOM using primitive shapes and lines\n * and are intended to be managed via Indicator objects\n */\nclass Marker {\n\tconstructor(params, panel) {\n\t\tthis.panel = panel;\n\t\tthis.params = this._getParams(params);\n\t}\n\n\t/**\n\t * A wrapper for getDefaultParams\n\t * @return {object}\n\t */\n\t_getParams(params) {\n\t\treturn merge({}, this.getDefaultParams(), params);\n\t}\n\n\t/**\n\t * return the default params for this type of Marker\n\t * @return {object}\n\t */\n\tgetDefaultParams() {\n\t\tthrow new Error('Required Marker method not found');\n\t}\n\n\t/**\n\t * Gets a style property from the chart style object\n\t * @param {string} selector - Style to search for\n\t * @param {string} [property] - Optional property\n\t */\n\t_getStyle (selector, property) {\n\t\treturn this.panel.core.getStyle(selector, property);\n\t}\n\n\t/**\n\t * calculate dynamic bar width based on data period and panel domain\n\t * (method used by more than one marker subclass so it lives here)\n\t * @param {Panel} panel\n\t * @return {int}\n\t */\n\tgetBarWidth(panel, min = null, max = null) {\n\t\tif (!min && !max) [min, max] = panel.xAxis.primaryScale.domain();\n\t\tconst { width } = panel.size;\n\t\tlet len = max - min;\n\n\t\tswitch (panel.core.params.dataPeriod) {\n\t\t\tcase 'Year':\n\t\t\t\tlen /= 365;\n\t\t\t\tbreak;\n\t\t\tcase 'Month':\n\t\t\t\tlen /= 15;\n\t\t\t\tbreak;\n\t\t\tcase 'Week':\n\t\t\t\tlen /= 3;\n\t\t\t\tbreak;\n\t\t\tcase 'Day':\n\t\t\t\tbreak;\n\t\t\tcase 'Hour':\n\t\t\t\tlen /= 30;\n\t\t\t\tbreak;\n\t\t\tcase 'Minute':\n\t\t\t\tlen /= panel.core.params.dataInterval\n\t\t\t\t\t? panel.core.params.dataInterval\n\t\t\t\t\t: 1;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst w0 = Math.min(15, Math.max(0, width / len / 2 / 2));\n\n\t\treturn w0 < 0.25 ? 0 : w0;\n\t}\n\n\t/** Update DOM elements using primitive shapes and lines */\n\trender() {\n\t\tthrow new Error('Required Marker method not found');\n\t}\n}\n\n/** Line marker */\nclass LineMarker extends Marker {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: '#000',\n\t\t\tfillColor: 'none',\n\t\t\tfillBetweenColor: '#aaa'\n\t\t};\n\t}\n\n\trender(\n\t\tctx,\n\t\tdata,\n\t\txScale,\n\t\tyScale,\n\t\tcolor,\n\t\tlineWidth,\n\t\tlineDash,\n\t\tisStepped\n\t) {\n\t\tif (!data.length || !data[0].length) return;\n\n\t\tif (ctx.setLineDash && lineDash) {\n\t\t\tctx.setLineDash(lineDash.split(/\\s*,\\s*/));\n\t\t}\n\n\t\tctx.lineJoin = 'round';\n\n\t\t// lineWidth defaults\n\t\tif (lineWidth === null) lineWidth = this.params.lineWidth;\n\n\t\t// don't render if lineWidth is 0\n\t\tif (lineWidth === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.lineWidth = lineWidth;\n\t\tctx.strokeStyle = color || this.params.lineColor;\n\n\t\tctx.beginPath();\n\n\t\tctx.moveTo(subpixel.px(xScale(data[0][0])), subpixel.px(yScale(data[0][1])));\n\n\t\tthis.getLine(ctx, data, xScale, yScale, false, isStepped);\n\n\t\tctx.stroke();\n\n\t\t// reset dashed line\n\t\tif (ctx.setLineDash) {\n\t\t\tctx.setLineDash([]);\n\t\t}\n\t}\n\n\tgetCoords(ctx, data, xScale, yScale) {\n\t\tif (!data.length || !data[0].length) {\n\t\t\t/* console.error(\"No data passed to LineMarker getCoords\"); */ \n\t\t\treturn;\n\t\t}\n\n\t\tconst coords = [];\n\n\t\tcoords.push([subpixel.px(xScale(data[0][0])), subpixel.px(yScale(data[0][1]))]);\n\n\t\treturn [ ...coords, ...this.getLine(ctx, data, xScale, yScale, true, true) ];\n\t}\n\t\n\trenderFill(ctx, data, height, xScale, yScale, fillStyle, fillToValue) {\n\t\tif (!data.length || data.length < 2 || !data[0].length) {\n\t\t\t/* console.error(\"No data passed to LineMarker renderFill\"); */ return;\n\t\t}\n\n\t\tctx.lineJoin = 'round';\n\t\tctx.fillStyle = fillStyle || this.params.fillColor;\n\t\tctx.beginPath();\n\n\t\t// get vertices for normal line\n\t\tconst firstIndex = this.getLine(ctx, data, xScale, yScale);\n\t\tlet y0;\n\n\t\t// complete the fill region with two extra vertices\n\t\tif (typeof fillToValue === 'number') {\n\t\t\t// fill to a specific value (commonly 0.0)\n\t\t\ty0 = subpixel.px(Math.min(yScale(fillToValue), height));\n\t\t} else {\n\t\t\t// fill to bottom of panel\n\t\t\ty0 = subpixel.px(height - 1);\n\t\t}\n\n\t\t// add a vertex at (last index, y0)\n\t\tif (data.length > 0) {\n\t\t\tctx.lineTo(subpixel.px(xScale(data[data.length - 1][0])), y0);\n\t\t}\n\n\t\t// add a vertex at (first index, y0)\n\t\tif (\n\t\t\ttypeof firstIndex === 'number' &&\n\t\t\ttypeof data[firstIndex] !== 'undefined'\n\t\t) {\n\t\t\tctx.lineTo(subpixel.px(xScale(data[firstIndex][0])), y0);\n\t\t}\n\n\t\tctx.fill();\n\t}\n\trenderFillBetween(ctx, dataUp, dataDown, xScale, yScale, fillStyle) {\n\t\tif (!dataUp.length || !dataUp[0].length) {\n\t\t\t/* console.error(\"No data passed to LineMarker renderFillBetween\"); */ return;\n\t\t}\n\n\t\tctx.lineJoin = 'round';\n\t\tctx.fillStyle = fillStyle || this.params.fillBetweenColor;\n\t\tctx.beginPath();\n\n\t\tctx.moveTo(\n\t\t\tsubpixel.px(xScale(dataUp[0][0])),\n\t\t\tsubpixel.px(yScale(dataUp[0][1]))\n\t\t);\n\n\t\tthis.getLine(ctx, dataUp, xScale, yScale);\n\n\t\tctx.lineTo(\n\t\t\tsubpixel.px(xScale(dataDown[dataDown.length - 1][0])),\n\t\t\tsubpixel.px(yScale(dataUp[dataUp.length - 1][1]))\n\t\t);\n\t\tctx.lineTo(\n\t\t\tsubpixel.px(xScale(dataDown[dataDown.length - 1][0])),\n\t\t\tsubpixel.px(yScale(dataDown[dataDown.length - 1][1]))\n\t\t);\n\n\t\tthis.getLine(\n\t\t\tctx,\n\t\t\tArray.prototype.slice.call(dataDown).reverse(),\n\t\t\txScale,\n\t\t\tyScale\n\t\t);\n\n\t\tctx.lineTo(\n\t\t\tsubpixel.px(xScale(dataDown[0][0])),\n\t\t\tsubpixel.px(yScale(dataDown[0][1]))\n\t\t);\n\n\t\tctx.fill();\n\t}\n\tgetLine(ctx, data, xScale, yScale, getData, isStepped) {\n\t\tlet x0 = 0;\n\t\tlet y0 = 0;\n\t\tlet x = 0;\n\t\tlet xLen = data.length;\n\t\tlet xLast = 0;\n\t\tlet yLast = 0;\n\t\tlet firstIndex;\n\t\tconst coords = [];\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\tx0 = subpixel.px(xScale(data[x][0]));\n\t\t\ty0 = subpixel.px(yScale(data[x][1]));\n\n\t\t\tif (!isNaN(y0) && !isNaN(x0)) {\n\t\t\t\tif (typeof firstIndex !== 'number') {\n\t\t\t\t\tfirstIndex = x;\n\t\t\t\t}\n\n\t\t\t\tif (x0 !== xLast || y0 !== yLast) {\n\t\t\t\t\tif (yLast && isStepped) {\n\t\t\t\t\t\tcoords.push([x0, yLast]);\n\t\t\t\t\t}\n\n\t\t\t\t\tcoords.push([x0, y0]);\n\t\t\t\t}\n\n\t\t\t\txLast = x0;\n\t\t\t\tyLast = y0;\n\t\t\t}\n\t\t}\n\n\t\t// draw coords collection\n\t\tfor (x = 0, xLen = coords.length; x < xLen; x++) {\n\t\t\tctx.lineTo(coords[x][0], coords[x][1]);\n\t\t}\n\n\t\tif (getData) {\n\t\t\treturn coords;\n\t\t} else {\n\t\t\treturn firstIndex;\n\t\t}\n\t}\n}\n\n/**\n * Accumulation / Distribution Line indicator\n */\nclass ADLIndicator extends Indicator {\n\t/** @param {object} args - Custom args*/\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator Name\n\t * @property {string} description - Indicator Description\n\t * @property {string} style.lineColor - Indicator line color\n\t * @property {string} style.lineWidth - Indicator line width\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'adl',\n\t\t\tname: 'Accumulation / Distribution',\n\t\t\tdescription: 'The Accumulation/Distribution Line is calculated by adding or subtracting a portion of each day’s volume from a cumulative total. The amount of volume to add or subtract is based on the relationship between the close and the high-low range. The closer the close is to the high, the more volume is added to the cumulative total. Conversely, the closer the close is to the low, the more volume is subtracted from the cumulative total. If the close is exactly midway between the high and low prices, nothing is added to the cumulative total.'\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @returns {number} d3 range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.adl || [], function (i) {\n\t\t\treturn +i.adl;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @returns {number} d3 range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.adl || [], function (i) {\n\t\t\treturn +i.adl;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t*/\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.adl];\n\t\t});\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.cumulativeAdjustment = this._getCumulativeAdjustment();\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.adl || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/**\n * Advance/Decline Indicator\n */\nclass AdvanceDeclineIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator Name\n\t * @property {string} description - Indicator Description\n\t * @property {string} style.lineColor - Indicator line color\n\t * @property {string} style.lineWidth - Indicator line width\n\t * @property {object[]} inputs - The advancer and decliner inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'advancedecline',\n\t\t\tname: 'Advance/Decline Line',\n\t\t\tdescription:\n\t\t\t\t'The Advance/Decline Line is a breadth indicator based on Net Advances, which is the number of advancing stocks less the number of declining stocks. Net Advances is positive when advances exceed declines and negative when declines exceed advances.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'Advancers', value: 10025197 }, // hard-coded NYSE issues as defaults\n\t\t\t\t{ name: 'Decliners', value: 10025198 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * \n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.advancedecline || [], function (i) {\n\t\t\treturn +i.advancedecline;\n\t\t});\n\t}\n\n\t/**\n\t * \n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.advancedecline || [], function (i) {\n\t\t\treturn +i.advancedecline;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.advancedecline];\n\t\t});\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.cumulativeAdjustment = this._getCumulativeAdjustment();\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.advancedecline || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Average True Range indicator */\nclass AverageTrueRangeIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator Name\n\t * @property {string} description - Indicator Description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'avgtruerange',\n\t\t\tname: 'Average True Range',\n\t\t\tdescription:\n\t\t\t\t'Average True Range is a volatility indicator that measures how much a security\\'s price moves in a typical period. It differs from statistical measures like Standard Deviation in that it uses the Open, High, Low, and Closing prices to calculate the range, whereas Standard Deviation only uses closing prices.',\n\t\t\tinputs: [{ name: 'period', value: 14 }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.avgtruerange || [], function (i) {\n\t\t\treturn +i.avgtruerange;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.avgtruerange || [], function (i) {\n\t\t\treturn +i.avgtruerange;\n\t\t});\n\t}\n\n\t/** \n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d[type]];\n\t\t});\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.avgtruerange || [], 'avgtruerange'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Bar marker */\nclass BarMarker extends Marker {\n\tconstructor(params) {\n\t\tsuper(params);\n\t}\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillColor: '#000'\n\t\t};\n\t}\n\trender(panel, ctx, data, xScale, yScale, fillColor, align='default') {\n\t\tlet x;\n\t\tlet y;\n\t\tlet heightBar;\n\t\tlet val;\n\t\tconst widthBar = this.getBarWidth(panel);\n\t\tconst yMin = yScale.range()[0];\n\t\tconst yMax = yScale.range()[1];\n\t\tconst yZero = yScale(0); // Y-coord for zero value\n\t\tlet xLast = Math.round(xScale(data[data.length - 1][0]));\n\t\tlet yLast = Math.round(yScale(data[data.length - 1][1]));\n\n\t\t// Calculate where the top of the rectangle should be: bottom of panel, top of panel, or zero line of Y-axis\n\t\tlet yTop;\n\t\tif (yZero > yMax) yTop = yMax;\n\t\telse if (yZero < yMin) yTop = yMin;\n\t\telse yTop = yZero;\n\n\t\tctx.lineWidth = 1;\n\t\tctx.fillStyle = fillColor || this.params.fillColor;\n\t\tctx.strokeStyle = ctx.fillStyle;\n\n\t\tctx.beginPath();\n\n\t\tfor (const dataSet of data) {\n\t\t\tctx.fillStyle = fillColor || this.params.fillColor;\n\n\t\t\tval = dataSet[1];\n\n\t\t\t// Don't draw bars with no value\n\t\t\tif (val === 0) continue;\n\n\t\t\tx = xScale(dataSet[0]);\n\t\t\ty = yScale(val);\n\n\t\t\t// Get bar height\n\t\t\theightBar = yTop - y;\n\n\t\t\t// align the bottom of each bar exactly above the panel border\n\t\t\tif (align === 'bottom') {\n\t\t\t\ty = yMax - heightBar - 2;\n\t\t\t}\n\t\t\t\n\t\t\t// Skip undrawable bars for speed\n\t\t\tif (x !== xLast || y < yLast) {\n\t\t\t\tif (widthBar > 0) {\n\t\t\t\t\tsubpixel.fillRect(ctx, x - widthBar, y, widthBar * 2, heightBar);\n\t\t\t\t} else {\n\t\t\t\t\t// not wide enough for a rect - use single line instead\n\t\t\t\t\tsubpixel.moveTo(ctx, x, y);\n\t\t\t\t\tsubpixel.lineTo(ctx, x, y + heightBar);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txLast = x;\n\t\t\tyLast = y;\n\t\t}\n\n\t\t// Draw filled rectangle or just a line\n\t\tif (widthBar > 0) {\n\t\t\tctx.fill();\n\t\t} else {\n\t\t\tctx.stroke();\n\t\t}\n\t}\n}\n\n/** Awesome Oscillator indicator */\nclass AwesomeOscillatorIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator Name\n\t * @property {string} description - Indicator Description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'awesomeoscillator',\n\t\t\tname: 'Awesome Oscillator',\n\t\t\tdescription:\n\t\t\t\t\"Awesome Oscillator measures short-term momentum in a security. It is displayed as a histogram of the difference between two simple moving averages of the midpoints of each period's prices.\",\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period1', value: 5 },\n\t\t\t\t{ name: 'period2', value: 34 }\n\t\t\t],\n\t\t\tstyle: {\n\t\t\t\tfillColorPos: this._getStyle(\n\t\t\t\t\t'indicator.awesomeoscillator.positive.color'\n\t\t\t\t),\n\t\t\t\tfillColorNeg: this._getStyle(\n\t\t\t\t\t'indicator.awesomeoscillator.negative.color'\n\t\t\t\t)\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn this._min(\n\t\t\tmin(data.awesomeoscillator || [], function (i) {\n\t\t\t\treturn i.awesomeoscillator;\n\t\t\t}),\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn this._max(\n\t\t\tmax(data.awesomeoscillator || [], function (i) {\n\t\t\t\treturn i.awesomeoscillator;\n\t\t\t}),\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {BarMarker} barUp\n\t * @property {BarMarker} barDown\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tbarUp: new BarMarker(),\n\t\t\t\tbarDown: new BarMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * \n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\tswitch (type) {\n\t\t\tcase 'pos':\n\t\t\t\treturn data.map(function (d, idx) {\n\t\t\t\t\tconst val = d.awesomeoscillator;\n\t\t\t\t\tconst prev = data[idx - 1] || data[idx];\n\t\t\t\t\tconst valPrev = prev.awesomeoscillator;\n\n\t\t\t\t\t//console.log(\"date\", new Date(this.panel.core.exchangeDates[d.dateIndex]).toISOString().replace(/T.*/,\"\"),\"ao\",val.toFixed(4));\n\n\t\t\t\t\treturn [d.dateIndex, val >= valPrev ? val : 0];\n\t\t\t\t});\n\n\t\t\tcase 'neg':\n\t\t\t\treturn data.map(function (d, idx) {\n\t\t\t\t\tconst val = d.awesomeoscillator;\n\t\t\t\t\tconst prev = data[idx - 1] || data[idx];\n\t\t\t\t\tconst valPrev = prev.awesomeoscillator;\n\n\t\t\t\t\treturn [d.dateIndex, val < valPrev ? val : 0];\n\t\t\t\t});\n\n\t\t\tdefault:\n\t\t\t\treturn [];\n\t\t}\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\n\t\tthis.markers.barUp.render(\n\t\t\tthis.panel,\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.awesomeoscillator || [], 'pos'),\n\t\t\tx,\n\t\t\ty,\n\t\t\tthis.params.style.fillColorPos\n\t\t);\n\n\t\tthis.markers.barDown.render(\n\t\t\tthis.panel,\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.awesomeoscillator || [], 'neg'),\n\t\t\tx,\n\t\t\ty,\n\t\t\tthis.params.style.fillColorNeg\n\t\t);\n\t}\n}\n\n/** High/Low indicator */\nclass BestWorstIndicator extends Indicator {\n\t/** @param {object} args Custom args*/\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {string} timeframe - Number of trading days (or trading minutes) to measure\n\t * @property {boolean} auto - If true, calculate ranges automatically from timeframe input\n\t * @property {string} dateStartBest - Starting date of best period. Must be parseable by Date.parse()\n\t * @property {string} dateStopBest - Ending date of best period. Must be parseable by Date.parse()\n\t * @property {string} dateStartWorst - Starting date of worst period. Must be parseable by Date.parse()\n\t * @property {string} dateStopWorst - Ending date of worst period. Must be parseable by Date.parse()\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'bestworst',\n\t\t\tname: 'Best / Worst',\n\t\t\tdescription: 'Shade the best/worst performing time range',\n\t\t\tauto: false,\n\t\t\tdateStartBest: null,\n\t\t\tdateStopBest: null,\n\t\t\tdateStartWorst: null,\n\t\t\tdateStopWorst: null,\n\t\t\ttimeframe: 20\n\t\t};\n\t}\n\t\n\t/** @returns {null} */\n\tgetRangeMin() {\n\t\treturn 10000;\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMax() {\n\t\treturn 10000;\n\t}\n\n\t/** @returns {null} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/** @returns {null} */\n\t_getDataMap() {\n\t\treturn null;\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {number} dateStart - Start date of region\n\t * @param {number} dateStop - Stop date of region\n\t * @param {string} bgColor - Background color of region\n\t * @param {string} lineColor - Left/right border color of region\n\t * @param {string} lineDash - Line dash\n\t * @returns {undefined}\n\t */\n\t_renderRegion(id, dateStart, dateStop, bgColor, lineColor, lineDash) {\n\t\tif (dateStart && dateStop) {\n\t\t\tconst ctx = this.panel.rootContext;\n\t\t\tconst minDate = new Date(dateStart);\n\t\t\tconst maxDate = new Date(dateStop);\n\t\t\tconst size = this.panel.size;\n\t\t\tconst height = size.height - 1.5;\n\t\t\tconst core = this.panel.core;\n\t\t\tconst x0 = this._xScale()(core.closestExchangeIndex(minDate));\n\t\t\tconst x1 = Math.min(\n\t\t\t\tthis._xScale()(core.closestExchangeIndex(maxDate)), \n\t\t\t\tsize.width\n\t\t\t);\n\t\t\tctx.beginPath();\n\t\t\tctx.fillStyle = bgColor;\n\t\t\tctx.strokeStyle = lineColor;\n\t\t\tctx.lineWidth = this.params.style.width;\n\t\t\tif (lineDash){\n\t\t\t\tctx.setLineDash(lineDash.split(/\\s*,\\s*/));\n\t\t\t}\n\t\t\t// fill\n\t\t\tsubpixel.fillRect(ctx, x0 + 0.5, 0.5, x1 - x0 - 1, height - 1.5);\n\t\t\t// borders\n\t\t\tsubpixel.moveTo(ctx, x0, 0);\n\t\t\tsubpixel.lineTo(ctx, x0, height);\n\t\t\tsubpixel.moveTo(ctx, x1, 0);\n\t\t\tsubpixel.lineTo(ctx, x1, height);\n\t\t\tctx.stroke();\n\t\t\tctx.setLineDash([]);\n\t\t\tctx.closePath();\n\t\t\t// event\n\t\t\tcore.eventEmitter.emit(types$1.INDICATOR_BESTWORST_UPDATE, {\n\t\t\t\tid: id,\n\t\t\t\tdateStart: dateStart,\n\t\t\t\tdateStop: dateStop\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Return start/stop dates for highest and lowest percentage change\n\t */\n\t_getDateRanges(data, timeframe) {\n\t\tlet maxPct = -Infinity;\n\t\tlet minPct = Infinity;\n\t\tconst dates = {\n\t\t\tbest: {},\n\t\t\tworst: {}\n\t\t};\n\t\tfor (let i = data.length - 1; i >= timeframe; i--){\n\t\t\tconst thisVal = data[i].close;\n\t\t\tconst compareVal = data[i - timeframe].close;\n\t\t\tconst pct = (thisVal - compareVal) / Math.abs(compareVal);\n\t\t\tif (pct < minPct) {\n\t\t\t\tminPct = pct;\n\t\t\t\tdates.worst.start = data[i - timeframe].date;\n\t\t\t\tdates.worst.stop = data[i].date;\n\t\t\t} else if (pct > maxPct) {\n\t\t\t\tmaxPct = pct;\n\t\t\t\tdates.best.start = data[i - timeframe].date;\n\t\t\t\tdates.best.stop = data[i].date;\n\t\t\t}\n\t\t}\n\t\treturn dates;\n\t}\n\t\n\t/**\n\t * Adjust the timeframe input for different periods\n\t*/\n\t_getTimeframe(timeframe) {\n\t\tconst period = this.panel.core.params.dataPeriod;\n\t\tif (period === 'Year') {\n\t\t\treturn Math.round(timeframe / 20 * 12);\n\t\t} else if (period === 'Month') {\n\t\t\treturn Math.round(timeframe / 20);\n\t\t} else if (period === 'Week') {\n\t\t\treturn Math.round(timeframe / 7);\n\t\t}\n\t\treturn timeframe;\n\t}\n\n\t/**\n\t * @param {object} data Symbol data object \n\t * @returns {undefined}\n\t */\n\trender(data) {\n\t\tif (!data.price) {\n\t\t\treturn;\n\t\t}\n\t\tconst params = this.params;\n\t\tconst style = params.style;\n\t\tlet startBest = params.dateStartBest;\n\t\tlet stopBest = params.dateStopBest;\n\t\tlet startWorst = params.dateStartWorst;\n\t\tlet stopWorst = params.dateStopWorst;\n\t\tif (params.auto && params.timeframe){\n\t\t\tconst timeframe = this._getTimeframe(this.params.timeframe);\n\t\t\tconst { best, worst } = this._getDateRanges(data.price, timeframe);\n\t\t\tstartBest = best.start;\n\t\t\tstopBest = best.stop;\n\t\t\tstartWorst = worst.start;\n\t\t\tstopWorst = worst.stop;\n\t\t}\n\t\t// best region\n\t\tthis._renderRegion(\n\t\t\t'best',\n\t\t\tstartBest, \n\t\t\tstopBest,\n\t\t\tstyle.best.backgroundColor,\n\t\t\tstyle.best.color,\n\t\t\tstyle.best.lineDash\n\t\t);\n\t\t// worst region\n\t\tthis._renderRegion(\n\t\t\t'worst',\n\t\t\tstartWorst, \n\t\t\tstopWorst,\n\t\t\tstyle.worst.backgroundColor,\n\t\t\tstyle.worst.color,\n\t\t\tstyle.worst.lineDash\n\t\t);\n\t}\n}\n\n/** Bollinger Bands\\u00AE indicator */\nclass BollingerBandsIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'bollinger',\n\t\t\tname: 'Bollinger Bands®',\n\t\t\tdescription:\n\t\t\t\t'Bollinger Bands® are created by plotting the standard deviation around a moving average and are expected to capture approximately 95% of all price action. They are also used to highlight periods of high and low volatility.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period', value: 20 },\n\t\t\t\t{ name: 'standardDeviations', value: 2 }\n\t\t\t],\n\t\t\tcomponentSeries: [\n\t\t\t\t{ id: 'top' },\n\t\t\t\t{ id: 'sma', style: { backgroundColor: 'lineColorSMA' } },\n\t\t\t\t{ id: 'bottom' }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.bollinger || [], function (i) {\n\t\t\treturn +i.bottom;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.bollinger || [], function (i) {\n\t\t\treturn +i.top;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} lineSMA\n\t * @property {LineMarker} lineTop\n\t * @property {LineMarker} lineBottom\n\t * @property {LineMarker} lineFill\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tlineSMA: new LineMarker(),\n\t\t\t\tlineTop: new LineMarker(),\n\t\t\t\tlineBottom: new LineMarker(),\n\t\t\t\tlineFill: new LineMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * \n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\tswitch (type) {\n\t\t\tcase 'top':\n\t\t\t\treturn data.map(function (d) {\n\t\t\t\t\treturn [d.dateIndex, +d.top];\n\t\t\t\t});\n\n\t\t\tcase 'sma':\n\t\t\t\treturn data.map(function (d) {\n\t\t\t\t\treturn [d.dateIndex, +d.sma];\n\t\t\t\t});\n\n\t\t\tcase 'bottom':\n\t\t\t\treturn data.map(function (d) {\n\t\t\t\t\treturn [d.dateIndex, +d.bottom];\n\t\t\t\t});\n\n\t\t\tdefault:\n\t\t\t\treturn [];\n\t\t}\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\t\tlet dataTop = this._getDataMap(data.bollinger || [], 'top');\n\t\tlet dataBottom = this._getDataMap(data.bollinger || [], 'bottom');\n\t\tconst style = this.params.style;\n\t\tthis.markers.lineFill.renderFillBetween(\n\t\t\tctx,\n\t\t\tdataTop,\n\t\t\tdataBottom,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.fillColor\n\t\t);\n\t\tthis.markers.lineTop.render(\n\t\t\tctx,\n\t\t\tdataTop,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t\tthis.markers.lineBottom.render(\n\t\t\tctx,\n\t\t\tdataBottom,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t\tthis.markers.lineSMA.render(\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.bollinger || [], 'sma'),\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.sma.color,\n\t\t\tstyle.sma.width,\n\t\t\tstyle.sma.lineDash\n\t\t);\n\n\t\tdataTop = null;\n\t\tdataBottom = null;\n\t}\n}\n\n/** Bollinger Band Width indicator */\nclass BollingerBandWidthIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} dataSeries - Indicator data series\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'bollingerbandwidth',\n\t\t\tname: 'Bollinger Band Width',\n\t\t\tdataSeries: 'bandwidth',\n\t\t\tdescription: '',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period', value: 20 },\n\t\t\t\t{ name: 'standardDeviations', value: 2 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.bollingerbandwidth || [], function (i) {\n\t\t\treturn +i.bandwidth;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.bollingerbandwidth || [], function (i) {\n\t\t\treturn +i.bandwidth;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data Indicator data\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.bandwidth];\n\t\t});\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.bollingerbandwidth || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Chaikin's Volatility indicator */\nclass ChaikinsIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'chaikins',\n\t\t\tname: 'Chaikin\\'s Volatility',\n\t\t\tdataSeries: 'chaikinsvolatility',\n\t\t\tdescription:\n\t\t\t\t\"Chaikin's Volatility indicator relays information about the daily dispersion of prices.\",\n\t\t\tinputs: [\n\t\t\t\t{ name: 'EMAPeriod', value: 10 },\n\t\t\t\t{ name: 'DifferencePeriod', value: 10 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.chaikins || [], function (i) {\n\t\t\treturn +i.chaikinsvolatility;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.chaikins || [], function (i) {\n\t\t\treturn +i.chaikinsvolatility;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t * @property {LineMarker} lineLow\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\tlineLow: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data Indicator data\n\t * @returns {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.chaikinsvolatility];\n\t\t});\n\t}\n\t\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.chaikins || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Band marker */\nclass BandMarker extends Marker {\n\tconstructor(params, panel = null) {\n\t\tsuper(params, panel);\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tstyle: { ...this._getStyle('marker.band') },\n\t\t\tlabelText: 'Band',\n\t\t\tvalHigh: 100,\n\t\t\tvalLow: 0\n\t\t};\n\t}\n\n\t// Use the isUpperBand input if you want to draw only a single line for the band, leave empty for both horizontal edges of the rectangle\n\trender(panel, style = null, isUpperBand) {\n\t\tconst ctx = panel.rootContext;\n\t\tconst yScale = panel.yAxis.primaryScale;\n\t\t// Use default styles if none passed in\n\t\tif (!style) style = this.params.style;\n\t\tconst panelLeft = panel.size.padding.left;\n\t\tconst panelWidth = panel.size.width;\n\t\tconst panelHeight = panel.size.height;\n\t\tconst yHigh = yScale(this.params.valHigh);\n\t\tconst yLow = yScale(this.params.valLow);\n\t\tconst yMin = Math.floor(Math.max(0, Math.min(yHigh, yLow)));\n\t\tconst yMax = Math.ceil(Math.min(panelHeight, Math.max(yHigh, yLow)));\n\n\t\tctx.fillStyle = style.color.background;\n\t\tctx.lineWidth = style.width;\n\t\tctx.strokeStyle = style.color.line;\n\t\tctx.beginPath();\n\n\t\t// fill rect\n\t\tsubpixel.rect(ctx, panelLeft, yMin, panelWidth, yMax - yMin);\n\t\tctx.fill();\n\n\t\t// Draw the rectangle's edges\n\t\tctx.beginPath();\n\n\t\tctx.save();\n\t\tctx.setLineDash(style.lineDash.split(/\\s*,\\s*/));\n\t\tif (isUpperBand === undefined) {\n\t\t\tsubpixel.moveTo(ctx, panelLeft, yMin);\n\t\t\tsubpixel.lineTo(ctx, panelLeft + panelWidth, yMin);\n\n\t\t\tsubpixel.moveTo(ctx, panelLeft, yMax);\n\t\t\tsubpixel.lineTo(ctx, panelLeft + panelWidth, yMax);\n\t\t} else if (isUpperBand) {\n\t\t\t// draws the lower edge of the band's rectangle\n\t\t\tsubpixel.moveTo(ctx, panelLeft, yMax);\n\t\t\tsubpixel.lineTo(ctx, panelLeft + panelWidth, yMax);\n\t\t} else {\n\t\t\t// draws the upper edge of the band's rectangle\n\t\t\tsubpixel.moveTo(ctx, panelLeft, yMin);\n\t\t\tsubpixel.lineTo(ctx, panelLeft + panelWidth, yMin);\n\t\t}\n\t\tctx.stroke();\n\t\tctx.restore();\n\n\t\t// Only render labels if there's enough room\n\t\tif (yMax - yMin > 18) {\n\t\t\t// label text\n\t\t\tctx.textBaseline = 'middle';\n\t\t\tctx.font = panel.getFontStyle(\n\t\t\t\tstyle.label.font.weight,\n\t\t\t\tstyle.label.font.size,\n\t\t\t\tstyle.label.font.family\n\t\t\t);\n\n\t\t\t// Calculate correct x coordinate\n\t\t\tlet x;\n\t\t\tswitch (style.label.textAlign) {\n\t\t\t\tcase canvasEnums.textAlign.CENTER:\n\t\t\t\t\tx = panelLeft + panelWidth / 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase canvasEnums.textAlign.LEFT:\n\t\t\t\t\tx = panelLeft + style.label.padding.left;\n\t\t\t\t\tbreak;\n\t\t\t\tcase canvasEnums.textAlign.RIGHT:\n\t\t\t\t\tx = panelLeft + panelWidth - style.label.padding.right;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tctx.fillStyle = style.label.font.color;\n\t\t\tctx.textAlign = style.label.textAlign;\n\t\t\tctx.fillText(this.params.labelText, x, yMin + (yMax - yMin) / 2);\n\t\t}\n\t}\n}\n\n/**\n * Replace a translations id with a localized string at runtime\n * @param {object} locale - Modcharts locale object\n * @param {string} id - Translation id\n * @param {string[]} replacements - Strings to populate ${n} placeholders\n * @returns {string} - Translated string\n */\nconst translate = (locale = {}, id = '', replacements = []) => {\n\tlet val = get(locale.translations, id) ||\n\t\tget(locales.en_US.translations, id) ||\n\t\tid;\n\treplacements.forEach((row, index) => {\n\t\tval = val.replace(`{${index}}`, row);\n\t});\n\treturn val;\n};\n\n/** Price Channel indicator */\nclass CommodityChannelIndexIndicator extends Indicator {\n\t/** @param {Object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {Object} - Default parameters object\n\t * @property {String} id - Indicator ID\n\t * @property {String} name - Indicator name\n\t * @property {String} description - Indicator description\n\t * @property {Object[]} inputs - Indicator inputs\n\t * @property {Object[]} bands - Bands to display\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'commoditychannelindex',\n\t\t\tname: 'Commodity Channel Index',\n\t\t\tdescription:\n\t\t\t\t'Commodity Channel Index is a momentum indicator that compares current prices to the average typical price. Above 100 is considered overbought, where upwards momentum is strong but unsustainable. Similarly, below -100 is considered oversold, where downwards momentum is also strong but unsustainable.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 10000, // The indicator should never have values this high\n\t\t\t\t\tvalLow: 100\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: -100,\n\t\t\t\t\tvalLow: -10000 // sufficiently negative number\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.commoditychannelindex || [], i => +i.commoditychannelindex);\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.commoditychannelindex || [], i => +i.commoditychannelindex);\n\t}\n\n\t/**\n\t * @returns {Object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} zero\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Indicator data\n\t * @returns {Array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.commoditychannelindex]);\n\t}\n\n\t/** @param {Object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought, true);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold, false);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.commoditychannelindex || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Comparative Relative Strength indicator */\nclass CRSIndicator extends Indicator {\n\t/** @param {Object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {Object} - Default parameters object\n\t * @property {String} id - Indicator ID\n\t * @property {String} name - Indicator name\n\t * @property {Object[]} inputs - Indicator inputs\n\t * @property {Number} valueMultiplier - Indicator value multiplier. Used to\n\t * normalize percent values depending on data - 1 or 100\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'crs',\n\t\t\tname: 'Comparative Relative Strength',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'comparisonsymbol', value: '' },\n\t\t\t\t{ name: 'normalize', value: 1 }\n\t\t\t],\n\t\t\tvalueMultiplier: 1\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.crs || [], function (i) {\n\t\t\treturn i.crs || -1;\n\t\t});\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.crs || [], function (i) {\n\t\t\treturn i.crs || 1;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {Object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {Object} data - Indicator data\n\t * @returns {Array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.crs];\n\t\t});\n\t}\n\n\t/** @param {Object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.crs || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash,\n\t\t);\n\t}\n}\n\n/** Dividend Yield indicator */\nclass DividendYieldIndicator extends Indicator {\n\t/** @param {Object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {String} id - Indicator ID\n\t * @property {String} name - Indicator name\n\t * @property {String} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'dividendyield',\n\t\t\tname: 'Dividend Yield',\n\t\t\tdescription: 'Dividend Yield is the dividend per share divided by the price per share.'\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.dividendyield || [], function (i) {\n\t\t\treturn +i.dividendyield;\n\t\t});\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.dividendyield || [], function (i) {\n\t\t\treturn +i.dividendyield;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {Object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {Object} data - Indicator data\n\t * @returns {Array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.dividendyield];\n\t\t});\n\t}\n\n\t/** @param {Object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.dividendyield || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** DMI indicator */\nclass DMIIndicator extends Indicator {\n\t/** @param {Object} args - Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {Object} - Default parameters object\n\t * @property {String} id - Indicator ID\n\t * @property {String} name - Indicator name\n\t * @property {String} dataSeries - Indicator data series\n\t * @property {String} description - Indicator description\n\t * @property {Object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'dmi',\n\t\t\tname: 'DMI',\n\t\t\tdescription:\n\t\t\t\t'The DMI is a trend indicator that uses high and low prices as well as the true range to determine whether a security is in an uptrend or a downtrend. The ADX line describes the strength of the trend.',\n\t\t\tinputs: [{ name: 'period', value: 14 }],\n\t\t\tmarkerType: 'default' // \"default\", \"adx\", \"adxr\"\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\tconst dataDMI = data.dmi || [];\n\n\t\tif (this.params.markerType === 'adx') {\n\t\t\treturn min(dataDMI, function (i) {\n\t\t\t\treturn +i.adx;\n\t\t\t});\n\t\t} else if (this.params.markerType === 'adxr') {\n\t\t\treturn this._min(\n\t\t\t\tmin(dataDMI, function (i) {\n\t\t\t\t\treturn +i.adxr;\n\t\t\t\t}),\n\t\t\t\tmin(dataDMI, function (i) {\n\t\t\t\t\treturn +i.adx;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn this._min(\n\t\t\tmin(dataDMI, function (i) {\n\t\t\t\treturn +i.minusdi;\n\t\t\t}),\n\t\t\tmin(dataDMI, function (i) {\n\t\t\t\treturn +i.plusdi;\n\t\t\t}),\n\t\t\tmin(dataDMI, function (i) {\n\t\t\t\treturn +i.adx;\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\tconst dataDMI = data.dmi || [];\n\n\t\tif (this.params.markerType === 'adx') {\n\t\t\treturn max(dataDMI, function (i) {\n\t\t\t\treturn +i.adx;\n\t\t\t});\n\t\t} else if (this.params.markerType === 'adxr') {\n\t\t\treturn this._max(\n\t\t\t\tmax(dataDMI, function (i) {\n\t\t\t\t\treturn +i.adxr;\n\t\t\t\t}),\n\t\t\t\tmax(dataDMI, function (i) {\n\t\t\t\t\treturn +i.adx;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn this._max(\n\t\t\tmax(dataDMI, function (i) {\n\t\t\t\treturn +i.minusdi;\n\t\t\t}),\n\t\t\tmax(dataDMI, function (i) {\n\t\t\t\treturn +i.plusdi;\n\t\t\t}),\n\t\t\tmax(dataDMI, function (i) {\n\t\t\t\treturn +i.adx;\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * @returns {Object}\n\t * @property {LineMarker} lineADX\n\t * @property {LineMarker} lineADXR\n\t * @property {LineMarker} lineMinusDI\n\t * @property {LineMarker} linePlusDI\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tlineADX: new LineMarker(),\n\t\t\t\tlineADXR: new LineMarker(),\n\t\t\t\tlineMinusDI: new LineMarker(),\n\t\t\t\tlinePlusDI: new LineMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d[type]];\n\t\t});\n\t}\n\n\t/** @param {Object} data - Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\t\tconst dataADX = this._getDataMap(data.dmi || [], 'adx');\n\t\tconst style = this.params.style;\n\n\t\tif (this.params.markerType === 'adx') {\n\t\t\tthis.markers.lineADX.render(\n\t\t\t\tctx,\n\t\t\t\tdataADX,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.adx.color,\n\t\t\t\tstyle.adx.width,\n\t\t\t\tstyle.adx.lineDash\n\t\t\t);\n\t\t} else if (this.params.markerType === 'adxr') {\n\t\t\tconst dataADXR = this._getDataMap(data.dmi || [], 'adxr');\n\n\t\t\tthis.markers.lineADX.render(\n\t\t\t\tctx,\n\t\t\t\tdataADX,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.adx.color,\n\t\t\t\tstyle.adx.width,\n\t\t\t\tstyle.adx.lineDash\n\t\t\t);\n\t\t\tthis.markers.lineADXR.render(\n\t\t\t\tctx,\n\t\t\t\tdataADXR,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.adxr.color,\n\t\t\t\tstyle.adxr.width,\n\t\t\t\tstyle.adxr.lineDash\n\t\t\t);\n\t\t} else {\n\t\t\tconst dataTop = this._getDataMap(data.dmi || [], 'minusdi');\n\t\t\tconst dataBottom = this._getDataMap(data.dmi || [], 'plusdi');\n\n\t\t\tthis.markers.lineMinusDI.render(\n\t\t\t\tctx,\n\t\t\t\tdataTop,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.negative.color,\n\t\t\t\tstyle.negative.width,\n\t\t\t\tstyle.negative.lineDash\n\t\t\t);\n\t\t\tthis.markers.linePlusDI.render(\n\t\t\t\tctx,\n\t\t\t\tdataBottom,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.positive.color,\n\t\t\t\tstyle.positive.width,\n\t\t\t\tstyle.positive.lineDash\n\t\t\t);\n\t\t\tthis.markers.lineADX.render(\n\t\t\t\tctx,\n\t\t\t\tdataADX,\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.adx.color,\n\t\t\t\tstyle.adx.width,\n\t\t\t\tstyle.adx.lineDash\n\t\t\t);\n\t\t}\n\t}\n}\n\n/** EMA indicator */\nclass EMAIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'ema',\n\t\t\tname: 'EMA',\n\t\t\tdescription:\n\t\t\t\t'Moving Averages are trend indicators that smooth stock price movements. Comparing the moving averages from multiple time frames can help investors spot changes in trend. Exponential Moving Averages add greater weight to more recent prices.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tcomponentSeries: [{ id: 'ema' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.ema || [], function (i) {\n\t\t\treturn +i.ema;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.ema || [], function (i) {\n\t\t\treturn +i.ema;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.ema];\n\t\t});\n\t}\n\n\t/** @param {object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.ema || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** High/Low indicator */\nclass HighLowIndicator extends Indicator {\n\t/** @param {object} args Custom args*/\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {boolean} noClip - Sets default clipping\n\t * @property {object[]} inputs - Indicator inputs. Ex { name: 'extentType', value: 'auto' | 'ohlc' | 'close }\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'highlow',\n\t\t\tname: 'High / Low',\n\t\t\tdescription: 'Label the high/low for current chart.',\n\t\t\tnoClip: true,\n\t\t\tinputs: [\n\t\t\t\t{ name: 'extentType', value: 'auto' } // auto, ohlc or close\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMin() {\n\t\treturn null;\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMax() {\n\t\treturn null;\n\t}\n\n\t/** @returns {null} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/** @returns {null} */\n\t_getDataMap() {\n\t\treturn null;\n\t}\n\n\t/**\n\t * The top and bottom extents will differ depending on the markertype of the price indicator.\n\t * Line/fill charts should look at the close while ohlc/candlestick charts should use low and high.\n\t * @returns {string} The type of extent minimum to use\n\t */\n\t_getExtentMin() {\n\t\tconst extentType = this.params.inputs[0].value;\n\n\t\tif (\n\t\t\textentType === 'auto' &&\n\t\t\tthis.panel.indicators[0].params.id === 'price'\n\t\t) {\n\t\t\treturn /candle|ohlc/.test(\n\t\t\t\tthis.panel.indicators[0].params.markerType\n\t\t\t)\n\t\t\t\t? 'low'\n\t\t\t\t: 'close';\n\t\t} else {\n\t\t\treturn extentType === 'ohlc' ? 'low' : 'close';\n\t\t}\n\t}\n\n\t/**\n\t * The top and bottom extents will differ depending on the markertype of the price indicator.\n\t * Line/fill charts should look at the close while ohlc/candlestick charts should use low and high.\n\t * @returns {string} The type of extent maximum to use\n\t */\n\t_getExtentMax() {\n\t\tconst extentType = this.params.inputs[0].value;\n\n\t\tif (\n\t\t\textentType === 'auto' &&\n\t\t\tthis.panel.indicators[0].params.id === 'price'\n\t\t) {\n\t\t\treturn /candle|ohlc/.test(\n\t\t\t\tthis.panel.indicators[0].params.markerType\n\t\t\t)\n\t\t\t\t? 'high'\n\t\t\t\t: 'close';\n\t\t} else {\n\t\t\treturn extentType === 'ohlc' ? 'high' : 'close';\n\t\t}\n\t}\n\n\t/**\n\t * Gets a reference to the previous close indicator on this panel. This will\n\t * allow us to call the _getDimensions method to enable collision detection.\n\t * @returns {Indicator} Panel previous close indicator\n\t */\n\t_getPreviousCloseIndicator() {\n\t\tfor (let x = 0, xLen = this.panel.indicators.length; x < xLen; x++) {\n\t\t\tif (this.panel.indicators[x].params.id === 'previousclose') {\n\t\t\t\treturn this.panel.indicators[x];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the extent for the high/low indicator\n\t * @param {object} data - Indicator data\n\t * @returns {object} Indicator extent\n\t * @property {number} minValue - Symbol minimum price\n\t * @property {number} maxValue - Symbol maximum price\n\t * @property {string} minFormat - Formatted minimum symbol price\n\t * @property {string} maxFormat - Formatted maximum symbol price\n\t * @property {string} minDate - Date of the symbol's lowest price\n\t * @property {string} maxDate - Date of the symbol's highest price\n\t * @property {number} maxY - Adjusted y axis maximum\n\t * @property {number} minY - Adjusted y axis minimum\n\t * @property {number} maxX - Adjusted x axis maximum\n\t * @property {number} minX - Adjusted x axis minimum\n\t */\n\t_getExtent(data) {\n\t\tconst core = this.panel.core;\n\t\tlet maxValue = -Infinity;\n\t\tlet minValue = Infinity;\n\t\tlet maxDate = new Date();\n\t\tlet minDate = new Date();\n\t\tconst rectSize = 10;\n\t\tconst priceData = data.price;\n\t\tconst minDatapoint = this._getExtentMin();\n\t\tconst maxDatapoint = this._getExtentMax();\n\t\tconst formatString = this.panel.yAxis\n\t\t\t.getFormatString(this.panel.yAxis.primaryScale, 5)\n\t\t\t.replace(/s/, 'f');\n\t\tconst localeNumberFormat = formatLocale(core.locale)\n\t\t\t.format(formatString);\n\t\tconst limitLeft = this.panel.size.padding.left;\n\t\tconst limitRight = limitLeft + this.panel.size.width;\n\n\t\tfor (let x = 0, xLen = priceData.length; x < xLen; x++) {\n\t\t\t// discard points that are clipped out\n\t\t\tif (\n\t\t\t\tthis._xScale()(core.closestExchangeIndex(priceData[x].date)) >\n\t\t\t\tlimitRight\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis._xScale()(core.closestExchangeIndex(priceData[x].date)) <\n\t\t\t\tlimitLeft\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmaxValue = Math.max(priceData[x][maxDatapoint], maxValue);\n\t\t\tminValue = Math.min(priceData[x][minDatapoint], minValue);\n\n\t\t\tif (priceData[x][maxDatapoint] === maxValue) {\n\t\t\t\tmaxDate = priceData[x].date;\n\t\t\t}\n\n\t\t\tif (priceData[x][minDatapoint] === minValue) {\n\t\t\t\tminDate = priceData[x].date;\n\t\t\t}\n\t\t}\n\n\t\tconst maxY = this._yScale()(maxValue);\n\t\tconst minY = this._yScale()(minValue);\n\t\tconst maxX = this._xScale()(core.closestExchangeIndex(maxDate));\n\t\tconst minX = this._xScale()(core.closestExchangeIndex(minDate));\n\t\tconst minFormat = this.panel.yAxis.getFormatValue(\n\t\t\tlocaleNumberFormat(minValue)\n\t\t);\n\t\tconst maxFormat = this.panel.yAxis.getFormatValue(\n\t\t\tlocaleNumberFormat(maxValue)\n\t\t);\n\n\t\treturn {\n\t\t\tminValue,\n\t\t\tmaxValue,\n\t\t\tminFormat,\n\t\t\tmaxFormat,\n\t\t\tminDate,\n\t\t\tmaxDate,\n\t\t\tmaxY: maxY - rectSize - 4,\n\t\t\tminY: minY + 4,\n\t\t\tmaxX: maxX,\n\t\t\tminX: minX,\n\t\t\tdata: {\n\t\t\t\thigh: {\n\t\t\t\t\tdate: maxDate,\n\t\t\t\t\tvalue: maxValue,\n\t\t\t\t\tvalueFormatted: maxFormat,\n\t\t\t\t\tx: maxX,\n\t\t\t\t\ty: maxY\n\t\t\t\t},\n\t\t\t\tlow: {\n\t\t\t\t\tdate: minDate,\n\t\t\t\t\tvalue: minValue,\n\t\t\t\t\tvalueFormatted: minFormat,\n\t\t\t\t\tx: minX,\n\t\t\t\t\ty: minY\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Determines how text should be aligned based on label width and content\n\t * @param {number} val - X axis value\n\t * @param {number} width - Text label width\n\t * @returns {string} 'left' | 'right' | 'center'\n\t */\n\t_getTextAlignment(val, width) {\n\t\tif (val - width <= this.panel.size.padding.left) {\n\t\t\treturn 'left';\n\t\t} else if (\n\t\t\tval + width >\n\t\t\tthis.panel.size.padding.left + this.panel.size.width\n\t\t) {\n\t\t\treturn 'right';\n\t\t}\n\n\t\treturn 'center';\n\t}\n\n\t/**\n\t * Renders a label on the panel\n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {string} val - Label value\n\t * @param {number} x - X axis location to draw label\n\t * @param {number} y - Y axis location to draw laabel\n\t * @param {string} color - Label color \n\t */\n\t_drawLabel(ctx, val, x, y, color) {\n\t\tthis.panel.glowText(\n\t\t\tctx,\n\t\t\tval,\n\t\t\tsubpixel.px(x),\n\t\t\tsubpixel.px(y - 1) + 11.5,\n\t\t\tcolor,\n\t\t\tthis.params.style.label.glowColor\n\t\t);\n\t}\n\n\t/**\n\t * Draws a high low icon on the panel\n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {string} val - Icon value\n\t * @param {number} x - X axis location to draw icon\n\t * @param {number} y - Y axis location to draw icon\n\t * @param {string} color - Icon color\n\t * @param {number} size - Icon size in px\n\t */\n\t_drawIcon(ctx, val, x, y, color, size) {\n\t\tctx.font = '11px Arial';\n\t\tctx.fillStyle = color;\n\t\tctx.strokeStyle = color === '#FFFFFF' ? '#000000' : '#FFFFFF';\n\t\tsubpixel.fillRect(ctx, x, y, size, size);\n\n\t\tctx.beginPath();\n\n\t\t// drawing individual lines this way makes for a crisper icon than using antialiased text.\n\t\tif (val === 'H') {\n\t\t\t// H\n\t\t\tsubpixel.moveTo(ctx, x + 3, y + 2);\n\t\t\tsubpixel.lineTo(ctx, x + 3, y + 8);\n\t\t\tsubpixel.moveTo(ctx, x + 3, y + 5);\n\t\t\tsubpixel.lineTo(ctx, x + 7, y + 5);\n\t\t\tsubpixel.moveTo(ctx, x + 7, y + 2);\n\t\t\tsubpixel.lineTo(ctx, x + 7, y + 8);\n\t\t} else {\n\t\t\t// L\n\t\t\tsubpixel.moveTo(ctx, x + 3, y + 2);\n\t\t\tsubpixel.lineTo(ctx, x + 3, y + 8);\n\t\t\tsubpixel.lineTo(ctx, x + 7, y + 8);\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.closePath();\n\t}\n\n\t/**\n\t * Render High/Low indicator to the panel\n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {object} data - Symbol data\n\t * @param {object} extentData - Extent data from this._getExtent()\n\t */\n\t_renderHighLow(ctx, data, extentData) {\n\t\tconst { core } = this.panel;\n\t\t// if a render listener has been registered, emit and return\n\t\tif (core.eventEmitter.listeners('INDICATOR_HIGHLOW_RENDER').length > 0) {\n\t\t\treturn core.eventEmitter.emit('INDICATOR_HIGHLOW_RENDER', {\n\t\t\t\tboundingBox: {\n\t\t\t\t\ttop: this.panel.size.top,\n\t\t\t\t\tright: this.panel.size.left + this.panel.size.width,\n\t\t\t\t\tbottom: this.panel.size.top + this.panel.size.height,\n\t\t\t\t\tleft: this.panel.size.left\n\t\t\t\t},\n\t\t\t\tctx,\n\t\t\t\tdata: extentData.data,\n\t\t\t\tindicator: this\n\t\t\t});\n\t\t}\n\t\tlet lowY;\n\t\tlet highY;\n\t\tconst lowLabel = extentData.minFormat;\n\t\tconst highLabel = extentData.maxFormat;\n\t\tconst gap = 3;\n\t\tconst rectSize = 10;\n\t\tconst lowWidth = ctx.measureText(highLabel).width + rectSize + gap;\n\t\tconst highWidth = ctx.measureText(lowLabel).width + rectSize + gap;\n\t\tconst lowAlign = this._getTextAlignment(extentData.minX, lowWidth / 2);\n\t\tconst highAlign = this._getTextAlignment(extentData.maxX, highWidth / 2);\n\t\tconst lowColor = this.params.style.min.color;\n\t\tconst highColor = this.params.style.max.color;\n\t\tlet highIntersect = false;\n\t\tlet lowIntersect = false;\n\t\tconst prevCloseIndicator = this._getPreviousCloseIndicator();\n\t\tconst prevCloseDimensions =\n\t\t\t\tprevCloseIndicator && data.previousclose\n\t\t\t\t\t? prevCloseIndicator._getDimensions(\n\t\t\t\t\t\tdata.previousclose[data.previousclose.length - 1],\n\t\t\t\t\t\tdata.previousclose.length - 1,\n\t\t\t\t\t\tdata.previousclose\n\t\t\t\t\t)\n\t\t\t\t\t: {};\n\n\t\tctx.textAlign = 'left';\n\t\tctx.textBaseline = 'bottom';\n\n\t\t// high\n\t\tconst highX =\n\t\t\thighAlign === 'left'\n\t\t\t\t? extentData.maxX\n\t\t\t\t: highAlign === 'center'\n\t\t\t\t\t? extentData.maxX - lowWidth / 2\n\t\t\t\t\t: extentData.maxX - lowWidth;\n\t\thighY = extentData.maxY;\n\n\t\tif (prevCloseIndicator) {\n\t\t\thighIntersect = prevCloseIndicator.intersect(\n\t\t\t\t{ x: highX, y: highY, width: highWidth, height: rectSize },\n\t\t\t\tprevCloseDimensions\n\t\t\t);\n\n\t\t\tif (highIntersect) {\n\t\t\t\thighY = prevCloseDimensions.y - rectSize - 1;\n\t\t\t}\n\t\t}\n\n\t\tthis._drawIcon(ctx, 'H', highX, highY, highColor, rectSize);\n\t\tthis._drawLabel(\n\t\t\tctx,\n\t\t\textentData.maxFormat,\n\t\t\thighX + rectSize + gap,\n\t\t\thighY + 1,\n\t\t\thighColor\n\t\t);\n\n\t\t// low\n\t\tconst lowX =\n\t\t\tlowAlign === 'left'\n\t\t\t\t? extentData.minX\n\t\t\t\t: lowAlign === 'center'\n\t\t\t\t\t? extentData.minX - lowWidth / 2\n\t\t\t\t\t: extentData.minX - lowWidth;\n\t\tlowY = extentData.minY;\n\n\t\tif (prevCloseIndicator) {\n\t\t\tlowIntersect = prevCloseIndicator.intersect(\n\t\t\t\t{ x: lowX, y: lowY, width: lowWidth, height: rectSize },\n\t\t\t\tprevCloseDimensions\n\t\t\t);\n\n\t\t\tif (lowIntersect) {\n\t\t\t\tlowY = prevCloseDimensions.y + prevCloseDimensions.height + 1;\n\t\t\t}\n\t\t}\n\n\t\tthis._drawIcon(ctx, 'L', lowX, lowY, lowColor, rectSize);\n\t\tthis._drawLabel(\n\t\t\tctx,\n\t\t\textentData.minFormat,\n\t\t\tlowX + rectSize + gap,\n\t\t\tlowY + 1,\n\t\t\tlowColor\n\t\t);\n\n\t\t// debug collisions\n\t\t// ctx.fillStyle = \"black\";\n\t\t// if (highIntersect){\n\n\t\t// \tctx.arc(highX, highY, 3, 0, Math.PI*2);\n\t\t// \tctx.fill();\n\n\t\t// }\n\n\t\t// if (lowIntersect){\n\n\t\t// \tctx.arc(lowX, lowY, 3, 0, Math.PI*2);\n\t\t// \tctx.fill();\n\n\t\t// }\n\t}\n\n\t/**\n\t * @param {object} data Symbol data object \n\t * @returns {undefined}\n\t */\n\trender(data) {\n\t\tif (!data.price) return;\n\n\t\tconst extentData = this._getExtent(data);\n\n\t\tif (extentData.minValue === extentData.maxValue) {\n\t\t\treturn;\n\t\t} else {\n\t\t\treturn this._renderHighLow(this.panel.rootContext, data, extentData);\n\t\t}\n\t}\n}\n\n/**\n * Horizontal Annotation flag\n */\nclass HorizontalAnnotationFlag extends Flag {\n\t/** \n\t * @param {object} args Custom args\n\t * @property {object} style Developer-defined style settings for this flag\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @return {object} Default style for this type of flag\n\t * @property {string} backgroundColor Hex flag background color\n\t * @property {string} labelColor Hex flag text color\n\t * @property {string} labelFontFamily Font family for flag text\n\t * @property {number} labelFontSize Font size for flag text\n\t * @private\n\t */\n\tgetDefaultStyle(args) {\n\t\tconst core = this.panel.core;\n\t\tconst panelStyle = this.panel.params.style;\n\t\tconst indicatorStyle = this.indicator ? this.indicator.params.style : {};\n\n\t\treturn {\n\t\t\tbackgroundColor: this.getColor(indicatorStyle),\n\t\t\tlabelColor:\n\t\t\t\tcore.getStyle('flag.horizontalAnnotation.color.label') ||\n\t\t\t\t'#FFFFFF',\n\t\t\tlabelFontFamily:\n\t\t\t\tcore.getStyle('flag.horizontalAnnotation.font.family') ||\n\t\t\t\tpanelStyle.yAxis.font.family ||\n\t\t\t\t'Arial',\n\t\t\tlabelFontSize:\n\t\t\t\tcore.getStyle('flag.horizontalAnnotation.font.size') ||\n\t\t\t\tpanelStyle.yAxis.font.Size ||\n\t\t\t\t12,\n\t\t\t...args.style\n\t\t};\n\t}\n\n\t/**\n\t * Private method to get flag value\n\t * @return {number}\n\t * @override\n\t * @private\n\t */\n\tgetValue() {\n\t\tlet value;\n\n\t\tif (this.panel.isNormalized) {\n\t\t\tvalue = this.panel.actualToNormalized(\n\t\t\t\tthis.indicator.handle[0].params.value\n\t\t\t);\n\t\t} else if (this.indicator.handle) {\n\t\t\tvalue = this.indicator.handle[0].params.value;\n\t\t}\n\n\t\tif (!this.panel) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn value;\n\t}\n\t/**\n\t * Private method to access the indicator style for this flag\n\t * @param {object} indicatorStyle Indicator style params object\n\t * @return {string} Hex line color to match indicator styling\n\t * @private\n\t */\n\tgetColor(indicatorStyle) {\n\t\treturn indicatorStyle.lineColor;\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t */\n\tget eventType () {\n\t\treturn {\n\t\t\trender: 'FLAG_RENDER_HORIZ_ANNOTATION',\n\t\t\thide: 'FLAG_HIDE_HORIZ_ANNOTATION',\n\t\t\tshow: 'FLAG_SHOW_HORIZ_ANNOTATION'\n\t\t};\n\t}\n}\n\n/** Horizontal Annotation indicator */\nclass HorizontalAnnotationIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t\t/** \n\t\t * @type {object}\n\t\t * @property {boolean} hover Is the mouse hovering over this indicator\n\t\t */\n\t\tthis.state = {\n\t\t\thover: false\n\t\t};\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {string} text - Annotation text\n\t * @property {string} textHover - Annotation text to display on hover\n\t * @property {number} value - Annotation price value\n\t * @property {boolean} noClip - Don't clip the annotation\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {number} style.height - Annotation height\n\t * @property {number} style.margin - Annotation margin\n\t * @property {string} style.lineColor - Indicator line color\n\t * @property {number} style.lineWidth - Indicator line width\n\t * @property {string} style.textColor - Annotation text color\n\t * @property {string} style.textBgColor - Annotation background color\n\t * @property {string} style.textFontFamily - Font family options for annotation\n\t * @property {number} style.textFontSize - Font size for annotation\n\t * @property {string} style.textFontWeight - Font weight for annotation\n\t * @property {string} style.textHoverColor - Annotation text color on hover\n\t * @property {string} style.textHoverFontFamily - Font family options for annotation on hover\n\t * @property {number} style.textHoverFontSize - Font size for annotation on hover\n\t * @property {string} style.textHoverFontWeight - Font weight for annotation on hover\n\t * @property {string} style.textHoverBgColor - Annotation background color on hover\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'horizontalannotation',\n\t\t\tname: 'Horizontal Annotation',\n\t\t\tdescription: '',\n\t\t\ttext: null,\n\t\t\ttextHover: null,\n\t\t\tvalue: null,\n\t\t\tnoClip: true,\n\t\t\tinputs: [\n\t\t\t\t{\n\t\t\t\t\tname: 'annotationValue',\n\t\t\t\t\tvalue: null\n\t\t\t\t}\n\t\t\t],\n\t\t\tstyle: {\n\t\t\t\theight: 6,\n\t\t\t\tmargin: 5,\n\t\t\t\tlineColor: '#aaa',\n\t\t\t\tlineWidth: 1,\n\t\t\t\ttextColor: '#000',\n\t\t\t\ttextBgColor: '#ccc',\n\t\t\t\ttextFontFamily: 'Arial, Helvetica, sans-serif',\n\t\t\t\ttextFontSize: 12,\n\t\t\t\ttextFontWeight: 'normal',\n\t\t\t\ttextHoverColor: '#aaa',\n\t\t\t\ttextHoverFontFamily: 'Arial, Helvetica, sans-serif',\n\t\t\t\ttextHoverFontSize: 11,\n\t\t\t\ttextHoverFontWeight: 'normal',\n\t\t\t\ttextHoverBgColor: '#333'\n\t\t\t}\n\t\t};\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMin() {\n\t\treturn null;\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMax() {\n\t\treturn null;\n\t}\n\n\t/** @returns {object} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/** @returns {object} */\n\t_getDataMap() {\n\t\treturn {};\n\t}\n\n\t/**\n\t * Returns true if mouse coordinates intersect indicator\n\t * @param {number[]} mouse - Mouse [x, y] coordinates\n\t * @returns {boolean}\n\t */\n\tisWithin(mouse) {\n\t\tconst panel = this.panel;\n\t\tconst mousePanel = [mouse[0], mouse[1] - panel.size.top];\n\t\tconst style = this.params.style;\n\t\tconst margin = this.params.style.margin;\n\t\tconst value = this.getValue();\n\t\tconst y0 = this._yScale()(value);\n\t\tconst left = panel.size.padding.left + margin;\n\t\tconst mouseRect = {\n\t\t\tx: mousePanel[0],\n\t\t\ty: mousePanel[1],\n\t\t\twidth: 1,\n\t\t\theight: 1\n\t\t};\n\t\tconst collidesBottom = y0 > panel.size.height - margin - style.height;\n\t\tlet ySnap = Math.min(panel.size.height - margin, Math.max(margin, y0));\n\n\t\tif (collidesBottom) {\n\t\t\tySnap = panel.size.height - margin - style.height;\n\t\t}\n\n\t\tconst boundingBox = {\n\t\t\tx: left,\n\t\t\ty: ySnap - style.height / 2,\n\t\t\twidth: this.panel.size.width,\n\t\t\theight: style.height\n\t\t};\n\n\t\treturn this.intersect(boundingBox, mouseRect);\n\t}\n\n\t/**\n\t * Returns the value of this annotation\n\t * @returns {number}\n\t */\n\tgetValue() {\n\t\t/** @type {number} */\n\t\tthis.value = this.params.inputs[0].value || this.params.value;\n\t\tthis.params.inputs[0].value = this.value; // just to make sure they're in sync\n\n\t\tif (this.panel.isNormalized) {\n\t\t\treturn this.panel.actualToNormalized(this.value);\n\t\t} else {\n\t\t\treturn this.value;\n\t\t}\n\t}\n\n\t/** @returns {undefined} */\n\trender() {\n\t\tconst panel = this.panel;\n\t\tconst style = this.params.style;\n\t\tconst margin = this.params.style.margin;\n\t\tconst value = this.getValue();\n\t\tconst y0 = this._yScale()(value);\n\t\tconst right = left + panel.size.width;\n\t\tconst ctx = panel.rootContext;\n\t\tlet ySnap = Math.min(panel.size.height - margin, Math.max(margin, y0));\n\t\tlet left = panel.size.padding.left;\n\t\t\t\n\n\t\t// create/update/delete flag\n\t\tif (!isNaN(value)) {\n\t\t\tif (this.flags['horizontalAnnotation']) {\n\t\t\t\tthis.flags['horizontalAnnotation'].render(value);\n\t\t\t} else {\n\t\t\t\tthis.flags[\n\t\t\t\t\t'horizontalAnnotation'\n\t\t\t\t] = new HorizontalAnnotationFlag({\n\t\t\t\t\tpanel: this.panel,\n\t\t\t\t\tindicator: this,\n\t\t\t\t\tid: 'horizontalAnnotation'\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (this.flags['horizontalAnnotation']) {\n\t\t\tthis.flags['horizontalAnnotation'].remove();\n\t\t\tdelete this.flags['horizontalAnnotation'];\n\t\t} else {\n\t\t\treturn; // bad value results in no further attempts to draw\n\t\t}\n\n\t\tctx.beginPath();\n\n\t\tctx.font = [\n\t\t\tstyle.textFontWeight,\n\t\t\tstyle.textFontSize + 'px',\n\t\t\tstyle.textFontFamily\n\t\t].join(' ');\n\n\t\tconst textWidth = ctx.measureText(this.params.text).width;\n\t\tconst textHeight = Math.round(ctx.measureText('M').width) + 0.5; // http://stackoverflow.com/questions/1134586/how-can-you-find-the-height-of-text-on-an-html-canvas;\n\n\t\tlet yMid = Math.round(ySnap + style.height / 2 - textHeight / 2);\n\t\tconst collidesTop = y0 < margin;\n\t\tconst collidesBottom = y0 > panel.size.height - margin - style.height;\n\n\t\tctx.textBaseline = 'top';\n\n\t\t// line\n\t\tif (!collidesTop && !collidesBottom) {\n\t\t\tctx.lineWidth = this.params.style.lineWidth;\n\t\t\tctx.strokeStyle = this.params.style.lineColor;\n\t\t\tsubpixel.moveTo(ctx, left, y0);\n\t\t\tsubpixel.lineTo(ctx, right, y0);\n\t\t\tctx.stroke();\n\t\t}\n\n\t\t// regular text label\n\t\tif (this.params.text && this.params.text.length) {\n\t\t\tleft += margin;\n\n\t\t\tif (collidesBottom) {\n\t\t\t\tySnap = panel.size.height - margin - style.height;\n\t\t\t\tyMid = Math.round(ySnap + style.height / 2 - textHeight / 2);\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\t\t\tctx.textBaseline = 'top';\n\n\t\t\t// rect background\n\t\t\tctx.fillStyle = this.params.style.textBgColor;\n\t\t\tsubpixel.rect(ctx, left, ySnap, style.height, style.height);\n\t\t\tctx.fill();\n\n\t\t\tctx.beginPath();\n\t\t\tctx.textBaseline = 'top';\n\n\t\t\t// text\n\t\t\tthis.panel.glowText(\n\t\t\t\tctx,\n\t\t\t\tthis.params.text,\n\t\t\t\tleft + style.height / 2 - textWidth / 2,\n\t\t\t\tyMid,\n\t\t\t\tthis.params.style.textColor\n\t\t\t);\n\n\t\t\t// hover text\n\t\t\tif (this.state.hover) {\n\t\t\t\t// temp\n\n\t\t\t\tleft += style.height;\n\n\t\t\t\tctx.font = panel.getFontStyle(\n\t\t\t\t\tstyle.textHoverFontWeight,\n\t\t\t\t\tstyle.textHoverFontSize,\n\t\t\t\t\tstyle.textHoverFontFamily\n\t\t\t\t);\n\n\t\t\t\tconst textHoverWidth = ctx.measureText(this.params.textHover)\n\t\t\t\t\t.width;\n\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\t// rect background\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.fillStyle = this.params.style.textHoverBgColor;\n\t\t\t\tsubpixel.rect(\n\t\t\t\t\tctx,\n\t\t\t\t\tleft,\n\t\t\t\t\tySnap,\n\t\t\t\t\ttextHoverWidth + 10,\n\t\t\t\t\tstyle.height + 2\n\t\t\t\t);\n\t\t\t\tctx.fill();\n\n\t\t\t\tctx.beginPath();\n\n\t\t\t\tleft += 5;\n\n\t\t\t\t// hover text\n\t\t\t\tthis.panel.glowText(\n\t\t\t\t\tctx,\n\t\t\t\t\tthis.params.textHover,\n\t\t\t\t\tleft,\n\t\t\t\t\tyMid,\n\t\t\t\t\tthis.params.style.textHoverColor\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets generic object representation of indicator -> Not to be exported\n\t * don't save certain indicators // see NXC-581\n\t * @returns {undefined}\n\t */\n\ttoJSON() {\n\t\treturn undefined;\n\t}\n}\n\n/** Ichimoku Cloud indicator */\nclass IchimokuCloudIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {boolean} senokuCloudOnly - Whether to show only the cloud\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\t// terminology:\n\t\t//\n\t\t// chikouspan = lagging span\n\t\t// senkou a/b = leading spans\n\t\t// kijunsen = base line\n\t\t// tenkansen = conversion line\n\n\t\treturn {\n\t\t\tid: 'ichimokucloud',\n\t\t\tname: 'Ichimoku Cloud',\n\t\t\tdescription: '',\n\t\t\tsenkouCloudOnly: false, // sometimes users only want the cloud\n\t\t\tinputs: [\n\t\t\t\t{ name: 'fastPeriod', value: 9 },\n\t\t\t\t{ name: 'mediumPeriod', value: 26 },\n\t\t\t\t{ name: 'slowPeriod', value: 52 },\n\t\t\t\t{ name: 'displacementCloud', value: 26 }\n\t\t\t],\n\t\t\tcomponentSeries: [\n\t\t\t\t{\n\t\t\t\t\tid: 'senkouspana',\n\t\t\t\t\tstyle: { backgroundColor: 'lineColorSenkouSpanA' }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'senkouspanb',\n\t\t\t\t\tstyle: { backgroundColor: 'lineColorSenkouSpanB' }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'chikouspan',\n\t\t\t\t\tstyle: { backgroundColor: 'lineColorChikouSpan' }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'kijunsen',\n\t\t\t\t\tstyle: { backgroundColor: 'lineColorKijunSen' }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'tenkansen',\n\t\t\t\t\tstyle: { backgroundColor: 'lineColorTenkanSen' }\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\tconst vals = [];\n\t\tlet row = [];\n\n\t\tfor (let x = 0; x < data.ichimokucloud.length; x++) {\n\t\t\trow = data.ichimokucloud[x];\n\n\t\t\tif (!isNaN(row.chikouspan)) {\n\t\t\t\tvals.push(row.chikouspan);\n\t\t\t}\n\t\t\tif (!isNaN(row.kijunsen)) {\n\t\t\t\tvals.push(row.kijunsen);\n\t\t\t}\n\t\t\tif (!isNaN(row.senkouspana)) {\n\t\t\t\tvals.push(row.senkouspana);\n\t\t\t}\n\t\t\tif (!isNaN(row.senkouspanb)) {\n\t\t\t\tvals.push(row.senkouspanb);\n\t\t\t}\n\t\t\tif (!isNaN(row.tenkansen)) {\n\t\t\t\tvals.push(row.tenkansen);\n\t\t\t}\n\t\t}\n\n\t\treturn Math.min.apply(null, vals);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\tconst vals = [];\n\t\tlet row = [];\n\n\t\tfor (let x = 0; x < data.ichimokucloud.length; x++) {\n\t\t\trow = data.ichimokucloud[x];\n\n\t\t\tif (!isNaN(row.chikouspan)) {\n\t\t\t\tvals.push(row.chikouspan);\n\t\t\t}\n\t\t\tif (!isNaN(row.kijunsen)) {\n\t\t\t\tvals.push(row.kijunsen);\n\t\t\t}\n\t\t\tif (!isNaN(row.senkouspana)) {\n\t\t\t\tvals.push(row.senkouspana);\n\t\t\t}\n\t\t\tif (!isNaN(row.senkouspanb)) {\n\t\t\t\tvals.push(row.senkouspanb);\n\t\t\t}\n\t\t\tif (!isNaN(row.tenkansen)) {\n\t\t\t\tvals.push(row.tenkansen);\n\t\t\t}\n\t\t}\n\n\t\treturn Math.max.apply(null, vals);\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tline: new LineMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data, type) {\n\t\t// use an alternate date index (dateIndexChikou) for the chikou series only (CW-2212)\n\t\tif (type === 'chikouspan' && data.length > 1) {\n\t\t\treturn data\n\t\t\t\t.map(function (d, idx) {\n\t\t\t\t\tif (typeof d.dateIndexChikou === 'number') {\n\t\t\t\t\t\t// chikou dates can exceed the left XAxis boundary on some \"Max\" requests, leading\n\t\t\t\t\t\t// to multiple dateIndexChikou values snapping to 0. Discard the duplicates to prevent\n\t\t\t\t\t\t// multiple points stacking up at the same position.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\td.dateIndexChikou > 0 ||\n\t\t\t\t\t\t\tdata[idx + 1].dateIndexChikou !== 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn [d.dateIndexChikou, +d['chikouspan']];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.filter(function (row) {\n\t\t\t\t\t// trim out undefineds\n\t\t\t\t\treturn row !== undefined;\n\t\t\t\t});\n\t\t}\n\n\t\t// all other series\n\t\tlet prevDateIndex = null;\n\t\treturn data\n\t\t\t.map(function (d) {\n\t\t\t\t// don't allow more than one datapoint per dateIndex. this can happen\n\t\t\t\t// with senkou datasets on monthly frequencies, which plot into the future\n\t\t\t\t// and sometimes exceed the date of the right-hand edge of the XAxis.\n\t\t\t\tif (!prevDateIndex || d.dateIndex !== prevDateIndex) {\n\t\t\t\t\tprevDateIndex = d.dateIndex;\n\t\t\t\t\treturn [d.dateIndex, +d[type]];\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter(function (row) {\n\t\t\t\t// trim out undefineds\n\t\t\t\treturn row !== undefined;\n\t\t\t});\n\t}\n\n\t/**\n\t * Gets the regions to clip\n\t * @param {number} xScale \n\t * @param {array} dataUpper - Upper region data\n\t * @param {array} dataLower - Lower region data\n\t * @returns {array[]}\n\t */\n\t_getClipRegions(xScale, dataUpper, dataLower) {\n\t\tconst regions = [];\n\t\tlet newRegion = {};\n\t\tlet x = 0;\n\n\t\tmainLoop: for (\n\t\t\tx = 0;\n\t\t\tx < Math.min(dataUpper.length, dataLower.length);\n\t\t\tx++\n\t\t) {\n\t\t\tif (dataUpper[x][1] >= dataLower[x][1]) {\n\t\t\t\t// begin new region\n\t\t\t\tnewRegion = [x, x];\n\n\t\t\t\tfor (x++; x < dataUpper.length; x++) {\n\t\t\t\t\tif (dataUpper[x][1] >= dataLower[x][1]) {\n\t\t\t\t\t\t// widen region by 1\n\t\t\t\t\t\tnewRegion[1] = x;\n\n\t\t\t\t\t\tif (x === dataUpper.length - 1) {\n\t\t\t\t\t\t\t// reached end of data, finalize region\n\t\t\t\t\t\t\tregions.push(newRegion);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// line crossed back under, finalize region\n\t\t\t\t\t\tregions.push(newRegion);\n\t\t\t\t\t\tcontinue mainLoop;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn regions;\n\t}\n\n\t/**\n\t * Returns the x coordinate for a line cross\n\t * @param {number} dateIndex \n\t */\n\t_getX(dateIndex) {\n\t\treturn this._xScale()(dateIndex);\n\t}\n\n\t/**\n\t * Returns the y coordinate for a line cross\n\t * @param {number} dateIndex \n\t */\n\t_getY(dateIndex) {\n\t\treturn this._yScale()(dateIndex);\n\t}\n\n\t/**\n\t * Renders clip regions\n\t * @param {CanvasRenderingContext2D} ctx \n\t * @param {number[][]} regions - Array of clip regions\n\t * @param {number[][]} dataUpper - Upper region data\n\t * @param {number[][]} dataLower - Lower region data\n\t * @param {boolean} isPos \n\t */\n\t_renderClipRegions(ctx, regions, dataUpper, dataLower, isPos) {\n\t\tconst self = this;\n\t\tlet currTop = [];\n\t\tlet currBot = [];\n\t\tconst height = this.panel.size.height;\n\t\tlet neighborIdx = 0;\n\t\tlet neighborUpper = 0;\n\t\tlet neighborLower = 0;\n\t\tlet xIntersect = 0;\n\t\tlet left = 0;\n\t\tlet right = 0;\n\t\tlet x1 = 0;\n\t\tlet y1 = 0;\n\t\tlet x2 = 0;\n\t\tlet y2 = 0;\n\t\tlet x3 = 0;\n\t\tlet y3 = 0;\n\t\tlet x4 = 0;\n\t\tlet y4 = 0;\n\n\t\tctx.beginPath();\n\n\t\tregions.forEach(function (r) {\n\t\t\t// find left edge of region for top and bottom\n\t\t\tcurrTop = dataUpper[r[0]];\n\t\t\tcurrBot = dataLower[r[0]];\n\n\t\t\t// find preceding index\n\t\t\tneighborIdx = r[0] - 1;\n\n\t\t\t// clamp to left edge of data if needed\n\t\t\tif (typeof dataUpper[neighborIdx] === 'undefined') {\n\t\t\t\tneighborIdx = r[0];\n\t\t\t}\n\n\t\t\t// find left neighbor\n\t\t\tneighborUpper = dataUpper[neighborIdx];\n\t\t\tneighborLower = dataLower[neighborIdx];\n\n\t\t\t// get xy coords of crossing lines\n\t\t\tx1 = self._getX(neighborUpper[0]);\n\t\t\ty1 = self._getY(neighborUpper[1]);\n\t\t\tx2 = self._getX(currTop[0]);\n\t\t\ty2 = self._getY(currTop[1]);\n\t\t\tx3 = self._getX(neighborLower[0]);\n\t\t\ty3 = self._getY(neighborLower[1]);\n\t\t\tx4 = self._getX(currBot[0]);\n\t\t\ty4 = self._getY(currBot[1]);\n\n\t\t\t// find x intersection with left neighbor\n\t\t\txIntersect = self._getIntersection(x1, y1, x2, y2, x3, y3, x4, y4);\n\n\t\t\t// set new region left coord\n\t\t\tleft = xIntersect === null ? x2 : xIntersect;\n\n\t\t\t// find right edge of region for top and bottom\n\t\t\tcurrTop = dataUpper[r[1]];\n\t\t\tcurrBot = dataLower[r[1]];\n\n\t\t\t// find following index\n\t\t\tneighborIdx = r[1] + 1;\n\n\t\t\t// clamp to right edge of data if needed\n\t\t\tif (typeof dataUpper[neighborIdx] === 'undefined') {\n\t\t\t\tneighborIdx = r[1];\n\t\t\t}\n\n\t\t\t// find right neighbor\n\t\t\tneighborUpper = dataUpper[neighborIdx];\n\t\t\tneighborLower = dataLower[neighborIdx];\n\n\t\t\t// get xy coords of crossing lines\n\t\t\tx1 = self._getX(currTop[0]);\n\t\t\ty1 = self._getY(currTop[1]);\n\t\t\tx2 = self._getX(neighborUpper[0]);\n\t\t\ty2 = self._getY(neighborUpper[1]);\n\t\t\tx3 = self._getX(currBot[0]);\n\t\t\ty3 = self._getY(currBot[1]);\n\t\t\tx4 = self._getX(neighborLower[0]);\n\t\t\ty4 = self._getY(neighborLower[1]);\n\n\t\t\t// find x intersection with right neighbor\n\t\t\txIntersect = self._getIntersection(x1, y1, x2, y2, x3, y3, x4, y4);\n\n\t\t\t// set new region right coord\n\t\t\tright = xIntersect === null ? x1 : xIntersect;\n\n\t\t\t// draw rect\n\t\t\tctx.rect(left, 0, right - left, height);\n\t\t});\n\n\t\tctx.clip();\n\t}\n\n\t/**\n\t * Returns the intersection point\n\t * @param {number} x1 - Point 1 x coordinate\n\t * @param {number} y1 - Point 1 y coordinate\n\t * @param {number} x2 - Point 2 x coordinate\n\t * @param {number} y2 - Point 2 y coordinate\n\t * @param {number} x3 - Point 3 x coordinate\n\t * @param {number} y3 - Point 3 y coordinate\n\t * @param {number} x4 - Point 4 x coordinate\n\t * @param {number} y4 - Point 4 y coordinate\n\t * @return {number}\n\t */\n\t_getIntersection(x1, y1, x2, y2, x3, y3, x4, y4) {\n\t\tlet ua = 0.0;\n\t\tconst denom = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n\n\t\tif (denom === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom;\n\n\t\treturn x1 + ua * (x2 - x1);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst xScale = this._xScale();\n\t\tconst yScale = this._yScale();\n\t\tlet dataSenkouA = this._getDataMap(\n\t\t\tdata.ichimokucloud || [],\n\t\t\t'senkouspana'\n\t\t);\n\t\tlet dataSenkouB = this._getDataMap(\n\t\t\tdata.ichimokucloud || [],\n\t\t\t'senkouspanb'\n\t\t);\n\t\tconst dataChikou = this._getDataMap(\n\t\t\tdata.ichimokucloud || [],\n\t\t\t'chikouspan'\n\t\t);\n\t\tconst dataKijun = this._getDataMap(data.ichimokucloud || [], 'kijunsen');\n\t\tconst dataTenkan = this._getDataMap(data.ichimokucloud || [], 'tenkansen');\n\n\t\t// clean up empty points\n\t\tdataSenkouA = dataSenkouA.filter(function (row) {\n\t\t\treturn !isNaN(row[1]);\n\t\t});\n\t\tdataSenkouB = dataSenkouB.filter(function (row) {\n\t\t\treturn !isNaN(row[1]);\n\t\t});\n\n\t\t// trim SenkouA to match SenkouB\n\t\tdataSenkouA = dataSenkouA.splice(\n\t\t\tdataSenkouA.length - dataSenkouB.length,\n\t\t\tdataSenkouA.length\n\t\t);\n\n\t\t// get clip regions\n\t\tconst regionsPos = this._getClipRegions(xScale, dataSenkouA, dataSenkouB);\n\t\tconst regionsNeg = this._getClipRegions(xScale, dataSenkouB, dataSenkouA);\n\n\t\t// neg fill\n\t\tctx.save();\n\n\t\t// clips for neg only\n\t\tthis._renderClipRegions(ctx, regionsNeg, dataSenkouA, dataSenkouB);\n\n\t\t// neg fill\n\t\tthis.markers.line.renderFillBetween(\n\t\t\tctx,\n\t\t\tdataSenkouA,\n\t\t\tdataSenkouB,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tthis.params.style.senkou.negative.fillColor\n\t\t);\n\n\t\t// restore context\n\t\tctx.restore();\n\n\t\tctx.save();\n\n\t\t// clips for pos only\n\t\tthis._renderClipRegions(ctx, regionsPos, dataSenkouA, dataSenkouB, true);\n\n\t\t// pos fill\n\t\tthis.markers.line.renderFillBetween(\n\t\t\tctx,\n\t\t\tdataSenkouA,\n\t\t\tdataSenkouB,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tthis.params.style.senkou.positive.fillColor\n\t\t);\n\n\t\t// restore context\n\t\tctx.restore();\n\n\t\t// dataSenkouB line\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tdataSenkouB,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tthis.params.style.senkou.b.color,\n\t\t\tthis.params.style.senkou.b.width,\n\t\t\tthis.params.style.senkou.b.lineDash\n\t\t);\n\n\t\t// dataSenkouA line\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tdataSenkouA,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tthis.params.style.senkou.a.color,\n\t\t\tthis.params.style.senkou.a.width,\n\t\t\tthis.params.style.senkou.a.lineDash\n\t\t);\n\n\t\tif (!this.params.senkouCloudOnly) {\n\t\t\t// kijun line\n\t\t\tthis.markers.line.render(\n\t\t\t\tctx,\n\t\t\t\tdataKijun,\n\t\t\t\txScale,\n\t\t\t\tyScale,\n\t\t\t\tthis.params.style.kijun.color,\n\t\t\t\tthis.params.style.kijun.width,\n\t\t\t\tthis.params.style.kijun.lineDash\n\t\t\t);\n\n\t\t\t// tenkan line\n\t\t\tthis.markers.line.render(\n\t\t\t\tctx,\n\t\t\t\tdataTenkan,\n\t\t\t\txScale,\n\t\t\t\tyScale,\n\t\t\t\tthis.params.style.tenkan.color,\n\t\t\t\tthis.params.style.tenkan.width,\n\t\t\t\tthis.params.style.tenkan.lineDash\n\t\t\t);\n\n\t\t\t// chikou line\n\t\t\tthis.markers.line.render(\n\t\t\t\tctx,\n\t\t\t\tdataChikou,\n\t\t\t\txScale,\n\t\t\t\tyScale,\n\t\t\t\tthis.params.style.chikou.color,\n\t\t\t\tthis.params.style.chikou.width,\n\t\t\t\tthis.params.style.chikou.lineDash\n\t\t\t);\n\t\t}\n\n\t\t/*// debug - draw a number representing how many ohlc bars are ahead of the final chikou point\n\t\t// note - inclusive of the final ohlc bar.\n\t\ttry{\n\t\t\tvar chik = dataChikou.filter(function(row){ return !isNaN(row[1]);}),\n\t\t\tchikLast = chik[chik.length-1],\n\t\t\tprice = this.panel.core.dataPrimary.filter(function(row){ return row.dateIndex >= chikLast[0]; });\n\t\t\tctx.font = \"20px Arial\";\n\t\t\tctx.fillStyle = \"#FFFFFF\";\n\t\t\tctx.fillText(price.length, xScale(chikLast[0]), yScale(chikLast[1]));\n\t\t\t//console.info(\"diff\", price.length);\n\t\t} catch(e){}*/\n\t}\n}\n\n/** Linear Regression indicator */\nclass LinearRegressionIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {soolean} noClip - Sets to not clip by default\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tcomponentSeries: [{ id: 'linearregression' }],\n\t\t\tdescription:\n\t\t\t\t'The Linear Regression Indicator function returns the current value of a linear regression line of a field to time over a given number of periods.',\n\t\t\tid: 'linearregression',\n\t\t\tname: 'Linear Regression',\n\t\t\tnoClip: true\n\t\t};\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMin() {\n\t\treturn null;\n\t}\n\n\t/** @returns {null} */\n\tgetRangeMax() {\n\t\treturn null;\n\t}\n\n\t/** @returns {object} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/**\n\t * Linear Regression calculation\n\t * see https://svn.wsod.local/svn/wsod/netframework/framework_repository/3.0-stable/Math/TechnicalIndicators.cs\n\t * @param {object} data Indicator data\n\t * @returns {object} Regression data object\n\t */\n\tgetLinearRegression(data) {\n\t\tlet count = 1;\n\t\tlet sumX = 0;\n\t\tlet sumX2 = 0;\n\t\tlet sumY = 0;\n\t\tlet sumXY = 0;\n\t\tlet temp = 0;\n\t\tconst regressionData = {};\n\t\tconst period = data.length;\n\t\tlet seriesId = 'close';\n\n\t\t// use a different series id if based on a parent indicator\n\t\tif (\n\t\t\tthis.params.parentUid ||\n\t\t\tthis.params.parentUID\n\t\t) {\n\t\t\tconst parentIndicator = this.panel.core.getIndicatorByUid(\n\t\t\t\tthis.params.parentUid ||\n\t\t\t\tthis.params.parentUID\n\t\t\t);\n\t\t\tseriesId =\n\t\t\t\tparentIndicator.params.dataSeries || parentIndicator.params.id;\n\t\t}\n\n\t\tfor (let index = 0; count <= period; index++, count++) {\n\t\t\tsumX += count;\n\t\t\tsumX2 += count * count;\n\t\t\ttemp = data[index][seriesId];\n\t\t\tsumY += temp;\n\t\t\tsumXY += count * temp;\n\t\t}\n\n\t\tconst d = period * sumX2 - sumX * sumX;\n\t\tconst m = (period * sumXY - sumX * sumY) / d; // Slope\n\t\tconst b = (sumX2 * sumY - sumX * sumXY) / d; // Intercept\n\n\t\tregressionData['Beginning'] = b + m * 1;\n\t\tregressionData['End'] = b + m * period;\n\t\tregressionData['Slope'] = m;\n\n\t\treturn regressionData;\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst lrData = this.getLinearRegression(data.linearregression);\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst size = this.panel.size;\n\t\tconst style = this.params.style;\n\t\t\n\t\t// Calculate coordinates for line\n\t\tconst x0 = size.padding.left;\n\t\tconst y0 = this._yScale()(lrData.Beginning);\n\t\tconst x1 = size.padding.left + size.width;\n\t\tconst y1 = this._yScale()(lrData.End);\n\n\t\tif (!isNaN(y0) && !isNaN(y1)) {\n\t\t\t// Only clip the line if it would go past the panel height\n\t\t\tif (y0 > size.height || y1 > size.height) {\n\t\t\t\tthis.panel.clipPanel();\n\t\t\t}\n\t\t\tctx.beginPath();\n\t\t\tctx.strokeStyle = style.color;\n\t\t\tctx.lineWidth = style.width;\n\t\t\tif (style.lineDash){\n\t\t\t\tctx.setLineDash(style.lineDash.split(/\\s*,\\s*/));\n\t\t\t}\n\t\t\tsubpixel.moveTo(ctx, x0, y0);\n\t\t\tsubpixel.lineTo(ctx, x1, y1);\n\t\t\tctx.stroke();\n\t\t\tctx.setLineDash([]);\n\t\t}\n\t}\n}\n\n/** MACD indicator */\nclass MACDIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {string} markerType - Indicator marker type - 'default' | 'histogram'\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'macd',\n\t\t\tname: 'MACD',\n\t\t\tdescription:\n\t\t\t\t'The MACD is the difference between 2 exponential moving averages and is a trend and momentum indicator. It is normally considered bullish when the MACD line is above the signal line and more so when both are above the 0-line.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'fastperiod', value: 12 },\n\t\t\t\t{ name: 'slowperiod', value: 26 },\n\t\t\t\t{ name: 'smoothing', value: 9 }\n\t\t\t],\n\t\t\tmarkerType: 'default', // \"default\", \"histogram\"\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\tif (this.params.markerType === 'histogram') {\n\t\t\treturn this._min(\n\t\t\t\tmin(data.macd || [], i => i.divergence),\n\t\t\t\t0\n\t\t\t);\n\t\t}\n\n\t\treturn this._min(\n\t\t\tmin(data.macd || [], i => +i.ema),\n\t\t\tmin(data.macd || [], i => +i.divergence),\n\t\t\tmin(data.macd || [], i => +i.macd),\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\tif (this.params.markerType === 'histogram') {\n\t\t\treturn this._max(\n\t\t\t\tmax(data.macd || [], i => i.divergence),\n\t\t\t\t0\n\t\t\t);\n\t\t}\n\n\t\treturn this._max(\n\t\t\tmax(data.macd || [], i => +i.ema),\n\t\t\tmax(data.macd || [], i => +i.divergence),\n\t\t\tmax(data.macd || [], i => +i.macd),\n\t\t\t0\n\t\t);\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} lineEMA\n\t * @property {LineMarker} lineMACD\n\t * @property {BarMarker} barDivUp\n\t * @property {BarMarker} barDivDown\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tlineEMA: new LineMarker(),\n\t\t\t\tlineMACD: new LineMarker(),\n\t\t\t\tbarDivUp: new BarMarker(),\n\t\t\t\tbarDivDown: new BarMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - indicator type\n\t * @return {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\tswitch (type) {\n\t\t\tcase 'macd':\n\t\t\t\treturn data.map(d => [d.dateIndex, +d.macd]);\n\n\t\t\tcase 'ema':\n\t\t\t\treturn data.map(d => [d.dateIndex, +d.ema]);\n\n\t\t\tcase 'divUp':\n\t\t\t\treturn data.map(d => [d.dateIndex, d.divergence >= 0 ? d.divergence : 0]);\n\n\t\t\tcase 'divDown':\n\t\t\t\treturn data.map(d => [d.dateIndex, d.divergence < 0 ? d.divergence : 0]);\n\n\t\t\tdefault:\n\t\t\t\treturn [];\n\t\t}\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\t\tconst style = this.params.style;\n\n\t\tthis.markers.barDivUp.render(\n\t\t\tthis.panel,\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.macd || [], 'divUp'),\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.positive.color\n\t\t);\n\n\t\tthis.markers.barDivDown.render(\n\t\t\tthis.panel,\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.macd || [], 'divDown'),\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.negative.color\n\t\t);\n\n\t\tif (this.params.markerType === 'default') {\n\t\t\tthis.markers.lineEMA.render(\n\t\t\t\tctx,\n\t\t\t\tthis._getDataMap(data.macd || [], 'ema'),\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.ema.color,\n\t\t\t\tstyle.ema.width,\n\t\t\t\tstyle.ema.lineDash\n\t\t\t);\n\n\t\t\tthis.markers.lineMACD.render(\n\t\t\t\tctx,\n\t\t\t\tthis._getDataMap(data.macd || [], 'macd'),\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tstyle.color,\n\t\t\t\tstyle.width,\n\t\t\t\tstyle.lineDash\n\t\t\t);\n\t\t}\n\n\t\t// zero line\n\t\tctx.beginPath();\n\t\tconst yZero = subpixel.px(y(0.0));\n\t\tctx.strokeStyle = style.zero.color;\n\t\tctx.lineWidth = style.zero.width;\n\t\tif (style.zero.lineDash){\n\t\t\tctx.setLineDash(style.zero.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.moveTo(this.panel.size.padding.left, yZero);\n\t\tctx.lineTo(\n\t\t\tthis.panel.size.padding.left + this.panel.size.width,\n\t\t\tyZero\n\t\t);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n}\n\n/** MAE indicator */\nclass MAEIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'mae',\n\t\t\tname: 'Moving Average Envelope',\n\t\t\tdescription:\n\t\t\t\t\"Moving Average Envelopes provide context around a security's recent price range.\",\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period', value: 20 },\n\t\t\t\t{ name: 'lowfactor', value: 0.95 },\n\t\t\t\t{ name: 'highfactor', value: 1.05 },\n\t\t\t\t{ name: 'averagetype', value: averageTypes.SMA }\n\t\t\t],\n\t\t\tcomponentSeries: [{ id: 'maelow' }, { id: 'maehigh' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.mae || [], function (i) {\n\t\t\treturn +i.maelow;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.mae || [], function (i) {\n\t\t\treturn +i.maehigh;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} lineUp\n\t * @property {LineMarker} lineDown\n\t * @property {LineMarker} lineFill\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tlineUp: new LineMarker(),\n\t\t\t\tlineDown: new LineMarker(),\n\t\t\t\tlineFill: new LineMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - indicator type\n\t * @return {array[]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(d => [d.dateIndex, +d[type]]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\t\tconst dataUp = this._getDataMap(data.mae || [], 'maehigh');\n\t\tconst dataDown = this._getDataMap(data.mae || [], 'maelow');\n\t\tconst style = this.params.style;\n\n\t\tthis.markers.lineFill.renderFillBetween(\n\t\t\tctx,\n\t\t\tdataUp,\n\t\t\tdataDown,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.fillColor\n\t\t);\n\n\t\tthis.markers.lineUp.render(\n\t\t\tctx,\n\t\t\tdataUp,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\n\t\tthis.markers.lineDown.render(\n\t\t\tctx,\n\t\t\tdataDown,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t}\n}\n\n/** Mass index indicator */\nclass MassIndexIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indciator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} extraInputs - Extra indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'massindex',\n\t\t\tname: 'Mass Index',\n\t\t\tdescription: 'The Mass Index helps to identify reversals of trend.',\n\t\t\tinputs: [{ name: 'period', value: 25 }],\n\t\t\textraInputs: [\n\t\t\t\t{ name: 'setup', value: 27 },\n\t\t\t\t{ name: 'trigger', value: 26.5 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn this._min(\n\t\t\tmin(data.massindex || [], function (i) {\n\t\t\t\treturn +i.massindex;\n\t\t\t}),\n\t\t\tthis.getInput('setup'),\n\t\t\tthis.getInput('trigger')\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn this._max(\n\t\t\tmax(data.massindex || [], function (i) {\n\t\t\t\treturn +i.massindex;\n\t\t\t}),\n\t\t\tthis.getInput('setup'),\n\t\t\tthis.getInput('trigger')\n\t\t);\n\t}\n\n\t/**\n\t * @returns {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.massindex];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst panel = this.panel;\n\t\tconst ctx = panel.rootContext;\n\t\tconst x = panel.size.padding.left;\n\t\tconst w = panel.size.width;\n\t\tconst style = this.params.style;\n\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.massindex || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\n\t\t// setup line\n\t\tconst ySetup = this._yScale()(this.getInput('setup'));\n\t\tctx.lineWidth = style.setup.width;\n\t\tctx.strokeStyle = style.setup.color;\n\t\tif (style.setup.lineDash){\n\t\t\tctx.setLineDash(style.setup.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.beginPath();\n\t\tsubpixel.moveTo(ctx, x, ySetup);\n\t\tsubpixel.lineTo(ctx, x + w, ySetup);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\n\t\t// trigger line\n\t\tconst yTrigger = this._yScale()(this.getInput('trigger'));\n\t\tctx.lineWidth = style.trigger.width;\n\t\tctx.strokeStyle = style.trigger.color;\n\t\tif (style.trigger.lineDash){\n\t\t\tctx.setLineDash(style.trigger.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.beginPath();\n\t\tsubpixel.moveTo(ctx, x, yTrigger);\n\t\tsubpixel.lineTo(ctx, x + w, yTrigger);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n}\n\n/** EMA indicator */\nclass MomentumIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {number} fillToValue - Value to fill to with background color\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'momentum',\n\t\t\tname: 'Momentum',\n\t\t\tdescription: '',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tfillToValue: 100\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.momentum || [], function (i) {\n\t\t\treturn +i.momentum;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.momentum || [], function (i) {\n\t\t\treturn +i.momentum;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.momentum];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst style = this.params.style;\n\t\t// fill\n\t\tthis.markers.line.renderFill(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.momentum || []),\n\t\t\tthis.panel.size.padding.top + this.panel.size.height,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.fillColor,\n\t\t\tthis.params.fillToValue\n\t\t);\n\n\t\t// line\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.momentum || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t}\n}\n\n/** Money Flow indicator */\nclass MoneyFlowIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'moneyflow',\n\t\t\tname: 'Money Flow'\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.moneyflow || [], function (i) {\n\t\t\treturn +i.moneyflow;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.moneyflow || [], function (i) {\n\t\t\treturn +i.moneyflow;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.moneyflow];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.moneyflow || [], 'moneyflow'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Money Flow Index indicator */\nclass MoneyFlowIndexIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} bands - Indicator bands\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'moneyflowindex',\n\t\t\tname: 'Money Flow Index',\n\t\t\tdescription:\n\t\t\t\t'The Money Flow Index describes the rate at which money is flowing into or out of a security. It is similar to the RSI but includes volume within the calculation in addition to price.',\n\t\t\tinputs: [{ name: 'period', value: 15 }],\n\t\t\tstyle: {\n\t\t\t\tyAxisPaddingTop: 0,\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 100,\n\t\t\t\t\tvalLow: 80\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: 20,\n\t\t\t\t\tvalLow: 0\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {number} Minimum range (default 0)*/\n\tgetRangeMin() {\n\t\treturn 0;\n\t}\n\n\t/** @return {number} Maximum range (default 100) */\n\tgetRangeMax() {\n\t\treturn 100;\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.moneyflowindex]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.moneyflowindex || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** On Balance Volume indicator */\nclass OnBalanceVolumeIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'onbalancevolume',\n\t\t\tname: 'On Balance Volume',\n\t\t\tdescription:\n\t\t\t\t'On Balance Volume measures the strength of buying or selling pressure on a security. It represents the cumulative total of volume since indicator inception and adds volume on up days while subtracting the volume on down days.'\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.onbalancevolume || [], function (i) {\n\t\t\treturn +i.onbalancevolume;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.onbalancevolume || [], function (i) {\n\t\t\treturn +i.onbalancevolume;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line1\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.onbalancevolume];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.cumulativeAdjustment = this._getCumulativeAdjustment();\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.onbalancevolume || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** P/E Range indicator */\nclass PERangeIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'perange',\n\t\t\tname: 'P/E Range',\n\t\t\tdataSeries: 'perangeupper',\n\t\t\tdescription: 'P/E Range shows the high and low P/E for the period.',\n\t\t\tinputs: [{ name: 'earningstype', value: 0 }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.perange || [], function (i) {\n\t\t\treturn +i.perangelower;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.perange || [], function (i) {\n\t\t\treturn +i.perangeupper;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {LineMarker} lineLow\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\tlineLow: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data, type) {\n\t\tswitch (type) {\n\t\t\tcase 'upper':\n\t\t\t\treturn data.map(function (d) {\n\t\t\t\t\treturn [d.dateIndex, +d.perangeupper];\n\t\t\t\t});\n\n\t\t\tcase 'lower':\n\t\t\t\treturn data.map(function (d) {\n\t\t\t\t\treturn [d.dateIndex, +d.perangelower];\n\t\t\t\t});\n\n\t\t\tdefault:\n\t\t\t\treturn [];\n\t\t}\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst style = this.params.style;\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.perange || [], 'upper'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\n\t\tthis.markers.lineLow.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.perange || [], 'lower'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.low.color,\n\t\t\tstyle.low.width,\n\t\t\tstyle.low.lineDash\n\t\t);\n\t}\n}\n\n/** P/E Ratio indicator */\nclass PERatioIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'peratio',\n\t\t\tname: 'P/E Ratio',\n\t\t\tdescription: 'P/E Ratio plots the change in the P/E Ratio over the period of the chart.'\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.peratio || [], function (i) {\n\t\t\treturn +i.peratio;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.peratio || [], function (i) {\n\t\t\treturn +i.peratio;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {LineMarker} lineLow\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\tlineLow: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.peratio];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.peratio || [], 'upper'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Percent B indicator */\nclass PercentBIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} bands - Indicator bands\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'percentb',\n\t\t\tname: 'Bollinger Band %B',\n\t\t\tdescription:\n\t\t\t\t\"%B quantifies a security's price relative to the upper and lower Bollinger Band.\",\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period', value: 20 },\n\t\t\t\t{ name: 'standardDeviations', value: 2 }\n\t\t\t],\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 10000, // effectively infinite\n\t\t\t\t\tvalLow: 1\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: 0,\n\t\t\t\t\tvalLow: -10000 // effectively infinitely negative\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.percentb || [], i => +i.percentb);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.percentb || [], i => +i.percentb);\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.percentb]);\n\t}\n\n\t/**\n\t * \n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {number} yScale - Y axis scale\n\t */\n\t_renderMedianLine(ctx, yScale) {\n\t\tconst left = this.panel.size.padding.left;\n\t\tconst y0 = subpixel.px(yScale(0.5));\n\t\tconst style = this.params.style;\n\n\t\tctx.beginPath();\n\t\tctx.lineWidth = style.median.width;\n\t\tctx.strokeStyle = style.median.color;\n\t\tif (style.median.lineDash){\n\t\t\tctx.setLineDash(style.median.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.moveTo(left, y0);\n\t\tctx.lineTo(this.panel.size.width + left, y0);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought, true);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold, false);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.percentb || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\n\t\tthis._renderMedianLine(this.panel.rootContext, this._yScale());\n\t}\n}\n\n/** General indicator flag */\nclass IndicatorFlag extends Flag {\n\t/** \n\t * @param {object} args Custom args\n\t * @property {object} style Developer-defined style settings for this flag\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @return {object} Default style for this type of flag\n\t * @property {string} backgroundColor Hex flag background color\n\t * @property {string} labelColor Hex flag text color\n\t * @property {string} labelFontFamily Font family for flag text\n\t * @property {number} labelFontSize Font size for flag text\n\t * @private\n\t */\n\tgetDefaultStyle(args) {\n\t\tconst panelStyle = this.panel.params.style;\n\t\tconst indicatorStyle = this.indicator ? this.indicator.params.style : {};\n\n\t\tlet backgroundColor = indicatorStyle.color || '#555555';\n\n\t\tif (this.indicator.params.componentSeries) {\n\t\t\tconst component = this.indicator.params.componentSeries.filter(\n\t\t\t\tfunction (row) {\n\t\t\t\t\treturn row.id === args.id; // \"top\", \"sma\", etc\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\tcomponent.length &&\n\t\t\t\tcomponent[0].style &&\n\t\t\t\tcomponent[0].style.backgroundColor &&\n\t\t\t\tindicatorStyle[component[0].style.backgroundColor]\n\t\t\t) {\n\t\t\t\tbackgroundColor =\n\t\t\t\t\tindicatorStyle[component[0].style.backgroundColor];\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tbackgroundColor,\n\t\t\tlabelColor: '#FFFFFF',\n\t\t\tlabelFontFamily: panelStyle.yAxis.font.family || 'Arial',\n\t\t\tlabelFontSize: panelStyle.yAxis.font.size || 12,\n\t\t\t...args.style\n\t\t};\n\t}\n\n\t/**\n\t * Private method to get flag value\n\t * @return {number}\n\t * @override\n\t * @private\n\t */\n\tgetValue() {\n\t\tif (!this.panel || !this.panel.core.data) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst core = this.panel.core;\n\n\t\ttry {\n\t\t\tconst data =\n\t\t\t\tcore.data[core.params.symbol][this.indicator.params.id][\n\t\t\t\t\tthis.indicator.params.uid\n\t\t\t\t];\n\n\t\t\treturn data[data.length - 1][this.id];\n\t\t} catch (e) {\n\t\t\tcore.warn(e.message);\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t */\n\tget eventType () {\n\t\treturn {\n\t\t\trender: 'FLAG_RENDER_INDICATOR',\n\t\t\thide: 'FLAG_HIDE_INDICATOR',\n\t\t\tshow: 'FLAG_SHOW_INDICATOR'\n\t\t};\n\t}\n}\n\n/** Previous Close indicator */\nclass PreviousCloseIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {string} description - Indicator description\n\t * @property {null} text - Indicator text\n\t * @property {boolean} showFlag - Whether to show a Y axis flag\n\t * @property {string} labelAlignment - How to align label - 'ne' | 'nw' | 'sw' | 'se'\n\t * @property {number} numDaysLabel - Number of days to label. -1 for all days, 0 for none\n\t * @property {number} numDaysLine - Number of days to render line. -1 for all days, 0 for none\n\t * @property {boolean} noClip - Whether to clip the indicator\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'previousclose',\n\t\t\tname: 'Previous Close',\n\t\t\tinputs: [{ name: 'Version', value: 1 }],\n\t\t\tversion: 1,\n\t\t\tdescription:\n\t\t\t\t\"Previous Close graphically depicts today's net change. A horizontal line is drawn at the vertical position of the previous day's close. When the chart style is set to mountain, the fill color is typically red below this line, or green above the line.\",\n\t\t\ttext: null,\n\t\t\tshowFlag: false, // optional yaxis flag\n\t\t\tlabelAlignment: 'nw', // ne, nw, sw, se\n\t\t\tnumDaysLabel: 1, // number of days to label (-1 = all days, 0 = none)\n\t\t\tnumDaysLine: 5, // number of days to render line (-1 = all days, 0 = none)\n\t\t\tnoClip: true\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\tif (this.params.version === 2) {\n\t\t\treturn min(data.previousclose || [], function (i) {\n\t\t\t\treturn (i.previousclose || 0) * 0.9999;\n\t\t\t});\n\t\t} else {\n\t\t\treturn data.previousclose.length\n\t\t\t\t? data.previousclose[data.previousclose.length - 1]\n\t\t\t\t\t.previousclose * 0.9999 : 0;\n\t\t}\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\tif (this.params.version === 2) {\n\t\t\treturn max(data.previousclose || [], function (i) {\n\t\t\t\treturn (i.previousclose || 0) * 1.0001;\n\t\t\t});\n\t\t} else {\n\t\t\treturn data.previousclose.length\n\t\t\t\t? data.previousclose[data.previousclose.length - 1]\n\t\t\t\t\t.previousclose * 1.0001\n\t\t\t\t: 0;\n\t\t}\n\t}\n\n\t/** @return {object} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/** @return {object} */\n\t_getDataMap() {\n\t\treturn {};\n\t}\n\n\t/**\n\t * Returns a formatted string for the indicator label\n\t * @param {object} data - Indicator data\n\t * @return {string} formatted label text\n\t */\n\t_getLabelText(data) {\n\t\tconst yAxis = this.panel.yAxis;\n\t\tconst core = this.panel.core;\n\t\tconst formatString = yAxis.getFormatString(yAxis.primaryScale).replace(/s/, 'f');\n\t\tconst localeNumberFormat = formatLocale(core.locale).format(formatString);\n\t\tconst valueFormat = yAxis.getFormatValue(\n\t\t\tlocaleNumberFormat(data.previousclose)\n\t\t);\n\n\t\treturn typeof this.params.text === 'string'\n\t\t\t? this.params.text\n\t\t\t: translate(\n\t\t\t\tcore.locale, \n\t\t\t\t'indicator.previousclose.label', \n\t\t\t\t[valueFormat]\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns an object with dimension specifications for this indicator\n\t * @param {object} row - Current dimension object\n\t * @param {number} index - Current dimension index\n\t * @param {object[]} arr - Full dimensions array\n\t * @return {object}\n\t */\n\t_getDimensions(row, index, arr) {\n\t\tconst panel = this.panel;\n\t\tconst core = panel.core;\n\t\tconst ctx = panel.rootContext;\n\t\tconst size = panel.size;\n\t\tconst paddingLeft = size.padding.left;\n\t\tlet x = paddingLeft;\n\t\tlet dayLeft = 0;\n\t\tlet dayRight = 0;\n\t\tconst yClose = this._yScale()(row.previousclose);\n\t\tlet y = yClose;\n\t\tlet labelWidth = 0;\n\t\tlet labelHeight = 0;\n\t\tlet labelText = '';\n\t\tlet rightEdgeChart = paddingLeft + size.width;\n\t\tlet leftEdgeChart = paddingLeft;\n\t\tconst isNorth = /ne|nw/.test(this.params.labelAlignment);\n\t\tconst isWest = /nw|sw/.test(this.params.labelAlignment);\n\n\t\t// edge adjustments\n\t\trightEdgeChart = Math.min(\n\t\t\trightEdgeChart,\n\t\t\tpanel.xAxis.primaryScale(\n\t\t\t\tcore.closestExchangeIndex(\n\t\t\t\t\tnew Date(core.exchangeDates[core.exchangeDates.length - 1])\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t\tleftEdgeChart = Math.max(\n\t\t\tleftEdgeChart,\n\t\t\tpanel.xAxis.primaryScale(\n\t\t\t\tcore.closestExchangeIndex(new Date(core.exchangeDates[0]))\n\t\t\t)\n\t\t);\n\n\t\tif (!isNaN(y)) {\n\t\t\tctx.font = panel.getFontStyle(\n\t\t\t\tthis.params.style.label.fontWeight,\n\t\t\t\tthis.params.style.label.fontSize,\n\t\t\t\tthis.params.style.label.fontFamily\n\t\t\t);\n\n\t\t\tlabelText = this._getLabelText(row);\n\t\t\tlabelWidth = ctx.measureText(labelText).width;\n\t\t\tlabelHeight = /(\\d+)px/.test(ctx.font)\n\t\t\t\t? Number(RegExp.$1) * 1.2\n\t\t\t\t: 12; // rough height calc\n\n\t\t\tx = isWest ? paddingLeft + 5 : rightEdgeChart - labelWidth - 5;\n\t\t\ty += isNorth ? -labelHeight - 1 : 2;\n\n\t\t\tif (this.getInput('Version') === 2) {\n\t\t\t\tx =\n\t\t\t\t\t5 +\n\t\t\t\t\tpanel.xAxis.primaryScale(\n\t\t\t\t\t\tcore.closestExchangeIndex(new Date(row.date))\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst dateStart = new Date(row.date);\n\t\t\tlet dateEnd;\n\n\t\t\tif (index < arr.length - 1) {\n\t\t\t\tdateEnd = new Date(arr[index + 1].date);\n\t\t\t} else {\n\t\t\t\tdateEnd = new Date(\n\t\t\t\t\tcore.dataPrimary[core.dataPrimary.length - 1].date\n\t\t\t\t);\n\t\t\t\tdateEnd.setHours(0);\n\t\t\t\tdateEnd.setSeconds(0);\n\t\t\t\tdateEnd.setMilliseconds(0);\n\n\t\t\t\tif (core.state.isIntraday && core.state.typicalSessions) {\n\t\t\t\t\tdateEnd.setMinutes(core.state.typicalSessions.max);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdayLeft = panel.xAxis.primaryScale(\n\t\t\t\tcore.closestExchangeIndex(dateStart)\n\t\t\t);\n\t\t\tdayRight = Math.min(\n\t\t\t\tpanel.xAxis.primaryScale(core.closestExchangeIndex(dateEnd)),\n\t\t\t\tpanel.size.width\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t\tdayLeft: dayLeft,\n\t\t\tdayRight: dayRight,\n\t\t\twidthDay: dayRight - dayLeft,\n\t\t\tyClose: yClose,\n\t\t\tlabelText: labelText,\n\t\t\twidth: labelWidth,\n\t\t\theight: labelHeight,\n\t\t\trightEdgeChart: rightEdgeChart,\n\t\t\tleftEdgeChart: leftEdgeChart\n\t\t};\n\t}\n\n\t/**\n\t * Checks whether two rectangles on the canvas intersect\n\t * @param {object} r1 - Rectangle 1 coordinates and size\n\t * @param {object} r2 - Rectangle 2 coordinates and size\n\t * @return {boolean}\n\t */\n\tintersect(r1, r2) {\n\t\tif (\n\t\t\tr1.x < r2.x + r2.width &&\n\t\t\tr2.x < r1.x + r1.width &&\n\t\t\tr1.y < r2.y + r2.height\n\t\t) {\n\t\t\treturn r2.y < r1.y + r1.height;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst self = this;\n\n\t\t// lines\n\t\tif (this.getInput('Version') === 2) {\n\t\t\tconst dimensionsAll = [];\n\n\t\t\t// bounding boxes\n\t\t\tdata.previousclose.forEach(function (row, index, arr) {\n\t\t\t\tdimensionsAll.push(self._getDimensions(row, index, arr));\n\t\t\t});\n\n\t\t\tself._renderLineV2(dimensionsAll);\n\n\t\t\tdimensionsAll.forEach(function (row, index, arr) {\n\t\t\t\tself._renderLabel(row, index, arr);\n\t\t\t});\n\t\t} else {\n\t\t\tconst index = data.previousclose.length - 1;\n\t\t\tconst dimensions = self._getDimensions(\n\t\t\t\tdata.previousclose[index],\n\t\t\t\tindex,\n\t\t\t\tdata.previousclose\n\t\t\t);\n\n\t\t\tself._renderLine(dimensions);\n\t\t\tself._renderLabel(dimensions, 0, 1);\n\t\t}\n\n\t\tif (this.params.showFlag && !this.flags['previousclose']) {\n\t\t\tthis.flags['previousclose'] = new IndicatorFlag({\n\t\t\t\tpanel: this.panel,\n\t\t\t\tindicator: this,\n\t\t\t\tid: 'previousclose'\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Renders a line\n\t * @param {object} dimensions - Indicator dimensions\n\t * @return {number}\n\t */\n\t_renderLine(dimensions) {\n\t\tconst panel = this.panel;\n\t\tconst ctx = panel.rootContext;\n\n\t\tctx.textBaseline = 'top';\n\t\tctx.lineWidth = this.params.style.width;\n\t\tctx.strokeStyle = this.params.style.color;\n\t\tif (this.params.style.lineDash) {\n\t\t\tctx.setLineDash(this.params.style.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.beginPath();\n\t\tsubpixel.moveTo(ctx, dimensions.leftEdgeChart, dimensions.yClose);\n\t\tsubpixel.lineTo(ctx, dimensions.rightEdgeChart, dimensions.yClose);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t\treturn dimensions.rightEdgeChart - dimensions.leftEdgeChart;\n\t}\n\n\t/**\n\t * Renders a line\n\t * @param {object} dimensions - Indicator dimensions\n\t * @return {number}\n\t */\n\t_renderLineV2(dimensions) {\n\t\tconst panel = this.panel;\n\t\tconst self = this;\n\t\tconst ctx = panel.rootContext;\n\t\tctx.textBaseline = 'top';\n\t\tctx.lineWidth = this.params.style.width;\n\t\tctx.strokeStyle = this.params.style.color;\n\t\tif (this.params.style.lineDash) {\n\t\t\tctx.setLineDash(this.params.style.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.beginPath();\n\n\t\tdimensions.forEach(function (row, index, arr) {\n\t\t\tif (self.params.numDaysLine === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tself.params.numDaysLine > 0 &&\n\t\t\t\tindex < arr.length - self.params.numDaysLine\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (row.dayRight < row.dayLeft) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (row.yClose < 0 || row.yClose >= panel.size.height) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsubpixel.moveTo(ctx, row.dayLeft, row.yClose);\n\t\t\tsubpixel.lineTo(ctx, row.dayRight, row.yClose);\n\t\t});\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n\n\t/**\n\t * Renders a label for the indicator\n\t * @param {object} dimensions - Indicator dimensions\n\t * @param {number} index - Current array index\n\t * @param {object[]} arr - Array of data\n\t */\n\t_renderLabel(dimensions, index, arr) {\n\t\tconst panel = this.panel;\n\t\tconst ctx = panel.rootContext;\n\n\t\tif (this.params.numDaysLabel === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.params.numDaysLabel > 0 &&\n\t\t\tindex < arr.length - this.params.numDaysLabel\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isNaN(dimensions.y)) {\n\t\t\tif (\n\t\t\t\tthis.getInput('Version') === 1 ||\n\t\t\t\t(dimensions.x + dimensions.width < panel.size.width &&\n\t\t\t\t\tdimensions.width < dimensions.widthDay)\n\t\t\t) {\n\t\t\t\t// label\n\t\t\t\tthis.panel.glowText(\n\t\t\t\t\tctx,\n\t\t\t\t\tdimensions.labelText,\n\t\t\t\t\tdimensions.x,\n\t\t\t\t\tdimensions.y,\n\t\t\t\t\tthis.params.style.label.color,\n\t\t\t\t\tthis.params.style.label.glowColor\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// debug bounding box\n\t\t\t//ctx.strokeStyle = this.params.style.color;\n\t\t\t//ctx.strokeRect(dimensions.x, dimensions.y, dimensions.width, dimensions.height);\n\t\t}\n\t}\n}\n\n/** Price Channel indicator */\nclass PriceChannelIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'pricechannel',\n\t\t\tname: 'Price Channel',\n\t\t\tdescription:\n\t\t\t\t'Price Channel is a trending indicator that shows the high and low prices for a period. It is typically a bullish signal, when a stock breaks out above the prior high for a period.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tcomponentSeries: [\n\t\t\t\t{ id: 'pricechannellower' },\n\t\t\t\t{ id: 'pricechannelupper' }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.pricechannel || [], function (i) {\n\t\t\treturn +i.pricechannellower;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.pricechannel || [], function (i) {\n\t\t\treturn +i.pricechannelupper;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} lineUp\n\t * @property {LineMarker} lineColorDown\n\t * @property {LineMarker} lineFill\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tlineUp: new LineMarker(),\n\t\t\t\tlineDown: new LineMarker(),\n\t\t\t\tlineFill: new LineMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d[type]];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst x = this._xScale();\n\t\tconst y = this._yScale();\n\t\tconst dataUp = this._getDataMap(data.pricechannel || [], 'pricechannelupper');\n\t\tconst dataDown = this._getDataMap(data.pricechannel || [], 'pricechannellower');\n\t\tconst style = this.params.style;\n\t\t\n\t\tthis.markers.lineFill.renderFillBetween(\n\t\t\tctx,\n\t\t\tdataUp,\n\t\t\tdataDown,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.fillColor\n\t\t);\n\t\tthis.markers.lineUp.render(\n\t\t\tctx,\n\t\t\tdataUp,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t\tthis.markers.lineDown.render(\n\t\t\tctx,\n\t\t\tdataDown,\n\t\t\tx,\n\t\t\ty,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\t}\n}\n\n/** Last Close flag */\nclass LastCloseFlag extends Flag {\n\t/** \n\t * @param {object} args Custom args\n\t * @property {object} style Developer-defined style settings for this flag\n\t * @property {string} style.backgroundColor Hex flag background color\n\t * @property {string} style.labelColor Hex flag text color\n\t * @property {string} style.labelFontFamily Font family for flag text\n\t * @property {number} style.labelFontSize Font size for flag text\n\t */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Merge developer inputs with this default style\n\t * @param {object} args Constructor args\n\t * @return {object} Default style for this type of flag\n\t * @property {string} backgroundColor Hex flag background color\n\t * @property {string} labelColor Hex flag text color\n\t * @property {string} labelFontFamily Font family for flag text\n\t * @property {number} labelFontSize Font size for flag text\n\t * @private\n\t */\n\tgetDefaultStyle(args) {\n\t\tconst { core } = this.panel;\n\t\tconst panelStyle = this.panel.params.style;\n\t\tconst indicatorStyle = this.indicator ? this.indicator.params.style : {};\n\n\t\treturn {\n\t\t\tbackgroundColor:\n\t\t\t\tcore.getStyle('flag.lastClose.color.background') ||\n\t\t\t\tindicatorStyle.color ||\n\t\t\t\t'#555555',\n\t\t\tlabelColor:\n\t\t\t\tcore.getStyle('flag.lastClose.color.label') ||\n\t\t\t\t'#FFFFFF',\n\t\t\tlabelFontFamily:\n\t\t\t\tcore.getStyle('flag.lastClose.font.family') ||\n\t\t\t\tpanelStyle.yAxis.font.family ||\n\t\t\t\t'Arial',\n\t\t\tlabelFontSize:\n\t\t\t\tcore.getStyle('flag.lastClose.font.size') ||\n\t\t\t\tpanelStyle.yAxis.font.size ||\n\t\t\t\t12,\n\t\t\t...args.style\n\t\t};\n\t}\n\n\t/**\n\t * Private method to get flag value\n\t * @return {number}\n\t * @override\n\t * @private\n\t */\n\tgetValue() {\n\t\tif (!this.panel || !this.panel.core.data) return null;\n\n\t\tconst data = this.panel.core.data[this.indicator.params.symbol];\n\t\tlet val = null;\n\t\tconst symbolData = this.getFirstDataset(data ? data.price || [] : []);\n\n\t\tif (symbolData && symbolData.length) {\n\t\t\tfor (let x = symbolData.length - 1; x >= 0; x--) {\n\t\t\t\tval = symbolData[x].close;\n\n\t\t\t\tif (val) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tval = val.toFixed(4);\n\n\t\t\treturn val;\n\t\t}\n\t}\n\n\t/**\n\t * Gets the first available data set for this symbol\n\t * @param {object} data Symbol data\n\t * @private\n\t */\n\tgetFirstDataset(data) {\n\t\tfor (const x in data) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(data, x)) {\n\t\t\t\treturn data[x];\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t * @returns The appropriate event emitter types\n\t * @type {object}\n\t */\n\tget eventType () {\n\t\treturn {\n\t\t\trender: 'FLAG_RENDER_LASTCLOSE',\n\t\t\thide: 'FLAG_HIDE_LASTCLOSE',\n\t\t\tshow: 'FLAG_SHOW_LASTCLOSE'\n\t\t};\n\t}\n\n\trender() {\n\t\t// Only render flag if enabled\n\t\tif(this.panel.core.params.showLastCloseFlags) super.render();\n\t}\n}\n\n/** Candlestick marker */\nclass CandlestickMarker extends Marker {\n\tconstructor(params) {\n\t\tsuper(params);\n\t}\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillType: 'hollow', // \"hollow\", \"filled\"\n\t\t\tlineColor: '#666',\n\t\t\tfillColorNeg: '#000',\n\t\t\tfillColorPos: '#fff'\n\t\t};\n\t}\n\t/**\n\t * calculate dynamic bar width based on data period and panel domain\n\t * (method used by more than one marker subclass so it lives here)\n\t * @param {Panel} panel\n\t * @return {int}\n\t */\n\tgetBarWidth(panel, min = null, max = null) {\n\t\tif (!min && !max) [min, max] = panel.xAxis.primaryScale.domain();\n\t\tconst { width } = panel.size;\n\t\tlet len = max - min;\n\t\tconst tolerance = panel.core.params.candleWidthTolerance;\n\t\tlet w0;\n\n\t\tswitch (panel.core.params.dataPeriod) {\n\t\t\tcase 'Year':\n\t\t\t\tlen /= 365;\n\t\t\t\tbreak;\n\t\t\tcase 'Month':\n\t\t\t\tlen /= 15;\n\t\t\t\tbreak;\n\t\t\tcase 'Week':\n\t\t\t\tlen /= 3;\n\t\t\t\tbreak;\n\t\t\tcase 'Day':\n\t\t\t\tbreak;\n\t\t\tcase 'Hour':\n\t\t\t\tlen /= 30;\n\t\t\t\tbreak;\n\t\t\tcase 'Minute':\n\t\t\t\tlen /= panel.core.params.dataInterval\n\t\t\t\t\t? panel.core.params.dataInterval\n\t\t\t\t\t: 1;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tw0 = Math.min(30, (0.6 * width) / len);\n\n\t\t// STS-1340\n\t\tif (tolerance !== 0 && w0 < tolerance) w0 = 1;\n\n\t\treturn w0;\n\t}\n\n\trender(\n\t\tpanel,\n\t\tctx,\n\t\tdata,\n\t\txScale,\n\t\tyScale,\n\t\tfillColorPos,\n\t\tfillColorNeg,\n\t\tfillColorNeutral\n\t) {\n\t\tconst w0 = this.getBarWidth(panel);\n\t\tconst w1 = w0 / 2;\n\t\tconst d = []; // date\n\t\tconst o = []; // open\n\t\tconst h = []; // high\n\t\tconst l = []; // low\n\t\tconst c = []; // close\n\t\tlet x = 0;\n\t\tlet dataRow = [];\n\t\tconst isFilled = this.params.fillType === 'filled';\n\t\tconst isJapaneseFill = this.params.fillRule === 'openClose';\n\t\tconst isMF =\n\t\t\tpanel.core.xref[panel.core.params.symbol] &&\n\t\t\tpanel.core.xref[panel.core.params.symbol].issueType === 'MF';\n\t\tconst showCandleBody = isMF || w0 > 1 || data.length < 100; // conceal body on well-populated datasets with thin candles, but don't do it for funds which have no vertical height on a Daily period\n\n\t\tfillColorNeutral = fillColorNeutral || '#999999';\n\n\t\t// pos wicks\n\t\tctx.strokeStyle = fillColorPos;\n\t\tctx.lineWidth = 1;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < data.length; x++) {\n\t\t\tdataRow = data[x];\n\n\t\t\t// 0 = date\n\t\t\t// 1 = close\n\t\t\t// 2 = open\n\t\t\t// 3 = high\n\t\t\t// 4 = low\n\t\t\t// 5 = diff (change from previous)\n\t\t\t// 6 = hollow/filled\n\t\t\t// 7 = for \"filled mode\" only, red/green color\n\n\t\t\t// normally already available, but this can happen for comparisons\n\t\t\tif (typeof dataRow[5] === 'undefined') {\n\t\t\t\t// get diff (for determining color)\n\t\t\t\tif (x > 0) {\n\t\t\t\t\tdataRow[5] = dataRow[1] - data[x - 1][1];\n\t\t\t\t} else {\n\t\t\t\t\tdataRow[5] = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// cache xScale/yScale lookups\n\t\t\t// Math.round to ensure array of ints instead of doubles\n\t\t\td[x] = Math.round(xScale(dataRow[0]));\n\t\t\to[x] = Math.round(yScale(dataRow[2]));\n\t\t\th[x] = Math.round(yScale(dataRow[3]));\n\t\t\tl[x] = Math.round(yScale(dataRow[4]));\n\t\t\tc[x] = Math.round(yScale(dataRow[1]));\n\n\t\t\t// \"filled mode\" candles derive color from open/close instead of close/close\n\t\t\tif (isFilled) {\n\t\t\t\tif (dataRow[1] > dataRow[2]) {\n\t\t\t\t\tdataRow[7] = 1; // pos\n\t\t\t\t} else if (dataRow[1] < dataRow[2]) {\n\t\t\t\t\tdataRow[7] = -1; // neg\n\t\t\t\t} else {\n\t\t\t\t\tdataRow[7] = 0; // unch\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// normally already available, but this can happen for comparisons\n\t\t\tif (typeof dataRow[6] === 'undefined') {\n\t\t\t\t// get candle hollow bool\n\t\t\t\tdataRow[6] = dataRow[1] > dataRow[2] ? 1 : 0;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(!isFilled && dataRow[5] > 0) ||\n\t\t\t\t(isFilled && dataRow[7] === 1)\n\t\t\t) {\n\t\t\t\tif (showCandleBody) {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], Math.min(o[x], c[x]));\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], Math.max(o[x], c[x]));\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t} else {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tctx.closePath();\n\t\tctx.stroke();\n\n\t\t// neg wicks\n\t\tctx.strokeStyle = fillColorNeg;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < data.length; x++) {\n\t\t\tdataRow = data[x];\n\n\t\t\tif (\n\t\t\t\t(!isFilled && dataRow[5] < 0) ||\n\t\t\t\t(isFilled && dataRow[7] === -1)\n\t\t\t) {\n\t\t\t\tif (showCandleBody) {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], Math.min(o[x], c[x]));\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], Math.max(o[x], c[x]));\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t} else {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tctx.closePath();\n\t\tctx.stroke();\n\n\t\t// unchanged wicks\n\t\tctx.strokeStyle = fillColorNeutral;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < data.length; x++) {\n\t\t\tdataRow = data[x];\n\n\t\t\tif (\n\t\t\t\t(!isFilled && dataRow[5] === 0) ||\n\t\t\t\t(isFilled && dataRow[7] === 0)\n\t\t\t) {\n\t\t\t\tif (showCandleBody) {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], Math.min(o[x], c[x]));\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], Math.max(o[x], c[x]));\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t} else {\n\t\t\t\t\tsubpixel.moveTo(ctx, d[x], h[x]);\n\t\t\t\t\tsubpixel.lineTo(ctx, d[x], l[x]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tctx.closePath();\n\t\tctx.stroke();\n\n\t\t// draw candle body. there are two types of filled candles -\n\t\t// 1) default - compare close to previous close\n\t\t// 2) \"filled\" candle mode - compare close to open\n\t\tif (showCandleBody) {\n\t\t\t// unchanged filled\n\t\t\tctx.fillStyle = fillColorNeutral;\n\t\t\tctx.beginPath();\n\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (isFilled) {\n\t\t\t\t\t// close === open\n\t\t\t\t\tif (dataRow[1] === dataRow[2]) {\n\t\t\t\t\t\tsubpixel.fillRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t} else if (dataRow[5] === 0) {\n\t\t\t\t\t// regular filled\n\t\t\t\t\tif (dataRow[6] === 0) {\n\t\t\t\t\t\tsubpixel.fillRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\n\t\t\t// unchanged hollow\n\t\t\tctx.strokeStyle = fillColorNeutral;\n\t\t\tctx.beginPath();\n\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (!isFilled && dataRow[5] === 0) {\n\t\t\t\t\tif (dataRow[6] !== 0 && dataRow[6] === 1) {\n\t\t\t\t\t\tsubpixel.hollowRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\n\t\t\t// pos filled\n\t\t\tctx.fillStyle = fillColorPos;\n\t\t\tctx.strokeStyle = fillColorPos;\n\t\t\tctx.beginPath();\n\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (isFilled) {\n\t\t\t\t\t// close > open\n\t\t\t\t\tif (dataRow[1] > dataRow[2]) {\n\t\t\t\t\t\tif (isJapaneseFill) {\n\t\t\t\t\t\t\t// special case here - would normally be a pos fill, but this style uses a pos hollow (NXC-797)\n\n\t\t\t\t\t\t\tsubpixel.hollowRect(\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\td[x] - w1,\n\t\t\t\t\t\t\t\to[x],\n\t\t\t\t\t\t\t\tw0,\n\t\t\t\t\t\t\t\tc[x] - o[x]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsubpixel.fillRect(\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\td[x] - w1,\n\t\t\t\t\t\t\t\to[x],\n\t\t\t\t\t\t\t\tw0,\n\t\t\t\t\t\t\t\tc[x] - o[x]\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} else if (dataRow[5] > 0) {\n\t\t\t\t\t// regular filled\n\t\t\t\t\tif (dataRow[6] === 0) {\n\t\t\t\t\t\tsubpixel.fillRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tif (isJapaneseFill) {\n\t\t\t\tctx.stroke();\n\t\t\t} else {\n\t\t\t\tctx.fill();\n\t\t\t}\n\n\t\t\t// pos hollow\n\t\t\tctx.strokeStyle = fillColorPos;\n\t\t\tctx.beginPath();\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (!isFilled && dataRow[5] > 0) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tdataRow[6] !== 0 &&\n\t\t\t\t\t\tdataRow[5] > 0 &&\n\t\t\t\t\t\tdataRow[6] === 1\n\t\t\t\t\t) {\n\t\t\t\t\t\tsubpixel.hollowRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\n\t\t\t// neg filled\n\t\t\tctx.fillStyle = fillColorNeg;\n\t\t\tctx.beginPath();\n\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (isFilled) {\n\t\t\t\t\t// close < open\n\t\t\t\t\tif (dataRow[1] < dataRow[2]) {\n\t\t\t\t\t\tsubpixel.fillRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t} else if (dataRow[5] < 0) {\n\t\t\t\t\t// regular filled\n\t\t\t\t\tif (dataRow[6] === 0) {\n\t\t\t\t\t\tsubpixel.fillRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\n\t\t\t// neg hollow\n\t\t\tctx.strokeStyle = fillColorNeg;\n\t\t\tctx.beginPath();\n\t\t\tfor (x = 0; x < data.length; x++) {\n\t\t\t\tdataRow = data[x];\n\n\t\t\t\tif (!isFilled && dataRow[5] < 0) {\n\t\t\t\t\t// regular filled\n\t\t\t\t\tif (dataRow[6] !== 0) {\n\t\t\t\t\t\tsubpixel.hollowRect(ctx, d[x] - w1, o[x], w0, c[x] - o[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t}\n\t}\n\n\trenderOHLC(panel, ctx, data, xScale, yScale, lineColor, markerType) {\n\t\tconst w0 = this.getBarWidth(panel) * 0.7;\n\t\tconst d = [];\n\t\tlet x;\n\t\tconst xLen = data.length;\n\n\t\t// 0 = date\n\t\t// 1 = close\n\t\t// 2 = open\n\t\t// 3 = high\n\t\t// 4 = low\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\td[x] = xScale(data[x][0]);\n\t\t}\n\n\t\tctx.lineWidth = 1;\n\t\tctx.strokeStyle = lineColor || this.params.lineColor;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t}\n\n\t\tctx.stroke();\n\t}\n\n\trenderOHLCNewHighs(\n\t\tpanel,\n\t\tctx,\n\t\tdata,\n\t\txScale,\n\t\tyScale,\n\t\tlineColorUp,\n\t\tlineColorNeutral = '#999999',\n\t\tmarkerType\n\t) {\n\t\tconst w0 = this.getBarWidth(panel) * 0.7;\n\t\tconst d = [];\n\t\tlet x;\n\t\tconst xLen = data.length;\n\n\t\tlet currentHigh = -Infinity;\n\t\tconst indiciesLessThanCurrentHigh = [];\n\n\t\t/**\n\t\t * Indices for elements in data array:\n\t\t * 0 = date\n\t\t * 1 = close\n\t\t * 2 = open\n\t\t * 3 = high\n\t\t * 4 = low\n\t\t */\n\n\t\t// Scale all of the dates\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\td[x] = xScale(data[x][0]);\n\t\t}\n\n\t\t// draw in three passes, one per color, for better canvas performance\n\n\t\tctx.lineWidth = 1;\n\n\t\t// Draw new highs\n\t\tctx.strokeStyle = lineColorUp;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\tif (\n\t\t\t\td[x] + w0 > 0 && // Only check data points on the chart\n\t\t\t\tdata[x][1] > currentHigh\n\t\t\t) {\n\t\t\t\tcurrentHigh = data[x][1];\n\t\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t\t} else {\n\t\t\t\tindiciesLessThanCurrentHigh.push(x);\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\n\t\t// Draw everything else\n\t\tctx.strokeStyle = lineColorNeutral;\n\t\tctx.beginPath();\n\n\t\tfor (const x of indiciesLessThanCurrentHigh) {\n\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t}\n\n\t\tctx.stroke();\t\t\n\t}\n\n\trenderOHLCNewLows(\n\t\tpanel,\n\t\tctx,\n\t\tdata,\n\t\txScale,\n\t\tyScale,\n\t\tlineColorDown,\n\t\tlineColorNeutral = '#999999',\n\t\tmarkerType\n\t) {\n\t\tconst w0 = this.getBarWidth(panel) * 0.7;\n\t\tconst d = [];\n\t\tlet x;\n\t\tconst xLen = data.length;\n\n\t\tlet currentLow = Infinity;\n\t\tconst indiciesGreaterThanCurrentlow = [];\n\n\t\t/**\n\t\t * Indices for elements in data array:\n\t\t * 0 = date\n\t\t * 1 = close\n\t\t * 2 = open\n\t\t * 3 = high\n\t\t * 4 = low\n\t\t */\n\n\t\t// Scale all of the dates\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\td[x] = xScale(data[x][0]);\n\t\t}\n\n\t\tctx.lineWidth = 1;\n\n\t\t// Draw new lows\n\t\tctx.strokeStyle = lineColorDown;\n\t\tctx.beginPath();\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\tif (\n\t\t\t\td[x] + w0 > 0 && // Only check data points on the chart\n\t\t\t\tdata[x][1] < currentLow\n\t\t\t) {\n\t\t\t\tcurrentLow = data[x][1];\n\t\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t\t} else {\n\t\t\t\tindiciesGreaterThanCurrentlow.push(x);\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\n\t\t// Draw everything else\n\t\tctx.strokeStyle = lineColorNeutral;\n\t\tctx.beginPath();\n\n\t\tfor (const x of indiciesGreaterThanCurrentlow) {\n\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t}\n\n\t\tctx.stroke();\t\t\n\t}\n\n\trenderOHLCPosNeg(\n\t\tpanel,\n\t\tctx,\n\t\tdata,\n\t\txScale,\n\t\tyScale,\n\t\tlineColorUp,\n\t\tlineColorDown,\n\t\tlineColorNeutral,\n\t\tmarkerType\n\t) {\n\t\tconst w0 = this.getBarWidth(panel) * 0.7;\n\t\tconst d = [];\n\t\tlet x;\n\t\tconst xLen = data.length;\n\n\t\tlineColorNeutral = lineColorNeutral || '#999999';\n\n\t\t// 0 = date\n\t\t// 1 = close\n\t\t// 2 = open\n\t\t// 3 = high\n\t\t// 4 = low\n\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\td[x] = xScale(data[x][0]);\n\t\t}\n\n\t\t// draw in three passes, one per color, for better canvas performance\n\n\t\tctx.lineWidth = 1;\n\t\tctx.strokeStyle = lineColorNeutral;\n\t\tctx.beginPath();\n\n\t\t// unchanged\n\t\tfor (x = 0; x < xLen; x++) {\n\t\t\tif (x === 0 || data[x][1] === data[x - 1][1]) {\n\t\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.strokeStyle = lineColorUp;\n\t\tctx.beginPath();\n\n\t\t// pos\n\t\tfor (x = 1; x < xLen; x++) {\n\t\t\tif (data[x][1] > data[x - 1][1]) {\n\t\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.strokeStyle = lineColorDown;\n\t\tctx.beginPath();\n\n\t\t// neg\n\t\tfor (x = 1; x < xLen; x++) {\n\t\t\tif (data[x][1] < data[x - 1][1]) {\n\t\t\t\tthis.drawOHLC(panel, ctx, d, yScale, data, w0, markerType, x);\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\t}\n\n\tdrawOHLC(panel, ctx, d, yScale, data, w0, markerType, x) {\n\t\t// vert\n\t\tsubpixel.moveTo(ctx, d[x], yScale(data[x][3]));\n\t\tsubpixel.lineTo(ctx, d[x], yScale(data[x][4]));\n\n\t\tif (markerType === 'ohlc') {\n\t\t\t// open\n\t\t\tsubpixel.moveTo(ctx, d[x] - w0, yScale(data[x][2]));\n\t\t\tsubpixel.lineTo(ctx, d[x], yScale(data[x][2]));\n\t\t}\n\n\t\t// close\n\t\tsubpixel.moveTo(ctx, d[x], yScale(data[x][1]));\n\t\tsubpixel.lineTo(ctx, d[x] + w0, yScale(data[x][1]));\n\t}\n}\n\n/** Circle marker */\nclass CircleMarker extends Marker {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillColor: '#CCC'\n\t\t};\n\t}\n\n\trender(ctx, data, xScale, yScale,\n\t\t{ \n\t\t\tbeginPath = true,\n\t\t\tcolor = null,\n\t\t\tlength: diameter = 4,\n\t\t\tfillColor,\n\t\t\tlineWidth = 1,\n\t\t}\n\t) {\n\t\tctx.save();\n\t\tif (beginPath) ctx.beginPath();\n\t\tctx.fillStyle = fillColor;\n\t\tctx.strokeStyle = color;\n\t\tctx.lineWidth = lineWidth;\n\n\t\tfor (const row of data) {\n\t\t\tconst x0 = xScale(row[0]);\n\t\t\tconst y0 = yScale(row[1]);\n\n\t\t\tctx.moveTo(x0 + diameter / 2, y0);\n\t\t\tctx.arc(x0, y0, diameter / 2, 0, 2 * Math.PI, true);\n\t\t}\n\t\tif (fillColor) ctx.fill();\n\t\tif (color) ctx.stroke();\n\n\t\tctx.restore();\n\t}\n}\n\n/** Diamond marker */\nclass DiamondMarker extends Marker {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillColor: '#CCC'\n\t\t};\n\t}\n\n\trender(ctx, data, xScale, yScale,\n\t\t{ \n\t\t\tbeginPath = true,\n\t\t\tcolor = null,\n\t\t\tfillColor,\n\t\t\tlength: height = 4,\n\t\t\tlineWidth = 1,\n\t\t}\n\t) {\n\t\tconst halfHeight = height / 2;\n\n\t\tctx.save();\n\t\tctx.fillStyle = fillColor;\n\t\tctx.strokeStyle = color;\n\t\tctx.lineWidth = lineWidth;\n\n\t\tif (beginPath) ctx.beginPath();\n\t\tfor (const row of data) {\n\t\t\tconst x0 = xScale(row[0]);\n\t\t\tconst y0 = yScale(row[1]);\n\n\t\t\tctx.moveTo(x0 - halfHeight, y0);\n\t\t\tctx.lineTo(x0, y0 + halfHeight);\n\t\t\tctx.lineTo(x0 + halfHeight, y0);\n\t\t\tctx.lineTo(x0, y0 - halfHeight);\n\t\t\tctx.closePath();\n\t\t}\n\t\tif (fillColor) ctx.fill();\n\t\tif (color) ctx.stroke();\n\n\t\tctx.restore();\n\t}\n}\n\n/** Square marker */\nclass SquareMarker extends Marker {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillColor: '#CCC'\n\t\t};\n\t}\n\n\trender(ctx, data, xScale, yScale,\n\t\t{ \n\t\t\tbeginPath = true,\n\t\t\tcolor = null,\n\t\t\tfillColor,\n\t\t\tlength: height = 4,\n\t\t\tlineWidth = 1,\n\t\t}\n\t) {\n\t\tconst halfHeight = height / 2;\n\n\t\tctx.save();\n\t\tctx.fillStyle = fillColor;\n\t\tctx.strokeStyle = color;\n\t\tctx.lineWidth = lineWidth;\n\n\t\tif (beginPath) ctx.beginPath();\n\t\tfor (const row of data) {\n\t\t\tconst x0 = xScale(row[0]);\n\t\t\tconst y0 = yScale(row[1]);\n\n\t\t\tctx.rect(\n\t\t\t\tx0 + halfHeight, // Draw CCW for clipping offset region\n\t\t\t\ty0 - halfHeight,\n\t\t\t\t-height, // Draw CCW for clipping offset region\n\t\t\t\theight\n\t\t\t);\n\t\t}\n\t\tif (fillColor) ctx.fill();\n\t\tif (color) ctx.stroke();\n\n\t\tctx.restore();\n\t}\n}\n\n/** Triangle marker */\nclass TriangleMarker extends Marker {\n\tconstructor(params) {\n\t\tsuper(params);\n\t}\n\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tfillColor: '#CCC'\n\t\t};\n\t}\n\n\trender(ctx, data, xScale, yScale,\n\t\t{ \n\t\t\tbeginPath = true,\n\t\t\tcolor = null,\n\t\t\tfillColor,\n\t\t\tlength = 4,\n\t\t\tlineWidth = 1,\n\t\t}\n\t) {\n\t\t// Use length as side length instead of height\n\t\tconst halfLength = length / 2;\n\t\tconst height = halfLength * Math.sqrt(3);\n\t\tconst thirdHeight = height / 3;\n\n\t\tctx.save();\n\t\tctx.fillStyle = fillColor;\n\t\tctx.strokeStyle = color;\n\t\tctx.lineWidth = lineWidth;\n\n\t\tif (beginPath) ctx.beginPath();\n\t\tfor (const row of data) {\n\t\t\tconst x0 = xScale(row[0]);\n\t\t\tconst y0 = yScale(row[1]);\n\n\t\t\tctx.moveTo(x0 - halfLength, y0 + thirdHeight);\n\t\t\tctx.lineTo(x0 + halfLength, y0 + thirdHeight);\n\t\t\tctx.lineTo(x0, y0 - 2 * thirdHeight);\n\t\t\tctx.closePath();\n\t\t}\n\t\tif (fillColor) ctx.fill();\n\t\tif (color) ctx.stroke();\n\n\t\tctx.restore();\n\t}\n}\n\n/** Price indicator */\nclass PriceIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t\t/** @type {object} */\n\t\tthis.flags['lastclose'] = new LastCloseFlag({\n\t\t\tpanel: this.panel,\n\t\t\tindicator: this,\n\t\t\tid: 'lastclose'\n\t\t});\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {string} dataSeries - Which data series to use\n\t * @property {string} markerType - Indicator marker type - 'posneg' |\n\t * 'candlestick' | 'fill' | 'ohlc' | 'hlc' | 'bar' | 'line'\n\t * @property {string} candleFillType - Whether to fill candlestick markers -\n\t * 'hollow' | 'filled'\n\t * @property {string} candleFillRule - How to fill candlestick markers -\n\t * 'default' | 'openClose'\n\t * @property {boolean} ohlcPosNeg - Set false for OHLC/HLC to get monochrome coloring\n\t * @property {string} symbol - Symbol for this indicator\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'price',\n\t\t\tname: 'Price',\n\t\t\tinputs: [{ name: 'type', value: 'ohlc' }],\n\t\t\tdataSeries: 'close',\n\t\t\tmarkerType: markerType.LINE, // posneg, candlestick, fill, ohlc, hlc, bar\n\t\t\tcandleFillType: 'hollow', // \"hollow\", \"filled\"\n\t\t\tcandleFillRule: 'default', // \"default\", \"openClose\"\n\t\t\tohlcPosNeg: true, // for OHLC/HLC set false for monochrome coloring,\n\t\t\tohlcType: ohlcType.POSNEG,\n\t\t\tsymbol: this.panel.core.params.symbol\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\tconst dataset =\n\t\t\ttypeof data.price === 'object' && data.price.length\n\t\t\t\t? data.price\n\t\t\t\t: data.length ? data : [];\n\t\tlet minVal;\n\t\tswitch (this.params.markerType) {\n\t\t\tcase markerType.BAR:\n\t\t\tcase markerType.FILL:\n\t\t\tcase markerType.LINE:\n\t\t\tcase markerType.LINEWITHSHAPES:\n\t\t\tcase markerType.POSNEG:\n\t\t\tcase markerType.SHAPE:\n\t\t\tcase markerType.STEPPED:\n\t\t\t\tminVal = min(dataset, i => i.close || i.value); break;\n\t\t\tcase markerType.CANDLESTICK:\n\t\t\tcase markerType.HLC:\n\t\t\tcase markerType.OHLC:\n\t\t\t\tminVal = min(dataset, i => i.low || i.close || i.value); break;\n\t\t}\n\t\tconst normalizedPoint = this._getNormalizedPoint(dataset[0].dateIndex);\n\t\tif (normalizedPoint) {\n\t\t\tminVal = Math.min(minVal, normalizedPoint[1]);\n\t\t}\n\t\treturn minVal;\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\tconst dataset =\n\t\t\ttypeof data.price === 'object' && data.price.length\n\t\t\t\t? data.price\n\t\t\t\t: data.length ? data : [];\n\t\tlet maxVal;\n\t\tswitch (this.params.markerType) {\n\t\t\tcase markerType.BAR:\n\t\t\tcase markerType.FILL:\n\t\t\tcase markerType.LINE:\n\t\t\tcase markerType.LINEWITHSHAPES:\n\t\t\tcase markerType.POSNEG:\n\t\t\tcase markerType.SHAPE:\n\t\t\tcase markerType.STEPPED:\n\t\t\t\tmaxVal = max(dataset, i => i.close || i.value); break;\n\t\t\tcase markerType.CANDLESTICK:\n\t\t\tcase markerType.HLC:\n\t\t\tcase markerType.OHLC:\n\t\t\t\tmaxVal = max(dataset, i => i.high || i.close || i.value ); break;\n\t\t}\n\t\tconst normalizedPoint = this._getNormalizedPoint(dataset[0].dateIndex);\n\t\tif (normalizedPoint) {\n\t\t\tmaxVal = Math.max(maxVal, normalizedPoint[1]);\n\t\t}\n\t\treturn maxVal;\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {BarMarker} bar - Bar marker\n\t * @property {CandlestickMarker} candlestick - Candlestick marker\n\t * @property {CircleMarker} circle - Circle marker\n\t * @property {LineMarker} line - Line marker\n\t * @property {LineMarker} stepped - Stepped marker\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tbar: new BarMarker(),\n\t\t\tcandlestick: new CandlestickMarker(),\n\t\t\tline: new LineMarker(),\n\t\t\tshape: {\n\t\t\t\t[shapeType.CIRCLE]: new CircleMarker(),\n\t\t\t\t[shapeType.DIAMOND]: new DiamondMarker(),\n\t\t\t\t[shapeType.SQUARE]: new SquareMarker(),\n\t\t\t\t[shapeType.TRIANGLE]: new TriangleMarker()\n\t\t\t},\n\t\t\tstepped: new LineMarker(),\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\tconst close = typeof d.close === 'number' ? d.close : d.value;\n\t\t\treturn [\n\t\t\t\td.dateIndex,\n\t\t\t\tclose,\n\t\t\t\ttypeof d.open === 'number' ? d.open : close,\n\t\t\t\ttypeof d.high === 'number' ? d.high : close,\n\t\t\t\ttypeof d.low === 'number' ? d.low : close,\n\t\t\t\td.diff,\n\t\t\t\td.hollow\n\t\t\t];\n\t\t});\n\t}\n\n\t/**\n\t * Prepends a point to the beginning of the data array at the normalized \n\t * date/value position. This is non-destructive to the overall chart dataset \n\t * since the prepend only affects the temporary render dataset.\n\t * @param {object} data - Processed indicator data array\n\t * @return {object}\n\t */\n\t_prependNormalizedPoint(data) {\n\t\tconst normalizedPoint = data.length && this._getNormalizedPoint(data[0][0]);\n\t\tif (normalizedPoint) {\n\t\t\tdata = [normalizedPoint, ...data];\n\t\t}\n\t\treturn data;\n\t}\n\n\t/**\n\t * If enabled and conditions are correct, returns the normalized point that is ready for prepending.\n\t * Description of correct conditions:\n\t * - The chart has not been panned\n\t * - The normalizedValues collection must exist\n\t * - The params.prependNormalizedPoint feature is enabled\n\t * - The chart is interday OR not a mix of domestic and international exchanges\n\t * @param {object} data - Processed indicator data array\n\t * @return {object}\n\t */\n\t_getNormalizedPoint(firstSeriesIndex) {\n\t\tconst core = this.panel.core;\n\t\tif (\n\t\t\t!core.params.endOffsetDays &&\n\t\t\tcore.params.normalizeValues && \n\t\t\tcore.params.prependNormalizedPoint && \n\t\t\t(\n\t\t\t\t!core.state.isIntraday || \n\t\t\t\t!this._isMixedDomesticIntlExchanges()\n\t\t\t) &&\n\t\t\t(\n\t\t\t\tthis.params.markerType === markerType.LINE || \n\t\t\t\tthis.params.markerType === markerType.LINEWITHSHAPES || \n\t\t\t\tthis.params.markerType === markerType.FILL ||\n\t\t\t\tthis.params.markerType === markerType.POSNEG || \n\t\t\t\tthis.params.markerType === markerType.STEPPED\n\t\t\t)\n\t\t) {\n\t\t\tconst normalizeDate = new Date(core.params.normalizeValues.Date);\n\t\t\tnormalizeDate.setMinutes(normalizeDate.getMinutes() + core.xref[core.params.symbol].utcOffset);\n\t\t\tconst normalizedIndex = core.closestExchangeIndex(normalizeDate);\n\t\t\tconst domainLeft = this.panel.xAxis.primaryScale.domain()[0];\n\t\t\tif (\n\t\t\t\tnormalizedIndex < firstSeriesIndex && \n\t\t\t\tnormalizedIndex >= domainLeft\n\t\t\t) { // only apply if we haven't panned and normalized point is onscreen\n\t\t\t\tconst normalizedClose = !core.panels[0].isNormalized ? core.params.normalizeValues.Close : 0;\n\t\t\t\treturn [normalizedIndex, normalizedClose];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if there is a mix of international and domestic exchanges on the chart\n\t * @return {boolean}\n\t */\n\t_isMixedDomesticIntlExchanges() {\n\t\tconst core = this.panel.core;\n\t\tconst domesticRE = /^(DJI|MXP|NAQ|NAS|NSQ|NYQ|PSE|TOR)$/;\n\t\tconst mixedExchanges = {}; \n\t\tObject.keys(core.data).forEach(xid => {\n\t\t\tmixedExchanges[domesticRE.test(core.xref[xid].exchangeId)] = 1;\n\t\t});\n\t\treturn Object.keys(mixedExchanges).length > 1;\n\t}\n\n\t/**\n\t * @param {object} data Symbol data object\n\t * @param {string} sessionType Indicator session type\n\t */\n\trender(data, sessionType) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst { core } = this.panel;\n\t\tconst dataset =\n\t\t\ttypeof data.price === 'object' && data.price.length\n\t\t\t\t? data.price\n\t\t\t\t: data.length ? data : [];\n\n\t\tconst dataPrice = this._getDataMap(dataset);\n\t\tlet priceMarkerType = this.params.markerType;\n\t\tlet normalizeValue = null;\n\t\tconst hasPreviousClose = data.previousclose;\n\t\tconst { style } = this.params;\n\n\t\tif (hasPreviousClose) {\n\t\t\tnormalizeValue =\n\t\t\t\tdata.previousclose[data.previousclose.length - 1].previousclose;\n\t\t} else if (core.params.dataNormalized) {\n\t\t\tnormalizeValue = 0.0;\n\t\t}\n\n\t\t// Change posneg markerType if no previousclose data or dataNormalized param\n\t\tif (\n\t\t\tpriceMarkerType === 'posneg' &&\n\t\t\t!hasPreviousClose &&\n\t\t\ttypeof normalizeValue !== 'number'\n\t\t) {\n\t\t\tpriceMarkerType = markerType.LINE;\n\t\t\tthis.panel.core.warn('Marker type set to \"posneg\" but normalize values not found. Changing to \"line\" markerType.');\n\t\t}\n\n\t\tif (sessionType === 'SessionBreak') {\n\t\t\t// optional fill in break region\n\t\t\tif (style.sessionBreak.fillColor) {\n\t\t\t\tctx.fillStyle = style.sessionBreak.fillColor;\n\t\t\t\tctx.fillRect(0, 0, this.panel.size.width, this.panel.size.height);\n\t\t\t}\n\t\t\t// the SessionBreak indicator supports less markerTypes than the NormalSession indicator\n\t\t\tswitch (priceMarkerType) {\n\t\t\t\tcase markerType.POSNEG:\n\t\t\t\t\t// top clip\n\t\t\t\t\tthis._clip(ctx, 'above', normalizeValue);\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.sessionBreak.color,\n\t\t\t\t\t\tstyle.sessionBreak.width,\n\t\t\t\t\t\tstyle.sessionBreak.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tthis._clipEnd(ctx);\n\t\t\t\t\t// bottom clip\n\t\t\t\t\tthis._clip(ctx, 'below', normalizeValue);\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.sessionBreak.color,\n\t\t\t\t\t\tstyle.sessionBreak.width,\n\t\t\t\t\t\tstyle.sessionBreak.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tthis._clipEnd(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.LINE:\n\t\t\t\tcase markerType.FILL:\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.sessionBreak.color,\n\t\t\t\t\t\tstyle.sessionBreak.width,\n\t\t\t\t\t\tstyle.sessionBreak.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\t// Normal Session\n\t\t\tswitch (priceMarkerType) {\n\t\t\t\tcase markerType.BAR:\n\t\t\t\t\tthis._renderBar(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.bar.fillColor\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.CANDLESTICK:\n\t\t\t\t\tthis._renderCandlestick(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.candlestick.positive.color,\n\t\t\t\t\t\tstyle.candlestick.negative.color,\n\t\t\t\t\t\tstyle.candlestick.neutral.color\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'hlc':\n\t\t\t\t\tthis._renderHLC(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.color,\n\t\t\t\t\t\tstyle.ohlc.positive.color,\n\t\t\t\t\t\tstyle.ohlc.negative.color,\n\t\t\t\t\t\tstyle.ohlc.neutral.color\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.LINE:\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice, \n\t\t\t\t\t\tstyle.color, \n\t\t\t\t\t\tstyle.width,\n\t\t\t\t\t\tstyle.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.LINEWITHSHAPES:\n\t\t\t\t\tctx.save();\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t// Create shape with offset for clipping area, but don't draw\n\t\t\t\t\tctx.rect(0, 0, this.panel.size.width, this.panel.size.height);\n\t\t\t\t\tthis._renderShape(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...style.shape,\n\t\t\t\t\t\t\tbeginPath: false,\n\t\t\t\t\t\t\tcolor: null,\n\t\t\t\t\t\t\t// color: 'black',\n\t\t\t\t\t\t\tfillColor: null,\n\t\t\t\t\t\t\tlength: style.shape.length + 2 * style.shape.offset\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tctx.clip();\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.color, \n\t\t\t\t\t\tstyle.width,\n\t\t\t\t\t\tstyle.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tctx.restore(); // Get rid of clipping area\n\t\t\t\t\tthis._renderShape(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\t{ ...style.shape }\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.OHLC:\n\t\t\t\t\tthis._renderOHLC(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.color,\n\t\t\t\t\t\tstyle.ohlc.positive.color,\n\t\t\t\t\t\tstyle.ohlc.negative.color,\n\t\t\t\t\t\tstyle.ohlc.neutral.color\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.POSNEG:\n\t\t\t\t\t// top clip\n\t\t\t\t\tthis._clip(ctx, 'above', normalizeValue);\n\t\t\t\t\tthis._renderFill(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.posneg.positive.fillColor,\n\t\t\t\t\t\tstyle.posneg.positive.fillColorStop,\n\t\t\t\t\t\tnormalizeValue,\n\t\t\t\t\t\t'pos'\n\t\t\t\t\t);\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice, \n\t\t\t\t\t\tstyle.posneg.positive.color, \n\t\t\t\t\t\tstyle.posneg.width,\n\t\t\t\t\t\tstyle.posneg.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tthis._clipEnd(ctx);\n\t\t\t\t\t// bottom clip\n\t\t\t\t\tthis._clip(ctx, 'below', normalizeValue);\n\t\t\t\t\tthis._renderFill(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.posneg.negative.fillColor,\n\t\t\t\t\t\tstyle.posneg.negative.fillColorStop,\n\t\t\t\t\t\tnormalizeValue,\n\t\t\t\t\t\t'neg'\n\t\t\t\t\t);\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice, \n\t\t\t\t\t\tstyle.posneg.negative.color, \n\t\t\t\t\t\tstyle.posneg.width,\n\t\t\t\t\t\tstyle.posneg.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tthis._clipEnd(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.SHAPE:\n\t\t\t\t\tthis._renderShape(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\t{ ...style.shape }\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase markerType.STEPPED:\n\t\t\t\t\tthis._renderSteppedLine(\n\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\tstyle.color,\n\t\t\t\t\t\tstyle.width,\n\t\t\t\t\t\tstyle.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis._renderFill(\n\t\t\t\t\t\tdataPrice, \n\t\t\t\t\t\tstyle.fillColor, \n\t\t\t\t\t\tstyle.fillColorStop\n\t\t\t\t\t);\n\t\t\t\t\tthis._renderLine(\n\t\t\t\t\t\tdataPrice, \n\t\t\t\t\t\tstyle.color, \n\t\t\t\t\t\tstyle.width,\n\t\t\t\t\t\tstyle.lineDash\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Renders indicator fill\n\t * @param {object} data Symbol data object\n\t * @param {string} fillColor Indicator fill color\n\t * @param {string} fillColorStart Indicator start fill color\n\t * @param {string} fillColorStop Indicator stop fill color\n\t * @param {number} fillToValue Value to fill to\n\t */\n\t_renderFill(data, fillColor, fillColorStop, fillToValue, posNeg) {\n\t\tdata = this._prependNormalizedPoint(data);\n\t\t// Handle case where non-numeric fillToValue is passed in\n\t\tif (typeof fillToValue !== 'number' && this.panel.isNormalized) fillToValue = 0.0;\n\n\t\tconst fillToY = subpixel.px(Math.min(this._yScale()(fillToValue), this.panel.size.height));\n\t\tconst y0 = (!posNeg || posNeg === 'pos') ? 0 : fillToY;\n\t\tconst y1 = (!posNeg || posNeg === 'neg') ? this.panel.size.height : fillToY;\n\t\tconst fillStyle = fillColorStop\n\t\t\t? this._getLinearGradient(\n\t\t\t\tthis.panel.rootContext,\n\t\t\t\tfillColor,\n\t\t\t\tfillColorStop,\n\t\t\t\t0, y0,\n\t\t\t\t0, y1\n\t\t\t)\n\t\t\t: fillColor;\n\n\t\tthis.markers.line.renderFill(\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis.panel.size.padding.top + this.panel.size.height,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tfillStyle,\n\t\t\tfillToValue\n\t\t);\n\t}\n\n\t/**\n\t * Renders a line indicator\n\t * @param {object} data Symbol data object\n\t * @param {string} lineColor Indicator line color\n\t * @param {number} penPxOn Dashed line settings\n\t * @param {number} penPxOff Dashed line settings\n\t * @return {void}\n\t */\n\t_renderLine(data, lineColor, lineWidth, lineDash) {\n\t\tdata = this._prependNormalizedPoint(data);\n\t\treturn this.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tlineColor,\n\t\t\tlineWidth,\n\t\t\tlineDash\n\t\t);\n\t}\n\n\t/**\n\t * Renders a stepped line\n\t * @param {object} data Symbol data object\n\t * @param {string} lineColor Indicator line color\n\t * @return {void}\n\t */\n\t_renderSteppedLine(data, lineColor, lineWidth, lineDash) {\n\t\tdata = this._prependNormalizedPoint(data);\n\t\treturn this.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tlineColor,\n\t\t\tlineWidth,\n\t\t\tlineDash,\n\t\t\ttrue\n\t\t);\n\t}\n\n\t/**\n\t * Renders a bar line\n\t * @param {object} data Symbol data object\n\t * @return {void}\n\t */\n\t_renderBar(data, color) {\n\t\treturn this.markers.bar.render(\n\t\t\tthis.panel,\n\t\t\tthis.panel.rootContext,\n\t\t\tdata || [],\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tcolor\n\t\t);\n\t}\n\n\t/**\n\t * Renders the specified shape at the points specified by the data passed in\n\t * @param {Object} data - Data to be plotted on chart\n\t * @param {*} args - Arguments used to configure how to render the shape\n\t */\n\t_renderShape(\n\t\tdata,\n\t\t{\n\t\t\tbeginPath,\n\t\t\tcolor,\n\t\t\tfillColor,\n\t\t\tlength,\n\t\t\tlineWidth,\n\t\t\toffset,\n\t\t\ttype\n\t\t}\n\t) {\n\t\tdata = this._prependNormalizedPoint(data);\n\t\tthis.markers.shape[type].render(\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\t{\n\t\t\t\tbeginPath,\n\t\t\t\tcolor,\n\t\t\t\tfillColor,\n\t\t\t\tlength,\n\t\t\t\tlineWidth,\n\t\t\t\toffset\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Renders a candlestick line\n\t * @param {object} data Symbol data object\n\t */\n\t_renderCandlestick(data, colorPos, colorNeg, colorNeutral) {\n\t\tthis.markers.candlestick.params.fillType = this.params.candleFillType;\n\t\tthis.markers.candlestick.params.fillRule = this.params.candleFillRule;\n\t\tthis.markers.candlestick.render(\n\t\t\tthis.panel,\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tcolorPos,\n\t\t\tcolorNeg,\n\t\t\tcolorNeutral\n\t\t);\n\t}\n\n\t/**\n\t * Renders an OHLC line\n\t * @param {object} data Symbol data object\n\t */\n\t_renderOHLC(data, color, colorUp, colorDown, colorNeutral) {\n\t\tswitch (this.params.ohlcType) {\n\t\t\tcase ohlcType.POSNEG:\n\t\t\t\tthis.markers.candlestick.renderOHLCPosNeg(\n\t\t\t\t\tthis.panel,\n\t\t\t\t\tthis.panel.rootContext,\n\t\t\t\t\tdata,\n\t\t\t\t\tthis._xScale(),\n\t\t\t\t\tthis._yScale(),\n\t\t\t\t\tcolorUp,\n\t\t\t\t\tcolorDown,\n\t\t\t\t\tcolorNeutral,\n\t\t\t\t\t'ohlc'\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ohlcType.NEWHIGHS:\n\t\t\t\tthis.markers.candlestick.renderOHLCNewHighs(\n\t\t\t\t\tthis.panel,\n\t\t\t\t\tthis.panel.rootContext,\n\t\t\t\t\tdata,\n\t\t\t\t\tthis._xScale(),\n\t\t\t\t\tthis._yScale(),\n\t\t\t\t\tcolorUp,\n\t\t\t\t\tcolorNeutral,\n\t\t\t\t\t'ohlc'\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ohlcType.NEWLOWS:\n\t\t\t\tthis.markers.candlestick.renderOHLCNewLows(\n\t\t\t\t\tthis.panel,\n\t\t\t\t\tthis.panel.rootContext,\n\t\t\t\t\tdata,\n\t\t\t\t\tthis._xScale(),\n\t\t\t\t\tthis._yScale(),\n\t\t\t\t\tcolorDown,\n\t\t\t\t\tcolorNeutral,\n\t\t\t\t\t'ohlc'\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ohlcType.MONO:\n\t\t\tdefault: // Draw monochrome\n\t\t\t\tthis.markers.candlestick.renderOHLC(\n\t\t\t\t\tthis.panel,\n\t\t\t\t\tthis.panel.rootContext,\n\t\t\t\t\tdata,\n\t\t\t\t\tthis._xScale(),\n\t\t\t\t\tthis._yScale(),\n\t\t\t\t\tcolor,\n\t\t\t\t\t'ohlc'\n\t\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Renders an HLC line\n\t * @param {object} data Symbol data object\n\t */\n\t_renderHLC(data, colorUp, colorDown, colorNeutral) {\n\t\tthis.markers.candlestick.renderOHLCPosNeg(\n\t\t\tthis.panel,\n\t\t\tthis.panel.rootContext,\n\t\t\tdata,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tcolorUp,\n\t\t\tcolorDown,\n\t\t\tcolorNeutral,\n\t\t\t'hlc'\n\t\t);\n\t}\n\n\t/**\n\t * Sets the OHLC type used for rendering OHLC markers\n\t * @param {ohlcType} type - The OHLC type\n\t */\n\tset ohlcType(type) {\n\t\tif (Object.values(ohlcType).includes(type)) {\n\t\t\tthis.params.ohlcType = type;\n\t\t} else {\n\t\t\tthis.panel.core.warn(\"Can't set invalid OHLC type\");\n\t\t}\n\t}\n\n\t/**\n\t * Sets the marker type\n\t * @param {markerType} type - The marker type\n\t */\n\tset markerType(type) {\n\t\tif (Object.values(markerType).includes(type)) {\n\t\t\tthis.params.markerType = type;\n\t\t\tthis.panel.core.eventEmitter.emit(types$1.PRICE_MARKER_TYPE_SET, {\n\t\t\t\ttype\n\t\t\t});\n\t\t} else {\n\t\t\tthis.panel.core.warn(\"Can't set invalid marker type\");\n\t\t}\n\t}\n}\n\n/** Price Rate of Change indicator */\nclass PROCIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'proc',\n\t\t\tname: 'Price Rate of Change',\n\t\t\tdescription:\n\t\t\t\t'A technical indicator that measures the percentage change between the most recent price and the price \"n\" periods in the past.',\n\t\t\tinputs: [{ name: 'period', value: 25 }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.proc || [], function (i) {\n\t\t\treturn +i.proc;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.proc || [], function (i) {\n\t\t\treturn +i.proc;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.proc];\n\t\t});\n\t}\n\n\t/**\n\t * Renders the indicator zero line\n\t * @param {CanvasRenderingContext2D} ctx Chart canvas context\n\t * @param {number} yScale Y axis scale\n\t */\n\t_renderZeroLine(ctx, yScale) {\n\t\tconst left = this.panel.size.padding.left;\n\t\tconst y0 = subpixel.px(yScale(0));\n\t\tconst style = this.params.style;\n\n\t\tctx.beginPath();\n\t\tctx.lineWidth = style.zero.width;\n\t\tctx.strokeStyle = style.zero.color;\n\t\tif (style.zero.lineDash){\n\t\t\tctx.setLineDash(style.zero.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.moveTo(left, y0);\n\t\tctx.lineTo(this.panel.size.width + left, y0);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst yScale = this._yScale();\n\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.proc || []),\n\t\t\tthis._xScale(),\n\t\t\tyScale,\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\n\t\tthis._renderZeroLine(ctx, yScale);\n\t}\n}\n\n/** PSAR indicator */\nclass PSARIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'psar',\n\t\t\tname: 'PSAR',\n\t\t\tdescription:\n\t\t\t\t'Parabolic SAR signals the potential reversal of a trend.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'initialPosition', value: 0 },\n\t\t\t\t{ name: 'accelerationIncrease', value: 0.02 },\n\t\t\t\t{ name: 'accelerationMaximum', value: 0.2 }\n\t\t\t],\n\t\t\tcomponentSeries: [{ id: 'psar' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.psar || [], function (i) {\n\t\t\treturn +i.psar;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.psar || [], function (i) {\n\t\t\treturn +i.psar;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {CircleMarker} circlePSAR\n\t */\n\t_getMarkers() {\n\t\treturn (\n\t\t\tthis.markers || {\n\t\t\t\tcirclePSAR: new CircleMarker()\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d[type]];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tlet dataPSAR = this._getDataMap(data.psar || [], 'psar');\n\n\t\tthis.markers.circlePSAR.render(\n\t\t\tctx,\n\t\t\tdataPSAR,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\t{\n\t\t\t\tcolor: this.params.style.color,\n\t\t\t\tfillColor: this.params.style.color,\n\t\t\t\tlength: this.params.style.length\n\t\t\t}\n\t\t);\n\n\t\tdataPSAR = null;\n\t}\n}\n\n/** Revenue indicator */\nclass RevenuesIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'revenues',\n\t\t\tname: 'Revenues',\n\t\t\tdescription: ''\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.revenues || [], function (i) {\n\t\t\treturn +i.revenues * 0.95;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.revenues || [], function (i) {\n\t\t\treturn +i.revenues * 1.05;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.revenues];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst dataRevenues = this._getDataMap(data.revenues || []);\n\t\tconst xScale = this._xScale();\n\t\tconst yScale = this._yScale();\n\t\tconst style = this.params.style;\n\t\tconst ctx = this.panel.rootContext;\n\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tdataRevenues,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash,\n\t\t\ttrue\n\t\t);\n\n\t\t// draw final segment to edge of chart\n\t\tif (dataRevenues.length) {\n\t\t\tconst core = this.panel.core;\n\t\t\tconst lastDate = core.dataPrimary[core.dataPrimary.length - 1].date;\n\t\t\tconst lastIndex = core.closestExchangeIndex(lastDate);\n\t\t\tconst lastRevenuePoint = dataRevenues[dataRevenues.length - 1];\n\t\t\tconst x0 = xScale(lastRevenuePoint[0]);\n\t\t\tconst x1 = xScale(lastIndex);\n\t\t\tconst y0 = yScale(lastRevenuePoint[1]);\n\t\t\tctx.beginPath();\n\t\t\tctx.strokeStyle = style.color;\n\t\t\tctx.lineWidth = style.width;\n\t\t\tif (style.lineDash){\n\t\t\t\tctx.setLineDash(style.lineDash.split(/\\s*,\\s*/));\n\t\t\t}\n\t\t\tctx.moveTo(subpixel.px(x0), subpixel.px(y0));\n\t\t\tctx.lineTo(subpixel.px(x1), subpixel.px(y0));\n\t\t\tctx.stroke();\n\t\t\tctx.setLineDash([]);\n\t\t}\n\t}\n}\n\n/** Rolling Dividend indicator */\nclass RollingDividendIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'rollingdividend',\n\t\t\tname: 'Rolling Dividend',\n\t\t\tdescription: ''\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.rollingdividend || [], function (i) {\n\t\t\treturn +i.rollingdividend * 0.95;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.rollingdividend || [], function (i) {\n\t\t\treturn +i.rollingdividend * 1.05;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.rollingdividend];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst dataDividend = this._getDataMap(data.rollingdividend || []);\n\t\tconst xScale = this._xScale();\n\t\tconst yScale = this._yScale();\n\t\tconst style = this.params.style;\n\t\tconst ctx = this.panel.rootContext;\n\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tdataDividend,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash,\n\t\t\ttrue\n\t\t);\n\n\t\t// draw final segment to edge of chart\n\t\tif (dataDividend.length) {\n\t\t\tconst core = this.panel.core;\n\t\t\tconst lastDate = core.dataPrimary[core.dataPrimary.length - 1].date;\n\t\t\tconst lastIndex = core.closestExchangeIndex(lastDate);\n\t\t\tconst lastDividend = dataDividend[dataDividend.length - 1];\n\t\t\tconst x0 = xScale(lastDividend[0]);\n\t\t\tconst x1 = xScale(lastIndex);\n\t\t\tconst y0 = yScale(lastDividend[1]);\n\t\t\tctx.beginPath();\n\t\t\tctx.strokeStyle = style.color;\n\t\t\tctx.lineWidth = style.width;\n\t\t\tif (style.lineDash){\n\t\t\t\tctx.setLineDash(style.lineDash.split(/\\s*,\\s*/));\n\t\t\t}\n\t\t\tctx.moveTo(subpixel.px(x0), subpixel.px(y0));\n\t\t\tctx.lineTo(subpixel.px(x1), subpixel.px(y0));\n\t\t\tctx.stroke();\n\t\t\tctx.setLineDash([]);\n\t\t}\n\t}\n}\n\n/** Rolling EPS indicator */\nclass RollingEPSIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'rollingeps',\n\t\t\tname: 'Rolling EPS',\n\t\t\tdescription: \"A measure of a company's earnings per share based on the previous two quarters added to the upcoming two quarters' estimated EPS.\"\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.rollingeps || [], function (i) {\n\t\t\treturn +i.rollingeps * 0.95;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.rollingeps || [], function (i) {\n\t\t\treturn +i.rollingeps * 1.05;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.rollingeps];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst dataEPS = this._getDataMap(data.rollingeps || []);\n\t\tconst xScale = this._xScale();\n\t\tconst yScale = this._yScale();\n\t\tconst style = this.params.style;\n\t\tconst ctx = this.panel.rootContext;\n\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tdataEPS,\n\t\t\txScale,\n\t\t\tyScale,\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash,\n\t\t\ttrue\n\t\t);\n\n\t\t// draw final segment to edge of chart\n\t\tif (dataEPS.length) {\n\t\t\tconst core = this.panel.core;\n\t\t\tconst lastDate = core.dataPrimary[core.dataPrimary.length - 1].date;\n\t\t\tconst lastIndex = core.closestExchangeIndex(lastDate);\n\t\t\tconst lastEPS = dataEPS[dataEPS.length - 1];\n\t\t\tconst x0 = xScale(lastEPS[0]);\n\t\t\tconst x1 = xScale(lastIndex);\n\t\t\tconst y0 = yScale(lastEPS[1]);\n\t\t\tctx.beginPath();\n\t\t\tctx.strokeStyle = style.color;\n\t\t\tctx.lineWidth = style.width;\n\t\t\tif (style.lineDash){\n\t\t\t\tctx.setLineDash(style.lineDash.split(/\\s*,\\s*/));\n\t\t\t}\n\t\t\tctx.moveTo(subpixel.px(x0), subpixel.px(y0));\n\t\t\tctx.lineTo(subpixel.px(x1), subpixel.px(y0));\n\t\t\tctx.stroke();\n\t\t\tctx.setLineDash([]);\n\t\t}\n\t}\n}\n\n/** RSI indicator */\nclass RSIIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} bands - Indicator bands\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'rsi',\n\t\t\tname: 'RSI',\n\t\t\tdescription:\n\t\t\t\t'The Relative Strength Index is a momentum indicator which measures the strength of price changes relative to prior moves.',\n\t\t\tinputs: [{ name: 'period', value: 14 }],\n\t\t\tstyle: {\n\t\t\t\tyAxisPaddingTop: 0,\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 100,\n\t\t\t\t\tvalLow: 70\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: 30,\n\t\t\t\t\tvalLow: 0\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {number} 0 */\n\tgetRangeMin() {\n\t\treturn 0;\n\t}\n\n\t/** @return {number} 100 */\n\tgetRangeMax() {\n\t\treturn 100;\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.rsi]);\n\t}\n\n\t/**\n\t * Sets indicator bands by period\n\t * per JIRA NXC-368\n\t */\n\tsetBandsByPeriod() {\n\t\tconst period = this.getInput('period') || 0;\n\t\tlet overBought = [100, 70];\n\t\tlet overSold = [30, 0];\n\n\t\tif (period <= 2) {\n\t\t\toverBought = [100, 90];\n\t\t\toverSold = [10, 0];\n\t\t} else if (period >= 22) {\n\t\t\toverBought = [100, 60];\n\t\t\toverSold = [40, 0];\n\t\t}\n\n\t\tthis.markers.overbought.params.valHigh = overBought[0];\n\t\tthis.markers.overbought.params.valLow = overBought[1];\n\n\t\tthis.markers.oversold.params.valHigh = overSold[0];\n\t\tthis.markers.oversold.params.valLow = overSold[1];\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.setBandsByPeriod();\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.rsi || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Sector Industry indicator */\nclass SectorIndustryIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs - Make sure to pass in a\n\t * valid cusip as part of your args.params.inputs when creating a sector\n\t * industry indicator\n\t * @property {object[]} componentSeries - Indicator component series\n\t * @property {number} valueMultiplier - Indicator value multiplier. Used to\n\t * normalize percent values depending on data - 1 or 100\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'sectorindustry',\n\t\t\tname: 'Sector & Industry',\n\t\t\tdescription: '',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'cusip', value: 'INVALIDCUSIP' } // note: pass valid cusip when creating indicator\n\t\t\t],\n\t\t\tcomponentSeries: [{ id: 'sectorindustry' }],\n\t\t\tvalueMultiplier: 1\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.sectorindustry || [], function (i) {\n\t\t\treturn +i.sectorindustry;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.sectorindustry || [], function (i) {\n\t\t\treturn +i.sectorindustry;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.sectorindustry];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.sectorindustry || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** SMA indicator */\nclass SMAIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'sma',\n\t\t\tname: 'SMA',\n\t\t\tdescription:\n\t\t\t\t'Moving Averages are trend indicators that smooth stock price movements. Comparing the moving averages from multiple time frames can help investors spot changes in trend.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tcomponentSeries: [{ id: 'sma' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.sma || [], function (i) {\n\t\t\treturn +i.sma;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.sma || [], function (i) {\n\t\t\treturn +i.sma;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.sma];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.sma || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Stochastics indicator */\nclass StochasticsIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} dataSeries - Indicator data series\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'stochastics',\n\t\t\tname: 'Stochastics',\n\t\t\tdataSeries: 'stochastick',\n\t\t\tdescription:\n\t\t\t\t'Stochastics show periods when a stock is overbought or oversold.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'kperiod', value: 5 },\n\t\t\t\t{ name: 'smoothing', value: 3 },\n\t\t\t\t{ name: 'dperiod', value: 3 }\n\t\t\t],\n\t\t\tstyle: {\n\t\t\t\tyAxisPaddingTop: 0,\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 100,\n\t\t\t\t\tvalLow: 80\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: 20,\n\t\t\t\t\tvalLow: 0\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {number} 0 */\n\tgetRangeMin() {\n\t\treturn 0;\n\t}\n\n\t/** @return {number} 100 */\n\tgetRangeMax() {\n\t\treturn 100;\n\t}\n\n\t/** \n\t * @return {object}\n\t * @property {LineMarker} lineK\n\t * @property {LineMarker} lineD\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tlineD: new LineMarker(),\n\t\t\tlineK: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @param {string} type - Indicator type\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data, type) {\n\t\treturn data.map(d => [d.dateIndex, +d[type]]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst { style } = this.params;\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold);\n\t\tthis.markers.lineK.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.stochastics || [], 'stochastick'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.color,\n\t\t\tstyle.width,\n\t\t\tstyle.lineDash\n\t\t);\n\n\t\tthis.markers.lineD.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.stochastics || [], 'stochasticd'),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tstyle.d.color,\n\t\t\tstyle.d.width,\n\t\t\tstyle.d.lineDash\n\t\t);\n\t}\n}\n\n/** Time Series Forecast indicator */\nclass TSFIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'tsf',\n\t\t\tname: 'Time Series Forecast',\n\t\t\tdescription: 'The Time Series Forecast function predicts a future value of a field using the value of a given period linear regression line.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tcomponentSeries: [{ id: 'tsf' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.tsf || [], function (i) {\n\t\t\treturn +i.tsf;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.tsf || [], function (i) {\n\t\t\treturn +i.tsf;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.tsf];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.tsf || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Ultimate Oscillator indicator */\nclass UltimateOscillatorIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} bands - Indicator bands\n\t */\n\t_getDefaultParams() {\n\t\tconst locale = this.panel.core.locale;\n\t\treturn {\n\t\t\tid: 'ultimateoscillator',\n\t\t\tname: 'Ultimate Oscillator',\n\t\t\tdescription:\n\t\t\t\t\"The Ultimate Oscillator reduces the effect of time from the oscillator's bullish and bearish signals. This indicator is most effective when it offers a bullish or bearish divergence.\",\n\t\t\tinputs: [\n\t\t\t\t{ name: 'period1', value: 7 },\n\t\t\t\t{ name: 'period2', value: 14 },\n\t\t\t\t{ name: 'period3', value: 28 },\n\t\t\t\t{ name: 'factor1', value: 4 },\n\t\t\t\t{ name: 'factor2', value: 2 },\n\t\t\t\t{ name: 'factor3', value: 1 }\n\t\t\t],\n\t\t\tstyle: {\n\t\t\t\tyAxisPaddingTop: 0,\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 100,\n\t\t\t\t\tvalLow: 70\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: 30,\n\t\t\t\t\tvalLow: 0\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {number} 0 */\n\tgetRangeMin() {\n\t\treturn 0;\n\t}\n\n\t/** @return {number} 100 */\n\tgetRangeMax() {\n\t\treturn 100;\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.ultimateoscillator]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.ultimateoscillator || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Up/Down indicator */\nclass UpDownIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'updown',\n\t\t\tname: 'Up/Down',\n\t\t\tdescription: 'The Up/Down Ratio indicator shows the relationship between the volume of advancing issues and the volume of declining issues. Upside volume is simply the sum of all volume associated with stocks that closed up in price, while downside volume is the sum of all volume associated with stocks that closed down in price.',\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.updown || [], function (i) {\n\t\t\treturn +i.updown;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.updown || [], function (i) {\n\t\t\treturn +i.updown;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {BarMarker} bar\n\t */\n\t_getMarkers() {\n\t\treturn { bar: new BarMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.updown];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.bar.render(\n\t\t\tthis.panel,\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.updown || []),\n\t\t\tthis.panel.size.width,\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Up/Down Ratio indicator */\nclass UpDownRatioIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'updownratio',\n\t\t\tname: 'Up/Down Ratio',\n\t\t\tdescription: 'The Up/Down ratio indicator shows the relationship between the volume of advancing issues and the volume of declining issues. Upside volume is simply the sum of all volume associated with stocks that closed up in price, while downside volume is the sum of all volume associated with stocks that closed down in price.',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'Numerator', value: 10025197 },\n\t\t\t\t{ name: 'Denominator', value: 10025198 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.updownratio || [], function (i) {\n\t\t\treturn +i.updownratio;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.updownratio || [], function (i) {\n\t\t\treturn +i.updownratio;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker()\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.updownratio];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.updownratio || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Volume indicator */\nclass VolumeIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {string} markerType - Indicator marker type - 'default' | 'posneg'\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'volume',\n\t\t\tname: 'Volume',\n\t\t\tdescription:\n\t\t\t\t'Volume is the number of shares traded in a given period.',\n\t\t\tmarkerType: 'default', // default, posneg\n\t\t\tstyle: {\n\t\t\t\tpanelHeightRatio: this._getStyle(\n\t\t\t\t\t'indicator.volume.panelHeightRatio'\n\t\t\t\t),\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tvalueMultiplier: 1 // see CH-1793\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn this._min(\n\t\t\t0,\n\t\t\tmin(data.volume || [], i => +i.volume)\n\t\t);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn this._max(\n\t\t\t0,\n\t\t\tmax(data.volume || [], i => +i.volume)\n\t\t);\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {BarMarker} bar\n\t */\n\t_getMarkers() {\n\t\treturn { bar: new BarMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.volume];\n\t\t});\n\t}\n\n\t/**\n\t * Returns pos/neg/unchanged volume data based against the price dataset\n\t * @param {object[]} data - Indicator data\n\t * @param {object[]} dataPrice - Symbol price data\n\t * @param {string} type - Type of volume data - 'pos' | 'neg' | 'unch'\n\t */\n\t_getDataMapPosNeg(data, dataPrice, type) {\n\t\t// return pos/neg/unchanged volume data based against the price dataset\n\t\tswitch (type) {\n\t\t\tcase 'pos':\n\t\t\t\treturn data.map(function (d, x) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\td.dateIndex,\n\t\t\t\t\t\ttypeof dataPrice[x].diff === 'number' &&\n\t\t\t\t\t\tdataPrice[x].diff > 0\n\t\t\t\t\t\t\t? +d.volume\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t];\n\t\t\t\t});\n\n\t\t\tcase 'neg':\n\t\t\t\treturn data.map(function (d, x) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\td.dateIndex,\n\t\t\t\t\t\ttypeof dataPrice[x].diff === 'number' &&\n\t\t\t\t\t\tdataPrice[x].diff < 0\n\t\t\t\t\t\t\t? +d.volume\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t];\n\t\t\t\t});\n\n\t\t\tcase 'unch':\n\t\t\t\treturn data.map(function (d, x) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\td.dateIndex,\n\t\t\t\t\t\tdataPrice[x].diff === 0 ? +d.volume : 0\n\t\t\t\t\t];\n\t\t\t\t});\n\t\t}\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\t// either posneg rendering (requires a price dataset) or default rendering\n\t\tif (\n\t\t\tthis.params.markerType === 'posneg' &&\n\t\t\tdata.price &&\n\t\t\tdata.volume &&\n\t\t\tdata.price.length &&\n\t\t\tdata.volume.length &&\n\t\t\tdata.volume[0].date - data.price[0].date === 0\n\t\t) {\n\t\t\tthis.markers.bar.render(\n\t\t\t\tthis.panel,\n\t\t\t\tthis.panel.rootContext,\n\t\t\t\tthis._getDataMapPosNeg(data.volume, data.price, 'pos'),\n\t\t\t\tthis._xScale(),\n\t\t\t\tthis._yScale(),\n\t\t\t\tthis.params.style.positive.color,\n\t\t\t\t'bottom'\n\t\t\t);\n\n\t\t\tthis.markers.bar.render(\n\t\t\t\tthis.panel,\n\t\t\t\tthis.panel.rootContext,\n\t\t\t\tthis._getDataMapPosNeg(data.volume, data.price, 'neg'),\n\t\t\t\tthis._xScale(),\n\t\t\t\tthis._yScale(),\n\t\t\t\tthis.params.style.negative.color,\n\t\t\t\t'bottom'\n\t\t\t);\n\n\t\t\tthis.markers.bar.render(\n\t\t\t\tthis.panel,\n\t\t\t\tthis.panel.rootContext,\n\t\t\t\tthis._getDataMapPosNeg(data.volume, data.price, 'unch'),\n\t\t\t\tthis._xScale(),\n\t\t\t\tthis._yScale(),\n\t\t\t\tthis.params.style.neutral.color,\n\t\t\t\t'bottom'\n\t\t\t);\n\t\t} else {\n\t\t\tthis.markers.bar.render(\n\t\t\t\tthis.panel,\n\t\t\t\tthis.panel.rootContext,\n\t\t\t\tthis._getDataMap(data.volume || []),\n\t\t\t\tthis._xScale(),\n\t\t\t\tthis._yScale(),\n\t\t\t\tthis.params.style.color,\n\t\t\t\t'bottom'\n\t\t\t);\n\t\t}\n\t}\n}\n\n/** Volume By Price indicator */\nclass VolumeByPriceIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} datasetId - ID to send with the chartAPI request. Most\n\t * indicators will not pass this in.\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {boolean} noClip - Whether to clip the indicator\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'volumebyprice',\n\t\t\tdatasetId: 'volume', // this will be the id sent to the chartAPI request. typical indicators will not pass this.\n\t\t\tname: 'Volume by Price',\n\t\t\tdescription:\n\t\t\t\t'An indicator that shows the amount of volume for a particular price range.',\n\t\t\tnoClip: true,\n\t\t\tinputs: [\n\t\t\t\t{ name: 'numBars', value: 12 },\n\t\t\t\t{ name: 'gapSize', value: 1 },\n\t\t\t\t{ name: 'barWidth', value: 0.5 }\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {null} */\n\tgetRangeMin() {\n\t\treturn null;\n\t}\n\n\t/** @return {null} */\n\tgetRangeMax() {\n\t\treturn null;\n\t}\n\n\t/** @return {object} */\n\t_getMarkers() {\n\t\treturn {};\n\t}\n\n\t/** @return {null} */\n\t_getDataMap() {\n\t\treturn null;\n\t}\n\n\t/** @param {object} data */\n\trender(data) {\n\t\tif (!data.volume || !data.price) {\n\t\t\tthis.panel.core.warn(\n\t\t\t\t'The Volume indicator is needed to render Volume By Price'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst gapSize = this.params.inputs[1].value;\n\t\tconst maxData = this.panel.yAxis.primaryScale.domain();\n\t\tconst dist = maxData[0] - maxData[1];\n\t\tconst numBars = this.params.inputs[0].value;\n\t\tconst size = dist / numBars;\n\t\tconst barHeight = this.panel.size.height / numBars;\n\t\tconst bucketsUp = [];\n\t\tconst bucketsDown = [];\n\t\tconst bucketsUpWidth = [];\n\t\tconst xDomain = this.panel.xAxis.primaryScale.domain();\n\t\tconst paddingLeft = this.panel.size.padding.left;\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\tlet maxVal = 0;\n\t\tlet y0 = 0;\n\t\tlet width = 0;\n\t\tconst fullWidth = this.panel.size.width * this.params.inputs[2].value;\n\n\t\t// init buckets\n\t\tfor (y = 0; y < numBars; y++) {\n\t\t\tbucketsUp[y] = 0;\n\t\t\tbucketsDown[y] = 0;\n\t\t}\n\n\t\t// populate buckets\n\t\tfor (x = 0; x < data.volume.length; x++) {\n\t\t\tif (!data.price[x]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst diff =\n\t\t\t\t\tx > 0 ? data.price[x].close - data.price[x - 1].close : 0;\n\t\t\tconst val = data.price[x].close;\n\t\t\tconst volume = data.volume[x].volume;\n\t\t\tlet threshold = maxData[1];\n\n\t\t\t// don't include datapoints that are offscreen\n\t\t\tif (\n\t\t\t\t!diff ||\n\t\t\t\tdata.price[x].dateIndex < xDomain[0] ||\n\t\t\t\tdata.price[x].dateIndex > xDomain[1]\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// populate\n\t\t\tfor (y = 0; y < numBars; y++) {\n\t\t\t\tif (val >= threshold && val < threshold + size) {\n\t\t\t\t\tif (diff >= 0) {\n\t\t\t\t\t\tbucketsUp[y] += volume;\n\t\t\t\t\t} else if (diff < 0) {\n\t\t\t\t\t\tbucketsDown[y] += volume;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthreshold += size;\n\t\t\t}\n\t\t}\n\n\t\t// find max row\n\t\tfor (y = 0; y < numBars; y++) {\n\t\t\tmaxVal = Math.max(bucketsUp[y] + bucketsDown[y], maxVal);\n\t\t}\n\n\t\t// render bucketsUp\n\t\tctx.beginPath();\n\t\tctx.fillStyle = this.params.style.up.color;\n\n\t\tfor (x = bucketsUp.length - 1; x >= 0; x--) {\n\t\t\twidth = (bucketsUp[x] / maxVal) * fullWidth;\n\n\t\t\tsubpixel.fillRect(\n\t\t\t\tctx,\n\t\t\t\tpaddingLeft + 1, // Plus 1 so as not to draw over the left border\n\t\t\t\ty0 + gapSize,\n\t\t\t\twidth,\n\t\t\t\tbarHeight - gapSize * 2\n\t\t\t);\n\n\t\t\ty0 += barHeight;\n\n\t\t\tbucketsUpWidth[x] = width;\n\t\t}\n\n\t\tctx.fill();\n\t\tctx.stroke();\n\n\t\t// render bucketsDown\n\t\tctx.beginPath();\n\t\tctx.fillStyle = this.params.style.down.color;\n\t\ty0 = 0;\n\n\t\tfor (x = bucketsDown.length - 1; x >= 0; x--) {\n\t\t\twidth = (bucketsDown[x] / maxVal) * fullWidth;\n\n\t\t\tsubpixel.fillRect(\n\t\t\t\tctx,\n\t\t\t\tpaddingLeft + bucketsUpWidth[x] + 2, // Plus 2 so as not overlap with up buckets\n\t\t\t\ty0 + gapSize,\n\t\t\t\twidth,\n\t\t\t\tbarHeight - gapSize * 2\n\t\t\t);\n\n\t\t\ty0 += barHeight;\n\t\t}\n\n\t\tctx.fill();\n\t}\n}\n\n/** Volume Rate of Change indicator */\nclass VROCIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'vroc',\n\t\t\tname: 'Volume Rate of Change',\n\t\t\tdescription:\n\t\t\t\t'Volume Rate of Change measures the difference in volume from one period vs. an earlier period. It is a useful comparison that helps investors understand how committed buyers and sellers are to the recent price trend.',\n\t\t\tinputs: [{ name: 'period', value: 14 }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.vroc || [], function (i) {\n\t\t\treturn +i.vroc;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.vroc || [], function (i) {\n\t\t\treturn +i.vroc;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.vroc];\n\t\t});\n\t}\n\n\t/**\n\t * Renders the zero line for this indicator\n\t * @param {CanvasRenderingContext2D} ctx - Chart canvas context\n\t * @param {number} yScale - Chart y axis scale\n\t */\n\t_renderZeroLine(ctx, yScale) {\n\t\tconst style = this.params.style;\n\t\t// zero line\n\t\tctx.beginPath();\n\t\tconst yZero = subpixel.px(yScale(0));\n\t\tctx.strokeStyle = style.zero.color;\n\t\tctx.lineWidth = style.zero.width;\n\t\tif (style.zero.lineDash){\n\t\t\tctx.setLineDash(style.zero.lineDash.split(/\\s*,\\s*/));\n\t\t}\n\t\tctx.moveTo(this.panel.size.padding.left, yZero);\n\t\tctx.lineTo(\n\t\t\tthis.panel.size.padding.left + this.panel.size.width,\n\t\t\tyZero\n\t\t);\n\t\tctx.stroke();\n\t\tctx.setLineDash([]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst yScale = this._yScale();\n\n\t\tthis.markers.line.render(\n\t\t\tctx,\n\t\t\tthis._getDataMap(data.vroc || []),\n\t\t\tthis._xScale(),\n\t\t\tyScale,\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\n\t\tthis._renderZeroLine(ctx, yScale);\n\t}\n}\n\n/** Volume-Weighted Average Price indicator */\nclass VWAPIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'vwap',\n\t\t\tname: 'VWAP',\n\t\t\tdescription: 'The volume-weighted average price (VWAP) is a trading benchmark used by traders that gives the average price a security has traded at throughout the day, based on both volume and price. (Investopedia) It is only available for Intraday timeframes.',\n\t\t\tinputs: []\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.vwap || [], i => +i.vwap);\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.vwap || [], i => +i.vwap);\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.vwap];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.vwap || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Williams %R indicator */\nclass WilliamsIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} id - Indicator ID\n\t * @property {string} name - Indicator name\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {number} style.yAxisPaddingTop - Y axis top padding - 0\n\t * @property {number} style.yAxisPaddingBottom - Y axis bottom padding - 0\n\t * @property {object[]} bands - Indicator bands\n\t */\n\t_getDefaultParams() {\n\t\tconst { locale } = this.panel.core;\n\t\treturn {\n\t\t\tid: 'williamspctr',\n\t\t\tname: 'Williams %R',\n\t\t\tdescription:\n\t\t\t\t'Williams %R uses a similar calculation to the Stochastic Oscillator and provides information on the price momentum of a security. It is also used to identify overbought and oversold levels.',\n\t\t\tinputs: [{ name: 'period', value: 14 }],\n\t\t\tstyle: {\n\t\t\t\tyAxisPaddingTop: 0,\n\t\t\t\tyAxisPaddingBottom: 0\n\t\t\t},\n\t\t\tbands: [\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.overbought'),\n\t\t\t\t\tvalHigh: 0,\n\t\t\t\t\tvalLow: -20\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabelText: translate(locale, 'band.oversold'),\n\t\t\t\t\tvalHigh: -80,\n\t\t\t\t\tvalLow: -100\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\t/** @return {number} -100 */\n\tgetRangeMin() {\n\t\treturn -100;\n\t}\n\n\t/** @return {number} 0 */\n\tgetRangeMax() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t * @property {BandMarker} overbought\n\t * @property {BandMarker} oversold\n\t */\n\t_getMarkers() {\n\t\treturn {\n\t\t\tline: new LineMarker(),\n\t\t\toverbought: new BandMarker(this.params.bands[0], this.panel),\n\t\t\toversold: new BandMarker(this.params.bands[1], this.panel)\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(d => [d.dateIndex, +d.williamspctr]);\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.overbought.render(this.panel, this.params.style.overbought);\n\t\tthis.markers.oversold.render(this.panel, this.params.style.oversold);\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.williamspctr || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** WMA indicator */\nclass WMAIndicator extends Indicator {\n\t/** @param {object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {object} - Default parameters object\n\t * @property {string} name - Indicator name\n\t * @property {string} id - Indicator ID\n\t * @property {string} description - Indicator description\n\t * @property {object[]} inputs - Indicator inputs\n\t * @property {object[]} componentSeries - Indicator component series\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tname: 'WMA',\n\t\t\tid: 'wma',\n\t\t\tdescription:\n\t\t\t\t'Moving Averages are trend indicators that smooth stock price movements. Comparing the moving averages from multiple time frames can help investors spot changes in trend. Like the EMA, Weighted Moving Averages place greater emphasis on more recent periods.',\n\t\t\tinputs: [{ name: 'period', value: 20 }],\n\t\t\tcomponentSeries: [{ id: 'wma' }]\n\t\t};\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.wma || [], function (i) {\n\t\t\treturn +i.wma;\n\t\t});\n\t}\n\n\t/**\n\t * @param {object} data - Symbol data object\n\t * @return {number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.wma || [], function (i) {\n\t\t\treturn +i.wma;\n\t\t});\n\t}\n\n\t/**\n\t * @return {object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {object} data - Indicator data\n\t * @return {number[][]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.wma];\n\t\t});\n\t}\n\n\t/** @param {object} data Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.wma || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash\n\t\t);\n\t}\n}\n\n/** Comparative Relative Strength indicator */\nclass YieldSpreadIndicator extends Indicator {\n\t/** @param {Object} args Custom args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\n\t/**\n\t * Returns the default params for this type of indicator. Overrides abstract\n\t * method inherited from Indicator.\n\t * @returns {Object} - Default parameters object\n\t * @property {String} id - Indicator ID\n\t * @property {String} name - Indicator name\n\t * @property {Object[]} inputs - Indicator inputs\n\t * @property {Number} valueMultiplier - Indicator value multiplier. Used to\n\t * normalize percent values depending on data - 1 or 100\n\t */\n\t_getDefaultParams() {\n\t\treturn {\n\t\t\tid: 'yieldspread',\n\t\t\tname: 'Yield Spread',\n\t\t\tinputs: [\n\t\t\t\t{ name: 'comparisonsymbol', value: '' }\n\t\t\t],\n\t\t\tvalueMultiplier: 1\n\t\t};\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range minimum\n\t */\n\tgetRangeMin(data) {\n\t\treturn min(data.yieldspread || [], function (i) {\n\t\t\treturn i.yieldspread || -1;\n\t\t});\n\t}\n\n\t/**\n\t * @param {Object} data - Symbol data object\n\t * @return {Number} - d3-range maximum\n\t */\n\tgetRangeMax(data) {\n\t\treturn max(data.yieldspread || [], function (i) {\n\t\t\treturn i.yieldspread || 1;\n\t\t});\n\t}\n\n\t/**\n\t * @returns {Object}\n\t * @property {LineMarker} line\n\t */\n\t_getMarkers() {\n\t\treturn { line: new LineMarker() };\n\t}\n\n\t/**\n\t * @param {Object} data - Indicator data\n\t * @returns {Array[]}\n\t */\n\t_getDataMap(data) {\n\t\treturn data.map(function (d) {\n\t\t\treturn [d.dateIndex, +d.yieldspread];\n\t\t});\n\t}\n\n\t/** @param {Object} data - Symbol data object */\n\trender(data) {\n\t\tthis.markers.line.render(\n\t\t\tthis.panel.rootContext,\n\t\t\tthis._getDataMap(data.yieldspread || []),\n\t\t\tthis._xScale(),\n\t\t\tthis._yScale(),\n\t\t\tthis.params.style.color,\n\t\t\tthis.params.style.width,\n\t\t\tthis.params.style.lineDash,\n\t\t);\n\t}\n}\n\nvar Indicators = {\n\tADL: ADLIndicator,\n\tAdvanceDecline: AdvanceDeclineIndicator,\n\tAvgTrueRange: AverageTrueRangeIndicator,\n\tAwesomeOscillator: AwesomeOscillatorIndicator,\n\tBestWorst: BestWorstIndicator,\n\tBollinger: BollingerBandsIndicator,\n\tBollingerBandWidth: BollingerBandWidthIndicator,\n\tChaikins: ChaikinsIndicator,\n\tCommodityChannelIndex: CommodityChannelIndexIndicator,\n\tCRS: CRSIndicator,\n\tDividendYield: DividendYieldIndicator,\n\tDMI: DMIIndicator,\n\tEMA: EMAIndicator,\n\tHighLow: HighLowIndicator,\n\tHorizontalAnnotation: HorizontalAnnotationIndicator,\n\tIchimokuCloud: IchimokuCloudIndicator,\n\tLinearRegression: LinearRegressionIndicator,\n\tMACD: MACDIndicator,\n\tMAE: MAEIndicator,\n\tMassIndex: MassIndexIndicator,\n\tMomentum: MomentumIndicator,\n\tMoneyFlow: MoneyFlowIndicator,\n\tMoneyFlowIndex: MoneyFlowIndexIndicator,\n\tOnBalanceVolume: OnBalanceVolumeIndicator,\n\tPERange: PERangeIndicator,\n\tPERatio: PERatioIndicator,\n\tPercentB: PercentBIndicator,\n\tPreviousClose: PreviousCloseIndicator,\n\tPriceChannel: PriceChannelIndicator,\n\tPrice: PriceIndicator,\n\tPROC: PROCIndicator,\n\tPSAR: PSARIndicator,\n\tRevenues: RevenuesIndicator,\n\tRollingDividend: RollingDividendIndicator,\n\tRollingEPS: RollingEPSIndicator,\n\tRSI: RSIIndicator,\n\tSectorIndustry: SectorIndustryIndicator,\n\tSMA: SMAIndicator,\n\tStochastics: StochasticsIndicator,\n\tTSF: TSFIndicator,\n\tUltimateOscillator: UltimateOscillatorIndicator,\n\tUpDown: UpDownIndicator,\n\tUpDownRatio: UpDownRatioIndicator,\n\tVolume: VolumeIndicator,\n\tVolumeByPrice: VolumeByPriceIndicator,\n\tVROC: VROCIndicator,\n\tVWAP: VWAPIndicator,\n\tWilliamsPctR: WilliamsIndicator,\n\tWMA: WMAIndicator,\n\tYieldSpread: YieldSpreadIndicator\n};\n\n/** Parent class for chart overlay events (dividends, earnings etc.) */\nclass Event {\n\t/** @param {Object} args - Custom event args */\n\tconstructor(args) {\n\t\t/** @type {Panel} */\n\t\tthis.panel = args.panel;\n\t\t/** @type {object} */\n\t\tthis.params = this._getParams(args.params);\n\t\t/** @type {object[]} */\n\t\tthis.coords = [];\n\t}\n\n\t/**\n\t * A wrapper for getDefaultParams. Merges default params with\n\t * developer-provided params.\n\t * @param {object} args - Custom event args\n\t * @returns {object} Combined default and developer-provided params.\n\t */\n\t_getParams(params) {\n\t\tconst bufferWidth = 1;\n\t\treturn {\n\t\t\t...this.getDefaultParams(),\n\t\t\tstyle: {\n\t\t\t\t...this.panel.core.getStyle('event'),\n\t\t\t\tcanvasBufferWidth: {\n\t\t\t\t\t// Set the buffer width for the area past the chart in which the event will still render\n\t\t\t\t\tleft: bufferWidth,\n\t\t\t\t\tright: bufferWidth\n\t\t\t\t}\n\t\t\t},\n\t\t\tuid: createUid(),\n\t\t\tvisible: true, // Whether or not the event should be rendered\n\t\t\t...params\n\t\t};\n\t}\n\n\t/**\n\t * Gets the x/y coordinates for each event\n\t * @param {object} data - Symbol data\n\t * @param {string} eventType - Specific event type\n\t * @returns {object[]} Normalized array of event coordinates with data\n\t */\n\tgetPositions(data, eventType) {\n\t\tif (!data[eventType] || !data.price) return [];\n\n\t\tconst coords = [];\n\t\tlet date = new Date();\n\t\tlet i = 0;\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\tlet closestPriceIdx = 0;\n\t\tlet closestExchangeIdx = 0;\n\t\tlet dataPrice = [];\n\t\tlet dataSeries = 0;\n\t\tlet customValue = false;\n\t\tconst dataEvent = data[eventType];\n\t\tconst isIntraday = this.panel.core.state.isIntraday;\n\t\tconst isOHLC = /candlestick|ohlc|hlc/.test(\n\t\t\tthis.panel.indicators[0].params.markerType\n\t\t);\n\t\tconst yOHLC = isOHLC ? 'high' : 'close';\n\n\t\tfor (const uid in dataEvent || {}) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(dataEvent, uid)) {\n\t\t\t\tdataSeries = dataEvent[uid];\n\n\t\t\t\tfor (i = 0; i < dataSeries.length; i++) {\n\t\t\t\t\tif (!dataSeries[i]) continue;\n\n\t\t\t\t\tcustomValue = typeof dataSeries[i].value === 'number';\n\n\t\t\t\t\tlet dateIn = dataSeries[i].date;\n\n\t\t\t\t\t// discard time portion of interday dates\n\t\t\t\t\tif (!isIntraday && typeof dateIn === 'string') {\n\t\t\t\t\t\tdateIn = dateIn.replace(/T[\\d:Z]+$/, '');\n\t\t\t\t\t}\n\n\t\t\t\t\t// Enforce zulu time for cross-browser compatibility\n\t\t\t\t\tif (typeof dateIn === 'string' && /T.+[^Z]$/.test(dateIn)) {\n\t\t\t\t\t\tdateIn = dateIn + 'Z';\n\t\t\t\t\t}\n\n\t\t\t\t\tdate = new Date(Date.parse(dateIn));\n\n\t\t\t\t\tif (eventType === 'custom') {\n\t\t\t\t\t\t// offset date to local tz\n\t\t\t\t\t\tdate.setMinutes(\n\t\t\t\t\t\t\tdate.getMinutes() + date.getTimezoneOffset()\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tclosestExchangeIdx = this.panel.core.closestExchangeIndex(\n\t\t\t\t\t\tdate\n\t\t\t\t\t);\n\n\t\t\t\t\tif (customValue) {\n\t\t\t\t\t\tx = this.panel.xAxis.primaryScale(closestExchangeIdx);\n\t\t\t\t\t\ty = this.panel.yAxis.primaryScale(dataSeries[i].value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (date > new Date()) {\n\t\t\t\t\t\t\tx = -1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdataPrice = this.getFirstDataset(data.price);\n\n\t\t\t\t\t\t\tclosestPriceIdx = this.panel.core._getIndexByDate(\n\t\t\t\t\t\t\t\tdataPrice,\n\t\t\t\t\t\t\t\tdate\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tx = this.panel.xAxis.primaryScale(closestExchangeIdx);\n\t\t\t\t\t\t\ty = this.panel.yAxis.primaryScale(\n\t\t\t\t\t\t\t\tdataPrice[closestPriceIdx][yOHLC]\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\t// must fall within panel area\n\t\t\t\t\tif (\n\t\t\t\t\t\tx > this.panel.size.padding.left - this.params.style.canvasBufferWidth.left &&\n\t\t\t\t\t\tx < this.panel.size.padding.left + this.panel.size.width + this.params.style.canvasBufferWidth.right\n\t\t\t\t\t) {\n\t\t\t\t\t\tcoords.push({\n\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tevent: dataSeries[i],\n\t\t\t\t\t\t\tuid: this.params.uid\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\n\t\treturn this.getStackPositions(coords);\n\t}\n\n\t/**\n\t * Updates coordinate positions to stack events vertically that are close\n\t * in horizontal proximity\n\t * @param {object[]} coords - array of event coordinates and data\n\t * @returns {object[]} array of updated event coordinates and data\n\t * @private\n\t */\n\tgetStackPositions(coords) {\n\t\tconst clusterDist = this.params.clusterDist || 15;\n\t\tconst stackDist = this.params.stackDist || 17;\n\t\tlet prev = {};\n\t\tlet curr = {};\n\t\tlet alt = {};\n\t\tlet altEvent = {};\n\n\t\t// check for collisions with other event groups\n\t\tfor (let i = coords.length - 1; i >= 0; i--) {\n\t\t\tcurr = coords[i];\n\n\t\t\tfor (let e = 0; e < this.panel.events.length; e++) {\n\t\t\t\taltEvent = this.panel.events[e];\n\n\t\t\t\tif (\n\t\t\t\t\taltEvent !== this &&\n\t\t\t\t\taltEvent.coords &&\n\t\t\t\t\t!altEvent.isHidden\n\t\t\t\t) {\n\t\t\t\t\tfor (let a = altEvent.coords.length - 1; a >= 0; a--) {\n\t\t\t\t\t\talt = altEvent.coords[a];\n\n\t\t\t\t\t\tif (Math.abs(alt.x - curr.x) < clusterDist) {\n\t\t\t\t\t\t\t// stack curr event on top of alt\n\t\t\t\t\t\t\tcurr.y = alt.y - stackDist;\n\n\t\t\t\t\t\t\t// snap curr x to alt\n\t\t\t\t\t\t\tcurr.x = alt.x;\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\n\t\t// check for collisions with neighbor events in the same event group\n\t\tfor (let i = coords.length - 1; i >= 0; i--) {\n\t\t\tprev = coords[i - 1];\n\t\t\tcurr = coords[i];\n\n\t\t\t// check left-hand neighbor in current event group\n\t\t\tif (prev && Math.abs(prev.x - curr.x) < clusterDist) {\n\t\t\t\t// stack prev on curr\n\t\t\t\tprev.y = curr.y - stackDist;\n\n\t\t\t\t// snap prev x to curr x\n\t\t\t\tprev.x = curr.x;\n\t\t\t}\n\t\t}\n\n\t\treturn coords;\n\t}\n\n\t/**\n\t * Returns the first available dataset\n\t * @param {object} data - symbol data\n\t * @return {object[]}\n\t * @private\n\t */\n\tgetFirstDataset(data) {\n\t\tfor (const x in data) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(data, x)) {\n\t\t\t\treturn data[x];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Render default event flags if none overridden locally. Called in sub-class\n\t * defined render function with default params for that sub-class.\n\t * @param {object} data - symbol data\n\t * @param {string} eventType - the event type name\n\t * @param {string} fillColor - the hex color fill\n\t * @param {string} label - the event label to be rendered\n\t * @private\n\t */\n\trenderDefault(data, eventType, fillColor, label) {\n\t\tconst { core } = this.panel;\n\t\t// if a render listener has been registered, emit and return\n\t\tif (core.eventEmitter.listeners('EVENT_RENDER').length > 0){\n\t\t\treturn core.eventEmitter.emit('EVENT_RENDER', {\n\t\t\t\tid: eventType,\n\t\t\t\tname: this.params.name,\n\t\t\t\tcoords: this.coords,\n\t\t\t\tctx: this.panel.rootContext,\n\t\t\t\tevent: this\n\t\t\t});\n\t\t}\n\n\t\t// draw default icon\n\t\tconst { coords } = this;\n\t\tconst ctx = this.panel.rootContext;\n\t\tconst { diameter } = this.params.style;\n\t\tconst radius = diameter / 2;\n\t\tconst padding = 5;\n\t\tconst offsetY = 20;\n\n\t\tctx.fillStyle = fillColor;\n\t\tctx.textBaseline = 'top';\n\n\t\t// pointer shape\n\t\tcoords.forEach(c => {\n\t\t\tconst x = c.x;\n\t\t\tconst y = c.y - offsetY;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(x, y, radius, 0, 2 * Math.PI);\n\t\t\tctx.moveTo(x + radius, y + 1);\n\t\t\tctx.lineTo(x, y + diameter);\n\t\t\tctx.lineTo(x - radius, y + 1);\n\t\t\tctx.fill();\n\t\t});\n\n\t\tctx.beginPath();\n\n\t\t// label\n\t\tctx.fillStyle = '#222222';\n\t\tctx.font = 'bold 14px Arial';\n\t\tcoords.forEach(c => {\n\t\t\tconst x = c.x;\n\t\t\tconst y = c.y - offsetY;\n\t\t\tctx.fillText(label, x - 5, y - 5.5);\n\t\t});\n\n\t\t// metadata\n\t\tcoords.forEach(c => {\n\t\t\tconst x = c.x;\n\t\t\tconst y = c.y - offsetY;\n\t\t\tc.id = this.params.id;\n\t\t\tc.left = x - (radius + padding);\n\t\t\tc.top = y - (radius + padding);\n\t\t\tc.right = c.left + diameter + 2 * padding;\n\t\t\tc.bottom = c.top + diameter + 2 * padding;\n\t\t\t// debug hitbox\n\t\t\t//ctx.rect(coords[i].left, coords[i].top, coords[i].right - coords[i].left, coords[i].bottom - coords[i].top);\n\t\t});\n\n\t\tctx.stroke();\n\t\tctx.closePath();\n\t}\n\t/**\n\t * Render function must be implemented in sub-class\n\t * @abstract\n\t */\n\trender() {\n\t\tthrow new Error('Required Event method not found');\n\t}\n\n\t/**\n\t * Remove function must be implemented in sub-class\n\t * @abstract\n\t */\n\tremove() {}\n\n\t/**\n\t * Checks if mouse is within coordinates of one of the currently-visible events\n\t * @param {number[]} mouse - mouse coordinates\n\t * @return {boolean}\n\t */\n\tisWithin([x, y]) {\n\t\t// Adjust Y coord for top margin. This is necessary because event y coords are saved relative to the zero value of the scale.\n\t\ty -= this.panel.size.margin.top;\n\n\t\tlet response = null;\n\t\tconst coords = this.coords || {};\n\n\t\tfor (const key in coords) {\n\t\t\tconst eventHitbox = coords[key];\n\t\t\t\n\t\t\t// Check to see if the mouse is within the event hitbox\n\t\t\tif (\n\t\t\t\tx > eventHitbox.left &&\n\t\t\t\ty > eventHitbox.top &&\n\t\t\t\tx < eventHitbox.right &&\n\t\t\t\ty < eventHitbox.bottom\n\t\t\t) {\n\t\t\t\tresponse = eventHitbox;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\t/**\n\t * Returns the default params for this type of Event. Must be implemented in sub-class\n\t * @abstract\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\tthrow new Error('Required Event method not found');\n\t}\n}\n\n/**\n * Dividend event\n */\nclass DividendEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'dividends',\n\t\t\tname: 'Dividends',\n\t\t\tdescription: 'Dividend events'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, 'dividends', '#98E7F8', 'D');\n\t}\n}\n\n/**\n * Dividend Complete event (includes special dividends)\n */\nclass DividendCompleteEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'dividendscomplete',\n\t\t\tname: 'Dividends Complete',\n\t\t\tdescription: 'Dividend events including special/irregular dividends'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, 'dividendscomplete', '#F56F42', 'D');\n\t}\n}\n\n/**\n * Splits event\n */\nclass Splits extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'splits',\n\t\t\tname: 'Splits',\n\t\t\tdescription: 'description'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, 'splits', '#D398F8', 'S');\n\t}\n}\n\n/**\n * Earnings event\n */\nclass EarningsEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'earnings',\n\t\t\tname: 'Earnings',\n\t\t\tdescription: 'description',\n\t\t\tinputs: [{ name: 'includeextraordinary', value: 1 }]\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, 'earnings', '#99F997', 'E');\n\t}\n}\n\n/**\n * Custom Dividends event\n */\nclass DividendCustomEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'dividendscustom',\n\t\t\tname: 'Custom Dividends',\n\t\t\tdescription: 'description'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, this.params.id, '#97BEF9', 'D');\n\t}\n}\n\n/**\n * Custom splits event\n */\nclass SplitsCustomEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'splitscustom',\n\t\t\tname: 'Custom Splits',\n\t\t\tdescription: 'description'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, this.params.id, '#E498F8', 'S');\n\t}\n}\n\n/**\n * EarningsCustomEvent event\n */\nclass EarningsCustomEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'earningscustom',\n\t\t\tname: 'Custom Earnings',\n\t\t\tdescription: 'description',\n\t\t\tinputs: [{ name: 'includeextraordinary', value: 1 }]\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, this.params.id, '#97F9D5', 'E');\n\t}\n}\n\n/**\n * Announced Earnings event\n */\nclass AnnouncedEarningsEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'announcedearnings',\n\t\t\tname: 'Announced Earnings',\n\t\t\tdescription: 'description'\n\t\t};\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for this event\n\t * @param {object} data - Symbol data\n\t * @override\n\t */\n\trender(data) {\n\t\tthis.renderDefault(data, 'announcedearnings', '#99F997', 'E');\n\t}\n}\n\n/** Custom event */\nclass CustomEvent extends Event {\n\t/** @param {object} args - Custom event args */\n\tconstructor(args) {\n\t\tsuper(args);\n\n\t\t// tag each datapoint with a uid\n\t\tthis.params.dataset.forEach(datum => {\n\t\t\tdatum.uid = createUid();\n\t\t});\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default params for this event\n\t * @returns {object} object with event information\n\t * @override\n\t * @private\n\t */\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tid: 'custom',\n\t\t\tname: 'Custom',\n\t\t\tdataset: [],\n\t\t\trenderMethod: null,\n\t\t\tremoveMethod: null\n\t\t};\n\t}\n\t/**\n\t * Adds a new event data point to the event dataset\n\t * @param {object} datapoint - the new event data point to add\n\t * @returns {datapoint} returns newly created datapoint with attached uid\n\t */\n\taddDatapoint(datapoint) {\n\t\tif (datapoint) {\n\t\t\t// add a uid\n\t\t\tdatapoint.uid = createUid();\n\n\t\t\tthis.params.dataset.push(datapoint);\n\n\t\t\treturn datapoint;\n\t\t}\n\t}\n\t/**\n\t * Removes an event data point based on the point's uid\n\t * @param {number} uid - unique chart identifier for the data point\n\t */\n\tremoveDatapointByUid(uid) {\n\t\tif (uid) {\n\t\t\tfor (let x = this.params.dataset.length - 1; x >= 0; x--) {\n\t\t\t\tif (this.params.dataset[x].uid === uid) {\n\t\t\t\t\tthis.params.dataset.splice(x, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t * Perform developer-defined actions before removal\n\t */\n\tremove() {\n\t\tif (this.params.removeMethod) {\n\t\t\tthis.params.removeMethod(this);\n\t\t}\n\t}\n\t/**\n\t * Overrides abstract method in Event class. Sets default render params for\n\t * this event based on custom render method provided in initial args\n\t * @override\n\t */\n\trender(data) {\n\t\tif (this.params.renderMethod && this.params.dataset) { // backward compatible for v1 handling\n\t\t\tthis.params.renderMethod(this.coords, this);\n\t\t} else {\n\t\t\tthis.renderDefault(data, this.params.id, '#97BEF9', 'C');\n\t\t}\n\t}\n}\n\n/**\n * Extended hours marker\n * Draws vertical bands highlighting the extended hours sessions on each panel\n * Note: the extended data itself is rendered as normal via the price indicator, this\n * is just for the vertical band rendering.\n */\nclass ExtendedHoursMarker extends Marker {\n\tconstructor(params, panel) {\n\t\tsuper(params, panel);\n\t}\n\tgetDefaultParams() {\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tfillColorPre: this._getStyle(\n\t\t\t\t\t'marker.extendedHours.preMarket.backgroundColor'\n\t\t\t\t),\n\t\t\t\tfillColorPost: this._getStyle(\n\t\t\t\t\t'marker.extendedHours.afterHours.backgroundColor'\n\t\t\t\t),\n\t\t\t\tlineColor: this._getStyle(\n\t\t\t\t\t'marker.extendedHours.lineColor'\n\t\t\t\t),\n\t\t\t\tlineWidth: this._getStyle(\n\t\t\t\t\t'marker.extendedHours.lineWidth'\n\t\t\t\t),\n\t\t\t\tlineColorPreStart: null,\n\t\t\t\tlineColorPreEnd: null,\n\t\t\t\tlineColorPostStart: null,\n\t\t\t\tlineWidthPreStart: null,\n\t\t\t\tlineWidthPreEnd: null,\n\t\t\t\tlineWidthPostStart: null\n\t\t\t}\n\t\t};\n\t}\n\tgetPrePostData(dataIn) {\n\t\tconst data = {\n\t\t\tpre: dataIn['PreMarketTrading'] || [],\n\t\t\tpost: dataIn['PostMarketTrading'] || []\n\t\t};\n\n\t\treturn data;\n\t}\n\trender(dataIn) {\n\t\tconst data = this.getPrePostData(dataIn);\n\t\tconst ctx = this.panel.rootContext;\n\n\t\t// draw pre rects\n\t\tctx.beginPath();\n\t\tctx.fillStyle = this.params.style.fillColorPre;\n\t\tObject.keys(data.pre).forEach(key => {\n\t\t\tconst val = data.pre[key];\n\t\t\tsubpixel.rect(ctx, val.left, 1, val.width, val.height - 2);\n\t\t});\n\t\tctx.fill();\n\n\t\t// draw post rects\n\t\tctx.beginPath();\n\t\tctx.fillStyle = this.params.style.fillColorPost;\n\t\tObject.keys(data.post).forEach(key => {\n\t\t\tconst val = data.post[key];\n\t\t\tsubpixel.rect(ctx, val.left, 1, val.width, val.height - 2);\n\t\t});\n\t\tctx.fill();\n\n\t\t// draw pre start line\n\t\tctx.beginPath();\n\t\tctx.lineWidth =\n\t\t\tthis.params.style.lineWidthPreStart || this.params.style.lineWidth;\n\t\tctx.strokeStyle =\n\t\t\tthis.params.style.lineColorPreStart || this.params.style.lineColor;\n\t\tObject.keys(data.pre).forEach(key => {\n\t\t\tconst val = data.pre[key];\n\t\t\tsubpixel.moveTo(ctx, val.left, 1);\n\t\t\tsubpixel.rect(ctx, val.left, 1 + val.height - 3);\n\t\t});\n\t\tctx.stroke();\n\n\t\t// draw pre end line\n\t\tctx.beginPath();\n\t\tctx.lineWidth =\n\t\t\tthis.params.style.lineWidthPreEnd || this.params.style.lineWidth;\n\t\tctx.strokeStyle =\n\t\t\tthis.params.style.lineColorPreEnd || this.params.style.lineColor;\n\t\tObject.keys(data.pre).forEach(key => {\n\t\t\tconst val = data.pre[key];\n\t\t\tsubpixel.moveTo(ctx, val.left + val.width, 1);\n\t\t\tsubpixel.rect(ctx, val.left + val.width, 1 + val.height - 3);\n\t\t});\n\t\tctx.stroke();\n\n\t\t// draw post start line\n\t\tctx.beginPath();\n\t\tctx.lineWidth =\n\t\t\tthis.params.style.lineWidthPostStart || this.params.style.lineWidth;\n\t\tctx.strokeStyle =\n\t\t\tthis.params.style.lineColorPostStart || this.params.style.lineColor;\n\t\tObject.keys(data.post).forEach(key => {\n\t\t\tconst val = data.pre[key];\n\t\t\tsubpixel.moveTo(ctx, val.left, 1);\n\t\t\tsubpixel.rect(ctx, val.left, 1 + val.height - 3);\n\t\t});\n\t\tctx.stroke();\n\t}\n}\n\n/**\n * Panels are related groups of axes, indicators and markers on a shared pane.\n * Multiple panels can be stacked vertically and are managed by the parent chart.\n */\nclass Panel {\n\tconstructor() {}\n\t/**\n\t * initialize the fundamental collections of params, scales and indicators for a single panel\n\t * initialize the canvas dom element\n\t */\n\tinit(core, params = {}) {\n\t\tthis.core = core;\n\n\t\t// then merge with any custom params that were passed to init\n\t\tthis.params = merge({}, this.getDefaultParams(), params);\n\n\t\t// unique id\n\t\tthis.params.uid = 'uid' in params ? params.uid : createUid();\n\n\t\t// deprecated id, here for backward compatibility\n\t\tthis.params.id = this.params.uid;\n\n\t\t// Use this.size collection internally instead of modifying the original params\n\t\tthis.initPanelSize();\n\n\t\t// grid functionality\n\t\tthis.grid = new Grid(this);\n\n\t\t// Set up important collections\n\t\tthis.indicators = [];\n\t\tthis.events = [];\n\t\tthis.tools = [];\n\t\tthis.flags = {};\n\t\t\n\t\t// Set up axes\n\t\tconst start = this.size.padding.left;\n\t\tconst stop = start + this.size.width;\n\t\tthis.xAxis = new AxisDate(this, { range: [start, stop] });\n\t\tthis.yAxis = new AxisNumber(this);\n\n\t\t// Set up important DOM nodes\n\n\t\t// Create container for all panel nodes\n\t\tthis.rootPanel = this.core.rootModchart\n\t\t\t.insert('div', 'div.modcharts-rootmouse')\n\t\t\t.attr('class', 'modcharts-panel')\n\t\t\t.style('width', '100%')\n\t\t\t.style('position', 'absolute');\n\n\t\t// use fixed or dynamic height\n\t\tthis.size.height = this.calculatedHeight;\n\n\t\t// container for panel legend\n\t\tthis.rootLegend = this.rootPanel\n\t\t\t.append('div')\n\t\t\t.attr(\n\t\t\t\t'class',\n\t\t\t\t'modcharts-legend' +\n\t\t\t\t\t(this.core.getPanelIndex(this) === 0 ? ' first' : '')\n\t\t\t)\n\t\t\t.attr('uid', this.uid)\n\t\t\t.on('mouseup', event => {\n\t\t\t\tthis.core.onMouseup(event);\n\t\t\t});\n\n\t\t// main panel drawing canvas\n\t\tthis.rootCanvas = this.rootPanel\n\t\t\t.append('canvas')\n\t\t\t.attr('aria-hidden', true)\n\t\t\t.attr('width', this.size.width)\n\t\t\t.attr('height', this.size.height)\n\t\t\t.style('position', 'absolute')\n\t\t\t.attr('class', 'modcharts-panel-root');\n\n\t\t// tool canvas\n\t\tthis.rootTools = this.rootPanel\n\t\t\t.append('canvas')\n\t\t\t.attr('aria-hidden', true)\n\t\t\t.attr('width', this.size.width)\n\t\t\t.attr('height', this.size.height)\n\t\t\t.style('position', 'absolute')\n\t\t\t.attr('class', 'modcharts-panel-tools');\n\n\t\t// crosshair/overlay root svg\n\t\tthis.rootOverlay = this.rootPanel\n\t\t\t.append('svg')\n\t\t\t.attr('width', this.core.size.width)\n\t\t\t.attr('height', this.size.height)\n\t\t\t.style('position', 'absolute')\n\t\t\t.attr('class', 'modcharts-rootoverlay')\n\t\t\t.append('g');\n\n\t\t// error message\n\t\tthis.rootError = this.rootPanel\n\t\t\t.append('div')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('display', 'none')\n\t\t\t.attr('class', 'modcharts-panel-error');\n\n\t\t// save reference to frequently-used contexts\n\t\tthis.rootContext = this.getContext(this.rootCanvas.node());\n\t\tthis.rootToolContext = this.getToolContext(this.rootTools.node());\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * return main panel canvas context\n\t */\n\tgetContext(rootCanvasNode) {\n\t\tconst context = rootCanvasNode.getContext('2d');\n\n\t\tif (!context.setLineDash) {\n\t\t\tcontext.setLineDash = () => {};\n\t\t}\n\n\t\treturn context;\n\t}\n\n\t/**\n\t * return tool canvas context\n\t */\n\tgetToolContext(rootToolsNode) {\n\t\tconst context = rootToolsNode.getContext('2d');\n\n\t\tif (!context.setLineDash) {\n\t\t\tcontext.setLineDash = () => {};\n\t\t}\n\n\t\treturn context;\n\t}\n\n\t/** default panel param collection. any custom user params will be merged into this base collection. */\n\tgetDefaultParams() {\n\t\tlet panelStyle = this.core.getStyle('panel');\n\t\t// alternate styling for lower panels\n\t\tif (!this.isUpper) {\n\t\t\tpanelStyle = merge(panelStyle, this.core.getStyle('panelLower'));\n\t\t}\n\t\t// alternate styling for left-hand YAxis panels\n\t\tif (this.core.params.yAxisSide === 'left') {\n\t\t\tpanelStyle = merge(panelStyle, this.core.getStyle('panelYAxisLeft'));\n\t\t}\n\t\treturn {\n\t\t\tenableCrosshair: true, // Use for per panel disabling of crosshair\n\t\t\thasXAxis: null,\n\t\t\tstyle: panelStyle,\n\t\t\tsize: {\n\t\t\t\theightPct: null,\n\t\t\t\theightToChartWidthRatio: null\n\t\t\t},\n\t\t\tyAxis: {\n\t\t\t\tformat: 'default',\n\t\t\t\trange: null, // custom axis range. ex: [-100, 100]\n\t\t\t\trangeValues: []\n\t\t\t}\n\t\t};\n\t}\n\n\t/** Remove root panel children and then the root panel itself */\n\tremove() {\n\t\tconst panelNode = this.rootPanel.node();\n\t\t// Remove all children from the panel\n\t\twhile(panelNode.firstChild) {\n\t\t\tpanelNode.removeChild(panelNode.firstChild);\n\t\t}\n\t\tif (panelNode && panelNode.parentNode) {\n\t\t\t// Remove the panel from the chart\n\t\t\tpanelNode.parentNode.removeChild(panelNode);\n\t\t}\n\t}\n\n\t/**\n\t * add a new Indicator object to the indicators collection\n\t * @param {string} id\n\t * @param {object} params\n\t * @returns {Indicator}\n\t */\n\taddIndicator(id, params = { id }) {\n\t\tif (id && !params.id) params.id = id;\n\n\t\tconst newIndicator = this.addIndicators([params]);\n\n\t\treturn newIndicator.length > 0\n\t\t\t? newIndicator[0]\n\t\t\t: null;\n\t}\n\n\t/**\n\t * Add multiple Indicator objects to the indicators collection\n\t * @param {object[]} indicatorParams - An array of indicator params (panel reference added automatically)\n\t * @returns {Indicator[]}\n\t */\n\taddIndicators(indicatorParams) {\n\t\tlet indicator;\n\t\tlet indicatorClass;\n\t\tconst newIndicators = [];\n\t\tfor (const [index, params] of indicatorParams.entries()) {\n\t\t\tindicatorClass = Panel.getIndicatorClassName(params.id);\n\t\t\tif (indicatorClass) {\n\t\t\t\t// Is this a lower indicator being placed on the upper panel?\n\t\t\t\tconst foundLioup = \n\t\t\t\t\tthis.isUpper && \n\t\t\t\t\tthis._checkForLioup(\n\t\t\t\t\t\tparams.id,\n\t\t\t\t\t\tindex + this.indicators.length\n\t\t\t\t\t);\n\t\t\t\tif (foundLioup) params.lowerIndicatorOnUpperPanel = true;\n\n\t\t\t\t// Build args for indicator constructor\n\t\t\t\tconst args = {\n\t\t\t\t\tpanel: this,\n\t\t\t\t\tparams\n\t\t\t\t};\n\n\t\t\t\tif (params.lowerIndicatorOnUpperPanel) {\n\t\t\t\t\t// Add new scale to yAxis\n\t\t\t\t\tconst newScaleUid = this.yAxis.addScale();\n\n\t\t\t\t\t// Change scale reference if lower indicator is on upper panel (point to the new scale)\n\t\t\t\t\targs.scaleUids = [this.xAxis.primaryScaleUid, newScaleUid];\n\t\t\t\t}\n\n\t\t\t\t// Create new indicator\n\t\t\t\tindicator = new indicatorClass(args);\n\n\t\t\t\t// Add new indicator to panel indicator array\n\t\t\t\tthis.indicators.push(indicator);\n\t\t\t\tnewIndicators.push(indicator);\n\n\t\t\t\t// Emit new indicator\n\t\t\t\tconst event = this.isUpper\n\t\t\t\t\t? types$1.INDICATOR_UPPER_ADD\n\t\t\t\t\t: types$1.INDICATOR_LOWER_ADD;\n\t\t\t\tthis.core.eventEmitter.emit(event, {\n\t\t\t\t\tindicator,\n\t\t\t\t\tindicatorType: indicator.params.id\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Create any needed component series flags\n\t\tthis.resetComponentSeriesFlags();\n\t\t\n\t\treturn newIndicators;\n\t}\n\n\t/**\n\t * create or remove component series flags for this panel's indicators, depending on the param boolean\n\t */\n\tresetComponentSeriesFlags() {\n\t\tthis.indicators.forEach(indicator => {\n\t\t\t// only run for indicators that have a componentSeries param\n\t\t\tif (indicator.params.componentSeries) {\n\t\t\t\tlet x = 0;\n\t\t\t\tlet flagId = '';\n\n\t\t\t\tif (this.core.params.showComponentSeriesFlags) {\n\t\t\t\t\t// create indicator flags\n\t\t\t\t\tfor (\n\t\t\t\t\t\tx = 0;\n\t\t\t\t\t\tx < indicator.params.componentSeries.length;\n\t\t\t\t\t\tx++\n\t\t\t\t\t) {\n\t\t\t\t\t\tflagId = indicator.params.componentSeries[x].id;\n\n\t\t\t\t\t\tif (!indicator.flags[flagId]) {\n\t\t\t\t\t\t\tindicator.flags[flagId] = new IndicatorFlag({\n\t\t\t\t\t\t\t\tpanel: this,\n\t\t\t\t\t\t\t\tindicator: indicator,\n\t\t\t\t\t\t\t\tid: flagId\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} else {\n\t\t\t\t\t// remove indicator flags\n\t\t\t\t\tfor (\n\t\t\t\t\t\tx = 0;\n\t\t\t\t\t\tx < indicator.params.componentSeries.length;\n\t\t\t\t\t\tx++\n\t\t\t\t\t) {\n\t\t\t\t\t\tflagId = indicator.params.componentSeries[x].id;\n\n\t\t\t\t\t\tif (indicator.flags[flagId]) {\n\t\t\t\t\t\t\tindicator.flags[flagId].remove();\n\t\t\t\t\t\t\tdelete indicator.flags[flagId];\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 * Returns true if mouse coordinates are within chart region (not including padding)\n\t * @param {Number} x - X mouse coordinate for modcharts-rootmouse\n\t * @param {Number} y - Y mouse coordinate for modcharts-rootmouse\n\t */\n\tisWithin([x, y]) {\n\t\tconst { height, padding, top, width } = this.size;\n\n\t\treturn (\n\t\t\tx > padding.left &&\n\t\t\tx < padding.left + width &&\n\t\t\ty > top + padding.top &&\n\t\t\ty < top + padding.top + height\n\t\t);\n\t}\n\n\t/**\n\t * add a new Event object to the events collection\n\t * @param {string} id\n\t * @param {object} params\n\t */\n\taddEvent(id, params) {\n\t\tconst args = { params, panel: this };\n\t\tlet event;\n\n\t\tswitch (id) {\n\t\t\tcase 'dividends':\n\t\t\t\tevent = new DividendEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'dividendscomplete':\n\t\t\t\tevent = new DividendCompleteEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'splits':\n\t\t\t\tevent = new Splits(args);\n\t\t\t\tbreak;\n\t\t\tcase 'earnings':\n\t\t\t\tevent = new EarningsEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'dividendscustom':\n\t\t\t\tevent = new DividendCustomEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'splitscustom':\n\t\t\t\tevent = new SplitsCustomEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'earningscustom':\n\t\t\t\tevent = new EarningsCustomEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'announcedearnings':\n\t\t\t\tevent = new AnnouncedEarningsEvent(args);\n\t\t\t\tbreak;\n\t\t\tcase 'custom':\n\t\t\t\tevent = new CustomEvent(args);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (event) this.events.push(event);\n\n\t\tthis.core.eventEmitter.emit(types$1.EVENT_ADD, {\n\t\t\teventType: id\n\t\t});\n\n\t\treturn event;\n\t}\n\n\t/**\n\t * Set primary yAxis scaling method\n\t * @param {string} scaleType - \"linear\" or \"log\"\n\t */\n\tsetScale(scaleType) {\n\t\t// don't allow log scales on normalized charts\n\t\tif (scaleType === 'log' && this.isNormalized) scaleType = 'linear';\n\n\t\tif (this.core.getPanelIndex(this) > 0) scaleType = 'linear';\n\n\t\tthis.core.params.yAxisScale = scaleType;\n\n\t\tthis.yAxis.primaryScale = this.yAxis.createScale(\n\t\t\tthis.yAxis.primaryScale.domain(),\n\t\t\tscaleType\n\t\t);\n\n\t\tthis.core.eventEmitter.emit(types$1.PANEL_SCALE_CHANGE, { scaleType });\n\t}\n\n\t/**\n\t * Get the min and max values for the given indicator\n\t * @param {*} indicator \n\t * @param {*} data \n\t * @return {number[]}\n\t */\n\t_getDataRange(indicator, data) {\n\t\tlet min = Infinity;\n\t\tlet max = -Infinity;\n\n\t\tfor (const indicatorType in data) {\n\t\t\tif (data[indicatorType][indicator.params.uid]) {\n\t\t\t\tconst dataSeries = {};\n\t\t\t\tdataSeries[indicatorType] = data[indicatorType][indicator.params.uid];\n\n\t\t\t\tconst rangeMin = indicator.getRangeMin(dataSeries);\n\t\t\t\tconst rangeMax = indicator.getRangeMax(dataSeries);\n\n\t\t\t\tif (typeof rangeMin === 'number' && !isNaN(rangeMin)) {\n\t\t\t\t\tmin = Math.min(min, rangeMin);\n\t\t\t\t}\n\t\t\t\tif (typeof rangeMax === 'number' && !isNaN(rangeMax)) {\n\t\t\t\t\tmax = Math.max(max, rangeMax);\n\t\t\t\t}\n\n\t\t\t\t// ensure the yaxis has a range when min === max\n\t\t\t\tif (min === max) {\n\t\t\t\t\tmin = min * 0.95;\n\t\t\t\t\tmax = max * 1.05;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn { min, max };\n\t}\n\n\t/**\n\t * Apply any max/min adjustments to range\n\t * @param {number} min \n\t * @param {number} max \n\t * @param {number} maxLineWidth \n\t * @param {Object} makeAdjustment \n\t */\n\t_adjustRange(min, max, maxLineWidth, adjustForMarker = { max: true, min: true }) {\n\t\tif (\n\t\t\tthis.core.params.yAxisScale === 'log' &&\n\t\t\tthis.isUpper\n\t\t) {\n\t\t\tmin = Math.max(min, 0.00001); // ensure min doesn't contain 0\n\t\t} else {\n\t\t\t// vertical yaxis padding (used to carve out room for chart legends, etc)\n\t\t\tconst yAxisPadding = this._getYAxisPadding();\n\n\t\t\t// get number of pixels per price unit\n\t\t\tconst pxDist = this.size.height / (max - min);\n\n\t\t\t// adjust max value by the specific price value to create a gap of specified pixel height\n\t\t\tmax += yAxisPadding.top / pxDist;\n\n\t\t\t// adjust min value by the specific price value to create a gap of specified pixel height\n\t\t\tmin -= yAxisPadding.bottom / pxDist;\n\n\t\t\t// Adjust max/min for the width of marker lines themselves\n\t\t\tif (adjustForMarker.max) max += maxLineWidth / pxDist;\n\t\t\tif (adjustForMarker.min) min -= maxLineWidth / pxDist;\n\t\t}\n\n\t\treturn { min, max };\n\t}\n\n\t/**\n\t * Checks to see if given marker type is part of the draw to bottom markers list\n\t * @param {string} markerType - Marker type to check\n\t * @return {Boolean} Whether or not marker type is on the list\n\t */\n\t_checkForDrawToBottomMarker(markerType) {\n\t\tconst drawToBottomMarkers = ['bar', 'posneg'];\n\t\treturn !!drawToBottomMarkers.find(type => type === markerType);\n\t}\n\n\t/**\n\t * Checks to see if given ID is part of the lower indicators on upper panel list\n\t * @param {string} id - Indicator ID (eg. volume) to check\n\t * @return {Boolean} Whether or not ID is on the list\n\t */\n\t_checkForLioup(id, index) {\n\t\tconst lowerIndicatorsOnUpperPanel = [\n\t\t\t'volume'\n\t\t];\n\t\treturn index > 0 && !!lowerIndicatorsOnUpperPanel.find(lioup => lioup === id);\n\t}\n\n\t/**\n\t * Returns the max line width value given a current max value and and indicator with params\n\t * @param {number} currentMax - The current max line width\n\t * @param {Indicator} indicator - The indicator to check for a line width param\n\t * @return {number} The updated max line width\n\t */\n\t_updateMaxLineWidth(currentMax, indicator) {\n\t\tif (\n\t\t\tindicator.params.style &&\n\t\t\ttypeof indicator.params.style.lineWidth === 'number'\n\t\t) {\n\t\t\tcurrentMax = Math.max(\n\t\t\t\tcurrentMax,\n\t\t\t\tindicator.params.style.lineWidth\n\t\t\t);\n\t\t}\n\n\t\treturn currentMax;\n\t}\n\n\t/**\n\t * Returns the min/max data range for all indicator datasets, based on the current slice of data\n\t * Also adjusts for the Y-axis padding settings and marker thickness.\n\t * @param {object[]} data\n\t * @return {object}\n\t */\n\t_getOverallDataRange(data) {\n\t\t// min/max calcs\n\t\tlet min = Infinity;\n\t\tlet max = -Infinity;\n\t\tlet dataSymbol;\n\t\tlet maxLineWidth = 1;\n\t\tconst adjustForMarker = { max: true, min: true };\n\t\tconst primarySymbol = this.core.params.symbol;\n\n\t\t// get min/max of each indicator's current range\n\t\tfor (const [index, indicator] of this.indicators.entries()) {\n\t\t\t// Skip LIOUP's in this calculation\n\t\t\tconst foundLioup = this.isUpper && this._checkForLioup(indicator.params.id, index);\n\t\t\tif (foundLioup) continue;\n\t\t\t\n\t\t\tmaxLineWidth = this._updateMaxLineWidth(maxLineWidth, indicator);\n\n\t\t\tdataSymbol = indicator.params.symbol || primarySymbol;\n\n\t\t\t// Update min/max for data associated with current indicator\n\t\t\tconst rangeBounds = this._getDataRange(indicator, data[dataSymbol]);\n\t\t\tif (rangeBounds.min < min) min = rangeBounds.min;\n\t\t\tif (rangeBounds.max > max) max = rangeBounds.max;\n\n\t\t\t// Don't adjust max value for marker thickness if marker type draws to bottom of chart\n\t\t\tconst { markerType } = indicator.params;\n\t\t\tconst foundDrawToBottomMarker = this._checkForDrawToBottomMarker(markerType);\n\t\t\tif (foundDrawToBottomMarker) adjustForMarker.min = false;\n\t\t}\n\n\t\t// adjust for ala-carte range values\n\t\tthis.params.yAxis.rangeValues.forEach(val => {\n\t\t\tmin = Math.min(min, val);\n\t\t\tmax = Math.max(max, val);\n\t\t});\n\n\t\t// Make adjustments for Y-axis padding and marker thickness\n\t\t({ min, max } = this._adjustRange(\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tmaxLineWidth,\n\t\t\tadjustForMarker\n\t\t));\n\n\t\treturn { min, max };\n\t}\n\n\t/** inspect panel and indicator params for current padding value. */\n\t_getYAxisPadding() {\n\t\t// panel level\n\t\tlet top = this.params.style.yAxis.padding.top || 0;\n\t\tlet bottom = this.params.style.yAxis.padding.bottom || 0;\n\t\t\n\t\t// Certain indicators can override the value (currently those that contain bands, but not those using a secondary scale)\n\t\tthis.indicators.forEach(indicator => {\n\t\t\t// Don't use padding if indicator is using secondary scale\n\t\t\tif (indicator.scaleUids[1] === this.yAxis.primaryScaleUid) {\n\t\t\t\tif (typeof indicator.params.style.yAxisPaddingTop === 'number') {\n\t\t\t\t\ttop = indicator.params.style.yAxisPaddingTop;\n\t\t\t\t}\n\n\t\t\t\tif (typeof indicator.params.style.yAxisPaddingBottom === 'number') {\n\t\t\t\t\tbottom = indicator.params.style.yAxisPaddingBottom;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn { top, bottom };\n\t}\n\n\t/**\n\t * similar to _getOverallDataRange, this determines the min/max for all custom datasets based on the current slice\n\t * of data about to be rendered.\n\t */\n\t_getCustomDataRange(data) {\n\t\t// min/max calcs\n\t\tlet min = Infinity;\n\t\tlet max = -Infinity;\n\t\tlet rangeMin;\n\t\tlet rangeMax;\n\t\tlet maxLineWidth = 0;\n\n\t\tfor (const [index, el] of this.indicators.entries()) {\n\t\t\t// Skip volume indicator in this calculation\n\t\t\tconst foundLioup = this.isUpper && this._checkForLioup(el.params.id, index);\n\t\t\tif (foundLioup) continue;\n\n\t\t\tif (el.params.style && el.params.style.lineWidth) {\n\t\t\t\tmaxLineWidth = Math.max(\n\t\t\t\t\tmaxLineWidth,\n\t\t\t\t\tel.params.style.lineWidth\n\t\t\t\t);\n\t\t\t}\n\n\t\t\trangeMin = el.getRangeMin(data[el.params.datasetId]);\n\t\t\trangeMax = el.getRangeMax(data[el.params.datasetId]);\n\n\t\t\tmin = Math.min(rangeMin, min);\n\t\t\tmax = Math.max(rangeMax, max);\n\t\t}\n\n\t\t/**\n\t\t * vertical padding (used to carve out room for chart legends, etc)\n\t\t */\n\n\t\t// get number of pixels per price unit\n\t\tconst pxDist = this.size.height / (max - min);\n\n\t\tif (this.params.style.yAxis.padding.top) {\n\t\t\t// adjust max value by the specific price value to create a gap of specified pixel height\n\t\t\tmax += this.params.style.yAxis.padding.top / pxDist;\n\t\t}\n\n\t\tif (this.params.style.yAxis.padding.bottom && min !== 0) {\n\t\t\t// adjust min value by the specific price value to create a gap of specified pixel height\n\t\t\tmin -= this.params.style.yAxis.padding.bottom / pxDist;\n\t\t}\n\n\t\t// adjust max/min for the width of marker lines themselves\n\t\tmax += maxLineWidth / pxDist;\n\t\tmin -= maxLineWidth / pxDist;\n\n\t\treturn { min: min, max: max };\n\t}\n\n\t/** search panel for indicator id (\"sma\", \"bollinger\") */\n\tgetIndicatorsById(id) {\n\t\tconst indicators = [];\n\n\t\tfor (let x = 0; x < this.indicators.length; x++) {\n\t\t\tif (id === this.indicators[x].params.id) {\n\t\t\t\tindicators.push(this.indicators[x]);\n\t\t\t}\n\t\t}\n\n\t\treturn indicators;\n\t}\n\n\t/** Measure the preceding panels' heights to get current top position */\n\tget calculatedTop() {\n\t\tlet top = 0;\n\n\t\tfor (const panel of this.core.panels) {\n\t\t\tconst { size } = panel;\n\n\t\t\t// Add top margin before check because we should always add the top margin\n\t\t\ttop += size.margin.top;\n\n\t\t\t// Stop adding if we reached this panel\n\t\t\tif (panel === this) break;\n\n\t\t\ttop +=\n\t\t\t\tsize.height +\n\t\t\t\t// size.margin.top +\n\t\t\t\tsize.padding.bottom +\n\t\t\t\tsize.padding.top +\n\t\t\t\tpanel.getPanelMarginBottom(); // This shouldn't be necessary here, but using it for consistency\n\t\t}\n\n\t\treturn top;\n\t}\n\n\t/** Returns overall panel height including padding and margin, adjusted for size.heightPct if not manually set. */\n\tget calculatedHeight() {\n\t\t/**\n\t\t * Panel sizing priority:\n\t\t * 1. Panel size params\n\t\t * 2. Panel ratio params\n\t\t * 3. Chart panel size params\n\t\t * 4. Chart panel ratio params\n\t\t */\n\t\tconst { isUpper } = this;\n\t\tlet value = 0;\n\t\tlet doAutosize = false;\n\n\t\tif (this.params.size.height) {\n\t\t\t// Use panel height from params\n\t\t\tvalue = this.params.size.height;\n\t\t} else if (\n\t\t\tthis.core.params.panelHeightUpper && \n\t\t\tisUpper\n\t\t) {\n\t\t\t// Use upper panel height from core.params\n\t\t\tvalue = this.core.params.panelHeightUpper;\n\t\t} else if (\n\t\t\tthis.core.params.panelHeightLower &&\n\t\t\t!isUpper\n\t\t) {\n\t\t\t// Use lower panel height from core.params\n\t\t\tvalue = this.core.params.panelHeightLower;\n\t\t} else if (this.core.params.usePanelComputedHeight) {\n\t\t\tvalue = this.core.size.width;\n\n\t\t\t// Calculate panel height as a ratio of the chart width\n\t\t\tif (this.params.heightToChartWidthRatio) {\n\t\t\t\tvalue *= this.params.heightToChartWidthRatio;\n\t\t\t} else if (\n\t\t\t\tthis.core.params.panelHeightToChartWidthRatioUpper &&\n\t\t\t\tisUpper\n\t\t\t) {\n\t\t\t\t// Use chart param for upper panel ratio\n\t\t\t\tvalue *= this.core.params.panelHeightToChartWidthRatioUpper;\n\t\t\t} else if (\n\t\t\t\tthis.core.params.panelHeightToChartWidthRatioLower &&\n\t\t\t\t!isUpper\n\t\t\t) {\n\t\t\t\t// Use chart param for lower panel ratio\n\t\t\t\tvalue *= this.core.params.panelHeightToChartWidthRatioLower;\n\t\t\t} else {\n\t\t\t\tthis.core.warn('No panel-height-to-chart-width ratio found. Autosizing panel.');\n\t\t\t\tdoAutosize = true;\n\t\t\t}\n\t\t} else {\n\t\t\tdoAutosize = true;\n\t\t}\n\n\t\tif (doAutosize) {\n\t\t\t// auto height calc\n\t\t\tlet nonChartHeight = 0;\n\n\t\t\t// Get total of top padding, bottom padding, and bottom margin\n\t\t\tfor (const panel of this.core.panels) {\n\t\t\t\tconst { size } = panel;\n\t\t\t\tnonChartHeight += \n\t\t\t\t\tsize.padding.bottom +\n\t\t\t\t\tsize.padding.top +\n\t\t\t\t\tpanel.getPanelMarginBottom() +\n\t\t\t\t\tpanel.getPanelMarginTop();\n\t\t\t}\n\n\t\t\tvalue = Math.round(\n\t\t\t\tthis.size.heightPct * (this.core.size.height - nonChartHeight)\n\t\t\t);\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Returns the bottom margin for the parent panel based upon panel order and param flag\n\t * @returns {Number} Value (in pixels) to be used for the panel bottom margin\n\t */\n\tgetPanelMarginBottom() {\n\t\t// Don't use the last panel bottom margin if flag is set\n\t\tconst bottomMargin = \n\t\t\tthis === this.core.panels.slice(-1)[0] &&\n\t\t\tthis.core.params.ignoreLastPanelBottomMargin\n\t\t\t\t? 0\n\t\t\t\t: this.size.margin.bottom;\n\n\t\treturn bottomMargin;\n\t}\n\n\t/**\n\t * Returns the top margin for the parent panel based upon panel order and param flag\n\t * @returns {Number} Value (in pixels) to be used for the panel top margin\n\t */\n\tgetPanelMarginTop() {\n\t\tconst topMargin =\n\t\t\tthis.isUpper ||\t!this.core.params.ignoreLowerPanelTopMargin\n\t\t\t\t? this.size.margin.top\n\t\t\t\t: 0;\n\n\t\treturn topMargin;\n\t}\n\n\t/** Initialize the panel size object */\n\tinitPanelSize() {\n\t\tthis.size = {\n\t\t\theight: 0,\n\t\t\theightPct: this.params.size.heightPct,\n\t\t\theightToChartWidthRatio: this.params.size.heightToChartWidthRatio,\n\t\t\tpadding: { ...this.params.style.padding },\n\t\t\tmargin: { ...this.params.style.margin },\n\t\t\ttop: 0,\n\t\t\twidth:\n\t\t\t\t+this.core.size.width -\n\t\t\t\tthis.params.style.padding.left -\n\t\t\t\tthis.params.style.padding.right\n\t\t};\n\t}\n\n\t/** Resize and reposition panel dom elements. Update panel.size collection. */\n\tresize() {\n\t\tconst { calculatedTop, core } = this;\n\t\tconst rootOverlay = select(this.rootOverlay.node().parentNode);\n\n\t\t// Update size collection\n\t\tthis.size.padding.right = this.params.style.padding.right;\n\t\tthis.size.padding.left = this.params.style.padding.left;\n\t\tthis.size.width = core.size.width - this.size.padding.left - this.size.padding.right;\n\t\tthis.size.height = this.calculatedHeight;\n\t\tthis.size.top = calculatedTop;\n\t\tthis.size.left = this.size.padding.left;\n\n\t\t// Calculate canvas size collection\n\t\tconst canvasSize = {\n\t\t\theight: this.size.height + this.size.padding.bottom + this.size.padding.top,\n\t\t\tleft: 0, // This will always be the edge of the chart\n\t\t\ttop: this.size.top, // This will always be the top of the panel\n\t\t\twidth: core.size.width, // The canvas will always be the width of the chart\n\t\t};\n\n\t\t// Update DOM elements\n\t\tconst ratio = core.getScreenRatio();\n\t\tconst items = [\n\t\t\tthis.rootCanvas,\n\t\t\trootOverlay,\n\t\t\tthis.rootTools\n\t\t];\n\n\t\tthis.rootPanel.style('top', `${canvasSize.top}px`);\n\t\tfor (const el of items) {\n\t\t\tconst canvas = el.node();\n\n\t\t\tif (!canvas) return;\n\n\t\t\tif (ratio !== 1 && el !== rootOverlay) {\n\t\t\t\t// scale canvas by device ratio\n\t\t\t\tcanvas.width = Math.round(canvasSize.width * ratio);\n\t\t\t\tcanvas.height = Math.round(canvasSize.height * ratio);\n\n\t\t\t\tcanvas.style.width = canvasSize.width + 'px';\n\t\t\t\tcanvas.style.height = canvasSize.height + 'px';\n\n\t\t\t\tcanvas.getContext('2d').scale(ratio, ratio);\n\t\t\t} else {\n\t\t\t\tif (canvasSize.height >= 0) {\n\t\t\t\t\tif (el !== rootOverlay) {\n\t\t\t\t\t\tcanvas.width = canvasSize.width;\n\t\t\t\t\t\tcanvas.height = canvasSize.height;\n\t\t\t\t\t}\n\n\t\t\t\t\tcanvas.style.width = canvasSize.width + 'px';\n\t\t\t\t\tcanvas.style.height = canvasSize.height + 'px';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Error container\n\t\tthis.rootError\n\t\t\t.style('width', this.size.width + 'px')\n\t\t\t.style('height', this.size.height + 'px')\n\t\t\t.style('line-height', this.size.height + 'px')\n\t\t\t.style('text-align', 'center');\n\n\t\t// Legend container\n\t\tthis.rootLegend\n\t\t\t.style('width', this.size.width + this.size.padding.left + 'px')\n\t\t\t.style('padding-left', this.size.padding.left + 'px');\n\t}\n\n\t/** return true if panel is using normalized data */\n\tget isNormalized() {\n\t\tconst { isUpper } = this;\n\n\t\tif (this.core.params.dataNormalized && isUpper) return true;\n\n\t\tif (this.core.params.symbolCompare.length && isUpper) return true;\n\n\t\tif (this.getIndicatorsById('sectorindustry').length) return true;\n\n\t\treturn false;\n\t}\n\n\t/** return true if panel is first on chart */\n\tget isUpper() {\n\t\treturn this === this.core.panels[0];\n\t}\n\n\t/**\n\t * Create a clip covering the chart area of the panel. This should be called BEFORE\n\t * drawing on the canvas to properly clip the canvas.\n\t * @param {CanvasRenderingContext2D} ctx - Canvas rendering context on which to create a clip\n\t * @param {Number} clipWidth - Multipler used to increase the clip width. Defaults to 1.\n\t */\n\tclipPanel(ctx, clipWidth = 1) {\n\t\tctx = ctx || this.rootContext;\n\n\t\tconst top = this.size.padding.top;\n\t\tconst left = this.size.padding.left;\n\t\tconst width = this.size.width * clipWidth;\n\t\tconst height = this.size.height;\n\n\t\tctx.beginPath();\n\t\tctx.rect(left, top, width, height);\n\t\tctx.clip();\n\t}\n\n\t/**\n\t * render all axes, indicators and tools for this panel\n\t * clip contents to panel region to remove any overlaps\n\t */\n\trender(data, dateLabels, clipWidth) {\n\t\tif (!data && this.prevData) data = this.prevData;\n\t\tif (!dateLabels && this.prevDateLabels) dateLabels = this.prevDateLabels;\n\n\t\tthis.prevData = data;\n\t\tthis.prevDateLabels = dateLabels;\n\n\t\t// calculate event positions before rendering\n\t\tthis.getEventPositions(data[this.core.params.symbol]);\n\n\t\t// legend\n\t\tthis.revealLegend();\n\n\t\t// render axes\n\t\tthis.renderAxes(dateLabels);\n\n\t\t// prepare main clip\n\t\tthis.rootContext.save();\n\n\t\t// clip region around panel\n\t\tthis.clipPanel(this.rootContext, clipWidth);\n\n\t\t// render indicators\n\t\tthis.renderIndicators(data);\n\n\t\t// render extendedHours marker\n\t\tthis.renderExtendedHours();\n\n\t\t// restore clipped panel\n\t\tthis.rootContext.restore();\n\n\t\t// render event icons outside of clip\n\t\tthis.renderEvents(data);\n\n\t\t// render no-clip indicators outside of clip\n\t\tthis.renderNoClipIndicators(data);\n\n\t\t// render tools\n\t\tthis.renderTools();\n\n\t\t// render borders\n\t\tthis.renderBorders();\n\n\t\t// render indicator flags outside of clip\n\t\tthis.renderFlags();\n\t}\n\n\t/** Render the majority of panel indicators to the primary canvas element (skip no-clip indicators) */\n\trenderIndicators(data) {\n\t\tlet indicatorSymbol = '';\n\t\tlet elType = '';\n\t\tlet ds = {};\n\t\tlet exchangeId = '';\n\t\tconst primarySymbol = this.core.params.symbol;\n\t\tconst isCustom = this.indicators[0].params.id === 'custom';\n\t\t\n\t\tthis.sessionClips = {};\n\n\t\tfor (const indicator of this.indicators) {\n\t\t\t// Skip non-visible and no-clip indicators\n\t\t\tif (!indicator.params.visible || indicator.params.noClip) continue;\n\n\t\t\t// Custom indicators using custom datasets\n\t\t\tif (\n\t\t\t\tindicator.params.id === 'custom' &&\n\t\t\t\tdata[indicator.params.datasetId]\n\t\t\t) {\n\t\t\t\tindicator.render(data[indicator.params.datasetId]);\n\t\t\t\n\t\t\t} else if (indicator.params.id === 'bestworst') {\n\n\t\t\t\tif (isCustom){\n\t\t\t\t\tds['price'] = data[this.indicators[0].params.datasetId].map(row => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tdate: row.date,\n\t\t\t\t\t\t\tclose: row.value\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t} else if (data[primarySymbol] && data[primarySymbol].price) {\n\t\t\t\t\tds['price'] = this.core.getFirstDataset(\n\t\t\t\t\t\tdata[primarySymbol].price\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tindicator.render(ds);\n\t\t\t}\n\n\t\t\tindicatorSymbol = indicator.params.symbol || primarySymbol;\n\n\t\t\t// API-based indicators (data.MSFT.price, data.MSFT.sma, ...)\n\t\t\tfor (elType in data[indicatorSymbol]) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(data[indicatorSymbol], elType)) {\n\t\t\t\t\t// data.MSFT.price.\n\t\t\t\t\tif (data[indicatorSymbol][elType][indicator.params.uid]) {\n\t\t\t\t\t\t// construct the dataset passed to this indicator's render method\n\t\t\t\t\t\tds = {};\n\t\t\t\t\t\tds[elType] =\n\t\t\t\t\t\t\tdata[indicatorSymbol][elType][indicator.params.uid];\n\n\t\t\t\t\t\t// special case: the \"posneg\" price indicator needs an additional previousclose datapoint in order to render\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdata[indicatorSymbol].previousclose &&\n\t\t\t\t\t\t\telType === 'price' &&\n\t\t\t\t\t\t\tindicator.params.markerType === 'posneg'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tds['previousclose'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\t\tdata[indicatorSymbol].previousclose\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// special case: the \"volume\" indicator will need the price dataset when in \"posneg\" mode.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdata[indicatorSymbol].price &&\n\t\t\t\t\t\t\telType === 'volume' &&\n\t\t\t\t\t\t\tindicator.params.markerType === 'posneg'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tds['price'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\t\tdata[indicatorSymbol].price\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// if intraday we need to clip to individual exchange sessions\n\t\t\t\t\t\tif (this.core.state.isIntraday) {\n\n\t\t\t\t\t\t\tif (this.core.xref[indicatorSymbol]) {\n\t\t\t\t\t\t\t\texchangeId = this.core.xref[indicatorSymbol].exchangeId;\n\n\t\t\t\t\t\t\t\t// clip rectangular regions around intraday sessions\n\t\t\t\t\t\t\t\tif (this.core.params.clipSessions) {\n\t\t\t\t\t\t\t\t\t// normal session\n\t\t\t\t\t\t\t\t\tthis.renderSession(\n\t\t\t\t\t\t\t\t\t\tds,\n\t\t\t\t\t\t\t\t\t\texchangeId,\n\t\t\t\t\t\t\t\t\t\tindicator,\n\t\t\t\t\t\t\t\t\t\t'NormalSession'\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t// extended sessions\n\t\t\t\t\t\t\t\t\tif (this.core.params.extendedHours) {\n\t\t\t\t\t\t\t\t\t\tthis.renderSession(\n\t\t\t\t\t\t\t\t\t\t\tds,\n\t\t\t\t\t\t\t\t\t\t\texchangeId,\n\t\t\t\t\t\t\t\t\t\t\tindicator,\n\t\t\t\t\t\t\t\t\t\t\t'PreMarketTrading'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tthis.renderSession(\n\t\t\t\t\t\t\t\t\t\t\tds,\n\t\t\t\t\t\t\t\t\t\t\texchangeId,\n\t\t\t\t\t\t\t\t\t\t\tindicator,\n\t\t\t\t\t\t\t\t\t\t\t'PostMarketTrading'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// lunch break\n\t\t\t\t\t\t\t\t\tif (elType === 'price') {\n\t\t\t\t\t\t\t\t\t\tthis.renderSession(\n\t\t\t\t\t\t\t\t\t\t\tds,\n\t\t\t\t\t\t\t\t\t\t\texchangeId,\n\t\t\t\t\t\t\t\t\t\t\tindicator,\n\t\t\t\t\t\t\t\t\t\t\t'SessionBreak'\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} else {\n\t\t\t\t\t\t\t\t\t// don't clip sessions\n\t\t\t\t\t\t\t\t\tindicator.render(ds);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//this.core.warn(\"Intraday clip: Could not find issue for \" + indicatorSymbol);\n\t\t\t\t\t\t\t\tindicator.render(ds);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// not intraday; render everything\n\t\t\t\t\t\t\tindicator.render(ds);\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 * render a single intraday indicator clipped to its exchange sessions. this eliminates any line segments between sessions.\n\t */\n\trenderSession(ds, exchangeId, indicator, sessionType) {\n\t\tthis.rootContext.save();\n\n\t\tif (!this.sessionClips[exchangeId]) {\n\t\t\tthis.sessionClips[exchangeId] = {};\n\t\t}\n\n\t\tif (!this.sessionClips[exchangeId][sessionType]) {\n\t\t\tthis.sessionClips[exchangeId][sessionType] = this.getSessionClips(\n\t\t\t\texchangeId,\n\t\t\t\tsessionType\n\t\t\t);\n\t\t}\n\n\t\tthis.clipIntradaySessions(this.sessionClips[exchangeId][sessionType]);\n\n\t\tindicator.render(ds, sessionType);\n\n\t\tthis.rootContext.restore();\n\t}\n\n\t/** Render event icons outside of clip */\n\trenderEvents(data) {\n\t\tfor (const event of this.events) {\n\t\t\tif (event.params.visible) event.render(data[this.core.params.symbol] || {});\n\t\t}\n\t}\n\n\t/** Render intraday extended hours vertical bands */\n\trenderExtendedHours() {\n\t\tif (!this.core.state.isIntraday) return;\n\n\t\tif (!this.extendedHoursMarker) {\n\t\t\tthis.extendedHoursMarker = new ExtendedHoursMarker({}, this);\n\t\t}\n\n\t\tconst primaryExchange = this.core.xref[this.core.params.symbol]\n\t\t\t? this.core.xref[this.core.params.symbol].exchangeId\n\t\t\t: null;\n\n\t\tif (this.sessionClips[primaryExchange]) {\n\t\t\tthis.extendedHoursMarker.render(this.sessionClips[primaryExchange]);\n\t\t}\n\t}\n\n\t/** Calculate the coords property for all event icons */\n\tgetEventPositions(data) {\n\t\tfor (let i = 0; i < this.events.length; i++) {\n\t\t\tthis.events[i].coords = null;\n\t\t}\n\n\t\tfor (let i = 0; i < this.events.length; i++) {\n\t\t\tif (this.events[i].params.id === 'custom') {\n\t\t\t\tthis.events[i].coords = this.events[i].getPositions(\n\t\t\t\t\t{\n\t\t\t\t\t\tcustom: [this.events[i].params.dataset],\n\t\t\t\t\t\tprice: data.price\n\t\t\t\t\t},\n\t\t\t\t\t'custom'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.events[i].coords = this.events[i].getPositions(\n\t\t\t\t\tdata,\n\t\t\t\t\tthis.events[i].params.id\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Render special indicators that aren't clipped to their intraday sessions (eg highlow, volumebyprice, etc) */\n\trenderNoClipIndicators(data) {\n\t\tlet indicatorSymbol = '';\n\t\tlet indicator = {};\n\t\tlet elType = '';\n\t\tlet ds = {};\n\t\tconst primarySymbol = this.core.params.symbol;\n\n\t\tfor (let i = 0; i < this.indicators.length; i++) {\n\t\t\tindicator = this.indicators[i];\n\n\t\t\t// Only draw visble, no-clip indicators\n\t\t\tif (!indicator.params.visible || !indicator.params.noClip) continue;\n\n\t\t\tindicatorSymbol = indicator.params.symbol || primarySymbol;\n\t\t\tds = {};\n\n\t\t\t// Non-API driven indicators\n\t\t\tswitch (indicator.params.id) {\n\t\t\t\tcase 'highlow':\n\t\t\t\t\t// the highlow indicator uses the price dataset\n\t\t\t\t\tif (data[primarySymbol] && data[primarySymbol].price) {\n\t\t\t\t\t\tds['price'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[primarySymbol].price\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// special case: the \"highlow\" indicator can use the previousclose dataset to avoid collisions.\n\t\t\t\t\tif (data[primarySymbol].previousclose) {\n\t\t\t\t\t\tds['previousclose'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[primarySymbol].previousclose\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tindicator.render(ds);\n\n\t\t\t\t\tcontinue;\n\t\t\t\tcase 'horizontalannotation':\n\t\t\t\t\tindicator.render();\n\n\t\t\t\t\tcontinue;\n\t\t\t\tcase 'linearregression':\n\t\t\t\t\t// The \"linearregression\" indicator uses the price dataset\n\t\t\t\t\tif (indicator.params.parentUid || indicator.params.parentUID) {\n\t\t\t\t\t\tconst parentIndicator = this.core.getIndicatorByUid(\n\t\t\t\t\t\t\tindicator.params.parentUid || indicator.params.parentUID\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst symbol = parentIndicator.params.symbol || indicatorSymbol;\n\t\t\t\t\t\tds['linearregression'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[symbol][parentIndicator.params.id]\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (data[primarySymbol] && data[primarySymbol].price) {\n\t\t\t\t\t\tds['linearregression'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[primarySymbol].price\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tindicator.render(ds);\n\n\t\t\t\t\tcontinue;\n\t\t\t\tcase 'volumebyprice':\n\t\t\t\t\t// the volumebyprice indicator uses the price dataset and volume dataset\n\t\t\t\t\tif (data[primarySymbol] && data[primarySymbol].price) {\n\t\t\t\t\t\tds['price'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[primarySymbol].price\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data[primarySymbol] && data[primarySymbol].volume) {\n\t\t\t\t\t\tds['volume'] = this.core.getFirstDataset(\n\t\t\t\t\t\t\tdata[primarySymbol].volume\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tindicator.render(ds);\n\n\t\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// API-based indicators (data.MSFT.price, data.MSFT.sma, ...)\n\t\t\tfor (elType in data[indicatorSymbol]) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(data[indicatorSymbol], elType)) {\n\t\t\t\t\t// data.MSFT.price.\n\t\t\t\t\tif (data[indicatorSymbol][elType][indicator.params.uid]) {\n\t\t\t\t\t\t// construct the dataset passed to this indicator's render method\n\t\t\t\t\t\tds = {};\n\t\t\t\t\t\tds[elType] =\n\t\t\t\t\t\t\tdata[indicatorSymbol][elType][indicator.params.uid];\n\n\t\t\t\t\t\tindicator.render(ds);\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 * return an array of rectangles representing clip regions for each exchange session.\n\t * also draw holiday labels as needed\n\t */\n\tgetSessionClips(exchangeId, sessionType) {\n\t\tconst clips = [];\n\t\tconst dates = this.core.exchangeDates;\n\t\tconst dateStart = new Date(dates[0]);\n\t\tconst dateStop = new Date(dates[dates.length - 1]);\n\t\tconst padding = this.size.padding;\n\t\tconst scale = this.xAxis.primaryScale;\n\t\tconst typicalSessions = this.core.timeService.typicalSessions;\n\t\tconst labelHeight = 10;\n\t\tconst alternateSessions = this.core.timeService.alternateSessions;\n\t\t\n\t\tlet sessions = [];\n\t\tlet session = {};\n\t\tlet left = 0;\n\t\tlet right = 0;\n\t\tlet mid = 0;\n\t\tlet s = 0;\n\t\tlet labelWidth = 0;\n\t\tlet ctx = {};\n\t\tlet dateLeft = new Date();\n\t\tlet dateRight = new Date();\n\t\tlet exchangeClosure = null;\n\t\tlet regionWidthAdjustment = null;\n\n\t\t// default sessiontype\n\t\tif (!sessionType) {\n\t\t\tsessionType = 'NormalSession';\n\t\t}\n\n\t\t// ensure candlesticks don't get cut in half when a normal session is followed by SessionBreak or AlternateSession (CW-880)\n\t\tif (\n\t\t\tsessionType === 'NormalSession' &&\n\t\t\tObject.keys(this.core.xAxisDomainAdjustmentCategories).length &&\n\t\t\tthis.core.panels[0].indicators[0].markers['candlestick']\n\t\t) {\n\t\t\t// extend clip region by this amount (half of one bar)\n\t\t\tregionWidthAdjustment =\n\t\t\t\tMath.ceil(\n\t\t\t\t\tthis.core.panels[0].indicators[0].markers[\n\t\t\t\t\t\t'candlestick'\n\t\t\t\t\t].getBarWidth(this.core.panels[0]) / 2\n\t\t\t\t) + 1;\n\t\t}\n\n\t\t// start at midnight\n\t\tdateStart.setHours(0);\n\t\tdateStart.setMinutes(0);\n\t\tdateStart.setSeconds(0);\n\t\tdateStart.setMilliseconds(0);\n\n\t\twhile (dateStart < dateStop) {\n\t\t\t// grab this day's sessions\n\t\t\tsessions = typicalSessions[dateStart.getDay()].sessions;\n\n\t\t\t// replace with alternatesessions if applicable (NXC-576)\n\t\t\tObject.keys(alternateSessions).forEach(key => {\n\t\t\t\tif (new Date(key) - dateStart === 0) {\n\t\t\t\t\t// this day's date matches alternatesessions date\n\n\t\t\t\t\t// grab this day's alternate sessions for this exchange\n\t\t\t\t\tconst altSessions = alternateSessions[key].filter(function (\n\t\t\t\t\t\trow\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn row['exchangeId'] === exchangeId;\n\t\t\t\t\t});\n\n\t\t\t\t\t// replace this day's sessions with alternate sessions\n\t\t\t\t\tif (altSessions.length > 0) {\n\t\t\t\t\t\tsessions = altSessions;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// exchange closed on this day?\n\t\t\texchangeClosure = this.getExchangeClosure(dateStart, exchangeId);\n\n\t\t\tif (!exchangeClosure) {\n\t\t\t\tfor (s = 0; s < sessions.length; s++) {\n\t\t\t\t\tsession = sessions[s];\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tsession.exchangeId === exchangeId &&\n\t\t\t\t\t\t(!session.sessionType ||\n\t\t\t\t\t\t\tsession.sessionType === sessionType)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// left edge of current session\n\t\t\t\t\t\tdateLeft = new Date(\n\t\t\t\t\t\t\tdateStart.getFullYear(),\n\t\t\t\t\t\t\tdateStart.getMonth(),\n\t\t\t\t\t\t\tdateStart.getDate(),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tsession.open\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// right edge of current session\n\t\t\t\t\t\tdateRight = new Date(\n\t\t\t\t\t\t\tdateStart.getFullYear(),\n\t\t\t\t\t\t\tdateStart.getMonth(),\n\t\t\t\t\t\t\tdateStart.getDate(),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tsession.close\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tleft = scale(this.core.closestExchangeIndex(dateLeft));\n\t\t\t\t\t\tright = scale(\n\t\t\t\t\t\t\tthis.core.closestExchangeIndex(dateRight)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// extend the region by half a bar width\n\t\t\t\t\t\tif (typeof regionWidthAdjustment === 'number') {\n\t\t\t\t\t\t\tright += regionWidthAdjustment;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tclips.push({\n\t\t\t\t\t\t\tleft: left,\n\t\t\t\t\t\t\ttop: padding.top,\n\t\t\t\t\t\t\twidth: Math.ceil(right - left),\n\t\t\t\t\t\t\theight: this.size.height + padding.top,\n\t\t\t\t\t\t\tdebugColor: 'rgba(255, 0, 50, 0.1)',\n\t\t\t\t\t\t\texchangeId: session.exchangeId\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\t// draw holiday closure labels\n\t\t\tif (\n\t\t\t\texchangeClosure &&\n\t\t\t\tthis.core.params.showClosureLabels &&\n\t\t\t\tthis.isUpper &&\n\t\t\t\tthis.core.params.symbolCompare.length\n\t\t\t) {\n\t\t\t\tconst typicalSession = this.core.timeService.typicalSessions[\n\t\t\t\t\tdateStart.getDay()\n\t\t\t\t];\n\n\t\t\t\tif (typicalSession.rulerSessions[exchangeId]) {\n\t\t\t\t\tconst rulerSession = typicalSession.rulerSessions[exchangeId];\n\n\t\t\t\t\t// left edge\n\t\t\t\t\tdateLeft = new Date(\n\t\t\t\t\t\tdateStart.getFullYear(),\n\t\t\t\t\t\tdateStart.getMonth(),\n\t\t\t\t\t\tdateStart.getDate(),\n\t\t\t\t\t\t0,\n\t\t\t\t\t\trulerSession.open\n\t\t\t\t\t);\n\n\t\t\t\t\t// right edge\n\t\t\t\t\tdateRight = new Date(\n\t\t\t\t\t\tdateStart.getFullYear(),\n\t\t\t\t\t\tdateStart.getMonth(),\n\t\t\t\t\t\tdateStart.getDate(),\n\t\t\t\t\t\t0,\n\t\t\t\t\t\trulerSession.close\n\t\t\t\t\t);\n\n\t\t\t\t\tctx = this.rootContext;\n\n\t\t\t\t\tlabelWidth = ctx.measureText(exchangeClosure.name).width;\n\n\t\t\t\t\tleft = scale(this.core.closestExchangeIndex(dateLeft));\n\t\t\t\t\tright = scale(this.core.closestExchangeIndex(dateRight));\n\t\t\t\t\tmid = left + (right - left) / 2 - labelHeight / 2;\n\n\t\t\t\t\t// draw label if it fits\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.size.height > labelWidth &&\n\t\t\t\t\t\tright - left > labelHeight\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.save();\n\n\t\t\t\t\t\tctx.translate(\n\t\t\t\t\t\t\tsubpixel.px(mid),\n\t\t\t\t\t\t\tthis.size.height / 2 + labelWidth / 2\n\t\t\t\t\t\t);\n\t\t\t\t\t\tctx.rotate(-Math.PI / 2);\n\t\t\t\t\t\tctx.fillStyle = this.params.style.label.closure.color || '#777';\n\t\t\t\t\t\tctx.fillText(exchangeClosure.name, 0, 0);\n\t\t\t\t\t\t\n\t\t\t\t\t\tctx.restore();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// increment by 1 day\n\t\t\tdateStart.setDate(dateStart.getDate() + 1);\n\t\t}\n\n\t\treturn clips;\n\t}\n\n\t/** Perform the canvas clip using generated clip regions */\n\tclipIntradaySessions(sessionClips) {\n\t\tconst ctx = this.rootContext;\n\t\tlet clip = {};\n\n\t\t// create one big clip region with several rectangles, one per session\n\t\tctx.beginPath();\n\n\t\tfor (let r = 0; r < sessionClips.length; r++) {\n\t\t\tclip = sessionClips[r];\n\n\t\t\tif (clip.left + clip.width > 0) {\n\t\t\t\tctx.moveTo(clip.left, clip.top); //nw\n\t\t\t\tctx.lineTo(clip.left, clip.height); //sw\n\t\t\t\tctx.lineTo(clip.left + clip.width, clip.height); //se\n\t\t\t\tctx.lineTo(clip.left + clip.width, clip.top); //ne\n\t\t\t}\n\t\t}\n\n\t\tctx.clip();\n\t\tctx.closePath();\n\t}\n\n\t/**\n\t * return true if there is a closure for this exchange and date\n\t */\n\tgetExchangeClosure(date, exchangeId) {\n\t\tconst closures = this.core.timeService.fullClosures;\n\n\t\tfor (let x = 0, xLen = closures.length; x < xLen; x++) {\n\t\t\tif (date - closures[x].date === 0) {\n\t\t\t\tfor (\n\t\t\t\t\tlet i = 0, iLen = closures[x].exchangeIds.length;\n\t\t\t\t\ti < iLen;\n\t\t\t\t\ti++\n\t\t\t\t) {\n\t\t\t\t\tif (closures[x].exchangeIds[i] === exchangeId) {\n\t\t\t\t\t\treturn closures[x];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * render tools clipped to chart boundaries\n\t */\n\trenderTools() {\n\t\t// renderLowers\n\t\t// see if we have any upper tools that have a renderLower method (aka, OHLCCrosshair, returnsCalculator)\n\t\tconst renderLowers = this.core.panels[0].tools.filter(tool => typeof tool.renderLower !== 'undefined');\n\n\t\trenderLowers.forEach(tool => {\n\t\t\tthis.core.panels.forEach(panel => {\n\t\t\t\tif (!panel.isUpper) {\n\t\t\t\t\tpanel.clearTools();\n\t\t\t\t\tpanel.rootToolContext.save();\n\t\t\t\t\tpanel.clipPanel(panel.rootToolContext);\n\t\t\t\t\ttool.renderLower(panel);\n\t\t\t\t\tpanel.rootToolContext.restore();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// clip the panel so that no marker can overlap edges\n\t\tthis.rootToolContext.save();\n\t\tthis.clipPanel(this.rootToolContext);\n\n\t\tthis.tools.forEach(tool => {\n\t\t\tif (tool.state.visible) tool.render();\n\t\t});\n\n\t\tthis.rootToolContext.restore();\n\t}\n\n\t/**\n\t * render indicator and tool flags\n\t * hide flags if showFlags mode is false\n\t */\n\trenderFlags() {\n\t\tconst core = this.core;\n\t\tconst flags = [];\n\t\tlet ind = {};\n\t\tlet tools = {};\n\n\t\t// render flags in their default positions (may have overlaps)\n\t\tfor (let i = 0; i < this.indicators.length; i++) {\n\t\t\tind = this.indicators[i];\n\n\t\t\tObject.keys(ind.flags).forEach(key => {\n\t\t\t\tconst flag = ind.flags[key];\n\t\t\t\tif (core.params.showFlags) {\n\t\t\t\t\tconst position = flag.render();\n\n\t\t\t\t\tif (position && position.y) {\n\t\t\t\t\t\tposition.flag = flag;\n\t\t\t\t\t\tflags.push(position);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tflag.hide();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// optional adjustment for label collisions\n\t\tif (core.params.flagOverlap === false && flags.length > 0) {\n\t\t\tthis.preventFlagOverlap(flags);\n\t\t}\n\n\t\t// render any flags associated with tools\n\t\tfor (let i = 0; i < this.tools.length; i++) {\n\t\t\ttools = this.tools[i];\n\n\t\t\tObject.keys(tools.flags).forEach(key => {\n\t\t\t\tconst flag = tools.flags[key];\n\t\t\t\tif (core.params.showFlags) {\n\t\t\t\t\tflag.render();\n\t\t\t\t} else {\n\t\t\t\t\tflag.hide();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * @method preventFlagOverlap\n\t * adjust the y position of each non-primary flag to ensure no overlaps.\n\t */\n\tpreventFlagOverlap(flags) {\n\t\t// sort by y position\n\t\tflags.sort(function (a, b) {\n\t\t\treturn a.y > b.y ? 1 : b.y > a.y ? -1 : 0;\n\t\t});\n\n\t\tconst core = this.core;\n\t\tconst panel = this;\n\t\tconst height = 14;\n\t\tconst halfHeight = height / 2;\n\t\tlet row = 0;\n\t\tlet lastY = 0;\n\t\tconst primaryIndex = (function () {\n\t\t\t// determine which index represents the primary indicator's flag\n\t\t\tfor (let idx = 0; idx < flags.length; idx++) {\n\t\t\t\tif (\n\t\t\t\t\tflags[idx].flag.indicator.params.symbol ===\n\t\t\t\t\tcore.params.symbol\n\t\t\t\t) {\n\t\t\t\t\treturn idx;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t})();\n\n\t\t// adjust all positions that fall after primary flag\n\t\tfor (let x = primaryIndex; x < flags.length; x++) {\n\t\t\trow = flags[x];\n\n\t\t\t// bump down if overlapping previous flag\n\t\t\tif (row.y < lastY + height) {\n\t\t\t\trow.y = lastY + height;\n\t\t\t}\n\n\t\t\tlastY = row.y;\n\t\t}\n\n\t\tlastY = flags[primaryIndex].y;\n\n\t\t// adjust positions that fall before primary flag\n\t\tfor (let x = primaryIndex - 1; x >= 0; x--) {\n\t\t\trow = flags[x];\n\n\t\t\t// bump up if overlapping previous flag\n\t\t\tif (row.y > lastY - height) {\n\t\t\t\trow.y = lastY - height;\n\t\t\t}\n\n\t\t\tlastY = row.y;\n\t\t}\n\n\t\t// reposition svg\n\t\tflags.forEach(function (row) {\n\t\t\t// hide if near top/bottom edges of panel\n\t\t\tif (\n\t\t\t\trow.y + halfHeight > row.bottom ||\n\t\t\t\trow.y - halfHeight < row.top\n\t\t\t) {\n\t\t\t\trow.flag.hide();\n\t\t\t} else {\n\t\t\t\t// reposition flag svg\n\t\t\t\trow.flag.updateFlagBody(panel, row.x, row.y);\n\t\t\t\trow.flag.updateFlagLabel(panel, row.val, row.x, row.y);\n\t\t\t}\n\t\t});\n\t}\n\n\t/** Clear out the current context and tools */\n\tclearPanel() {\n\t\tconst { style } = this.params;\n\t\tconst { rootContext: ctx } = this;\n\t\tconst { height, padding, width } = this.size;\n\t\tconst fullWidth = width + padding.left + padding.right;\n\t\tconst fullHeight = height + padding.top + padding.bottom;\n\n\t\t// empty canvas contents\n\t\tctx.clearRect(0, 0, fullWidth, fullHeight);\n\n\t\t// fill grid area rect\n\t\tif (style.grid.background.color) {\n\t\t\tctx.fillStyle = style.grid.background.color;\n\t\t\tctx.fillRect(padding.left, padding.top, width, height);\n\t\t}\n\n\t\t// fill yaxis rect\n\t\tif (style.yAxis.color.background) {\n\t\t\tctx.fillStyle = style.yAxis.color.background;\n\t\t\tctx.fillRect(\n\t\t\t\tpadding.left + width,\n\t\t\t\tpadding.top,\n\t\t\t\tpadding.right,\n\t\t\t\theight\n\t\t\t);\n\t\t}\n\n\t\t// fill xaxis rect\n\t\tif (style.xAxis.color.background) {\n\t\t\tctx.fillStyle = style.xAxis.color.background;\n\t\t\tctx.fillRect(\n\t\t\t\tpadding.left,\n\t\t\t\tpadding.top + height,\n\t\t\t\tfullWidth,\n\t\t\t\tpadding.bottom\n\t\t\t);\n\t\t}\n\n\t\t// clear tools canvas\n\t\tthis.clearTools();\n\n\t\t// clear legends\n\t\tthis.concealLegend();\n\n\t\t// clear flags\n\t\tthis.clearFlags();\n\t}\n\n\t/** Hide all panel and indicator flags */\n\tclearFlags() {\n\t\t// remove panel flags\n\t\tObject.keys(this.flags).forEach(key => {\n\t\t\tconst flag = this.flags[key];\n\t\t\tflag.hide();\n\t\t});\n\n\t\t// remove indicator flags\n\t\tObject.keys(this.indicators).forEach(key => {\n\t\t\tconst indicator = this.indicators[key];\n\t\t\tObject.keys(indicator.flags).forEach(key => {\n\t\t\t\tconst flag = indicator.flags[key];\n\t\t\t\tflag.hide();\n\t\t\t});\n\t\t});\n\n\t\t// remove tool flags\n\t\tObject.keys(this.tools).forEach(key => {\n\t\t\tconst tool = this.tools[key];\n\t\t\tObject.keys(tool.flags).forEach(key => {\n\t\t\t\tconst flag = tool.flags[key];\n\t\t\t\tflag.hide();\n\t\t\t});\n\t\t});\n\t}\n\n\t/** Clears the tool canvas for this panel */\n\tclearTools() {\n\t\tconst canvasWidth =\n\t\t\t\tthis.size.width +\n\t\t\t\tthis.size.padding.left +\n\t\t\t\tthis.size.padding.right;\n\t\tconst canvasHeight =\n\t\t\t\tthis.size.height +\n\t\t\t\tthis.size.padding.top +\n\t\t\t\tthis.size.padding.bottom;\n\n\t\tthis.rootToolContext.clearRect(0, 0, canvasWidth, canvasHeight);\n\t}\n\n\t/**\n\t * Internal method for setting up axes for chart render\n\t * @param {number} panelOrder - 0 based order of panel on chart (0 is primary panel)\n\t */\n\tconfigureAxes(panelOrder) {\n\t\tlet domain;\n\t\tconst customData = this.core.params.customData;\n\t\tconst data = customData\n\t\t\t? this.core._getCustomFrameData()\n\t\t\t: this.core._getFrameData();\n\n\t\tif (\n\t\t\tthis.params.yAxis.range &&\n\t\t\tthis.params.yAxis.range.length === 2\n\t\t) {\n\t\t\t// user-specified yaxis domain\n\t\t\tdomain = {\n\t\t\t\tmin: this.params.yAxis.range[0],\n\t\t\t\tmax: this.params.yAxis.range[1]\n\t\t\t};\n\t\t} else {\n\t\t\t// get min/max values for every indicator in filtered set\n\t\t\tdomain = customData\n\t\t\t\t? this._getCustomDataRange(data)\n\t\t\t\t: this._getOverallDataRange(data);\n\t\t}\n\n\t\tconst start = this.size.padding.left;\n\t\tconst stop = start + this.size.width;\n\n\t\t// Update scale range\n\t\tthis.xAxis.setScaleRange({ start, stop });\n\n\t\t// Update range for present xAxis scale (for calculating zoom transform updates)\n\t\tif (panelOrder === 0) this.core.state.xAxisPresentScale.range([start, stop]);\n\n\t\tif (this.core.zoom) {\t\t\t\n\t\t\t// Use the panel width here because rootmouse covers the entire panel\n\t\t\tconst { height, padding, width } = this.size;\n\n\t\t\t// Set transform extent to only exclude the grid area (not the yAxis area)\n\t\t\tthis.core.zoom.extent([[padding.left, padding.top], [width, height]]);\n\t\t}\n\n\t\t// Only apply .nice() if domain doesn't intersect 0\n\t\tlet shouldSetNice = false;\n\n\t\t// Assume no draw to bottom markers in use\n\t\tlet foundDrawToBottomMarker = false;\n\n\t\tconst range = {\n\t\t\tmin: this.size.padding.top,\n\t\t\tmax: this.size.padding.top + this.size.height\n\t\t};\n\n\t\t// Set domain for primary Y-axis scale\n\t\tthis.yAxis.setScaleDomain({\n\t\t\tshouldSetNice,\n\t\t\tstart: domain.max,\n\t\t\tstop: domain.min\n\t\t});\t\t\n\n\t\tfor (const [index, i] of this.indicators.entries()) {\n\t\t\tconst { markerType } = i.params;\n\t\t\tconst foundLioup = this.isUpper && this._checkForLioup(i.params.id, index);\n\n\t\t\tif (!foundLioup) {\n\t\t\t\t// Check if indicator has marker that draws to bottom\n\t\t\t\tfoundDrawToBottomMarker =\n\t\t\t\tfoundDrawToBottomMarker ||\n\t\t\t\tthis._checkForDrawToBottomMarker(markerType);\n\t\t\t} else {\n\t\t\t\t// Set domain/range for secondary Y-axis scales\n\t\t\t\tconst secondaryDomain = this._getDataRange(\n\t\t\t\t\ti,\n\t\t\t\t\t// Should we get the symbol in a different way?\n\t\t\t\t\tdata[this.core.params.symbol]\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * This section will add in Y-axis padding if specified.\n\t\t\t\t * Do we need to do this in this case? The panel height %\n\t\t\t\t * can handle this adjustment.\n\t\t\t\t */\n\t\t\t\t// const maxLineWidth = this._updateMaxLineWidth(1, i);\n\t\t\t\t// const adjustForMarker = { max: true, min: true };\n\n\t\t\t\t// // Don't adjust max value for marker thickness if marker type draws to bottom of chart\n\t\t\t\t// const { markerType } = i.params;\n\t\t\t\t// const foundDrawToBottomMarker = this._checkForDrawToBottomMarker(markerType);\n\t\t\t\t// if (foundDrawToBottomMarker) adjustForMarker.min = false;\n\n\t\t\t\t// // Make adjustments for Y-axis padding and marker thickness\n\t\t\t\t// secondaryDomain = this._adjustRange(\n\t\t\t\t// \tsecondaryDomain.min,\n\t\t\t\t// \tsecondaryDomain.max,\n\t\t\t\t// \tmaxLineWidth,\n\t\t\t\t// \tadjustForMarker\n\t\t\t\t// );\n\n\t\t\t\t// Get % of panel height for LIOUP height (default to full panel height)\n\t\t\t\tlet { panelHeightRatio = 1 } = i.params.style;\n\t\t\t\tif (\n\t\t\t\t\tpanelHeightRatio > 1 ||\n\t\t\t\t\tpanelHeightRatio <= 0\n\t\t\t\t) {\n\t\t\t\t\tconsole.warn(`Indicator-to-panel-height ratio for indicator '${i.params.id}' is out of range. Using fallback.`);\n\t\t\t\t\tpanelHeightRatio = 1;\n\t\t\t\t}\n\n\t\t\t\tthis.yAxis.setScaleDomain({\n\t\t\t\t\tscaleUid: i.scaleUids[1], // Get Y-axis scale UID\n\t\t\t\t\tstart: secondaryDomain.max / panelHeightRatio,\n\t\t\t\t\tstop: secondaryDomain.min\n\t\t\t\t});\n\n\t\t\t\tthis.yAxis.setScaleRange({\n\t\t\t\t\tstart: range.min,\n\t\t\t\t\tstop: range.max,\n\t\t\t\t\tscaleUid: i.scaleUids[1] // Get Y-axis scale UID\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (domain.max !== 0 &&\tdomain.min !== 0) {\n\t\t\t// On log scales, altering the scale's range here is the fastest way to enforce yaxis padding.\n\t\t\t// (linear scales will be done by expanding the actual domain within _getOverallDataRange)\n\t\t\tif (panelOrder === 0 && this.core.params.yAxisScale === 'log') {\n\t\t\t\t// Only add bottom padding if marker doesn't draw to bottom of chart\n\t\t\t\tif (!foundDrawToBottomMarker) range.max -= this.params.style.yAxis.padding.bottom;\n\t\t\t\trange.min += this.params.style.yAxis.padding.top;\n\t\t\t}\n\t\t\tshouldSetNice = true;\n\t\t}\n\n\t\t// Set range for primary Y-axis scale\n\t\tthis.yAxis.setScaleRange({\n\t\t\tstart: range.min,\n\t\t\tstop: range.max\n\t\t});\n\t}\n\n\t/**\n\t * Renders all axes within the panel\n\t * @param {array} dateLabels\n\t */\n\trenderAxes(dateLabels = {}) {\n\t\tthis.yAxis.render(); // Horizontal grid lines will be rendered in this method\n\t\tthis.grid.renderVerticalGrid(dateLabels);\n\t\tthis.xAxis.render(dateLabels);\n\t}\n\n\t/** Render an overall panel border and/or selected edges */\n\trenderBorders() {\n\t\tconst ctx = this.rootContext;\n\t\tconst fullBorderOffset = 1;\n\t\tconst { size } = this;\n\t\tconst { padding } = size;\n\t\tconst { style } = this.params;\n\t\tconst width =\n\t\t\tsize.width - \n\t\t\t(style.border.padding.left || style.border.padding.default) -\n\t\t\t(style.border.padding.right || style.border.padding.default) - 1;\n\t\tconst height =\n\t\t\tsize.height -\n\t\t\tfullBorderOffset -\n\t\t\t(style.border.padding.top || style.border.padding.default) -\n\t\t\t(style.border.padding.bottom || style.border.padding.default);\n\t\tconst left =\n\t\t\tpadding.left +\n\t\t\t(style.border.padding.left || style.border.padding.default);\n\t\tconst top =\n\t\t\tpadding.top +\n\t\t\t(style.border.padding.top || style.border.padding.default);\n\t\tlet color; let lineDash; let lineWidth;\n\n\t\t// render full border rectangle\n\t\tif (style.border.color.default) {\n\t\t\tctx.save();\n\t\t\tctx.beginPath();\n\n\t\t\tctx.lineWidth = style.border.lineWidth.default;\n\t\t\tctx.strokeStyle = style.border.color.default;\n\t\t\tctx.setLineDash(style.border.lineDash.default.split(/\\s*,\\s*/));\n\t\t\tsubpixel.rect(ctx, left, top, width, height);\n\t\t\tctx.stroke();\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// render left border line\n\t\tcolor =\n\t\t\tstyle.border.color.left ||\n\t\t\tstyle.border.color.default;\n\t\tlineDash =\n\t\t\tstyle.border.lineDash.left ||\n\t\t\tstyle.border.lineDash.default;\n\t\tlineWidth =\n\t\t\tstyle.border.lineWidth.left ||\n\t\t\tstyle.border.lineWidth.default;\n\t\tthis.grid.renderVerticalLines(ctx, [subpixel.px(left)], top, height, color, lineDash, lineWidth);\n\n\t\t// render right border line\n\t\tcolor =\n\t\t\tstyle.border.color.right ||\n\t\t\tstyle.border.color.default;\n\t\tlineDash =\n\t\t\tstyle.border.lineDash.right ||\n\t\t\tstyle.border.lineDash.default;\n\t\tlineWidth = \n\t\t\tstyle.border.lineWidth.right ||\n\t\t\tstyle.border.lineWidth.default;\n\t\tthis.grid.renderVerticalLines(ctx, [subpixel.px(left + width)], top, height, color, lineDash, lineWidth);\n\n\t\t// render top border line\n\t\tcolor =\n\t\t\tstyle.border.color.top ||\n\t\t\tstyle.border.color.default;\n\t\tlineDash =\n\t\t\tstyle.border.lineDash.top ||\n\t\t\tstyle.border.lineDash.default;\n\t\tlineWidth =\n\t\t\tstyle.border.lineWidth.top ||\n\t\t\tstyle.border.lineWidth.default;\n\t\tthis.grid.renderHorizontalLines(ctx, [subpixel.px(top)], left, width, color, lineDash, lineWidth);\n\n\t\t// render bottom border line\n\t\tcolor =\n\t\t\tstyle.border.color.bottom ||\n\t\t\tstyle.border.color.default;\n\t\tlineDash =\n\t\t\tstyle.border.lineDash.bottom ||\n\t\t\tstyle.border.lineDash.default;\n\t\tlineWidth =\n\t\t\tstyle.border.lineWidth.bottom ||\n\t\t\tstyle.border.lineWidth.default;\n\t\tthis.grid.renderHorizontalLines(ctx, [subpixel.px(top + height)], left, width, color, lineDash, lineWidth);\n\t}\n\n\trenderLunchBreaks(dataIn) {\n\t\tconst core = this.core;\n\n\t\tif (!dataIn[core.params.symbol] || !dataIn[core.params.symbol].price) {\n\t\t\treturn;\n\t\t}\n\n\t\t// find lunch breaks for typical sessions\n\t\tconst data = core.getFirstDataset(dataIn[core.params.symbol].price);\n\t\tconst date = new Date(data[0].date);\n\t\tconst ctx = this.rootContext;\n\t\tconst dateEnd = data[data.length - 1].date.getTime() + 86400000;\n\t\tconst scale = this.xAxis.primaryScale;\n\t\tconst typicalBreaks = [];\n\t\t\t\n\t\tlet session = {};\n\t\tlet day = 0;\n\t\tlet dateLeft = new Date();\n\t\tlet dateRight = new Date();\n\t\tlet dateMid = new Date();\n\t\tlet xLeft = 0.0;\n\t\tlet xRight = 0.0;\n\t\tlet xMid = 0.0;\n\n\t\tfor (let x = 0; x < core.timeService.typicalSessions.length; x++) {\n\t\t\ttypicalBreaks[x] = [];\n\n\t\t\tfor (\n\t\t\t\tlet s = 0;\n\t\t\t\ts < core.timeService.typicalSessions[x].sessions.length;\n\t\t\t\ts++\n\t\t\t) {\n\t\t\t\tsession = core.timeService.typicalSessions[x].sessions[s];\n\n\t\t\t\tif (session.sessionType === 'SessionBreak') {\n\t\t\t\t\tconst sessionLength = session.close - session.open;\n\n\t\t\t\t\tif (sessionLength >= 60) {\n\t\t\t\t\t\ttypicalBreaks[x] = [session.open, session.close];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// draw labels\n\n\t\tctx.textAlign = 'center';\n\t\tctx.textBaseline = 'middle';\n\n\t\twhile (date <= dateEnd) {\n\t\t\tday = date.getDay();\n\n\t\t\tdateLeft = new Date(date);\n\t\t\tdateLeft.setSeconds(0);\n\t\t\tdateLeft.setHours(0);\n\t\t\tdateLeft.setMilliseconds(0);\n\t\t\tdateLeft.setMinutes(typicalBreaks[day][0]);\n\n\t\t\tdateRight = new Date(date);\n\t\t\tdateRight.setHours(0);\n\t\t\tdateRight.setSeconds(0);\n\t\t\tdateRight.setMilliseconds(0);\n\t\t\tdateRight.setMinutes(typicalBreaks[day][1]);\n\n\t\t\tdateMid = new Date(dateLeft.getTime() + (dateRight - dateLeft) / 2);\n\n\t\t\txLeft = scale(core.closestExchangeIndex(dateLeft));\n\t\t\txRight = scale(core.closestExchangeIndex(dateRight));\n\t\t\txMid = scale(core.closestExchangeIndex(dateMid));\n\n\t\t\t// draw label if gap is wide enough and label falls within the panel region\n\t\t\tif (\n\t\t\t\txRight - xLeft > 20 &&\n\t\t\t\txMid < this.size.padding.left + this.size.width - 5\n\t\t\t) {\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(xMid, 100);\n\t\t\t\tctx.rotate(-Math.PI / 2);\n\t\t\t\tthis.glowText(ctx, 'Lunch break', 0, 0, '#777', '#FFF');\n\t\t\t\tctx.restore();\n\t\t\t}\n\n\t\t\tdate.setDate(date.getDate() + 1);\n\t\t}\n\t}\n\n\t/**\n\t * fillText with a glow behind it\n\t */\n\tglowText(ctx, labelText, x, y, textColor, glowColor, glowWidth = 2) {\n\t\t// background\n\t\tif (\n\t\t\ttypeof glowColor === 'string' &&\n\t\t\tglowColor.length &&\n\t\t\tglowColor !== 'none'\n\t\t) {\n\t\t\tctx.strokeStyle = glowColor;\n\t\t\tctx.lineWidth = glowWidth;\n\t\t\tctx.strokeText(labelText, x, y);\n\t\t}\n\n\t\t// foreground\n\t\tctx.fillStyle = textColor;\n\t\tctx.lineWidth = 1;\n\t\tctx.fillText(labelText, x, y);\n\t}\n\n\t/**\n\t * remove from indicators collection\n\t */\n\tremoveIndicator(indicator) {\n\t\t// final cleanup before removal\n\t\tindicator.remove();\n\n\t\t// remove from panel's indicators collection\n\t\tfor (let x = this.indicators.length - 1; x >= 0; x--) {\n\t\t\tif (indicator === this.indicators[x]) {\n\t\t\t\tthis.indicators.splice(x, 1);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tthis.updateLegend();\n\t\tconst event = this.isUpper ? types$1.INDICATOR_UPPER_REMOVE : types$1.INDICATOR_LOWER_REMOVE;\n\t\tthis.core.eventEmitter.emit(event, {\n\t\t\tindicator,\n\t\t\tindicatorType: indicator.params.id\n\t\t});\n\t}\n\n\t/**\n\t * remove from events collection\n\t */\n\tremoveEvent(id, uid) {\n\t\tlet x = 0;\n\t\tlet type = '';\n\n\t\tif (typeof id === 'object' && id.params) {\n\t\t\ttype = id.params.id;\n\t\t\tuid = id.params.uid;\n\t\t} else {\n\t\t\ttype = id;\n\t\t}\n\n\t\tfor (x = this.events.length - 1; x >= 0; x--) {\n\t\t\tif (type === this.events[x].params.id) {\n\t\t\t\tif (!uid || this.events[x].params.uid === uid) {\n\t\t\t\t\tthis.events[x].remove();\n\t\t\t\t\tthis.events.splice(x, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.core.eventEmitter.emit(types$1.EVENT_REMOVE, {\n\t\t\teventType: type\n\t\t});\n\t\tthis.core.render();\n\t}\n\n\t/**\n\t * remove all tools from this panel\n\t */\n\tremoveTools() {\n\t\tfor (let x = this.tools.length - 1; x >= 0; x--) {\n\t\t\tthis.tools[x].remove();\n\t\t}\n\n\t\tthis.core.render();\n\t}\n\n\t/** emit an event for the panel's legend element to be updated */\n\tupdateLegend() {\n\t\tconst legendElement = this.rootLegend.node();\n\t\tconst { indicators } = this;\n\t\t// Add last close datapoints\n\t\t// TODO: Convert to actuals once we have the NormalizeValues in MCE\n\t\tconst lastClose = {};\n\t\tindicators.forEach(indicator => {\n\t\t\tconst { symbol, id, uid } = indicator.params;\n\t\t\tif (id && id === 'price' && this.core.data[symbol]) {\n\t\t\t\tconst dataSeries = this.core.data[symbol][id][uid];\n\t\t\t\tif (dataSeries && dataSeries.length) {\n\t\t\t\t\tlastClose[symbol] = dataSeries[dataSeries.length - 1].close;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.core.eventEmitter.emit(types$1.PANEL_LEGEND_UPDATE, { \n\t\t\tpanel: this,\n\t\t\tlegendElement,\n\t\t\tindicators,\n\t\t\tlastClose\n\t\t});\n\t}\n\n\t/**\n\t * hide panel's legend dom element\n\t */\n\tconcealLegend() {\n\t\tthis.rootLegend.style('visibility', 'hidden');\n\t}\n\n\t/**\n\t * reveal panel's legend dom element\n\t */\n\trevealLegend() {\n\t\tif (this.rootLegend.style('display') !== 'none') {\n\t\t\tthis.rootLegend.style('visibility', 'visible');\n\t\t}\n\t}\n\n\t/**\n\t * update the html for this panel's legend. the function receives a root dom element and collection of indicator objects.\n\t * the currently-active indicator params can be found in each indicator's \"params\"\n\t * style/color properties will be in params.style\n\t * specific indicator inputs (period, smoothing) will be in params.inputs\n\t */\n\t/*\n\tapplyLegendContent (root, indicators){};\n\t*/\n\n\t/**\n\t * @method onClickRemoveLegendIndicator\n\t * Event handler that excecutes when the Delete button next to the indicator name is clicked.\n\t * This will remove the indicator, call various update methods, then request new data.\n\t * call this method with one of:\n\t * - indicator reference\n\t * - an indicator UID\n\t * - a d3 selector that points to an element with an \"idx\" and \"panelId\" attribute\n\t */\n\tonClickRemoveLegendIndicator(arg, options = {}) {\n\t\t\n\t\tconst core = this.core;\n\t\tlet loadData = false;\n\t\tlet removeCompare = false;\n\t\tconst overlays = [];\n\t\tlet panel = {};\n\t\tlet indicator;\n\n\t\t// argument was indicator reference\n\t\tif (arg.params && arg.params.uid) {\n\t\t\tindicator = arg;\n\t\t} else if (typeof arg === 'string') {\n\t\t\t// argument was an indicator uid\n\n\t\t\tindicator = core.getIndicatorByUid(arg);\n\t\t}\n\n\t\tif (indicator) {\n\t\t\tpanel = indicator.panel;\n\t\t} else {\n\t\t\t// argument was a d3 selector\n\n\t\t\tconst el = select(arg);\n\t\t\tconst idx = el.attr('idx');\n\n\t\t\tpanel = core.getPanelByUid(el.attr('panelId'));\n\n\t\t\tif (panel) {\n\t\t\t\tindicator = panel.indicators[idx];\n\t\t\t}\n\t\t}\n\n\t\tif (!indicator) {\n\t\t\tthis.core.warn('Indicator reference not found.');\n\t\t\treturn;\n\t\t}\n\n\t\t// check if this is a lower indicator with overlays\n\t\tfor (let x = 1; x < panel.indicators.length; x++) {\n\t\t\tif (\n\t\t\t\tpanel.indicators[x].params.parentUid === indicator.params.uid ||\n\t\t\t\tpanel.indicators[x].params.parentUID === indicator.params.uid\n\t\t\t) {\n\t\t\t\toverlays.push(panel.indicators[x]);\n\t\t\t}\n\t\t}\n\n\t\t// special handling for price markers\n\t\tif (indicator.params.id === 'price' && indicator.params.symbol) {\n\t\t\t// always reload data after deleting a symbol (helps restore a chart if it just broke due to adding a bad symbol)\n\t\t\tloadData = true;\n\n\t\t\t// remove from symbolCompare collection\n\t\t\tconst symbolIndex = panel.core.params.symbolCompare.indexOf(indicator.params.symbol);\n\n\t\t\tif (symbolIndex !== -1) {\n\t\t\t\tpanel.core.params.symbolCompare.splice(symbolIndex, 1);\n\t\t\t\tremoveCompare = true;\n\t\t\t}\n\t\t}\n\n\t\t// always reload data after deleting a sectorindustry\n\t\tif (indicator.params.id === 'sectorindustry') loadData = true;\n\n\t\t// remove indicator object\n\t\tthis.removeIndicator(indicator);\n\n\t\t// remove the entire panel if that was its last non-overlay indicator\n\t\tif (this.indicators.length === 0 || overlays.length > 0) {\n\t\t\tcore.removePanel(this);\n\t\t\tcore.resize();\n\t\t} else if (removeCompare) {\n\t\t\tcore.resetDomain();\n\n\t\t\tif (core.params.dateStart && core.params.dateStop) {\n\t\t\t\tconst daysRange = Math.ceil(\n\t\t\t\t\t(core.params.dateStop.getTime() -\n\t\t\t\t\t\tcore.params.dateStart.getTime()) /\n\t\t\t\t\t\t1000 /\n\t\t\t\t\t\t60 /\n\t\t\t\t\t\t60 /\n\t\t\t\t\t\t24\n\t\t\t\t);\n\n\t\t\t\tcore.params.days = Math.min(\n\t\t\t\t\tcore.state.isIntraday\n\t\t\t\t\t\t? core.limitIntradayTrading\n\t\t\t\t\t\t: core.limitInterday,\n\t\t\t\t\tdaysRange\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.updateLegend();\n\t\t} else {\n\t\t\t// update legend immediately\n\t\t\tthis.updateLegend();\n\t\t}\n\n\t\t// load new data or render\n\t\tif (loadData && !options.noLoad) {\n\t\t\tcore.loadData();\n\t\t} else {\n\t\t\tcore.render();\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * render error message on top of a panel\n\t * @param {string} message\n\t */\n\trenderErrorMessage(message) {\n\t\tthis.rootError\n\t\t\t.html(message)\n\t\t\t.style('display', null);\n\t}\n\n\t/**\n\t * Clear out the error message\n\t */\n\tclearErrorMessage() {\n\t\tthis.rootError.html('');\n\t}\n\n\t/**\n\t * convert a normalized close value to an actual\n\t */\n\tnormalizedToActual(val) {\n\t\tif (\n\t\t\tthis.core.params.normalizeValues &&\n\t\t\tthis.core.params.normalizeValues.Close\n\t\t) {\n\t\t\tconst normalizedValue = this.core.params.normalizeValues.Close;\n\t\t\tconst valOrig = normalizedValue || 0;\n\t\t\tconst valNew = (val / 100) * valOrig + valOrig;\n\n\t\t\treturn valNew;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\t/**\n\t * convert an actual value to normalized\n\t * see also: https://wiki.wsod.local/wsodwiki/index.php/Percent_Change_Display_Policy\n\t */\n\tactualToNormalized(val) {\n\t\tlet normalizedValue = 0;\n\n\t\tif (this.core.params.normalizeValues) {\n\t\t\tnormalizedValue = this.core.params.normalizeValues.Close;\n\t\t}\n\n\t\tconst valOrig = normalizedValue || this.core.params.normalizeValue;\n\n\t\treturn ((val - valOrig) / valOrig) * 100;\n\t}\n\n\t/** assemble font-related styles into a single CSS font string. Used by X and Y axis during renders */\n\tgetFontStyle(fontWeight = 'normal', fontSize = 11, fontFamily = 'Arial, Helvetica, sans-serif') {\n\t\t// pull apart comma-delimited family list\n\t\tlet newFamily = fontFamily.split(/,\\s*/);\n\n\t\t// wrap quotes around each family individually - this is needed so certain families\n\t\t// with multiple spaces don't break the font string, such as \"Gotham Narrow Ssm 5r\"\n\t\tnewFamily = newFamily.map(f => `\"${f.replace(/[\"']/g, '')}\"`);\n\n\t\t// assemble weight, size and family\n\t\tconst newFont = [fontWeight, fontSize + 'px', newFamily].join(' ');\n\n\t\treturn newFont;\n\t}\n\t/**\n\t * Gets generic object representation of Panel object\n\t * @method toJSON\n\t */\n\ttoJSON() {\n\t\tconst json = {\n\t\t\tparams: { ...this.params },\n\t\t\tindicators: [],\n\t\t\ttools: [],\n\t\t\tevents: [],\n\t\t\tsize: {}\n\t\t};\n\t\t// saved indicators\n\t\tconst indicators = this.indicators || [];\n\t\tfor (let i = 0; i < indicators.length; i++) {\n\t\t\tconst indicator = this.indicators[i];\n\t\t\tconst indicatorJSON = indicator.toJSON();\n\n\t\t\tif (indicatorJSON) {\n\t\t\t\tjson.indicators.push(indicatorJSON);\n\t\t\t}\n\t\t}\n\t\t// saved tools & handles\n\t\tconst tools = this.tools || [];\n\t\tfor (let t = 0; t < tools.length; t++) {\n\t\t\tconst tool = this.tools[t];\n\t\t\tconst toolJSON = tool.toJSON();\n\t\t\tjson.tools.push(toolJSON);\n\t\t}\n\t\t// saved events\n\t\tconst events = this.events || [];\n\t\tfor (let e = 0; e < events.length; e++) {\n\t\t\tconst eventParams = this.events[e].params;\n\n\t\t\tif (eventParams.id !== 'custom') {\n\t\t\t\tjson.events.push({\n\t\t\t\t\tparams: eventParams\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// heightPct\n\t\tif (this.size && typeof this.size.heightPct === 'number') {\n\t\t\tjson.params.size = json.params.size || {};\n\t\t\tjson.params.size.heightPct = this.size.heightPct;\n\t\t}\n\n\t\treturn json;\n\t}\n\n\t/**\n\t * static map from id to Class name\n\t * @returns {string}\n\t */\n\tstatic getIndicatorClassName(id) {\n\t\tif (!this.indicatorClassNameMap) {\n\t\t\tthis.indicatorClassNameMap = {\n\t\t\t\tadl: Indicators.ADL,\n\t\t\t\tadvancedecline: Indicators.AdvanceDecline,\n\t\t\t\tavgtruerange: Indicators.AvgTrueRange,\n\t\t\t\tawesomeoscillator: Indicators.AwesomeOscillator,\n\t\t\t\tbestworst: Indicators.BestWorst,\n\t\t\t\tbollinger: Indicators.Bollinger,\n\t\t\t\tbollingerbandwidth: Indicators.BollingerBandWidth,\n\t\t\t\tchaikins: Indicators.Chaikins,\n\t\t\t\tcommoditychannelindex: Indicators.CommodityChannelIndex,\n\t\t\t\tcrs: Indicators.CRS,\n\t\t\t\tcustom: Indicators.Price,\n\t\t\t\tdividendyield: Indicators.DividendYield,\n\t\t\t\tdmi: Indicators.DMI,\n\t\t\t\tema: Indicators.EMA,\n\t\t\t\thighlow: Indicators.HighLow,\n\t\t\t\thorizontalannotation: Indicators.HorizontalAnnotation,\n\t\t\t\tichimokucloud: Indicators.IchimokuCloud,\n\t\t\t\tlinearregression: Indicators.LinearRegression,\n\t\t\t\tmacd: Indicators.MACD,\n\t\t\t\tmae: Indicators.MAE,\n\t\t\t\tmassindex: Indicators.MassIndex,\n\t\t\t\tmomentum: Indicators.Momentum,\n\t\t\t\tmoneyflow: Indicators.MoneyFlow,\n\t\t\t\tmoneyflowindex: Indicators.MoneyFlowIndex,\n\t\t\t\tonbalancevolume: Indicators.OnBalanceVolume,\n\t\t\t\tperange: Indicators.PERange,\n\t\t\t\tperatio: Indicators.PERatio,\n\t\t\t\tpercentb: Indicators.PercentB,\n\t\t\t\tpreviousclose: Indicators.PreviousClose,\n\t\t\t\tprice: Indicators.Price,\n\t\t\t\tpricechannel: Indicators.PriceChannel,\n\t\t\t\tproc: Indicators.PROC,\n\t\t\t\tpsar: Indicators.PSAR,\n\t\t\t\trevenues: Indicators.Revenues,\n\t\t\t\trollingdividend: Indicators.RollingDividend,\n\t\t\t\trollingeps: Indicators.RollingEPS,\n\t\t\t\trsi: Indicators.RSI,\n\t\t\t\tsectorindustry: Indicators.SectorIndustry,\n\t\t\t\tsma: Indicators.SMA,\n\t\t\t\tstochastics: Indicators.Stochastics,\n\t\t\t\ttsf: Indicators.TSF,\n\t\t\t\tultimateoscillator: Indicators.UltimateOscillator,\n\t\t\t\tupdownnyse: Indicators.UpDownRatio, // NXC-411: for backwards-compatibility\n\t\t\t\tupdownratio: Indicators.UpDownRatio,\n\t\t\t\tupdown: Indicators.UpDown,\n\t\t\t\tvolume: Indicators.Volume,\n\t\t\t\tvolumebyprice: Indicators.VolumeByPrice,\n\t\t\t\tvroc: Indicators.VROC,\n\t\t\t\tvwap: Indicators.VWAP,\n\t\t\t\twilliamspctr: Indicators.WilliamsPctR,\n\t\t\t\twma: Indicators.WMA\n\t\t\t};\n\t\t}\n\t\treturn this.indicatorClassNameMap[id] || null;\n\t}\n\n\t/** Rebuild the panel style/size params */\n\tupdateStyleParams() {\n\t\tthis.params.style = merge({}, this.getDefaultParams().style);\n\t\tthis.params.size = merge({}, this.getDefaultParams().size);\n\t\tthis.initPanelSize();\n\n\t\t// Update styles for each panel indicator\n\t\tthis.indicators.forEach(i => Object.assign(i.params.style, i._getDefaultStyles()));\n\t}\n\n\t/** Returns the first panel indicator, if it exists. This should only be used for debugging. */\n\tget i0() {\n\t\treturn this.indicators.length > 0\n\t\t\t? this.indicators[0]\n\t\t\t: null;\n\t}\n\n\tget index() {\n\t\treturn this.core.panels.indexOf(this);\n\t}\n\n\t/** Decreases panel index by 1 and re-renders. */\n\tmoveUp() {\n\t\tthis._moveIndex(-1);\n\t\tthis.core.resize();\n\t\tthis.core.render();\n\t}\n\n\t/** Increases panel index by 1 and re-renders. */\n\tmoveDown() {\n\t\tthis._moveIndex(1);\n\t\tthis.core.resize();\n\t\tthis.core.render();\n\t}\n\n\t/**\n\t * Moves this panel's index up or down in the panels array, and ensures the DOM order \n\t * matches the new index order (this is important for keyboard tab focus ordering)\n\t * @param {number} indexDelta -1 or 1\n\t * @private\n\t */\n\t_moveIndex(indexDelta) {\n\t\tconst panelIndex = this.index;\n\t\tconst panels = this.core.panels;\n\t\tconst newIndex = panelIndex + indexDelta;\n\t\tconst chartEl = this.core.rootModchart.node();\n\t\tconst panelEl = this.rootPanel.node();\n\t\t// error check\n\t\tif (typeof panels[newIndex] === 'undefined') {\n\t\t\treturn this.core.warn('Panel move limit reached');\n\t\t}\n\t\t// reorder DOM\n\t\tif (indexDelta === -1) { // up\n\t\t\tchartEl.insertBefore(panelEl, panelEl.previousSibling);\n\t\t} else { // down\n\t\t\tchartEl.insertBefore(panelEl.nextSibling, panelEl);\n\t\t}\n\t\t// reorder panels array\n\t\tconst thisPanel = panels.splice(panelIndex, 1)[0];\n\t\tpanels.splice(newIndex, 0, thisPanel);\n\t}\n}\n\n/**\n * Determines the number of days between two dates passed in\n * @param {Date} startDate - The starting date\n * @param {Date} endDate - The ending date\n * @returns {number} The number of days between the two dates\n */\n\n/**\n * Determines the number of trading days between two trading dates passed in\n * @param {Date} startDate - The starting trading date\n * @param {Date} endDate - The ending trading date\n * @param {string[]} tradingDays - An array of trading dates represented by strings\n * @returns {number} The number of trading days between the two trading dates\n */\nconst calcTradingDaysBetweenTradingDates = (startDate, endDate, tradingDays) => {\n\tlet [minDate, maxDate] = _prepareDates(startDate, endDate);\n\n\t// Remove time zone offset for comparison to trading days\n\tminDate = new Date(minDate.getTime() - minDate.getTimezoneOffset() * 60 * 1000);\n\tmaxDate = new Date(maxDate.getTime() - maxDate.getTimezoneOffset() * 60 * 1000);\n\n\t// Get indices in tradingDays to calculate the correct number of trading days between dates passed in\n\tconst minIndex = tradingDays.findIndex(d => new Date(d).getTime() === minDate.getTime());\n\tconst maxIndex = tradingDays.findIndex(d => new Date(d).getTime() === maxDate.getTime());\n\n\treturn maxIndex - minIndex;\n};\n\n/**\n * Prepares dates for comparison by finding min and max, and setting to midnight.\n * @param {Date} startDate - The starting date\n * @param {Date} endDate - The ending date\n * @returns {Date[]} The prepared dates\n */\nconst _prepareDates = (startDate, endDate) => {\n\tlet minDate;\n\tlet maxDate;\n\n\t// Find the min, max dates\n\tif (endDate.getTime() >= startDate.getTime()) {\n\t\tmaxDate = endDate;\n\t\tminDate = startDate;\n\t} else {\n\t\tminDate = endDate;\n\t\tmaxDate = startDate;\n\t}\n\n\t// Set dates to midnight\n\tminDate.setHours(0, 0, 0, 0);\n\tmaxDate.setHours(0, 0, 0, 0);\n\n\treturn [minDate, maxDate];\n};\n\n/**\n * Create the zoom behavior\n * @param {ModchartsInteractive} chart - Modcharts chart instance\n * @returns {object} - D3 zoom behavior\n */\nconst createZoom = chart => {\n\t// The minimum number of steps (between adjacent data points) to show when zoomed in\n\tconst minSteps = 5;\n\n\treturn zoom()\n\t\t.on('start', event => {\n\t\t\t// Only set the scale extent once. The extent gets reset in the chart.days setter.\n\t\t\tif (chart.zoom.scaleExtent()[1] === Infinity) {\n\t\t\t\t// Get present domain bounds for comparison\n\t\t\t\tconst [start, stop] = chart.state.xAxisPresentScale.domain();\n\t\t\t\tconst domainLength = stop - start;\n\n\t\t\t\t// Calculate index step size between data points in initial time frame\n\t\t\t\tconst firstDatumDateIndex = chart.closestExchangeIndex(chart.dataPrimary[0].date);\n\t\t\t\tconst secondDatumDateIndex = chart.closestExchangeIndex(chart.dataPrimary[1].date);\n\t\t\t\tconst indexStep = secondDatumDateIndex - firstDatumDateIndex;\n\n\t\t\t\t// The zoom in limit is the inverse of the ratio of the length of the minSteps to the total length (shown simplified)\n\t\t\t\tconst zoomInBoundary = domainLength / (indexStep * minSteps);\n\n\t\t\t\t// Set the scale extent\n\t\t\t\tchart.zoom.scaleExtent([0, zoomInBoundary]);\n\n\t\t\t\t// NOTE: We don't need a zoom out boundary because that's handled by the left/right boundaries\n\t\t\t}\n\t\t\tchart.onZoomStart(event);\n\t\t})\n\t\t.on('zoom', event => {\n\t\t\tchart.onZoom(event);\n\t\t})\n\t\t.on('end', event => {\n\t\t\tchart.onZoomEnd(event);\n\t\t})\n\t\t.wheelDelta(event => {\n\t\t\treturn wheelDelta(chart, event);\n\t\t});\n};\n\n/**\n * Calculates the resulting zoom transform given two different scales\n * @param {object} fromScale - The D3 scale with the domain that you're changing from\n * @param {object} toScale - The D3 scale with the domain that the transform will change to\n * @param {object} currentTransform - The current D3 zoom transform. Used to retrieve the current translation values. Defaults to zoomIdentity.\n * @param {string} scaleAxis - The axis associated with the scales: 'x' or 'y'. Defaults to 'x'.\n * @returns {object} D3 zoom transform that represents the modification required to get from the fromScale domain to the toScale domain\n */\nconst getTransformFromScales = (fromScale, toScale, currentTransform = zoomIdentity, scaleAxis = 'x') => {\n\t/* See CH-1607 for more info */\n\t\n\t// Make sure ranges are the same\n\tconst fromRange = fromScale.range();\n\tconst toRange = toScale.range();\n\tif (!fromRange.every((value, i) => value === toRange[i])) toRange.range(fromRange);\n\n\tconst fromDomain = fromScale.domain();\n\tconst toDomain = toScale.domain();\n\tconst translation = toScale(fromDomain[0]) - toScale(toDomain[0]);\n\tconst k = (fromDomain[1] - fromDomain[0]) / (toDomain[1] - toDomain[0]);\n\n\t// Set correct translations\n\tconst [tX, tY] = scaleAxis === 'x'\n\t\t? [translation, currentTransform[scaleAxis]]\n\t\t: [currentTransform[scaleAxis], translation];\n\n\treturn zoomIdentity.translate(tX, tY).scale(k);\n};\n\n/**\n * Gets the current zoom transform for the chart.rootmouse node\n * @param {ModchartsInteractive} chart - Chart object to read the zoom transform from\n * @returns {Transform} The current zoom transform\n */\nconst getZoomTransform = chart => zoomTransform(chart.rootMouse.node());\n\n/**\n * Programmatic pan\n * @param {object} chart - Modcharts chart instance\n * @param {number} distance - Pan distance in XAxis range pixels (positive goes left, negative goes right)\n * @param {number} duration - Animation duration in milliseconds\n */\nconst panChart = ({ chart, distance = -10, duration = chart.params.zoomDuration || 350 }) => {\n\tconst { k: scale } = getZoomTransform(chart);\n\tif (!chart.state.zooming) { // This check is needed to ensure that a new event doesn't get triggered before the current one has finished\n\t\tif (duration === -1) { // This test needed for unit testing as transitions don't play well in unit tests\n\t\t\tchart.rootMouse\n\t\t\t\t.call(chart.zoom.translateBy, distance / scale, 0);\n\t\t} else {\n\t\t\tchart.rootMouse\n\t\t\t\t.transition()\n\t\t\t\t.duration(duration)\n\t\t\t\t.call(chart.zoom.translateBy, distance / scale, 0);\n\t\t}\n\t}\n};\n\n/**\n * Pans the chart back to the present view\n * @param {object} chart - Modcharts chart instance\n */\nconst panToPresent = chart => {\n\t// Calculate distance to get back to present view (but keep the current scale)\n\tconst frameScale = chart.xAxis.primaryScale;\n\tconst frameDomainStop = frameScale.domain()[1];\n\tconst presentDomainStop = chart.state.xAxisPresentScale.domain()[1];\n\tconst distance = frameScale(frameDomainStop) - frameScale(presentDomainStop);\n\t\n\tpanChart({ chart, distance });\n};\n\n/**\n * Binds the zoom behavior to the rootMouse element\n * @param {object} chart - Modcharts chart instance\n */\nconst registerZoom = chart => {\n\tif (\n\t\tchart.params.zoomEnabled &&\n\t\t!chart.state.zoomRegistered &&\n\t\t!chart.state.tool\n\t) {\n\t\tchart.rootMouse\n\t\t\t.call(chart.zoom)\n\t\t\t.on('dblclick.zoom', null); // Disable double-click handling to make sure tool double clicking works\n\t\tchart.state.zoomRegistered = true;\n\t}\n};\n\n/**\n * Resets the zoom transform to the specified transform. If no transform is passed in, the initial transform\n * will be used. If no initial transform is available, the zoom identity ({ k: 1, x: 0, y: 0 }) will be used.\n * @param {object} chart - Modcharts chart instance\n * @param {number} duration - Animation duration in milliseconds\n * @param {object} transform - The D3 zoom transform to use for the reset\n */\nconst resetZoomCenter = ({\n\tchart,\n\tduration = chart.params.zoomResetDuration,\n\ttransform = chart.state.initialTransform || zoomIdentity // Use zoomIdentity as fallback in case initialTransform hasn't been set\n}) => {\n\t// Using a transition here will cause the chart to animate back to the given zoom state (initial by default) by causing a number of zoom events\n\tchart.rootMouse\n\t\t.transition()\n\t\t.duration(duration)\n\t\t.call(chart.zoom.transform, transform);\n};\n\n/**\n * Unbinds the zoom behavior from the rootMouse element\n * @param {object} chart - Modcharts chart instance\n */\nconst unregisterZoom = chart => {\n\tif (chart.state.zoomRegistered) {\n\t\tchart.rootMouse.on('.zoom', null);\n\t\tchart.state.zoomRegistered = false;\n\t\tchart.state.zooming = false;\n\t}\n};\n\n/**\n * Updates the zoom transform to the current zoom location. This is usually needed when\n * scales or new data have been loaded.\n * @param {object} chart - Modcharts chart instance\n */\nconst updateZoomCenter = ({ chart, transform = zoomIdentity }) => {\n\tchart.state.domainAtZoomStart = null;\n\tchart.state.scaleAtZoomStart = null;\n\t// Calling transform without a transition results in setting the current location to represent { k: 1, x: 0, y: 0 }\n\tchart.rootMouse.call(chart.zoom.transform, transform);\n};\n\n/**\n * Customize the distance zoomed during a WheelEvent\n * @param {object} chart - Modcharts chart instance\n * @param {object} event - D3 zoom event\n * @returns {number} - wheel delta\n */\nconst wheelDelta = (chart, event) => {\n\tchart.state.isWheelEvent = true; // will be set back to false on zoom end\n\treturn -event.deltaY * (event.deltaMode === 1 ? 0.03 : event.deltaMode ? 1 : 0.002);\n};\n\n/**\n * Programmatic zoom\n * zoom in with a value like 1.3\n * zoom out with a value like (1 / 1.3)\n * @param {object} chart - Modcharts chart instance\n * @param {number} scale - Zoom distance in XAxis scale units\n * @param {number} duration - Animation duration in milliseconds\n */\nconst zoomChart = ({ chart, duration = chart.params.zoomDuration, scale = 1.3 }) => {\n\tif (!chart.state.zooming) { // This check is needed to ensure that a new event doesn't get triggered before the current one has finished\n\t\tif (duration === -1) { // This test needed for unit testing as transitions don't play well in unit tests\n\t\t\tchart.rootMouse\n\t\t\t\t.call(chart.zoom.scaleBy, scale);\n\t\t} else {\n\t\t\tchart.rootMouse\n\t\t\t\t.transition()\n\t\t\t\t.duration(duration)\n\t\t\t\t.call(chart.zoom.scaleBy, scale);\n\t\t}\n\t}\n};\n\nvar zoomUtil = {\n\tcreateZoom,\n\tgetTransformFromScales,\n\tgetZoomTransform,\n\tpanChart,\n\tpanToPresent,\n\tregisterZoom,\n\tresetZoomCenter,\n\tunregisterZoom,\n\tupdateZoomCenter,\n\tzoomChart,\n\tzoomIdentity\n};\n\n/** console shim */\n(function () {\n\tconst f = function () {};\n\tif (\n\t\ttypeof window !== 'undefined' && \n\t\twindow.document && \n\t\twindow.document.createElement && \n\t\t!window.console\n\t) {\n\t\twindow.console = {\n\t\t\tlog: f,\n\t\t\tinfo: f,\n\t\t\twarn: f,\n\t\t\tdebug: f,\n\t\t\terror: f\n\t\t};\n\t}\n})();\n\n/** Initialize panels, params, state and overall root dom */\nclass Modcharts {\n\t/**\n\t * @param {string} rootSelector Root DOM selector\n\t * @param {object} params Custom chart params\n\t * @param {object} parent Optional parent object reference\n\t */\n\tconstructor(rootSelector, params = {}, parent) {\n\t\tthis.version = pkg.version;\n\t\tthis.eventEmitter = new EventEmitter();\n\t\tthis.panels = [];\n\t\tthis.parent = parent;\n\t\tthis.state = this.getChartState();\n\t\tthis.params = this.getDefaultParams(params);\n\t\tthis.styleMap = merge({}, DEFAULT_STYLES, this.params.style);\n\t\tthis.rootSelector = rootSelector;\n\t\tthis.status = 0;\n\t\tthis.xref = {};\n\t\tthis.metaData = {};\n\t\tthis.timeService = {};\n\t\tthis.data = {};\n\t\tthis.dataXHR = null;\n\t\tthis.xhrCancelSource = null;\n\t\tthis.dataPrimary = [];\n\t\tthis.setLocale(this.params.locale || LocaleEnUs);\n\t\tif (rootSelector) this.mount(rootSelector);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the DOM element that the chart will be rendered to\n\t * @param {String} rootSelector - Selector string for root node\n\t * @return {Boolean} Whether or not mount was successful\n\t */\n\tmount (rootSelector) {\n\t\tthis.rootModchart = select(rootSelector);\n\n\t\t// Get the document body for use on touch devices\n\t\tthis.body = select(document.body);\n\n\t\t// Verify root DOM element exists\n\t\tif (!this.rootModchart.node()) {\n\t\t\tthis.warn('Could not find root chart element');\n\t\t\treturn false;\n\t\t}\n\t\tthis.initDOM();\n\t\treturn true;\n\t}\n\n\t/**\n\t * Main configuration collection. These properties can be serialized and stored.\n\t * @param {Object} params - Collection of custom params passed in to the chart\n\t * @returns {Object} Merged collection of custom and default params\n\t */\n\tgetDefaultParams(params) {\n\t\tconst chartParams = {\n\t\t\t/**\n\t\t\t * use an animated effect to reveal chart panels\n\t\t\t * \"all\" = animate every time data loads\n\t\t\t * \"first\" = animate only the first time data loads\n\t\t\t * \"staged\" = animation will be staged but not immediately run\n\t\t\t */\n\t\t\tanimation: params.animation || null, // \"all\", \"first\", \"staged\"\n\n\t\t\t/** use an animated effect to reveal the panels on first-time load */\n\t\t\tanimationDuration:\n\t\t\t\ttypeof params.animationDuration === 'number'\n\t\t\t\t\t? params.animationDuration\n\t\t\t\t\t: 1200,\n\n\t\t\t/** following a pan/zoom event, backfill any historic data gaps with a delta data request */\n\t\t\tbackfill:\n\t\t\t\ttypeof params.backfill === 'boolean' ? params.backfill : true,\n\n\t\t\t/** candle width tolerance - snap to 1px wide candles at this width (0 to disable snapping completely) */\n\t\t\tcandleWidthTolerance:\n\t\t\t\ttypeof params.candleWidthTolerance === 'number'\n\t\t\t\t\t? params.candleWidthTolerance\n\t\t\t\t\t: 1.2,\n\n\t\t\t/** clip intraday markers to exchange sessions */\n\t\t\tclipSessions:\n\t\t\t\ttypeof params.clipSessions === 'boolean'\n\t\t\t\t\t? params.clipSessions\n\t\t\t\t\t: true,\n\n\t\t\t/**\n\t\t\t * Collapse gaps in XAxis when exchange has an early closure. Note: gaps will still appear\n\t\t\t * when compared to an exchange that does trade during the closure.\n\t\t\t */\n\t\t\tcollapseAlternateSessionGaps:\n\t\t\t\ttypeof params.collapseAlternateSessionGaps === 'boolean'\n\t\t\t\t\t? params.collapseAlternateSessionGaps\n\t\t\t\t\t: true,\n\n\t\t\t/** Specify a desired currency code (ex. \"EUR\") if different from the default currency a symbol is priced in. */\n\t\t\tcurrency: params.currency || null,\n\n\t\t\t/**\n\t\t\t * an object containing one or more custom datasets. datasets should be in the format:\n\t\t\t * { \"mydata\": [{date: \"2015-01-05\", value: 12.4, additionalVal: 14.2, additionalVal2: 41.4, ...}] }\n\t\t\t * the key of the dataset (\"mydata\") can be used as the custom indicator's \"datasetId\" param.\n\t\t\t */\n\t\t\tcustomData: params.customData || null,\n\n\t\t\t/** enable custom dataInterface */\n\t\t\tdataInterface: params.dataInterface || null,\n\n\t\t\t/** data interval (1, 3, 5, 10) */\n\t\t\tdataInterval: params.dataInterval || null,\n\n\t\t\t/** data api should return values as normalized figures (percent change) instead of actuals */\n\t\t\tdataNormalized:\n\t\t\t\ttypeof params.dataNormalized === 'boolean'\n\t\t\t\t\t? params.dataNormalized\n\t\t\t\t\t: false,\n\n\t\t\t/** data period (\"Hour\", \"Minute\", \"Day\") */\n\t\t\tdataPeriod: params.dataPeriod || null,\n\n\t\t\t/** data precision - series values will return this number of decimal points */\n\t\t\tdataPrecision: params.dataPrecision || 3,\n\n\t\t\t/** If dateStart/Stop specified, it will become the visible canvas range even if the chartapi data range is different. */\n\t\t\tdateStart: params.dateStart || null,\n\t\t\tdateStop: params.dateStop || null,\n\n\t\t\t/** chart api - total days of data to request */\n\t\t\tdays: params.days || null,\n\n\t\t\t/**\n\t\t\t * Ignore streamed events until we have at least one datapoint for the current day. This prevents double candlesticks\n\t\t\t * at market open but also will mean the chart won't stream for up to one interval/period at the beginning of the day. (NXC-690)\n\t\t\t */\n\t\t\tdelayMarketOpenStream:\n\t\t\t\ttypeof params.delayMarketOpenStream === 'boolean'\n\t\t\t\t\t? params.delayMarketOpenStream\n\t\t\t\t\t: false,\n\n\t\t\tdisableLogMessages:\n\t\t\t\ttypeof params.disableLogMessages === 'boolean'\n\t\t\t\t\t? params.disableLogMessages\n\t\t\t\t\t: false,\n\n\t\t\t/** exchangeOffset */\n\t\t\texchangeOffset:\n\t\t\t\ttypeof params.exchangeOffset === 'number'\n\t\t\t\t\t? params.exchangeOffset\n\t\t\t\t\t: 0,\n\n\t\t\t/** data api should return extended sessions along with the regular session */\n\t\t\textendedHours:\n\t\t\t\ttypeof params.extendedHours === 'boolean'\n\t\t\t\t\t? params.extendedHours\n\t\t\t\t\t: false,\n\n\t\t\t/** duration of the premarket session (set null to show entire session) */\n\t\t\textendedHoursDurationPre: params.extendedHoursDurationPre || 90,\n\n\t\t\t/** duration of the postmarket session (set null to show entire session) */\n\t\t\textendedHoursDurationPost: params.extendedHoursDurationPost || 240,\n\n\t\t\t/** feed selection group (optional) */\n\t\t\tfeedGroup: params.feedGroup || null,\n\n\t\t\t/** Allow price flags to overlap (default = true) */\n\t\t\tflagOverlap:\n\t\t\t\ttypeof params.flagOverlap === 'boolean'\n\t\t\t\t\t? params.flagOverlap\n\t\t\t\t\t: true,\n\n\t\t\t/** A feature used by the mobile SDK implementation of Modcharts. Array of lower indicator uids. */\n\t\t\thiddenLowers: params.hiddenLowers || [],\n\t\t\t\n\t\t\t/** Ignore the bottom margin of the last panel in sizing calculations */\n\t\t\tignoreLastPanelBottomMargin:\n\t\t\t\ttypeof params.ignoreLastPanelBottomMargin === 'boolean'\n\t\t\t\t\t? params.ignoreLastPanelBottomMargin\n\t\t\t\t\t: true,\n\t\t\t\n\t\t\t/** Ignore the top margin of the lower panels in sizing calculations */\n\t\t\tignoreLowerPanelTopMargin:\n\t\t\t\ttypeof params.ignoreLowerPanelTopMargin === 'boolean'\n\t\t\t\t\t? params.ignoreLowerPanelTopMargin\n\t\t\t\t\t: false,\n\n\t\t\t/** Default locale file */\n\t\t\tlocale: typeof params.locale === 'object'\n\t\t\t\t? params.locale\n\t\t\t\t: LocaleEnUs,\n\n\t\t\t/** Switch to a 2-day chart if on 1-day with only a single datapoint */\n\t\t\tminMarketOpen:\n\t\t\t\ttypeof params.minMarketOpen === 'boolean'\n\t\t\t\t\t? params.minMarketOpen\n\t\t\t\t\t: true,\n\n\t\t\t/** normalizeDate - the date which should be used as the chartapi normalize value */\n\t\t\tnormalizeDate: params.normalizeDate\n\t\t\t\t? new Date(params.normalizeDate)\n\t\t\t\t: null,\n\n\t\t\t/** normalizeValue - (deprecated) the value which should be used as the normalization starting point */\n\t\t\tnormalizeValue: params.normalizeValue,\n\n\t\t\t/** normalizeValues - the ohlc value which should be used as the normalization starting point */\n\t\t\tnormalizeValues: params.normalizeValues,\n\n\t\t\t/** A ratio of the panel height to the chart width which can be used to size the lower panel height (OPTIONAL) */\n\t\t\tpanelHeightToChartWidthRatioLower: params.panelHeightToChartWidthRatioLower\n\t\t\t\t? Number(params.panelHeightToChartWidthRatioLower)\n\t\t\t\t: null,\n\n\t\t\t/** A ratio of the panel height to the chart width which can be used to size the upper panel height (OPTIONAL) */\n\t\t\tpanelHeightToChartWidthRatioUpper: params.panelHeightToChartWidthRatioUpper\n\t\t\t\t? Number(params.panelHeightToChartWidthRatioUpper)\n\t\t\t\t: null,\n\n\t\t\t/** optional fixed upper panel height */\n\t\t\tpanelHeightUpper: params.panelHeightUpper\n\t\t\t\t? Number(params.panelHeightUpper)\n\t\t\t\t: null,\n\n\t\t\t/** optional fixed lower panel height */\n\t\t\tpanelHeightLower: params.panelHeightLower\n\t\t\t\t? Number(params.panelHeightLower)\n\t\t\t\t: null,\n\n\t\t\t/** optional minimum height percentage for upper panel (used in conjunction with panelHeightPctLower) */\n\t\t\tpanelHeightPctMinUpper:\n\t\t\t\ttypeof params.panelHeightPctMinUpper === 'number'\n\t\t\t\t\t? params.panelHeightPctMinUpper\n\t\t\t\t\t: 0.25,\n\n\t\t\t/** optional lower panel height percentage for fluid-height charts. ex: 0.1 would mean a tenth of the overall chart height. */\n\t\t\tpanelHeightPctLower:\n\t\t\t\ttypeof params.panelHeightPctLower === 'number'\n\t\t\t\t\t? params.panelHeightPctLower\n\t\t\t\t\t: null,\n\n\t\t\t/** Enable panel resizing */\n\t\t\tpanelResize:\n\t\t\t\ttypeof params.panelResize === 'boolean'\n\t\t\t\t\t? params.panelResize\n\t\t\t\t\t: false,\n\n\t\t\t/** which panel(s) should receive an XAxis by default (can be overridden on a per-panel basis) */\n\t\t\tpanelXAxis: params.panelXAxis || 'first', // \"last\", \"first\", \"all\", \"none\"\n\n\t\t\t/** number of minutes between fresh data poll (0 to turn off polling) */\n\t\t\tpoll: typeof params.poll === 'number' ? params.poll : 0,\n\n\t\t\t/** Draw to the normalized point on line/fill charts */\n\t\t\tprependNormalizedPoint:\n\t\t\t\ttypeof params.prependNormalizedPoint === 'boolean'\n\t\t\t\t\t? params.prependNormalizedPoint\n\t\t\t\t\t: true,\n\n\t\t\t/** request realtime data (is enforced via feed entitlements on server-side) */\n\t\t\trealtime: typeof params.realtime === 'boolean' ? params.realtime : false,\n\n\t\t\t/** Flag to render row labels, even if they are the same as those to the left/right */\n\t\t\trenderDuplicateLabels: params.renderDuplicateLabels || renderDuplicateLabelsCategories.KEEP_LEFT,\n\t\t\t\n\t\t\t/** Trap key down events to remove active tool on backspace/delete */\n\t\t\tremoveToolByKey:\n\t\t\t\ttypeof params.removeToolByKey === 'boolean'\n\t\t\t\t\t? params.removeToolByKey\n\t\t\t\t\t: true,\n\t\t\t\n\t\t\t/** Return an extra datapoint to remove left edge gaps in line and fill markers (CH-1745) */\n\t\t\treturnPreviousPoint:\n\t\t\t\ttypeof params.returnPreviousPoint === 'boolean'\n\t\t\t\t\t? params.returnPreviousPoint\n\t\t\t\t\t: false,\n\n\t\t\t/**\n\t\t\t * date ranges for the timeservice call. unit is days. the timeservice call returns\n\t\t\t * tradable days within a date range, which is used to construct the XAxis ruler.\n\t\t\t */\n\t\t\trulerIntradayStart: params.rulerIntradayStart || 31,\n\t\t\trulerIntradayStop: params.rulerIntradayStop || 3,\n\t\t\trulerInterdayStart:\n\t\t\t\tparams.rulerInterdayStart || Math.floor(365.25 * 35),\n\t\t\trulerInterdayStop: params.rulerInterdayStop || 10,\n\n\t\t\t/** Enable/disable display of all flags */\n\t\t\tshowFlags:\n\t\t\t\ttypeof params.showFlags === 'boolean'\n\t\t\t\t\t? params.showFlags\n\t\t\t\t\t: false,\n\n\t\t\t/** turn on component series flags */\n\t\t\tshowComponentSeriesFlags:\n\t\t\t\ttypeof params.showComponentSeriesFlags === 'boolean'\n\t\t\t\t\t? params.showComponentSeriesFlags\n\t\t\t\t\t: false,\n\n\t\t\t/** Enable/disable display of last close flags. This will affect all price indicators. */\n\t\t\tshowLastCloseFlags:\n\t\t\t\ttypeof params.showLastCloseFlags === 'boolean'\n\t\t\t\t\t? params.showLastCloseFlags\n\t\t\t\t\t: true,\n\n\t\t\t/** enable xaxis flag */\n\t\t\tshowXAxisFlag:\n\t\t\t\ttypeof params.showXAxisFlag === 'boolean'\n\t\t\t\t\t? params.showXAxisFlag\n\t\t\t\t\t: false,\n\n\t\t\t/** major currency flag (NXC-748) */\n\t\t\tshowMajorCurrency:\n\t\t\t\ttypeof params.showMajorCurrency === 'boolean'\n\t\t\t\t\t? params.showMajorCurrency\n\t\t\t\t\t: true,\n\n\t\t\t/** turn on lunch break labels */\n\t\t\tshowLunchBreakLabels:\n\t\t\t\ttypeof params.showLunchBreakLabels === 'boolean'\n\t\t\t\t\t? params.showLunchBreakLabels\n\t\t\t\t\t: false,\n\n\t\t\t/** turn on holiday/closure labels */\n\t\t\tshowClosureLabels:\n\t\t\t\ttypeof params.showClosureLabels === 'boolean'\n\t\t\t\t\t? params.showClosureLabels\n\t\t\t\t\t: false,\n\n\t\t\t/** Show market close labels on the X-axis. Possible values are shown in enums/modcharts. */\n\t\t\tshowMarketCloseLabels: params.showMarketCloseLabels\n\t\t\t\t? params.showMarketCloseLabels\n\t\t\t\t: null,\n\t\t\t\n\t\t\t/** Set the chart size manually */\n\t\t\tsize:\n\t\t\t\tparams.size\n\t\t\t\t\t? { ...params.size }\n\t\t\t\t\t: null,\n\n\t\t\t/** overall chart style vars */\n\t\t\tstyle: { ...(params.style || {}) },\n\n\t\t\t/** primary symbol */\n\t\t\tsymbol: (params.symbol && params.symbol.toString()) || '',\n\n\t\t\t/** array of comparison symbols */\n\t\t\tsymbolCompare: params.symbolCompare || [],\n\n\t\t\t/** allow custom initial tool params */\n\t\t\ttools: {...(params.tools || {})},\n\n\t\t\t/** Enable tool handle snapping */\n\t\t\ttoolSnapOHLC:\n\t\t\t\ttypeof params.toolSnapOHLC === 'boolean'\n\t\t\t\t\t? params.toolSnapOHLC\n\t\t\t\t\t: false,\n\n\t\t\t/** enable the use of longDoublePress crosshair tool (mobile only) */\n\t\t\ttoolReturnsCalculatorEnabled:\n\t\t\t\ttypeof params.toolReturnsCalculatorEnabled === 'boolean'\n\t\t\t\t\t? params.toolReturnsCalculatorEnabled\n\t\t\t\t\t: false,\n\n\t\t\t/** enable the use of longPress crosshair tool (mobile only) */\n\t\t\ttoolOHLCCrosshairEnabled:\n\t\t\t\ttypeof params.toolOHLCCrosshairEnabled === 'boolean'\n\t\t\t\t\t? params.toolOHLCCrosshairEnabled\n\t\t\t\t\t: false,\n\n\t\t\t/** optional usage reporting flag */\n\t\t\tusageReportingAppFeatureType:\n\t\t\t\tparams.usageReportingAppFeatureType || null,\n\n\n\t\t\t/** Rely on computed dimensions of panel DOM element to size each panel. */\n\t\t\tusePanelComputedHeight: !!params.usePanelComputedHeight,\n\n\t\t\t/**\n\t\t\t * Enable alternate short month labels on the XAxis\n\t\t\t */\n\t\t\txAxisShortMonths:\n\t\t\t\ttypeof params.xAxisShortMonths === 'boolean'\n\t\t\t\t\t? params.xAxisShortMonths\n\t\t\t\t\t: true,\n\n\t\t\t/**\n\t\t\t * Pass additional headers to data XHR request. expects an array in this format:\n\t\t\t * [{\"name\": \"header-x\", \"value\": \"value-1\"}, {\"name\": \"header-y\", \"value\": \"value-2\"}]\n\t\t\t */\n\t\t\txhrRequestHeaders: params.xhrRequestHeaders || [],\n\n\t\t\t/**\n\t\t\t * Pass cookies in cross-domain requests for chart data\n\t\t\t * Note: \"true\" requires MOD.Web.ChartAPI version 0.1.83-beta or higher\n\t\t\t */\n\t\t\txhrWithCredentials:\n\t\t\t\ttypeof params.xhrWithCredentials === 'boolean'\n\t\t\t\t\t? params.xhrWithCredentials\n\t\t\t\t\t: false,\n\n\t\t\t/** yAxis scale type */\n\t\t\tyAxisScale: params.yAxisScale || 'linear', // \"linear\", \"log\"\n\n\t\t\t/** Defines the side of the panel where the YAxis will be positioned */\n\t\t\tyAxisSide:\n\t\t\t\tparams.yAxisSide || 'right', // 'left', 'right'\n\n\t\t\t/** Duration (in ms) for zoom transitions */\n\t\t\tzoomDuration:\n\t\t\t\t!isNaN(params.zoomDuration)\n\t\t\t\t\t? params.zoomDuration\n\t\t\t\t\t: 350,\n\n\t\t\t/** Duration (in ms) for the zoom reset transition */\n\t\t\tzoomResetDuration:\n\t\t\t\t!isNaN(params.zoomResetDuration)\n\t\t\t\t\t? params.zoomResetDuration\n\t\t\t\t\t: 150,\n\n\t\t\t/** snap to a domain limit after zoom/pan event */\n\t\t\tzoomReset:\n\t\t\t\ttypeof params.zoomReset === 'boolean' ? params.zoomReset : true,\n\n\t\t\t/** is the zoomReset domain limited by the dataset or the XAxis ruler? */\n\t\t\tzoomResetBoundary:\n\t\t\t\tparams.zoomResetBoundary || 'ruler', // \"ruler\", \"dataset\"\n\n\t\t\t/** toggle ability to zoom/pan with mouse */\n\t\t\tzoomEnabled:\n\t\t\t\ttypeof params.zoomEnabled === 'boolean'\n\t\t\t\t\t? params.zoomEnabled\n\t\t\t\t\t: true\n\t\t};\n\n\t\t/** api auth mode */\n\t\tchartParams.apiAuthMode =\n\t\t\ttypeof params.apiAuthMode === 'string'\n\t\t\t\t? params.apiAuthMode\n\t\t\t\t: 'default';\n\n\t\t/** custom content-type */\n\t\tchartParams.apiContentType =\n\t\t\tparams.apiContentType || 'application/json';\n\n\t\t/** apiPath prefix for related API requests (save, load) */\n\t\tchartParams.apiPath = params.apiPath || 'https://cdn-api.markitdigital.com/apiman-gateway/MOD/chartworks-data/1.0/';\n\n\t\t/** API series action */\n\t\tchartParams.apiSeries = params.apiSeries || 'chartapi/series';\n\n\t\t/** location of chartAPI service */\n\t\tchartParams.chartAPI =\n\t\t\tparams.chartAPI || chartParams.apiPath + chartParams.apiSeries;\n\n\t\t// Update API paths to https so requests don't break\n\t\tconst apiCheck = ['apiPath', 'chartAPI'];\n\t\tapiCheck.forEach(param => {\n\t\t\tif (chartParams[param]) {\n\t\t\t\tconst apiParam = chartParams[param];\n\t\t\t\t// Does param begin with // instead of https?\n\t\t\t\tif (/^\\/\\//.test(apiParam)) {\n\t\t\t\t\tchartParams[param] = `https:${apiParam}`;\n\t\t\t\t}\n\t\t\t\t// Does param begin with http instead of https?\n\t\t\t\telse if (/^http:/.test(apiParam)) {\n\t\t\t\t\tchartParams[param] = `https:${apiParam.slice(4)}`;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/** constants based on params */\n\t\tthis.limitIntradayTrading = 21;\n\t\tthis.limitIntradayCalendar = 30;\n\t\tthis.limitInterday = chartParams.rulerInterdayStart;\n\n\t\t// deprecation notice\n\t\tif (chartParams.imgPath) this.warn('imgPath param is deprecated.');\n\n\t\t// Get all params from query string, merge them into chartParams\n\t\tif (window.location.search) {\n\t\t\t// Query string params will override all other params\n\t\t\tconst queryParams = new URLSearchParams(window.location.search);\n\n\t\t\tconst parseValue = value => {\n\t\t\t\tconst valueLowerCase = typeof value === 'string'\n\t\t\t\t\t? value.toLowerCase()\n\t\t\t\t\t: value;\n\t\t\t\t\t\n\t\t\t\tif (value === true || valueLowerCase === 'true') return true;\n\t\t\t\telse if (value === false || valueLowerCase === 'false') return false;\n\t\t\t\telse if (!isNaN(value)) return Number(value);\n\t\t\t\telse return value;\n\t\t\t};\n\n\t\t\tconst updateChartParams = params => {\n\t\t\t\tlet breakOutOfLoop = false;\n\t\t\t\tlet jsonParams;\n\n\t\t\t\tfor (const [key, value] of params) {\n\t\t\t\t\tswitch (key) {\n\t\t\t\t\t\tcase 'params':\n\t\t\t\t\t\t\t// Parse and sanitize JSON string\n\t\t\t\t\t\t\tjsonParams = JSON.parse(value) || {};\n\t\t\t\t\t\t\tif (jsonParams.enableQueryParams) delete jsonParams.enableQueryParams;\n\t\t\t\t\t\t\tif (jsonParams.params) delete jsonParams.params;\n\n\t\t\t\t\t\t\t// Add JSON params to chart\n\t\t\t\t\t\t\tupdateChartParams(Object.entries(jsonParams));\n\n\t\t\t\t\t\t\tbreakOutOfLoop = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'symbol':\n\t\t\t\t\t\t\t// Save as string\n\t\t\t\t\t\t\tchartParams[key] = String(value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'token':\n\t\t\t\t\t\t\t// Call setToken\n\t\t\t\t\t\t\tthis.setAuthToken(value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// Only merge if new value is object\n\t\t\t\t\t\t\tchartParams[key] = typeof value === 'object' && value !== null\n\t\t\t\t\t\t\t\t// Don't nullify other param properties if not passed in\n\t\t\t\t\t\t\t\t? merge({}, parseValue(value), chartParams[key])\n\t\t\t\t\t\t\t\t: parseValue(value);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't update any more params after handling 'params' case\n\t\t\t\t\tif (breakOutOfLoop) break;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (queryParams.get('enableQueryParams')) {\n\t\t\t\t// Don't add enableQueryParams to params\n\t\t\t\tqueryParams.delete('enableQueryParams');\n\n\t\t\t\tupdateChartParams(queryParams);\n\t\t\t}\n\t\t}\n\n\t\treturn chartParams;\n\t}\n\n\t/** FPS benchmark */\n\tgetFPS(sec = 3) {\n\t\tconst startDate = new Date().getTime();\n\t\tlet x = 0;\n\n\t\twhile (new Date().getTime() - startDate < sec * 1000) {\n\t\t\tthis.render();\n\t\t\tx++;\n\t\t}\n\n\t\treturn (x / sec).toFixed(2) + ' fps';\n\t}\n\n\t/**\n\t * Sets the overall chart size. The initial size is (width-of-node)px X 0px.\n\t * During resize, the size is set according to the following priority listed below.\n\t * @param {Boolean} setInitialSize - Whether or not to set the initial size\n\t */\n\tsetChartSize(setInitialSize = false) {\n\t\t/**\n\t\t * Chart sizing priority:\n\t\t * 1. Panel heights\n\t\t * 2. Chart size params\n\t\t * 3. Parent node dimensions\n\t\t * 4. Fallback dimensions\n\t\t */\n\n\t\t// Get root node dimensions\n\t\tconst rect = this.rootModchart.node().getBoundingClientRect();\n\n\t\t// Set initial chart size so that panel sizes can be properly calculated\n\t\tif (setInitialSize) {\n\t\t\tthis.size = { height: 0 };\n\n\t\t\tif (this.params.size) {\n\t\t\t\tthis.size.width = this.params.size.width;\n\t\t\t} else {\n\t\t\t\tthis.size.width = rect.width;\n\t\t\t}\n\t\t} else {\n\t\t\t// Is this check even necessary?\n\t\t\tconst allPanelsHaveHeights = \n\t\t\t\tthis.panels.length > 0 &&\n\t\t\t\tthis.panels.reduce(\n\t\t\t\t\t(status, panel) => status && !!panel.size.height,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\tif (\n\t\t\t\tthis.params.usePanelComputedHeight &&\n\t\t\t\tallPanelsHaveHeights\n\t\t\t) {\n\t\t\t\tconst totalHeight = this.panels.reduce((runningHeight, panel) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\trunningHeight +\n\t\t\t\t\t\tpanel.size.height +\n\t\t\t\t\t\tpanel.size.padding.bottom +\n\t\t\t\t\t\tpanel.size.padding.top +\n\t\t\t\t\t\tpanel.getPanelMarginBottom() +\n\t\t\t\t\t\tpanel.getPanelMarginTop()\n\t\t\t\t\t);\n\t\t\t\t}, 0);\n\n\t\t\t\tthis.size = {\n\t\t\t\t\theight: totalHeight,\n\t\t\t\t\twidth: rect.width\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Use manually set chart height/width\n\t\t\telse if (this.params.size) {\n\t\t\t\tthis.size = {\n\t\t\t\t\theight: this.params.size.height,\n\t\t\t\t\twidth: this.params.size.width\n\t\t\t\t};\n\t\t\t} \n\t\t\t// Use root node dimensions to size the chart\n\t\t\telse if (\n\t\t\t\trect.height > 0 &&\n\t\t\t\trect.width > 0\n\t\t\t) {\n\t\t\t\tthis.size = {\n\t\t\t\t\theight: rect.height,\n\t\t\t\t\twidth: rect.width\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Warn user that no height could be found, use fallback height\n\t\t\telse {\n\t\t\t\tthis.warn('No dimensions were specified for the chart or chart container. Using fallback dimensions.');\n\t\t\t\tthis.size = {\n\t\t\t\t\theight: 200,\n\t\t\t\t\twidth: rect.width\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Create DOM elements and some bindings\n\t */\n\tinitDOM() {\n\t\t// Apply required styles\n\t\tthis.rootModchart.style('position', 'relative');\n\n\t\t// Make sure chart has required classes\n\t\tthis.rootModchart.classed('modcharts-root modcharts-noselect', true);\n\n\t\tthis.setChartSize(true);\n\n\t\t// Add root messages element\n\t\tthis.rootMessages = this.rootModchart\n\t\t\t.append('div')\n\t\t\t.attr('class', 'modcharts-rootmessages');\n\n\t\t// Add the element to track mouse/touch events\n\t\tthis.rootMouse = this.rootModchart\n\t\t\t.append('div')\n\t\t\t.attr('class', 'modcharts-rootmouse')\n\t\t\t.attr('pointer-events', 'all')\n\t\t\t.style('width', this.size.width + 'px')\n\t\t\t.style('height', this.size.height + 'px')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('background-color', 'rgba(0, 0, 0, 0)');\n\n\t\t// Add resize handler\n\t\tthis._resizeHandler = () => { this.resizeHandler(); };\n\t\twindow.addEventListener('resize', this._resizeHandler);\n\n\t\t// Check for optional live debugging flag\n\t\tthis.updateDebugReference();\n\t}\n\n\t/** handle resizing of the window */\n\tresizeHandler() {\n\t\t// an immediate resize/render, followed by delayed resize/render, seems\n\t\t// to work more reliably cross-device than a single event.\n\t\tthis.resize();\n\t\tthis.renderQueue();\n\n\t\twindow.clearTimeout(this.resizeTimeout);\n\n\t\tthis.resizeTimeout = window.setTimeout(() => {\n\t\t\tthis.resize();\n\t\t\tthis.renderQueue();\n\t\t}, 15);\n\t\tthis.eventEmitter.emit(types$1.WINDOW_RESIZE);\n\t}\n\n\t/**\n\t * tear down js and dom in preparation for the chart instance to be removed\n\t * @method destroy\n\t */\n\tdestroy() {\n\t\t// cancel any active xhr\n\t\tif (this.xhrCancelSource) {\n\t\t\tthis.xhrCancelSource.cancel();\n\t\t}\n\t\tthis.dataXHR = null;\n\n\t\t// remove panel dom and js\n\t\tthis.removePanels();\n\n\t\t// null the bigger stored objects\n\t\tthis.state = null;\n\t\tthis.params = null;\n\t\tthis.timeService = null;\n\t\tthis.exchangeDates = null;\n\t\tthis.data = null;\n\t\tthis.dataPrimary = null;\n\n\t\t// remove root elements and unregister event handlers\n\t\tthis.rootMouse.remove();\n\t\tthis.rootMessages.remove();\n\n\t\t// unregister resize handler\n\t\twindow.removeEventListener('resize', this._resizeHandler);\n\n\t\t// clean up root node\n\t\tif (this.rootModchart.node()) {\n\t\t\tthis.rootModchart.node().innerHTML = '';\n\t\t}\n\t}\n\n\t/** Track temporary app states */\n\tgetChartState() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * optional X-MOD-ACCESS-TOKEN header to be added to ajax request headers. use setAccessToken() to set.\n\t\t\t * used when accessing an ApiAuthModule-based data API directly, bypassing the APIMAN gateway.\n\t\t\t */\n\t\t\taccessToken: null,\n\n\t\t\t/**\n\t\t\t * optional OAuth bearer token to be added to ajax request headers. use setAuthToken() to set.\n\t\t\t * used when accessing a data API through the APIMAN gateway.\n\t\t\t */\n\t\t\tauthToken: null,\n\n\t\t\t/** number of times data API has been loaded */\n\t\t\tdataLoadCount: 0,\n\n\t\t\t/** in debug mode (trigged by ?..modchartsdebug..=on or #..modchartsdebug..=on) */\n\t\t\tdebug: null,\n\n\t\t\t/** Whether or not normalized point domain adjustment occurred */\n\t\t\tdidNormalizedPointDomainAdjustment: false,\n\n\t\t\t/** the currently-dragged tool before mouseup */\n\t\t\tdragTool: null,\n\n\t\t\t/** in the middle of hovering over a panel resize bar */\n\t\t\thoverResizePanel: null,\n\n\t\t\t/** Used to track initial domain adjustment that takes places before the normalized point domain adjustment */\n\t\t\tinitialDomainAdjustment: [0, 0],\n\n\t\t\t/** Initial view zoom transform, to be used when resetting the chart to the initial view */\n\t\t\tinitialTransform: null,\n\n\t\t\t/** Flag for if chart is intraday */\n\t\t\tisIntraday: false,\n\n\t\t\t/** Save the present primary frame data to be used in calculating domain transforms */\n\t\t\tpresentDataPrimary: null,\n\n\t\t\t/** the panel currently being resized (the one below the currently-active resize bar) */\n\t\t\tresizePanel: null,\n\n\t\t\t/** current y value of mouse during panel resizing */\n\t\t\tresizePanelY: null,\n\n\t\t\t/**\n\t\t\t * if we're about to start drawing a tool or in the middle of drawing it, this will contain the tool's type (eg. \"line\")\n\t\t\t * note - this does not affect the selected state of the tool.\n\t\t\t */\n\t\t\ttoolmode: null,\n\n\t\t\t/** the currently-active tool object */\n\t\t\ttool: null,\n\n\t\t\t/** Store for intraday session information */\n\t\t\ttypicalSessions: null,\n\n\t\t\t/**\n\t\t\t * Flag to proceed with updating present scale domain. This should take place when\n\t\t\t * exchangeDates gets updated because the exchangeDates indices will change.\n\t\t\t */\n\t\t\tupdateXAxisPresentScaleDomain: false,\n\n\t\t\t/** Flag to use the dataPrimary collection when updating the xAxis present scale domain */\n\t\t\tuseDataPrimaryPresentScaleUpdate: false,\n\n\t\t\t/** Save the present xAxis scale to be used in calculating domain transforms */\n\t\t\txAxisPresentScale: null,\n\n\t\t\t/** in the middle of a zoom event */\n\t\t\tzooming: null\n\t\t};\n\t}\n\n\t/** Adds modcharts reference to window context for live debugging */\n\tupdateDebugReference() {\n\t\tlet isDebug = false;\n\n\t\t// Check query string for debug flag\n\t\tif (this.getParameterByName('..modchartsdebug..') === 'on') {\n\t\t\tisDebug = true;\n\t\t} else if (document.location.hash && document.location.hash.length) {\n\t\t\t// check hash values for debug flag\n\t\t\tconst hash = window.location.hash.substring(1).split('=');\n\n\t\t\tif (\n\t\t\t\thash.length === 2 &&\n\t\t\t\thash[0] === '..modchartsdebug..' &&\n\t\t\t\thash[1] === 'on'\n\t\t\t) {\n\t\t\t\tisDebug = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isDebug) {\n\t\t\tif (!window.ModchartsDebug) window.ModchartsDebug = [];\n\n\t\t\twindow.ModchartsDebug.push(this);\n\n\t\t\tthis.state.debug = true;\n\t\t}\n\t}\n\n\t/** timeFormat with locale rules */\n\ttimeFormat(specifier) {\n\t\tif (!this.state.locale) this.state.locale = formatLocale(this.locale);\n\t\tif (!this.state.timeFormatDefaultLocale) {\n\t\t\tthis.state.timeFormatDefaultLocale = timeFormatDefaultLocale(this.locale);\n\t\t}\n\n\t\treturn this.state.timeFormatDefaultLocale.format(specifier);\n\t}\n\n\t/** Return position information for chart elements */\n\tgetChartDimensions() {\n\t\tconst output = { panels: [] };\n\n\t\tthis.panels.forEach(panel => {\n\t\t\toutput.panels.push({\n\t\t\t\ttop: panel.size.top + panel.size.padding.top,\n\t\t\t\tleft: panel.size.padding.left,\n\t\t\t\theight: panel.size.height,\n\t\t\t\twidth: panel.size.width\n\t\t\t});\n\t\t});\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * return ratio between devicepixelratio and backingstoreratio\n\t * http://www.html5rocks.com/en/tutorials/canvas/hidpi/\n\t */\n\tgetScreenRatio() {\n\t\tif (!this.panels.length) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst rootContext = this.panels[0].rootContext;\n\t\tconst devicePixelRatio = window.devicePixelRatio || 1;\n\t\tconst backingStoreRatio =\n\t\t\t\trootContext.webkitBackingStorePixelRatio ||\n\t\t\t\trootContext.mozBackingStorePixelRatio ||\n\t\t\t\trootContext.msBackingStorePixelRatio ||\n\t\t\t\trootContext.oBackingStorePixelRatio ||\n\t\t\t\trootContext.backingStorePixelRatio ||\n\t\t\t\t1;\n\n\t\treturn devicePixelRatio / backingStoreRatio;\n\t}\n\n\t/**\n\t * cross-browser fullscreen\n\t * @method toggleFullScreen\n\t */\n\ttoggleFullScreen() {\n\t\tconst element = document.body;\n\n\t\t// Supports most browsers and their versions.\n\t\tconst requestMethod =\n\t\t\telement.requestFullScreen ||\n\t\t\telement.webkitRequestFullScreen ||\n\t\t\telement.mozRequestFullScreen ||\n\t\t\telement.msRequestFullscreen;\n\n\t\tif (requestMethod) {\n\t\t\t// Native full screen.\n\t\t\trequestMethod.call(element);\n\t\t} else if (typeof window.ActiveXObject !== 'undefined') {\n\t\t\t// Older IE.\n\t\t\tconst wscript = new window.ActiveXObject('WScript.Shell');\n\t\t\tif (wscript !== null) {\n\t\t\t\twscript.SendKeys('{F11}');\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Send warning to browser console */\n\twarn(msg) {\n\t\tif(!this.params.disableLogMessages) console.warn(msg);\n\t}\n\n\t/**\n\t * cross-browser window origin\n\t * @method getWindowOrigin\n\t */\n\tgetWindowOrigin() {\n\t\tlet windowOrigin = window.location.origin;\n\n\t\tif (!windowOrigin) {\n\t\t\twindowOrigin =\n\t\t\t\twindow.location.protocol +\n\t\t\t\t'//' +\n\t\t\t\twindow.location.hostname +\n\t\t\t\t(window.location.port ? ':' + window.location.port : '');\n\t\t}\n\n\t\treturn windowOrigin;\n\t}\n\n\t/**\n\t * return panel currently under mouse\n\t * @method getActivePanel\n\t * @param {Number[]} mouse - Mouse position information [x, y]\n\t */\n\tgetActivePanel(mouse) {\n\t\tlet activePanel = null;\n\n\t\tfor (const panel of this.panels) {\n\t\t\tif (\n\t\t\t\t!activePanel &&\n\t\t\t\tpanel.isWithin(mouse)\n\t\t\t) {\n\t\t\t\tactivePanel = panel;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn activePanel;\n\t}\n\n\t/** get primary indicator */\n\tgetPrimaryIndicator() {\n\t\treturn this.panels.length && this.panels[0].indicators.length\n\t\t\t? this.panels[0].indicators[0]\n\t\t\t: null;\n\t}\n\t\n\tget primaryIndicator() {\n\t\treturn this.panels.length && this.panels[0].indicators.length\n\t\t\t? this.panels[0].indicators[0]\n\t\t\t: null;\n\t}\n\n\t/**\n\t * Sets the markerType of the primary indicator\n\t * @param {priceMarkerTypes} type - The marker type for the price indicator\n\t */\n\tsetPriceMarkerType(type) {\n\t\tthis.primaryMarkerType = type;\n\t}\n\n\tset primaryMarkerType(type) {\n\t\tthis.primaryIndicator.markerType = type;\n\t}\n\n\tset primaryOhlcType(type) {\n\t\tthis.primaryIndicator.ohlcType = type;\n\t}\n\n\t/** Set all panel domains to the first panel's domain */\n\tnormalizePanelDomains() {\n\t\tconst firstPanel = this.panels[0];\n\t\tconst firstDomain = firstPanel.xAxis.primaryScale.domain();\n\n\t\tthis.panels.forEach(panel => {\n\t\t\tif (panel !== firstPanel) panel.xAxis.primaryScale.domain(firstDomain);\n\t\t});\n\t}\n\n\t/** snap date to the nearest following interval-adjusted date */\n\tgetNextIntervalMinute(date) {\n\t\twhile (date.getMinutes() % this.params.dataInterval !== 0) {\n\t\t\tdate.setMinutes(date.getMinutes() + 1);\n\t\t}\n\n\t\treturn date;\n\t}\n\n\t/**\n\t * receive a datapoint from external streamserver. this will either modify the last chart\n\t * datapoint or create a new one.\n\t *\n\t * the input datapoint object should contain these properties:\n\t\t{\n\t\t\t\"date\": 1404230760000,\n\t\t\t\"last\": 26.4,\n\t\t\t\"symbol\": \"36276\"\n\t\t}\n\t* optionally high and low and open can also be passed.\n\t* open will only be used when creating new datapoints.\n\t\t{\n\t\t\t\"date\": 1404230760000,\n\t\t\t\"last\": 26.4,\n\t\t\t\"high\": 26.72,\n\t\t\t\"low\": 24.23,\n\t\t\t\"open\": 24.23,\n\t\t\t\"symbol\": \"36276\"\n\t\t}\n\t* @method onStreamTrade\n\t*/\n\tonStreamTrade(datapoint) {\n\t\t// null checks\n\t\tif (\n\t\t\t!this.data ||\n\t\t\t!this.data[this.params.symbol] ||\n\t\t\t!datapoint ||\n\t\t\t!datapoint.date ||\n\t\t\t!datapoint.last\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// ignore streams that don't match the current symbol\n\t\tif (datapoint.symbol && datapoint.symbol !== this.params.symbol) {\n\t\t\treturn;\n\t\t}\n\n\t\t// ignore if streaming is currently suppressed\n\t\tif (this.isPollStreamSuppressed()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localDate = new Date(datapoint.date);\n\t\tconst panelNormalized = this.panels[0].isNormalized;\n\t\tlet newDate;\n\n\t\t// get adjusted date\n\t\tif (!this.state.isIntraday) {\n\t\t\tnewDate = new Date(localDate);\n\t\t\tnewDate.setHours(0);\n\t\t\tnewDate.setMinutes(0);\n\t\t\tnewDate.setSeconds(0);\n\t\t} else {\n\t\t\t// adjust for local tz offset\n\t\t\tlocalDate.setMinutes(\n\t\t\t\tlocalDate.getMinutes() + localDate.getTimezoneOffset()\n\t\t\t);\n\n\t\t\tnewDate = new Date(\n\t\t\t\tthis.exchangeDates[this.closestExchangeIndex(localDate)]\n\t\t\t);\n\n\t\t\tif (this.params.dataInterval > 1) {\n\t\t\t\tnewDate = this.getNextIntervalMinute(newDate);\n\t\t\t}\n\t\t}\n\n\t\tlet newClose = Number(datapoint.last);\n\t\tconst openDate = this.getExchangeOpenDate();\n\t\tconst datasetOHLC = this.dataPrimary;\n\t\tconst prevOHLC = datasetOHLC[datasetOHLC.length - 1];\n\t\tconst prevDate = prevOHLC.date;\n\t\tconst diffSec = Number(((newDate - prevDate) / 1000).toFixed(2));\n\t\tconst period = this.params.dataPeriod;\n\n\t\t// if panel is normalized, convert value\n\t\tif (panelNormalized) {\n\t\t\tnewClose = this.getNormalizedFromActual(newClose);\n\t\t}\n\n\t\tif (newDate >= prevDate) {\n\t\t\tif (openDate && newDate - openDate < 1000) {\n\t\t\t\t// skip datapoint if < 1 second from market open - since streamserver rounds to the nearest\n\t\t\t\t// second these events will appear exactly on market open, which will overlap the last bar of\n\t\t\t\t// the previous day if allowed to render.\n\t\t\t\tif (this.state.debug) {\n\t\t\t\t\tconsole.info('SKIP, mkt open');\n\t\t\t\t}\n\t\t\t} else if (newDate.getDate() !== prevDate.getDate()) {\n\t\t\t\t// prevent erroneous snapping to ruler point on the following trading day, which can happen\n\t\t\t\t// at market close\n\t\t\t\tif (this.state.debug) {\n\t\t\t\t\tconsole.info('SKIP, late');\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t(period === 'Minute' &&\n\t\t\t\t\tdiffSec < 60 * this.params.dataInterval) ||\n\t\t\t\t(period === 'Day' && diffSec < 86400) ||\n\t\t\t\t(period === 'Hour' && diffSec < 3600) ||\n\t\t\t\t(period === 'Week' && diffSec < 604800) ||\n\t\t\t\t(period === 'Month' && diffSec < 2678400)\n\t\t\t) {\n\t\t\t\t// if within current interval, merge new point into our last existing point.\n\t\t\t\t// note we ignore open here, since that's the open from a different, smaller rollup\n\t\t\t\t// (eg. a rollup of the last 250ms vs the fixed 1-minute buckets the chart uses)\n\t\t\t\tif (datapoint.high && datapoint.low) {\n\t\t\t\t\t// support high and low if available\n\t\t\t\t\tprevOHLC.close = newClose;\n\t\t\t\t\tprevOHLC.high = Math.max(\n\t\t\t\t\t\tprevOHLC.high,\n\t\t\t\t\t\tNumber(datapoint.high)\n\t\t\t\t\t);\n\t\t\t\t\tprevOHLC.low = Math.min(\n\t\t\t\t\t\tprevOHLC.low,\n\t\t\t\t\t\tNumber(datapoint.low)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// otherwise roll up high and low manually\n\t\t\t\t\tprevOHLC.close = newClose;\n\t\t\t\t\tprevOHLC.high = Math.max(prevOHLC.high, newClose);\n\t\t\t\t\tprevOHLC.low = Math.min(prevOHLC.low, newClose);\n\t\t\t\t}\n\n\t\t\t\t// render the update\n\t\t\t\tthis.renderQueue();\n\n\t\t\t\tif (this.state.debug) {\n\t\t\t\t\tconsole.info('REPLACE, last=' + newClose);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// date is beyond the interval of the last datapoint, so create a brand new point\n\t\t\t\tdatasetOHLC.push({\n\t\t\t\t\tdate: newDate,\n\t\t\t\t\topen: Number(datapoint.open || newClose),\n\t\t\t\t\tclose: newClose,\n\t\t\t\t\thigh: Number(datapoint.high || newClose),\n\t\t\t\t\tlow: Number(datapoint.low || newClose)\n\t\t\t\t});\n\n\t\t\t\t// render the update\n\t\t\t\tthis.renderQueue();\n\n\t\t\t\tif (this.state.debug) {\n\t\t\t\t\tconsole.info('APPEND, diff sec=' + diffSec);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// skip when streamed date is earlier than last known dataset date, this can happen at\n\t\t\t// the beginning of a stream due to timestamp differences between streamserver and quoteserver\n\t\t\tif (this.state.debug) {\n\t\t\t\tconsole.info('SKIP, early');\n\t\t\t}\n\t\t}\n\n\t\tif (this.state.debug) {\n\t\t\tconsole.log(' stream date', localDate);\n\t\t\tconsole.log('prev ohlc date', prevDate);\n\t\t\tconsole.log(' mkt open date', openDate);\n\t\t\tconsole.log(' new date', newDate);\n\t\t\tconsole.log(' diff sec', diffSec);\n\t\t\tconsole.log('');\n\t\t}\n\t}\n\n\t/**\n\t * get market open date for the current day in local exchange time\n\t */\n\tgetExchangeOpenDate() {\n\t\tconst d = new Date();\n\t\tconst openDate = new Date(\n\t\t\td.getFullYear(),\n\t\t\td.getMonth(),\n\t\t\td.getDate(),\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0\n\t\t);\n\n\t\ttry {\n\t\t\tconst typical = this.timeService.typicalSessions[d.getDay()];\n\t\t\tconst exchangeId = this.xref[this.params.symbol].exchangeId;\n\n\t\t\topenDate.setMinutes(typical.rulerSessions[exchangeId].open);\n\t\t} catch (e) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn openDate;\n\t}\n\n\t/**\n\t * @method startTestStream\n\t */\n\tstartTestStream(dateStart, ms) {\n\t\tif (!dateStart) {\n\t\t\tdateStart = new Date();\n\t\t\tdateStart.setDate(dateStart.getDate());\n\t\t\tdateStart.setHours(13 - dateStart.getTimezoneOffset() / 60);\n\t\t\tdateStart.setMinutes(30);\n\t\t\tdateStart.setSeconds(0);\n\t\t\tdateStart.setMilliseconds(250);\n\t\t}\n\n\t\tlet lastTrade = this.dataPrimary[this.dataPrimary.length - 1].close;\n\t\tlet tradeCount = 0;\n\t\tconst speed = 4;\n\n\t\tthis.stopTestStream();\n\n\t\tthis.testStreamInterval = window.setInterval(() => {\n\t\t\tlastTrade = lastTrade * (Math.random() > 0.5 ? 1.0001 : 0.9999);\n\n\t\t\tthis.onStreamTrade({\n\t\t\t\tdate: new Date(dateStart.setMilliseconds(speed * tradeCount++)),\n\t\t\t\tlast: lastTrade\n\t\t\t});\n\t\t}, ms || 1000);\n\t}\n\n\t/**\n\t * @method stopTestStream\n\t */\n\tstopTestStream() {\n\t\tif (this.testStreamInterval) {\n\t\t\twindow.clearInterval(this.testStreamInterval);\n\t\t}\n\t}\n\n\t/**\n\t * Empty out the primary domain. This is usually done ahead of a data request that will require an entirely new timeframe or symbol with different tradingdays.\n\t * the domain will then be reconstructed against the new data in getDefaultDomain.\n\t * @param {boolean} updateXAxisPresentScaleDomain - Flag to update the xAxis present scale domain\n\t * @param {boolean} useDataPrimaryPresentScaleUpdate - Flag to use the present dataPrimary collection for the present scale update\n\t */\n\tresetDomain(updateXAxisPresentScaleDomain = true, useDataPrimaryPresentScaleUpdate = false) {\n\t\tif (this.panels.length) {\n\t\t\tthis.panels[0].xAxis.primaryScale.domain([0, 0]);\n\t\t\tthis.state.updateXAxisPresentScaleDomain = updateXAxisPresentScaleDomain;\n\t\t\tthis.state.useDataPrimaryPresentScaleUpdate = useDataPrimaryPresentScaleUpdate;\n\t\t}\n\t}\n\n\t/**\n\t * @method setLocale\n\t */\n\tsetLocale(locale) {\n\t\tthis.locale = locale;\n\t\tthis.params.locale = locale;\n\t\tthis.state.locale = null;\n\t\tthis.state.timeFormatDefaultLocale = null;\n\t\t\n\t\tif (this.panels && this.panels.length) {\n\t\t\t// regenerate labels\n\t\t\tthis.panels[0].xAxis.labeler._createLabels();\n\t\t}\n\t}\n\n\t/**\n\t * @method setAuthToken\n\t * sets an authorization token to be added to ajax request headers\n\t */\n\tsetAuthToken(token) {\n\t\tthis.state.authToken = token;\n\t}\n\n\t/**\n\t * @method setAccessToken\n\t * sets an authorization token to be added to ajax request headers\n\t */\n\tsetAccessToken(token) {\n\t\tthis.state.accessToken = token;\n\t}\n\n\t/**\n\t * Changes the mouse cursor to the type passed in by updating the chart classes\n\t */\n\tsetCursor(id) {\n\t\tif (this.cursor === id) return;\n\n\t\tthis.cursor = id;\n\t\tif (!this.rootModchart.classed(`modcharts-cursor-${id}`)) {\n\t\t\t// remove old class\n\t\t\tObject.values(types).forEach(cursorType => {\n\t\t\t\tthis.rootModchart.classed(`modcharts-cursor-${cursorType}`, false);\n\t\t\t});\n\n\t\t\tthis.rootModchart.classed(`modcharts-cursor-${id}`, true);\n\t\t}\n\t\tthis.eventEmitter.emit(types$1.CURSOR_CHANGE, { cursor: this.cursor });\n\t}\n\n\t/**\n\t * Clear out old symbolCompare values and indicators and add new ones\n\t * @param {Number[]} newSymbolCompare - Array of new comparison symbol XID's\n\t */\n\tsetSymbolCompare(newSymbolCompare, compareStyles = []) {\n\t\t// symbolCompare should be an array\n\t\tif (typeof newSymbolCompare !== 'object') {\n\t\t\tthis.warn('Invalid comparison symbols');\n\t\t\treturn;\n\t\t}\n\n\t\tconst { symbolCompare } = this.params;\n\n\t\t// Change XID's to strings\n\t\tnewSymbolCompare = newSymbolCompare.map(s => String(s));\n\n\t\t// Remove symbol from this.params.symbolCompare if not in new symbolCompare collection\n\t\tconst removedSymbols = [];\n\t\tsymbolCompare.forEach((symbol, index) => {\n\t\t\tif (!newSymbolCompare.includes(symbol)) {\n\t\t\t\tconst removedSymbol = symbolCompare.splice(index, 1)[0];\n\t\t\t\tremovedSymbols.push(removedSymbol);\n\n\t\t\t\t// Also remove any price indicators associated with this symbol\n\t\t\t\tthis.panels.forEach(panel => {\n\t\t\t\t\tfor (const i of panel.indicators) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ti.params.symbol &&\n\t\t\t\t\t\t\ti.params.symbol === removedSymbol\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tpanel.removeIndicator(i);\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\n\t\t// Add new comparison symbols in to collection\n\t\tconst newIndicators = [];\n\t\tnewSymbolCompare.forEach((symbol, index) => {\n\t\t\tif (!symbolCompare.includes(symbol)) {\n\t\t\t\tsymbolCompare.push(symbol);\n\n\t\t\t\t// Add new indicator to collection\n\t\t\t\tnewIndicators.push({\n\t\t\t\t\tid: 'price', // Consider switching to ENUM value\n\t\t\t\t\tstyle: compareStyles[index] || {},\n\t\t\t\t\tsymbol\n\t\t\t\t});\n\t\t\t\tthis.eventEmitter.emit(types$1.COMPARISON_ADD, { issueId: symbol });\n\t\t\t}\n\t\t});\n\n\t\t// Add new indicators if upper panel exists\n\t\tif (this.panels[0])\tthis.panels[0].addIndicators(newIndicators);\n\n\t\tif (removedSymbols.length || newIndicators.length) {\n\t\t\t// Reset the domain since the new request can have different exchangeDates and will make the old domain invalid.\n\t\t\t// Update the domain for the present xAxis scale since the old exchangeDates indicies are no longer valid (CH-1719)\n\t\t\tthis.resetDomain(true, true);\n\t\t}\n\t}\n\n\t/**\n\t * Setter for the dateStart/dateStop chart params. Input dates should be parseable as JS dates.\n\t * @param {Date} dateStart - Starting date of range\n\t * @param {Date} dateStop - Ending date of range\n\t */\n\tsetDateRange(dateStart, dateStop) {\n\t\t// Transform arguments into JS dates\n\t\tdateStart = new Date(dateStart);\n\t\tdateStop = new Date(dateStop);\n\n\t\t// Enforce that start is always earlier than stop\n\t\tlet minDate = new Date(Math.min(dateStart, dateStop));\n\t\tlet maxDate = new Date(Math.max(dateStart, dateStop));\n\t\t\n\t\tconst dateLimit = new Date().setDate(\n\t\t\tnew Date().getDate() - this.limitInterday\n\t\t);\n\n\t\tminDate = new Date(Math.max(minDate, dateLimit));\n\t\tmaxDate = new Date(Math.min(maxDate, new Date()));\n\n\t\t// adjust for local tz offset\n\t\tminDate.setMinutes(minDate.getMinutes() + minDate.getTimezoneOffset());\n\t\tmaxDate.setMinutes(maxDate.getMinutes() + maxDate.getTimezoneOffset());\n\n\t\t// custom intraday ranges should extend to midnight of max day (NXC-572)\n\t\tconst limitIntradayCalendarMs = this.limitIntradayCalendar * 1000 * 60 * 60 * 24;\n\t\tif (maxDate.getTime() - minDate.getTime() <= limitIntradayCalendarMs) {\n\t\t\tmaxDate.setHours(0, 0, 0, 0);\n\t\t\tmaxDate.setDate(maxDate.getDate() + 1);\n\t\t}\n\n\t\tthis.params.dateStart = minDate;\n\t\tthis.params.dateStop = maxDate;\n\t\tthis.params.days = null;\n\n\t\t// Reset domain - will be repopulated next time getDefaultDomain runs\n\t\tthis.resetDomain();\n\n\t\t// Clear the initial transform since a custom date range has been set and it will need to be redefined\n\t\tthis.state.initialTransform = null;\n\t}\n\n\t/**\n\t * Update the number of days to be used when requesting data\n\t * @param {number} days - The number of days to be used \n\t */\n\tsetDays(days) {\tthis.days = days; }\n\tset days(days) {\n\t\tthis.resetDomain(false); // Don't update the present xAxis scale\n\t\tthis.params.dateStart = null;\n\t\tthis.params.dateStop = null;\n\t\tthis.params.days = days;\n\t\tthis.eventEmitter.emit(types$1.TIME_SERIES_SET, {\n\t\t\tdays: this.params.days,\n\t\t\tinterval: this.params.dataInterval,\n\t\t\tperiod: this.params.dataPeriod\n\t\t});\n\t}\n\n\t/**\n\t * Update the data interval to be used when requesting data\n\t * @param {number} interval - The interval to be used \n\t */\n\tsetDataInterval(interval) {\tthis.dataInterval = interval; }\n\tset dataInterval(interval) {\n\t\tthis.params.dataInterval = interval;\n\t\tthis.eventEmitter.emit(types$1.TIME_SERIES_SET, {\n\t\t\tdays: this.params.days,\n\t\t\tinterval: this.params.dataInterval,\n\t\t\tperiod: this.params.dataPeriod\n\t\t});\n\t}\n\n\t/**\n\t * Update the data period to be used when requesting data ('Minute', 'Hour', etc.)\n\t * @param {string} period - The period to be used \n\t */\n\tsetDataPeriod(period) { this.dataPeriod = period; }\n\tset dataPeriod(period) {\n\t\tthis.params.dataPeriod = period;\n\t\tthis.eventEmitter.emit(types$1.TIME_SERIES_SET, {\n\t\t\tdays: this.params.days,\n\t\t\tinterval: this.params.dataInterval,\n\t\t\tperiod: this.params.dataPeriod\n\t\t});\n\t}\n\n\t/**\n\t * set new primary symbol and reset price indicators params.symbol\n\t * @param {string} symbol - The XID for the current selected symbol\n\t */\n\tsetSymbol(symbol) { this.symbol = symbol; }\n\tset symbol(symbol) {\n\t\tsymbol = String(symbol || '');\n\n\t\tif (this.params.symbol === symbol || !this.panels.length) return;\n\n\t\tthis.resetDomain();\n\n\t\tlet i;\n\t\tconst ind = this.panels[0].indicators;\n\n\t\tfor (i = ind.length - 1; i >= 0; i--) {\n\t\t\tif (ind[i].params.symbol === symbol) {\n\t\t\t\t// remove old comparison if it is of the new symbol\n\t\t\t\tthis.panels[0].removeIndicator(ind[i]);\n\t\t\t} else if (ind[i].params.symbol === this.params.symbol) {\n\t\t\t\t// switch older primary symbol in applicable indicators to the new symbol\n\t\t\t\tind[i].params.symbol = symbol;\n\t\t\t}\n\t\t}\n\n\t\tconst index = this.params.symbolCompare.indexOf(symbol);\n\n\t\tif (index > -1) this.params.symbolCompare.splice(index, 1);\n\n\t\tthis.params.symbol = symbol;\n\n\t}\n\n\t/**\n\t * setter for params.extendedHours\n\t */\n\tsetExtendedHours(isEnabled) {\n\t\tif (typeof isEnabled === 'boolean') {\n\t\t\tthis.params.extendedHours = isEnabled;\n\t\t\tthis.resetDomain();\n\t\t}\n\t}\n\n\t/**\n\t * setter for params.extendedHoursDurationPre/Post\n\t */\n\tsetExtendedHoursDuration(pre, post) {\n\t\tthis.params.extendedHoursDurationPre = pre;\n\t\tthis.params.extendedHoursDurationPost = post;\n\t\tthis.resetDomain();\n\t}\n\n\t/**\n\t * Returns style info for the given selector from the overall styleMap\n\t * @param {string} selector - Selector to use when getting style (eg. 'panel.padding.right')\n\t * @return {string|number} The style found in the styleMap\n\t */\n\tgetStyle(selector) {\n\t\tconst val = get(this.styleMap, selector);\n\t\tif (typeof val === 'undefined') {\n\t\t\tthis.warn(`Style not found for selector: ${selector}`);\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t * get all datasets for a given symbol and data type (price, sma etc.)\n\t * one use of this is to grab the first price dataset for the primary chart symbol so that a legend can display OHLC info.\n\t * @method getDataByType\n\t * @returns {array}\n\t */\n\tgetDataByType(symbol, type, symbolData) {\n\t\tif (!this.data) return [];\n\n\t\tconst indicators = [];\n\n\t\tif (!symbolData) {\n\t\t\tsymbolData = this.data[symbol || this.params.symbol] || {};\n\t\t}\n\t\t\n\t\tconst data = symbolData[type] || {};\n\t\tObject.values(data).forEach(val => {\n\t\t\tindicators.push(val);\n\t\t});\n\n\t\treturn indicators;\n\t}\n\n\t/**\n\t * add a new panel object to panels collection\n\t * @param {object} params\n\t * @method addPanel\n\t * @return {Panel}\n\t */\n\taddPanel(params = {}) {\n\t\tconst panel = new Panel();\n\n\t\tthis.panels.push(panel);\n\n\t\tpanel.init(this, params);\n\n\t\tthis.combineXAxes();\n\n\t\tif (!params.size || !params.size.heightPct) {\n\t\t\tthis.updatePanelHeightPercents();\n\t\t}\n\n\t\treturn panel;\n\t}\n\n\t/**\n\t * remove panel object from panels collection\n\t * @method removePanel\n\t * @param {Panel} panel\n\t */\n\tremovePanel(panelToRemove) {\n\t\tif (panelToRemove && panelToRemove.remove) {\n\t\t\tfor (const panel of this.panels) {\n\t\t\t\tif (panel === panelToRemove) {\n\t\t\t\t\tconst { uid } = panel.params;\n\t\t\t\t\tpanelToRemove.remove();\n\t\t\t\t\tthis.panels = this.panels.filter(p => p.params.uid !== uid);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tthis.combineXAxes();\n\t\t\tthis.updatePanelHeightPercents();\n\t\t}\n\t}\n\n\t/** Set size.heightPct value for each panel */\n\tupdatePanelHeightPercents() {\n\t\tlet isUpper = false;\n\t\tconst numPanels = this.panels.length;\n\t\tlet lowerPct = 0.0;\n\t\tlet upperPct = 0.0;\n\n\t\tif (this.params.panelHeightPctLower && numPanels > 1) {\n\t\t\t// custom lower percent\n\n\t\t\tlowerPct = this.params.panelHeightPctLower;\n\t\t\tupperPct = 1.0 - lowerPct * (this.panels.length - 1);\n\n\t\t\t// enforce a minimum upper percent, in case there are lots of lowers\n\t\t\tif (upperPct < this.params.panelHeightPctMinUpper) {\n\t\t\t\tupperPct = this.params.panelHeightPctMinUpper;\n\t\t\t\tlowerPct = (1.0 - upperPct) / (this.panels.length - 1);\n\t\t\t}\n\n\t\t\tthis.panels.forEach(panel => {\n\t\t\t\tpanel.size.heightPct = panel.isUpper ? upperPct : lowerPct;\n\t\t\t});\n\t\t} else {\n\t\t\t// default: upper panel percent is twice the lower panel percent\n\n\t\t\tlowerPct = 1.0 / (numPanels + 1);\n\t\t\tupperPct = lowerPct * 2;\n\n\t\t\tthis.panels.forEach(panel => {\n\t\t\t\tisUpper = panel.isUpper;\n\n\t\t\t\tif (isUpper && numPanels === 1) {\n\t\t\t\t\tpanel.size.heightPct = 1;\n\t\t\t\t\tpanel.params.size.heightPct = null;\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tpanel.size.heightPct = isUpper ? upperPct : lowerPct;\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * modify the padding of all panels so that only\n\t * specified panels contains an x-axis\n\t * @method combineXAxes\n\t */\n\tcombineXAxes() {\n\t\tthis.panels.forEach(panel => {\n\t\t\tpanel.size.padding.bottom = panel.xAxis.hasAxis()\n\t\t\t\t? panel.params.style.padding.bottom\n\t\t\t\t: 0;\n\t\t});\n\t}\n\n\t/**\n\t * Gets the numeric index of a Panel from the panels array\n\t * @param {Panel} panel - The panel to search for\n\t * @return {number}\n\t */\n\tgetPanelIndex(panel) {\n\t\treturn this.panels.indexOf(panel);\n\t}\n\n\t/**\n\t * Remove all indicators by panel type (upper/lower)\n\t */\n\tremoveIndicatorsByPanelType(panelType) {\n\t\tif (panelType === 'lower') {\n\t\t\tthis.removeLowerIndicators();\n\t\t} else if (panelType === 'upper') {\n\t\t\tthis.removeUpperIndicators();\n\t\t}\n\t}\n\n\t/**\n\t * Remove all indicators by id (\"sma\", \"bollinger\", etc.)\n\t */\n\tremoveIndicatorsById(indicatorId) {\n\t\t// remove matching lowers\n\t\tthis.removeLowerIndicators({ indicatorId: indicatorId });\n\n\t\t// remove matching uppers\n\t\tthis.removeUpperIndicators({ indicatorId: indicatorId });\n\t}\n\n\t/** Set loading state to true. Adds class to root chart element. */\n\tloadingStart() {\n\t\twindow.clearTimeout(this.loadingStartTimeout);\n\n\t\tthis.loadingStartTimeout = window.setTimeout(() => {\n\t\t\tthis.clearMessage();\n\t\t\tthis.rootModchart.classed('modcharts-root-loading', true);\n\t\t}, 150);\n\t\tthis.eventEmitter.emit(types$1.LOAD_START);\n\t}\n\n\t/** Set loading state to false. Removes class from root chart element. */\n\tloadingStop() {\n\t\twindow.clearTimeout(this.loadingStartTimeout);\n\n\t\tif (this.rootTools) this.rootTools.show();\n\n\t\tthis.rootModchart.classed('modcharts-root-loading', false);\n\t\tthis.eventEmitter.emit(types$1.LOAD_STOP);\n\t}\n\n\t/**\n\t * Get specified value from URL query string\n\t * @param {string} name - Name of variable to search for\n\t * @param {string} search - Query string to search through\n\t * @return {boolean|string} Value of variable from query string or false\n\t */\n\tgetParameterByName(name, search = window.location.search) {\n\t\tconst queryParams = new URLSearchParams(search);\n\t\treturn queryParams.has(name) && queryParams.get(name);\n\t}\n\n\t/** Update any component with a dynamic size */\n\tresize() {\n\t\t// Set the chart size here to catch if switching from panel computed heights\n\t\tthis.setChartSize();\n\t\t\n\t\tthis.combineXAxes();\n\n\t\tthis.panels.forEach(panel => panel.resize());\n\t\t\n\t\t// Set the chart size here to reflect new panel sizes\n\t\tthis.setChartSize();\n\n\t\tif (!this.params.size) {\n\t\t\tthis.rootMouse.style('width', this.size.width + 'px');\n\t\t\tthis.rootMouse.style('height', this.size.height + 'px');\n\t\t}\n\n\t\tthis.eventEmitter.emit(types$1.RESIZE);\n\t}\n\n\t/**\n\t * filter main dataset by current timerange\n\t * update all panel scales against primary scale\n\t * render panels\n\t */\n\trender(args = {}) {\n\t\tif (!this.panels.length) {\n\t\t\t/*this.warn(\"No panels to render\");*/ return;\n\t\t}\n\t\tif (!this.dataPrimary) {\n\t\t\t/*this.warn(\"No data available to panels\");*/ return;\n\t\t}\n\t\tif (!this.exchangeDates || !this.exchangeDates.length) {\n\t\t\t/*this.warn(\"No exchange dates\");*/ return;\n\t\t}\n\n\t\t// get min/max idx for data itself (not dates)\n\t\tconst data = this.params.customData ? this._getCustomFrameData() : this._getFrameData();\n\n\t\t// update panels x domain / ranges\n\t\tthis.normalizePanelDomains();\n\n\t\t// update panels y domain / range\n\t\tthis.panels.forEach((panel, i) => {\n\t\t\tpanel.configureAxes(i);\n\t\t});\n\n\t\t// generate subset of labels to draw\n\t\tconst filteredLabels = this.panels[0].xAxis.labeler.filterLabels();\n\n\t\t// empty out panels in preparation for new content\n\t\tthis.clearPanels();\n\n\t\t// render holiday/lunch labels\n\t\tif (\n\t\t\tthis.state.isIntraday &&\n\t\t\tthis.params.showLunchBreakLabels &&\n\t\t\tthis.panels.length\n\t\t) {\n\t\t\tthis.panels[0].renderLunchBreaks(data);\n\t\t}\n\n\t\t// Render panels\n\t\tthis.panels.forEach(panel => panel.render(data, filteredLabels, args.clipWidth));\n\n\t\tconst eventEmitterData = { domain: this.panels[0].xAxis.primaryScale.domain() };\n\t\tif (data[this.params.symbol] && data[this.params.symbol].price) {\n\t\t\t// Store off data subset for quick lookups later (crosshair uses this)\n\t\t\tconst firstDataset = this.getFirstDataset(data[this.params.symbol].price);\n\t\t\tthis.dataFrame = firstDataset;\n\n\t\t\t// Add primary data from chart frame to event emitter\n\t\t\teventEmitterData.dataFrame = firstDataset;\n\t\t}\n\n\t\tthis.eventEmitter.emit(types$1.RENDER, eventEmitterData);\n\t}\n\n\t/** Wrapping the render in a requestAnimationFrame */\n\trenderQueue() {\n\t\tif (window.requestAnimationFrame) {\n\t\t\twindow.cancelAnimationFrame(this.renderAnimFrame);\n\n\t\t\tthis.renderAnimFrame = window.requestAnimationFrame(() => this.render());\n\t\t} else {\n\t\t\tthis.render();\n\t\t}\n\t}\n\n\t/** Call render repeatedly with an animated clip region */\n\tanimate(duration, onComplete) {\n\t\t// cubic easing in/out (http://gizma.com/easing/)\n\t\tfunction easing(t, b, c, d) {\n\t\t\tt /= d / 2;\n\t\t\tif (t < 1) {\n\t\t\t\treturn (c / 2) * t * t * t + b;\n\t\t\t}\n\t\t\tt -= 2;\n\t\t\treturn (c / 2) * (t * t * t + 2) + b;\n\t\t}\n\n\t\tconst renderFrame = () => {\n\t\t\tconst diffTime = currTime - startTime;\n\t\t\tif (diffTime < duration) {\n\t\t\t\tthis.render({\n\t\t\t\t\tclipWidth: easing(diffTime, 0, 1, duration)\n\t\t\t\t});\n\n\t\t\t\tcurrTime = new Date().getTime();\n\n\t\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\t\twindow.requestAnimationFrame(renderFrame);\n\t\t\t\t} else {\n\t\t\t\t\trenderFrame();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// prevent errors when chart is destroyed before animation is complete\n\t\t\t\ttry {\n\t\t\t\t\tthis.render();\n\t\t\t\t\tthis.state.isAnimating = false;\n\n\t\t\t\t\t// restore zoom/pan\n\t\t\t\t\tthis.setZoomEnabled(zoomEnabled);\n\n\t\t\t\t\tif (onComplete)\tonComplete();\n\t\t\t\t} catch(e) {\n\t\t\t\t\tconsole.warn('Animation cancelled');\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst startTime = new Date().getTime();\n\t\tlet currTime = startTime;\n\t\tconst zoomEnabled = this.params.zoomEnabled;\n\n\t\t// set duration of animation\n\t\tduration = duration || this.params.animationDuration;\n\n\t\tthis.state.isAnimating = true;\n\n\t\t// disable zoom/pan\n\t\tthis.setZoomEnabled(false);\n\n\t\t// kick off animation\n\t\twindow.requestAnimationFrame(renderFrame);\n\t}\n\n\t/** Deletes all panels from panels collection */\n\tremovePanels() {\n\t\tthis.panels.slice().reverse().forEach(panel => this.removePanel(panel));\n\t}\n\n\t/** Clears all panel canvases */\n\tclearPanels() {\n\t\tthis.panels.forEach(panel => panel.clearPanel());\n\t}\n\n\t/**\n\t * @method concealLegends\n\t */\n\tconcealLegends() {\n\t\tthis.panels.forEach(panel => {\n\t\t\tpanel.concealLegend();\n\t\t});\n\t}\n\n\t/**\n\t * @method revealLegends\n\t */\n\trevealLegends() {\n\t\tthis.panels.forEach(panel => {\n\t\t\tpanel.revealLegend();\n\t\t});\n\t}\n\n\t/**\n\t * save all customized chart params to a portable JSON string\n\t * @method save\n\t * @return {string}\n\t */\n\tasync save(noStore = true, name, onComplete) {\n\t\tconst save = {\n\t\t\tparams: { ...this.params },\n\t\t\tpanels: [],\n\t\t\tmetaData: {}\n\t\t};\n\n\t\t// Get JSON for each panels\n\t\tthis.panels.forEach(panel => {\n\t\t\tconst panelJSON = panel.toJSON();\n\t\t\tsave.panels.push(panelJSON);\n\t\t});\n\n\t\t// Get chart meta data\n\t\tsave.metaData = { ...this.metaData };\n\n\t\t// Decide if chart should be saved in cloud\n\t\tif (!noStore) {\n\t\t\treturn await this.saveData(save, name, onComplete);\n\t\t} else {\n\t\t\treturn await Promise.resolve(save);\n\t\t}\n\t}\n\n\t/**\n\t * make ajax call to ChartApi/Save endpoint with blob of JSON\n\t */\n\tasync saveData(save, name = 'Saved Chart', args = {}) {\n\t\tconst message = window.encodeURIComponent(JSON.stringify(save));\n\t\tconst errMsg = \"Can't complete saveData request\";\n\n\t\tname = window.encodeURIComponent(name);\n\n\t\ttry {\n\t\t\tconst response = await axios.post(\n\t\t\t\t`${this.params.apiPath}ChartApi/Save`,\n\t\t\t\t`name=${name}&json=${message}`,\n\t\t\t\t{ headers: this._getXHRHeaders('application/x-www-form-urlencoded') }\n\t\t\t);\n\n\t\t\tconst result = this.parseDebugInfo(response.request.responseText);\n\t\t\tif (result.Id) {\n\t\t\t\tthis.eventEmitter.emit(types$1.SAVE_COMPLETE, {\n\t\t\t\t\tid: result.Id,\n\t\t\t\t\tsave,\n\t\t\t\t\tresult,\n\t\t\t\t\targs\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tid: result.Id,\n\t\t\t\t\tsave,\n\t\t\t\t\tresult,\n\t\t\t\t\targs\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthrow new Error(\n\t\t\t\t\terrMsg\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\terror.message ||\n\t\t\t\terrMsg\n\t\t\t);\n\t\t}\n\t} \n\n\t/**\n\t * make ajax call to ChartApi/SaveTemplate endpoint with blob of JSON\n\t */\n\tasync saveTemplateData(save, args = {}) {\t\t\n\t\tconst name = window.encodeURIComponent(args.name || 'Saved Template');\n\t\tconst message = window.encodeURIComponent(JSON.stringify(save));\n\t\tconst errMsg = \"Can't complete saveTemplateData request\";\n\n\n\t\tconst qsArgs = [\n\t\t\t'name=' + name,\n\t\t\t'json=' + message,\n\t\t\t'isDefault=' +\n\t\t\t\tString(\n\t\t\t\t\ttypeof args.isDefault === 'boolean'\n\t\t\t\t\t\t? args.isDefault\n\t\t\t\t\t\t: false\n\t\t\t\t)\n\t\t];\n\n\t\ttry {\n\t\t\tconst response = await axios.post(\n\t\t\t\t`${this.params.apiPath}ChartApi/SaveTemplate`,\n\t\t\t\tqsArgs.join('&'),\n\t\t\t\t{ headers: this._getXHRHeaders('application/x-www-form-urlencoded') }\n\t\t\t);\n\n\t\t\tconst result = this.parseDebugInfo(response.request.responseText);\n\t\t\tif (result.Id) {\n\t\t\t\tthis.eventEmitter.emit(types$1.TEMPLATE_SAVE_COMPLETE, {\n\t\t\t\t\tid: result.Id,\n\t\t\t\t\tsave,\n\t\t\t\t\tresult,\n\t\t\t\t\targs\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tid: result.Id,\n\t\t\t\t\tsave,\n\t\t\t\t\tresult,\n\t\t\t\t\targs\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthrow new Error(\n\t\t\t\t\terrMsg\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\terror.message ||\n\t\t\t\terrMsg\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * save chart template\n\t */\n\tasync saveTemplate(noStore = true, name = 'Saved Template', args = {}) {\n\t\tconst saveData = await this.save();\n\t\tconst skipIndicators = ['horizontalannotation'];\n\t\tlet panelStyle = {};\n\n\t\t// only save selected params\n\t\tconst templateParams = {\n\t\t\tdataInterval: saveData.params.dataInterval,\n\t\t\tdataPeriod: saveData.params.dataPeriod,\n\t\t\tsymbolCompare: saveData.params.symbolCompare,\n\t\t\tpanelHeightUpper: saveData.params.panelHeightUpper,\n\t\t\tpanelHeightLower: saveData.params.panelHeightLower,\n\t\t\tpanelXAxis: saveData.params.panelXAxis,\n\t\t\tyAxisScale: saveData.params.yAxisScale,\n\t\t\textendedHours: saveData.params.extendedHours,\n\t\t\tshowComponentSeriesFlags: saveData.params.showComponentSeriesFlags,\n\t\t\tshowXAxisFlag: saveData.params.showXAxisFlag,\n\t\t\thiddenLowers: saveData.params.hiddenLowers\n\t\t};\n\n\t\t// save either date range or days\n\t\tif (saveData.params.dateStart && saveData.params.dateStop) {\n\t\t\ttemplateParams.dateStart = new Date(saveData.params.dateStart);\n\t\t\ttemplateParams.dateStop = new Date(saveData.params.dateStop);\n\t\t} else if (saveData.params.days) {\n\t\t\ttemplateParams.days = saveData.params.days;\n\t\t}\n\n\t\tsaveData.params = {};\n\n\t\t// meta data\n\t\tsaveData.metaData = { ...{}, ...this.metaData };\n\n\t\t// templateParams\n\t\tObject.keys(templateParams).forEach(paramKey => {\n\t\t\tconst paramValue = templateParams[paramKey];\n\t\t\tsaveData.params[paramKey] = paramValue;\n\t\t});\n\n\t\t// panels\n\t\tsaveData.panels.forEach(panel => {\n\t\t\tif (args.panelStyles === 'all') {\n\t\t\t\t// save all panel styles (useful if chart was not relying on CSS for styling)\n\t\t\t\tpanelStyle = { ...{}, ...panel.params.style };\n\t\t\t} else {\n\t\t\t\t// only save selected panel styles\n\t\t\t\tconst { padding } = panel.params.style.yAxis;\n\t\t\t\tpanelStyle = {\n\t\t\t\t\tyAxis: { ...padding }\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tpanel.params.style = panelStyle;\n\n\t\t\t// set (only) primary symbol params to -1 so they will be dynamic when loadTemplate is called.\n\t\t\t// non-primary symbols will be retained as comparisons. (see NXC-566)\n\t\t\tfor (let x = panel.indicators.length - 1; x >= 0; x--) {\n\t\t\t\t// don't save certain indicators\n\t\t\t\tif (skipIndicators.includes(panel.indicators[x].id)) {\n\t\t\t\t\tpanel.indicators.splice(x, 1);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (panel.indicators[x].symbol === this.params.symbol) {\n\t\t\t\t\tpanel.indicators[x].symbol = -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// don't save tools on templates\n\t\t\tdelete panel.tools;\n\t\t});\n\n\t\t// Decide if template should be saved in cloud\n\t\tif (!noStore && typeof name === 'string') {\n\t\t\targs.name = name;\n\t\t\treturn await this.saveTemplateData(saveData, args);\n\t\t} else {\n\t\t\treturn await Promise.resolve(saveData);\n\t\t}\n\t}\n\n\t/**\n\t * Load a saved chart using json data retrieved from the ChartApi/Load endpoint\n\t * @param {string} id - The chart ID to be retrieved\n\t * @param {function} callback - Function to call after chart has loaded\n\t * @returns {object} Chart params for retrieved chart\n\t */\n\tasync loadSaved(id, callback) {\n\t\tconst errMsg = 'There was an error retrieving the saved chart';\n\t\tthis.exchangeDates = [];\n\n\t\ttry {\n\t\t\tconst response = await axios.post(\n\t\t\t\t`${this.params.apiPath}chartapi/load/${id}`,\n\t\t\t\t{},\n\t\t\t\t{ headers: this._getXHRHeaders() }\n\t\t\t);\n\t\t\tlet result = this.parseDebugInfo(response.request.responseText);\n\n\t\t\t// Clean up response\n\t\t\tresult = result\n\t\t\t\t.replace(/"/g, '\"')\n\t\t\t\t.replace(/\\t/g, ' ');\n\t\t\t\n\t\t\t// Load chart\n\t\t\tthis.load(result, callback);\n\n\t\t\treturn JSON.parse(result);\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\terror.message ||\n\t\t\t\terrMsg\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * return appropriate XHR request headers\n\t * @return {object}\n\t*/\n\t_getXHRHeaders(contentType = 'application/json', authToken = null) {\n\t\tconst bearerToken = authToken || this.state.authToken;\n\t\tconst headers = {\n\t\t\t'Content-Type': contentType\n\t\t};\n\t\tif (bearerToken) {\n\t\t\theaders.Authorization = `Bearer ${bearerToken}`;\n\t\t} else if (this.state.accessToken) {\n\t\t\theaders['X-MOD-ACCESS-TOKEN'] = this.state.accessToken;\n\t\t}\n\t\treturn headers;\n\t}\n\n\t/**\n\t * load a saved template using json data retrieved from the ChartApi/Template endpoint\n\t */\n\ttemplate(id, args = {}) {\n\t\taxios.post(\n\t\t\t`${this.params.apiPath}chartapi/template/${id}`,\n\t\t\t{},\n\t\t\t{\n\t\t\t\theaders: this._getXHRHeaders()\n\t\t\t})\n\t\t\t.then(res => {\n\t\t\t\tconst result = this.parseDebugInfo(res.request.responseText);\n\t\t\t\t\n\t\t\t\tif (!result || (!result.params && !result.ChartSettings)) {\n\t\t\t\t\t// response did not have expected values\n\t\t\t\t\tif (!this.eventEmitter.listeners('TEMPLATE_LOAD_ERROR').length){\n\t\t\t\t\t\tthis.showMessageChartNotAvailable();\n\t\t\t\t\t}\n\t\t\t\t\tthis.eventEmitter.emit(types$1.TEMPLATE_LOAD_ERROR, { id, args, result });\n\t\t\t\t} else {\n\t\t\t\t\tthis.applyTemplate(result, args);\n\t\t\t\t\tthis.loadData();\n\t\t\t\t}\n\t\t\t\tthis.eventEmitter.emit(types$1.TEMPLATE_LOAD, { id, result, args });\n\t\t\t\treturn result;\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\t// catch any other error with XHR processing\n\t\t\t\tthis.warn(`An error occurred.\\n\\n${error.message}`);\n\t\t\t\tif (!this.eventEmitter.listeners('TEMPLATE_LOAD_ERROR').length){\n\t\t\t\t\tthis.showMessageChartNotAvailable();\n\t\t\t\t}\n\t\t\t\tthis.eventEmitter.emit(types$1.TEMPLATE_LOAD_ERROR);\n\t\t\t});\n\t}\n\n\t/** apply template params against current chart prior to loading new data */\n\tapplyTemplate(data, args = {}) {\n\t\t// Recalculate present scale domain because saved params are being loaded\n\t\tthis.state.updateXAxisPresentScaleDomain = true;\n\n\t\tlet eventParams;\n\n\t\t// fix grandfathered templates with erroneous prototypeJS arrays\n\t\tif (typeof data.params.symbolCompare === 'string') {\n\t\t\tdata.params.symbolCompare = JSON.parse(data.params.symbolCompare);\n\t\t}\n\t\tconst params = data.params || {};\n\t\tObject.keys(params).forEach(param => this.params[param] = params[param]);\n\n\t\t// AC-91 remove comparisons that match primary symbol\n\t\tif (this.params.symbolCompare) {\n\t\t\tthis.params.symbolCompare = \n\t\t\t\tthis.params.symbolCompare.filter(symbol => symbol !== this.params.symbol);\n\t\t}\n\n\t\t// convert dateStart/Stop back to date object\n\t\tif (data.params.dateStart && data.params.dateStop) {\n\t\t\t// fix grandfathered templates with erroneous prototypeJS dates\n\t\t\t// that were stored between ~2016-06-20 and 2016-07-20 (before fix in commit 6cd735d84 went up)\n\t\t\tif (typeof data.params.dateStart === 'string') {\n\t\t\t\tdata.params.dateStart = data.params.dateStart.replace(/\"/g, '');\n\t\t\t}\n\t\t\tif (typeof data.params.dateStop === 'string') {\n\t\t\t\tdata.params.dateStop = data.params.dateStop.replace(/\"/g, '');\n\t\t\t}\n\n\t\t\tthis.params.dateStart = new Date(data.params.dateStart);\n\t\t\tthis.params.dateStop = new Date(data.params.dateStop);\n\n\t\t\t// Clear the initial transform since a custom date range has been set and it will need to be redefined\n\t\t\tthis.state.initialTransform = null;\n\t\t} else if (data.params.days) {\n\t\t\t// CW-387\n\t\t\tthis.params.dateStart = null;\n\t\t\tthis.params.dateStop = null;\n\t\t}\n\n\t\tthis.removePanels();\n\n\t\tdata.panels.forEach((savedPanel, savedPanelIdx) => {\n\t\t\t// if panelParams was passed in, merge it into new panel params.\n\t\t\tconst panelParams = {\n\t\t\t\t...{},\n\t\t\t\t...savedPanel.params,\n\t\t\t\t...(args.panelParams || {})\n\t\t\t};\n\t\t\tconst panel = this.addPanel(panelParams);\n\n\t\t\t// restore indicators\n\t\t\tsavedPanel.indicators.forEach((row, idx) => {\n\t\t\t\t// symbols of -1 were previously the primary symbol - replace with the current primary symbol\n\t\t\t\tif (row.symbol === -1) {\n\t\t\t\t\trow.symbol = this.params.symbol;\n\t\t\t\t}\n\n\t\t\t\t// AC-91 don't add comparison price indicators that match primary symbol\n\t\t\t\tif (\n\t\t\t\t\tsavedPanelIdx === 0 &&\n\t\t\t\t\tidx > 0 &&\n\t\t\t\t\trow.symbol === this.params.symbol\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// fix grandfathered templates with erroneous prototypeJS arrays\n\t\t\t\tif (typeof row.inputs === 'string') {\n\t\t\t\t\trow.inputs = JSON.parse(row.inputs);\n\t\t\t\t}\n\t\t\t\tif (typeof row.extraInputs === 'string') {\n\t\t\t\t\trow.extraInputs = JSON.parse(row.extraInputs);\n\t\t\t\t}\n\n\t\t\t\tpanel.addIndicator(row.id, row);\n\t\t\t});\n\n\t\t\t// restore events\n\t\t\tfor (let i = 0; i < (savedPanel.events || []).length; i++) {\n\t\t\t\teventParams = savedPanel.events[i].params;\n\t\t\t\tpanel.addEvent(\n\t\t\t\t\tsavedPanel.events[i].id || eventParams.id,\n\t\t\t\t\teventParams || {}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t// scale\n\t\tif (this.panels.length && this.params.yAxisScale) {\n\t\t\tthis.panels[0].setScale(this.params.yAxisScale);\n\t\t}\n\n\t\t// restore metadata\n\t\tif (data.metaData) {\n\t\t\t// fix grandfathered templates with erroneous prototypeJS arrays\n\t\t\tif (typeof data.metaData === 'string') {\n\t\t\t\tdata.metaData = JSON.parse(data.metaData);\n\t\t\t}\n\n\t\t\tthis.metaData = { ...{}, ...data.metaData };\n\t\t}\n\n\t\tthis.eventEmitter.emit(types$1.TEMPLATE_APPLY, {\n\t\t\tdata,\n\t\t\targs\n\t\t});\n\t}\n\n\t/**\n\t * load a previously-saved chart via JSON string\n\t * @param {string} newParams\n\t * @return {Modcharts}\n\t */\n\tload(newParams, callback, args = { loadData: true }) {\n\t\tconst savedChart = typeof newParams === 'string'\n\t\t\t? JSON.parse(newParams)\n\t\t\t: newParams;\n\t\tlet panel;\n\t\tlet savedPanel;\n\t\tlet indicators;\n\t\tlet heightPctSum = 0;\n\n\t\tif (!savedChart.params) {\n\t\t\tthis.showMessageChartNotAvailable('Saved chart not available');\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if params are being loaded from saved chart\n\t\tif (\n\t\t\tObject.hasOwnProperty.call(savedChart.params, 'dateStart') &&\n\t\t\tObject.hasOwnProperty.call(savedChart.params, 'dateStop')\n\t\t) {\n\t\t\t// Recalculate present scale domain because saved params are being loaded\n\t\t\tthis.state.updateXAxisPresentScaleDomain = true;\n\t\t}\n\n\t\tthis.removePanels();\n\t\tthis.params = this.getDefaultParams(savedChart.params || {});\n\t\tthis.styleMap = merge({}, DEFAULT_STYLES, this.params.style);\n\n\t\t// convert dateStart/Stop back to date object\n\t\tif (this.params.dateStart && this.params.dateStop) {\n\t\t\t// fix grandfathered templates with erroneous prototypeJS dates\n\t\t\t// that were stored between ~2016-06-20 and 2016-07-20 (before fix in commit 6cd735d84 went up)\n\t\t\tif (typeof this.params.dateStart === 'string') {\n\t\t\t\tthis.params.dateStart = this.params.dateStart.replace(/\"/g, '');\n\t\t\t}\n\t\t\tif (typeof this.params.dateStop === 'string') {\n\t\t\t\tthis.params.dateStop = this.params.dateStop.replace(/\"/g, '');\n\t\t\t}\n\n\t\t\tthis.params.dateStart = new Date(this.params.dateStart);\n\t\t\tthis.params.dateStop = new Date(this.params.dateStop);\n\t\t}\n\n\t\t// ensure valid heightPcts (CW-614) This should only happen in rare instances when panel heights were saved incorrectly.\n\t\tsavedChart.panels.forEach(p => {\n\t\t\tif (\n\t\t\t\tp.params &&\n\t\t\t\tp.params.size &&\n\t\t\t\ttypeof p.params.size.heightPct === 'number'\n\t\t\t) {\n\t\t\t\theightPctSum += p.params.size.heightPct;\n\t\t\t}\n\t\t});\n\n\t\t// Don't allow a total percentage greater than 100%\n\t\tif (heightPctSum > 1) {\n\t\t\tsavedChart.panels.forEach(p => {\n\t\t\t\tp.params.size.heightPct = null;\n\t\t\t});\n\t\t\tthis.warn('Total panel height percentage is greater than 100%. Using fallback values.');\n\t\t}\n\n\t\t// restore panels\n\t\tfor (let p = 0; p < savedChart.panels.length; p++) {\n\t\t\tsavedPanel = savedChart.panels[p];\n\t\t\tpanel = this.addPanel(savedPanel.params);\n\n\t\t\t// scale\n\t\t\tif (p === 0 && this.params.yAxisScale) {\n\t\t\t\tpanel.setScale(this.params.yAxisScale);\n\t\t\t}\n\n\t\t\t// restore indicators\n\t\t\tindicators = [];\n\n\t\t\tfor (let i = 0; i < savedPanel.indicators.length; i++) {\n\t\t\t\tindicators.push({ ...savedPanel.indicators[i] });\n\t\t\t}\n\t\t\tpanel.addIndicators(indicators);\n\n\t\t\tpanel.tools = this.getToolsFromJSON(panel, savedPanel.tools);\n\n\t\t\t// restore events\n\t\t\tconst events = savedPanel.events || [];\n\t\t\tfor (let i = 0; i < events.length; i++) {\n\t\t\t\tconst eventParams = events[i].params;\n\t\t\t\tpanel.addEvent(\n\t\t\t\t\tevents[i].id || eventParams.id,\n\t\t\t\t\teventParams || {}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Update chart size with panels loaded\n\t\tthis.setChartSize();\n\t\tif (!this.params.size) {\n\t\t\tthis.rootMouse.style('width', this.size.width + 'px');\n\t\t\tthis.rootMouse.style('height', this.size.height + 'px');\n\t\t}\n\n\t\t// restore metadata\n\t\tif (savedChart.metaData) this.metaData = { ...savedChart.metaData };\n\n\t\t// hidden lowers\n\t\tif (savedChart.params.hiddenLowers && this.updateLowerPanels) {\n\t\t\tthis.updateLowerPanels(savedChart.params.hiddenLowers);\n\t\t\treturn this;\n\t\t}\n\n\t\tif (args.loadData) {\n\t\t\tif (this.params.customData) {\n\t\t\t\tthis.loadCustomData(callback, { loadSaved: true });\n\t\t\t} else {\n\t\t\t\tthis.loadData(callback, { loadSaved: true });\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Virtual Method for charts that accept tools\n\t * @method getToolsFromJSON\n\t */\n\tgetToolsFromJSON() {\n\t\treturn [];\n\t}\n\n\t/**\n\t * return the number of trading days within calendar date range based on the exchangeDates ruler\n\t */\n\tgetTradingDays(dateStart, dateStop) {\n\t\tconst idxStart = this.closestExchangeIndex(dateStart);\n\t\tconst idxStop = this.closestExchangeIndex(dateStop);\n\t\tlet idx = idxStart;\n\t\tlet days = this.state.isIntraday ? 0 : 1;\n\t\tlet thisDay = new Date();\n\t\tlet currDay = new Date(this.exchangeDates[idx]).getDate();\n\n\t\twhile (idx <= idxStop) {\n\t\t\tthisDay = new Date(this.exchangeDates[idx++]).getDate();\n\n\t\t\tif (currDay !== thisDay) {\n\t\t\t\tdays++;\n\t\t\t\tcurrDay = thisDay;\n\t\t\t}\n\t\t}\n\n\t\treturn Math.max(days, 1);\n\t}\n\n\t/**\n\t * return the number days in the year to date\n\t */\n\tgetYTDDays() {\n\t\tconst date = new Date();\n\t\tconst jan = new Date(date.getFullYear(), 0, 1);\n\n\t\treturn Math.ceil((date - jan) / 1000 / 60 / 60 / 24);\n\t}\n\n\t/**\n\t * begin polling - pass pollMin of 0 to turn off poll\n\t * @method pollData\n\t */\n\tpollData(pollMin) {\n\t\tif (typeof pollMin === 'number') {\n\t\t\tthis.params.poll = pollMin;\n\t\t}\n\n\t\t// clear any still-active setTimeouts\n\t\tif (this.state.pollTimeout) {\n\t\t\twindow.clearTimeout(this.state.pollTimeout);\n\t\t\tthis.state.pollTimeout = null;\n\t\t}\n\n\t\t// fire off new poll\n\t\tif (this.params.poll > 0) {\n\t\t\tthis.state.pollTimeout = window.setTimeout(() => {\n\t\t\t\t// don't poll while suppressed - try again after next poll interval\n\t\t\t\tif (this.isPollStreamSuppressed()) {\n\t\t\t\t\t// short delay before retry\n\t\t\t\t\twindow.setTimeout(() => {\n\t\t\t\t\t\treturn this.pollData();\n\t\t\t\t\t}, 3000);\n\t\t\t\t} else {\n\t\t\t\t\t// load new data\n\t\t\t\t\tthis.loadData(() => {\n\t\t\t\t\t\t// resume polling after data load completes\n\t\t\t\t\t\tthis.pollData();\n\n\t\t\t\t\t\t// if an intraday chart is left up overnight we could potentially blow away the previous\n\t\t\t\t\t\t// days' data with the first poll on the new day. so add a backfill check here.\n\t\t\t\t\t\tif (this.params.days < this.limitIntradayTrading) {\n\t\t\t\t\t\t\tthis.backfillData();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{ silent: true }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}, this.params.poll * 60 * 1000);\n\t\t}\n\t}\n\n\t/**\n\t * detect whether to suppress polling/streaming at this moment based on current chart state\n\t */\n\tisPollStreamSuppressed(isStream) {\n\t\t// don't poll for data while in the middle of loading data, resizing panels, or drawing tools\n\t\t// also wait 1000ms after last zoom to make sure mousewheel is done firing\n\n\t\tif (this.state.zooming) {\n\t\t\treturn true;\n\t\t} else if (this.dataXHR) {\n\t\t\treturn true;\n\t\t} else if (\n\t\t\ttypeof this.state.zoomDate === 'number' &&\n\t\t\tnew Date() - this.state.zoomDate < 1000\n\t\t) {\n\t\t\treturn true;\n\t\t} else if (this.state.toolmode && !isStream) {\n\t\t\treturn true;\n\t\t} else if (this.state.resizePanel) {\n\t\t\treturn true;\n\t\t} else if (this.state.isAnimating) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Make an XHR request for chart data and process it into a standardized data structure.\n\t * typically this will be a request to /ChartApi/Series but it can support other calls as well\n\t * @param {Function} callback - Callback function passed to _processChartApiResponse\n\t * @param {object} args - Arguments passed to _processChartApiResponse\n\t */\n\tloadData(callback, args = {}) {\n\t\tconst path = this.params.chartAPI;\n\t\tconst isYTD = this.params.days === -1;\n\t\tconst authToken = this._getAuthToken();\n\n\t\t// Reset initial transform if loading new chart\n\t\tif (args && args.loadSaved) this.state.initialTransform = null;\n\t\t\n\t\t// Cancel ongoing XHR\n\t\tif (this.xhrCancelSource) this.xhrCancelSource.cancel();\n\t\tthis.dataXHR = null;\n\n\t\t// Enforce linear scale on normalized charts\n\t\tthis._enforceLinearScale();\n\n\t\t// Show loading graphic and reset notable vars\n\t\tif (!args.silent) {\n\t\t\tthis.eventEmitter.emit(types$1.LOAD_START);\n\t\t\tthis.loadingStart();\n\n\t\t\tif (!args.prepend) this._resetNormalizeDate();\n\t\t}\n\n\t\t// set days for YTD charts\n\t\tif (isYTD) this.params.days = this.getYTDDays();\n\n\t\tthis.state.isIntraday = this._getIntradayStatus();\n\n\t\t// Build XHR \n\t\tthis.dataXHR = this._buildXHR(authToken);\n\n\t\t// Send request to API\n\t\tthis._sendXHR(\n\t\t\tthis._setPathDebugParams(path),\n\t\t\tthis._getChartAPIInputs(args),\n\t\t\tcallback,\n\t\t\targs\n\t\t);\n\n\t\tif (isYTD) this.params.days = -1;\n\t}\n\n\t/** Resets normalizeDate params (normalizeDate, normalizeValue, normalizeValues, exchangeDates) */\n\t_resetNormalizeDate() {\n\t\tthis.params.normalizeDate = null;\n\t\tthis.params.normalizeValue = null;\n\t\tthis.params.normalizeValues = null;\n\t\tthis.exchangeDates = [];\n\t}\n\n\t/**\n\t * Determines if data should be intraday based on dateStart, dateStop, days and dataPrimary and limitIntradayMs\n\t * @returns {boolean}\n\t */\n\t// TODO: Add tests for this method / don't base it on state\n\t_getIntradayStatus() {\n\t\tconst limitIntradayTradingMs = this.limitIntradayTrading * 1000 * 60 * 60 * 24;\n\t\tconst limitIntradayCalendarMs = this.limitIntradayCalendar * 1000 * 60 * 60 * 24;\n\n\t\tlet isIntraday = false;\n\t\tif (this.params.dateStart && this.params.dateStop) {\n\t\t\tisIntraday = /Hour|Minute/.test(this.params.dataPeriod); // new Date() - this.params.dateStart <= limitIntradayMs;\n\t\t} else if (this.params.days) {\n\t\t\tisIntraday =\n\t\t\t\tthis.params.days * 1000 * 60 * 60 * 24 <= limitIntradayTradingMs &&\n\t\t\t\t/hour|minute/i.test(this.params.dataPeriod);\n\t\t} else if (this.dataPrimary && this.dataPrimary.length) {\n\t\t\tisIntraday =\n\t\t\t\tnew Date() - this.dataPrimary[0].date <= limitIntradayCalendarMs &&\n\t\t\t\tthis.dataPrimary[this.dataPrimary.length - 1].date -\n\t\t\t\t\tthis.dataPrimary[0].date <=\n\t\t\t\t\tlimitIntradayCalendarMs;\n\t\t}\n\t\treturn isIntraday;\n\t}\n\n\t/** Ensures that primary panel is linear scale when the primary panel is normalized */\n\t_enforceLinearScale() {\n\t\tif (this.params.yAxisScale === 'log' &&\n\t\t\tthis.panels.length &&\n\t\t\tthis.panels[0].isNormalized) {\n\t\t\tthis.panels[0].setScale('linear');\n\t\t}\n\t}\n\n\t/**\n\t * Gets auth token based on state and params.apiAuthMode\n\t * @returns {String} Auth Token\n\t */\n\t_getAuthToken() {\n\t\tconst shouldReturnToken =\n\t\t\tthis.state.authToken &&\n\t\t\t!this.state.accessToken &&\n\t\t\tthis.params.apiAuthMode !== 'querystring';\n\n\t\treturn shouldReturnToken\n\t\t\t? this.state.authToken\n\t\t\t: null;\n\t}\n\n\t/**\n\t * Modifies the API path with any debug parameters\n\t * @method _setPathDebugParams\n\t * @param {String} path\n\t * @param {string} [search] - optional search parameter\n\t */\n\t_setPathDebugParams(path, search) {\n\t\tconst debugInfo = this.getParameterByName('..showdebuginfo..', search);\n\t\tconst noCache = this.getParameterByName('..nocache..', search);\n\t\tconst kvp = [];\n\n\t\tif (debugInfo && debugInfo.length) {\n\t\t\tkvp.push(`..showdebuginfo..=${debugInfo}` );\n\t\t}\n\n\t\tif (noCache && noCache.length) {\n\t\t\tkvp.push(`..nocache..=${noCache}`);\n\t\t}\n\n\t\tif (this.state.authToken && this.params.apiAuthMode === 'querystring') {\n\t\t\tkvp.push(`access_token=${this.state.authToken}`);\n\t\t}\n\n\t\tif (kvp.length) {\n\t\t\tconst qsPrefix = /\\?/.test(path) ? '&' : '?';\n\t\t\tpath += qsPrefix + kvp.join('&');\n\t\t}\n\t\treturn path;\n\t}\n\n\t/**\n\t * Build XHR object to make API Requests\n\t * @param {String} authToken - API authorization token\n\t */\n\t_buildXHR(authToken) {\n\t\t// Create new cancel source (and therefore a new cancel token) for every request\n\t\tthis.xhrCancelSource = axios.CancelToken.source();\n\n\t\treturn axios.create(\n\t\t\t{\n\t\t\t\tcancelToken: this.xhrCancelSource.token,\n\t\t\t\theaders: this._getXHRHeaders(this.params.apiContentType, authToken),\n\t\t\t\tmethod: 'post',\n\t\t\t\ttransformRequest: [\n\t\t\t\t\t(data, headers) => {\n\t\t\t\t\t\t// Add additional headers\n\t\t\t\t\t\tthis.params.xhrRequestHeaders.forEach( row => {\n\t\t\t\t\t\t\theaders[row.name] = row.value;\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Only add withCredentials if xhrWithCredentials is truthy\n\t\t\t\t\t\tif (this.params.xhrWithCredentials) {\n\t\t\t\t\t\t\theaders.withCredentials = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t},\n\t\t\t\t\t...axios.defaults.transformRequest\n\t\t\t\t]\n\t\t\t});\n\t}\n\n\t/**\n\t * Sends XHR with appropriate inputs\n\t * @param {String} path - URL for request\n\t * @param {Object} inputs - Data to be sent in request\n\t * @param {Function} callback - Callback function passed to _processChartApiResponse\n\t * @param {*} args - Arguments passed to _processChartApiResponse\n\t */\n\t_sendXHR(path, inputs, callback, args) {\n\t\t// post the request\n\t\tthis.dataXHR.request({\n\t\t\turl: path,\n\t\t\tdata: inputs\n\t\t})\n\t\t\t.then(res => {\n\t\t\t\tconst result = this.parseDebugInfo(res.request.responseText);\n\t\t\t\tthis._processChartApiResponse(\n\t\t\t\t\tresult,\n\t\t\t\t\tnull,\n\t\t\t\t\tcallback,\n\t\t\t\t\targs\n\t\t\t\t);\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\t// The XHR object needs to be cleared as some functions will assume a request\n\t\t\t\t// is still ongoing if the request isn't cleared\n\t\t\t\tthis.dataXHR = null;\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tif (axios.isCancel(error)) ; else if (error.response) {\n\t\t\t\t\t// Response was received with a non 2XX status code\n\t\t\t\t\tconst errObject = {\n\t\t\t\t\t\t// parseDebugInfo fails if no JSON is part of responseText\n\t\t\t\t\t\tresponseText: this.parseDebugInfo(\n\t\t\t\t\t\t\terror.request.responseText\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstatus: error.request.status,\n\t\t\t\t\t\tstatusText: error.request.statusText,\n\t\t\t\t\t\tresponseType: error.request.responseType\n\t\t\t\t\t};\n\n\t\t\t\t\tthis._processChartApiResponse(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\terrObject,\n\t\t\t\t\t\tcallback,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t} else if (error.request) {\n\t\t\t\t\t// The request was made but no response was received\n\t\t\t\t\tconst err = new Error('No response to request');\n\t\t\t\t\terr.name = 'XHR Error';\n\t\t\t\t\tthis._processChartApiResponse(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\terr\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// There was an error when setting up the request\n\t\t\t\t\tconst err = new Error('Incorrect request configuration');\n\t\t\t\t\terr.name = 'XHR Error';\n\t\t\t\t\tthis._processChartApiResponse(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\terr\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t/**\n\t * Split off the debuginfo part of response, add it to DOM so it fires the debug popup,\n\t * then return just the json part of the response\n\t * @param {String} text - Raw text of response, which may contain debug info\n\t * @returns {JSON} JSON part of the response, without the debug info\n\t */\n\tparseDebugInfo(text) {\n\t\tconst rows = (text || '').split('\\n');\n\t\tlet json = {};\n\n\t\ttry {\n\t\t\t// Remove JSON from response and save it for later\n\t\t\tjson = JSON.parse(rows.shift());\n\t\t} catch (e) {\n\t\t\tconsole.warn(e);\n\t\t}\n\n\t\t// Only add debug code if it exists\n\t\tif (rows.length) {\n\t\t\t// Get debug container from DOM\n\t\t\tlet debugContainer = document.getElementById('debuginfo-container');\n\n\t\t\t// If debug container doesn't exist, create it\n\t\t\tif (!debugContainer) {\n\t\t\t\tdebugContainer = document.createElement('div');\n\t\t\t\tdebugContainer.setAttribute('id', 'debuginfo-container');\n\t\t\t\tdocument.body.appendChild(debugContainer);\n\t\t\t}\n\n\t\t\t// See if first row contains opening/closing script tags for debug.js file\n\t\t\tconst hasDebugScriptTag =\n\t\t\t\t/^