{"version":3,"sources":["webpack:///./src/organizations/containers/NoOrgsPage.tsx","webpack:///./src/shared/components/cloud/CloudExclude.tsx","webpack:///./src/shared/components/cloud/CloudOnly.tsx","webpack:///./src/pageLayout/utils/index.ts","webpack:///./src/pageLayout/components/UserWidget.tsx","webpack:///./src/pageLayout/components/NavHeader.tsx","webpack:///./src/shared/components/CloudUpgradeNavBanner.tsx","webpack:///./src/cloud/selectors/orgsettings.ts","webpack:///./src/cloud/components/OrgSettings.tsx","webpack:///./src/pageLayout/containers/TreeNav.tsx","webpack:///./src/pageLayout/constants/navigationHierarchy.ts","webpack:///./src/portals/NotesPortal.tsx","webpack:///./src/shared/components/notifications/Notifications.tsx","webpack:///./src/dashboards/components/NoteEditorText.tsx","webpack:///./src/dashboards/components/NoteEditorPreview.tsx","webpack:///./src/dashboards/components/NoteEditor.tsx","webpack:///./src/dashboards/actions/notes.ts","webpack:///./src/dashboards/components/NoteEditorOverlay.tsx","webpack:///./src/authorizations/utils/permissions.ts","webpack:///./src/me/selectors/index.ts","webpack:///./src/authorizations/components/AllAccessTokenOverlay.tsx","webpack:///./src/shared/components/selectorList/SelectorListHeader.tsx","webpack:///./src/shared/components/selectorList/SelectorListMenu.tsx","webpack:///./src/shared/components/selectorList/SelectorListBody.tsx","webpack:///./src/shared/components/selectorList/SelectorListEmpty.tsx","webpack:///./src/shared/components/selectorList/SelectorList.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardHeader.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardDropdownHeader.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardMenu.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardBody.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCardEmpty.tsx","webpack:///./src/timeMachine/components/builderCard/BuilderCard.tsx","webpack:///./src/timeMachine/components/SelectorList.tsx","webpack:///./src/shared/components/sorting_hat/SortingHat.tsx","webpack:///./src/shared/components/Filter.tsx","webpack:///./src/shared/components/FilterList.tsx","webpack:///./src/authorizations/components/BucketsTabBody.tsx","webpack:///./src/authorizations/components/BucketsTabSelector.tsx","webpack:///./src/authorizations/components/BucketsSelector.tsx","webpack:///./src/authorizations/components/BucketsTokenOverlay.tsx","webpack:///./src/telegrafs/components/TelegrafConfig.tsx","webpack:///./src/shared/utils/download.ts","webpack:///./src/telegrafs/components/TelegrafConfigOverlay.tsx","webpack:///./src/shared/components/TemplatedCodeSnippet.tsx","webpack:///./src/telegrafs/components/TelegrafOutputOverlay.tsx","webpack:///./src/pageLayout/components/OrgSwitcherItem.tsx","webpack:///./src/pageLayout/components/OrgSwitcherOverlay.tsx","webpack:///./src/shared/components/DurationSelector.tsx","webpack:///./src/buckets/components/Retention.tsx","webpack:///./src/buckets/components/BucketOverlayForm.tsx","webpack:///./src/buckets/reducers/createBucket.ts","webpack:///./src/buckets/components/CreateBucketOverlay.tsx","webpack:///./src/shared/components/CloudUpgradeButton.tsx","webpack:///./src/cloud/components/AssetLimitOverlay.tsx","webpack:///./src/overlays/components/OverlayController.tsx","webpack:///./src/me/components/Support.tsx","webpack:///./src/me/components/LogoutButton.tsx","webpack:///./src/me/constants/index.ts","webpack:///./src/me/components/DashboardsList.tsx","webpack:///./src/shared/components/VersionInfo.tsx","webpack:///./src/me/components/Resources.tsx","webpack:///./src/me/components/Docs.tsx","webpack:///./src/me/graphics/CollectorGraphic.tsx","webpack:///./src/me/graphics/DashboardingGraphic.tsx","webpack:///./src/me/graphics/ExploreGraphic.tsx","webpack:///./src/me/components/GettingStarted.tsx","webpack:///./src/cloud/components/RateLimitAlert.tsx","webpack:///./src/shared/utils/pageTitles.ts","webpack:///./src/me/containers/MePage.tsx","webpack:///./src/shared/components/AddResourceDropdown.tsx","webpack:///./src/shared/components/search_widget/SearchWidget.tsx","webpack:///./src/shared/components/resource_sort_dropdown/generateSortItems.ts","webpack:///./src/shared/components/resource_sort_dropdown/ResourceSortDropdown.tsx","webpack:///./src/tasks/components/TasksHeader.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsListItem.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsCreateLabelButton.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsList.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelPopover.tsx","webpack:///./src/labels/components/LabelOverlayForm.tsx","webpack:///./src/labels/components/CreateLabelOverlay.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabelsEditor.tsx","webpack:///./src/shared/components/inlineLabels/InlineLabels.tsx","webpack:///./src/shared/components/lastRunTaskStatus/LastRunTaskStatus.tsx","webpack:///./src/tasks/components/TaskCard.tsx","webpack:///./src/tasks/components/EmptyTasksList.tsx","webpack:///./src/tasks/components/TasksList.tsx","webpack:///./src/cloud/components/GetAssetLimits.tsx","webpack:///./src/cloud/components/AssetLimitAlert.tsx","webpack:///./src/shared/components/ExportOverlay.tsx","webpack:///./src/tasks/components/TaskExportOverlay.tsx","webpack:///./src/shared/components/DragAndDrop.tsx","webpack:///./src/shared/components/ImportOverlay.tsx","webpack:///./src/tasks/components/TaskImportOverlay.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserDetails.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserListItem.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserList.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowser.tsx","webpack:///./src/tasks/components/TemplateBrowserEmpty.tsx","webpack:///./src/resources/selectors/getAll.ts","webpack:///./src/tasks/components/TaskImportFromTemplateOverlay.tsx","webpack:///./src/tasks/containers/TasksPage.tsx","webpack:///./src/tasks/components/TaskScheduleFormField.tsx","webpack:///./src/tasks/components/TasksOptionsBucketDropdown.tsx","webpack:///./src/tasks/components/TaskForm.tsx","webpack:///./src/tasks/components/TaskHeader.tsx","webpack:///./src/utils/taskOptionsToFluxScript.ts","webpack:///./src/tasks/containers/TaskPage.tsx","webpack:///./src/tasks/components/RunLogRow.tsx","webpack:///./src/tasks/components/RunLogsList.tsx","webpack:///./src/tasks/components/TaskRunsRow.tsx","webpack:///./src/tasks/components/TaskRunsList.tsx","webpack:///./src/tasks/components/TaskRunsPage.tsx","webpack:///./src/tasks/containers/TaskEditPage.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TransformToolbarFunctions.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipDescription.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipArguments.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipExample.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/TooltipLink.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FunctionTooltipContents.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/ToolbarFunction.tsx","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FunctionCategory.tsx","webpack:///./src/timeMachine/components/FluxToolbarSearch.tsx","webpack:///./src/shared/constants/fluxFunctions.ts","webpack:///./src/timeMachine/components/fluxFunctionsToolbar/FluxFunctionsToolbar.tsx","webpack:///./src/variables/components/VariableDropdown.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableTooltipContents.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableItem.tsx","webpack:///./src/timeMachine/components/variableToolbar/VariableToolbar.tsx","webpack:///./src/timeMachine/components/FluxToolbarTab.tsx","webpack:///./src/timeMachine/components/FluxToolbar.tsx","webpack:///./src/timeMachine/utils/insertFunction.ts","webpack:///./src/timeMachine/components/TimeMachineFluxEditor.tsx","webpack:///./src/shared/components/CSVExportButton.tsx","webpack:///./src/timeMachine/components/QueriesSwitcher.tsx","webpack:///./src/shared/data/autoRefreshes.ts","webpack:///./src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown.tsx","webpack:///./src/utils/AutoRefresher.ts","webpack:///./src/timeMachine/components/RefreshDropdown.tsx","webpack:///./src/shared/components/dateRangePicker/DatePicker.tsx","webpack:///./src/shared/components/dateRangePicker/DateRangePicker.tsx","webpack:///./src/shared/components/TimeRangeDropdown.tsx","webpack:///./src/shared/components/SearchableDropdown.tsx","webpack:///./src/shared/components/WaitingText.tsx","webpack:///./src/shared/utils/debouncer.ts","webpack:///./src/shared/utils/toComponentStatus.ts","webpack:///./src/timeMachine/components/TagSelector.tsx","webpack:///./src/timeMachine/components/FillValues.tsx","webpack:///./src/shared/components/DurationInput.tsx","webpack:///./src/timeMachine/components/WindowPeriod.tsx","webpack:///./src/timeMachine/components/FunctionModeSelector.tsx","webpack:///./src/timeMachine/components/AggregationSelector.tsx","webpack:///./src/timeMachine/components/AddCardButton.tsx","webpack:///./src/timeMachine/components/SelectorListCreateBucket.tsx","webpack:///./src/timeMachine/components/queryBuilder/BucketsSelector.tsx","webpack:///./src/timeMachine/components/QueryBuilder.tsx","webpack:///./src/timeMachine/components/SubmitQueryButton.tsx","webpack:///./src/timeMachine/components/RawDataToggle.tsx","webpack:///./src/timeMachine/components/QueryTabName.tsx","webpack:///./src/timeMachine/components/QueriesTimer.tsx","webpack:///./src/timeMachine/components/QueryTab.tsx","webpack:///./src/timeMachine/components/QueryTabs.tsx","webpack:///./src/timeMachine/components/EditorShortcutsTooltip.tsx","webpack:///./src/timeMachine/components/Queries.tsx","webpack:///./src/shared/components/dashed_button/DashedButton.tsx","webpack:///./src/checks/components/CheckTagRow.tsx","webpack:///./src/checks/components/CheckMetaCard.tsx","webpack:///./src/checks/components/CheckMessageCard.tsx","webpack:///./src/alerting/components/builder/ThresholdStatement.tsx","webpack:///./src/shared/utils/convertUserInput.ts","webpack:///./src/alerting/components/builder/ThresholdValueInput.tsx","webpack:///./src/alerting/components/builder/ThresholdRangeInput.tsx","webpack:///./src/alerting/components/builder/ThresholdCondition.tsx","webpack:///./src/alerting/components/builder/ThresholdConditions.tsx","webpack:///./src/checks/components/CheckLevelsDropdown.tsx","webpack:///./src/alerting/components/builder/DeadmanConditions.tsx","webpack:///./src/checks/components/CheckConditionsCard.tsx","webpack:///./src/alerting/components/builder/MatchingRuleCard.tsx","webpack:///./src/checks/components/CheckMatchingRulesCard.tsx","webpack:///./src/alerting/components/builder/AlertBuilder.tsx","webpack:///./src/timeMachine/components/CustomizeCheckQueryButton.tsx","webpack:///./src/alerting/components/builder/HelpButton.tsx","webpack:///./src/timeMachine/components/TimeMachineAlerting.tsx","webpack:///./src/shared/components/ViewLoadingSpinner.tsx","webpack:///./src/shared/components/ErrorBoundary.tsx","webpack:///./src/timeMachine/components/Vis.tsx","webpack:///./src/timeMachine/components/view_options/Geom.tsx","webpack:///./src/timeMachine/components/view_options/YAxisTitle.tsx","webpack:///./src/timeMachine/components/view_options/AxisAffixes.tsx","webpack:///./src/shared/components/ColorSchemeDropdownItem.tsx","webpack:///./src/shared/components/ColorSchemeDropdown.tsx","webpack:///./src/timeMachine/components/view_options/ColorSelector.tsx","webpack:///./src/shared/components/AutoDomainInput.tsx","webpack:///./src/dashboards/constants/cellEditor.ts","webpack:///./src/timeMachine/components/view_options/YAxisBase.tsx","webpack:///./src/shared/components/ColumnSelector.tsx","webpack:///./src/shared/components/Checkbox.tsx","webpack:///./src/timeMachine/components/view_options/TimeFormat.tsx","webpack:///./src/timeMachine/components/view_options/LineOptions.tsx","webpack:///./src/timeMachine/components/view_options/Affixes.tsx","webpack:///./src/timeMachine/components/view_options/DecimalPlaces.tsx","webpack:///./src/shared/components/ColorDropdown.tsx","webpack:///./src/shared/components/ThresholdSetting.tsx","webpack:///./src/shared/utils/thresholds.ts","webpack:///./src/shared/components/ThresholdsSettings.tsx","webpack:///./src/shared/utils/useOneWayReducer.ts","webpack:///./src/timeMachine/components/view_options/GaugeOptions.tsx","webpack:///./src/timeMachine/components/view_options/ThresholdColoring.tsx","webpack:///./src/timeMachine/components/view_options/SingleStatOptions.tsx","webpack:///./src/shared/components/draggable_column/DraggableColumn.tsx","webpack:///./src/shared/decorators/withDragDropContext.tsx","webpack:///./src/shared/components/columns_options/ColumnsOptions.tsx","webpack:///./src/timeMachine/components/view_options/FixFirstColumn.tsx","webpack:///./src/timeMachine/components/view_options/SortBy.tsx","webpack:///./src/timeMachine/components/view_options/TableOptions.tsx","webpack:///./src/shared/utils/move.ts","webpack:///./src/timeMachine/components/view_options/BinCountInput.tsx","webpack:///./src/timeMachine/components/view_options/HistogramOptions.tsx","webpack:///./src/shared/components/HexColorSchemeDropdown.tsx","webpack:///./src/timeMachine/components/view_options/HeatmapOptions.tsx","webpack:///./src/timeMachine/components/view_options/ScatterOptions.tsx","webpack:///./src/timeMachine/components/view_options/OptionsSwitcher.tsx","webpack:///./src/timeMachine/components/view_options/ViewOptions.tsx","webpack:///./src/timeMachine/components/SubmitCheckQueryButton.tsx","webpack:///./src/timeMachine/components/TimeMachineCheckQuery.tsx","webpack:///./src/timeMachine/components/TimeMachine.tsx","webpack:///./src/cloud/components/LimitChecker.tsx","webpack:///./src/shared/utils/queryParams.ts","webpack:///./src/dataExplorer/components/DataExplorer.tsx","webpack:///./src/dataExplorer/components/SaveAsButton.tsx","webpack:///./src/timeMachine/components/VisOptionsButton.tsx","webpack:///./src/shared/constants/timeZones.ts","webpack:///./src/shared/components/TimeZoneDropdown.tsx","webpack:///./src/dataExplorer/components/DeleteDataButton.tsx","webpack:///./src/dataExplorer/components/DashboardsDropdown.tsx","webpack:///./src/dataExplorer/components/SaveAsCellForm.tsx","webpack:///./src/dataExplorer/components/SaveAsTaskForm.tsx","webpack:///./src/variables/utils/mapBuilder.ts","webpack:///./src/shared/utils/pluralize.ts","webpack:///./src/variables/components/MapVariableBuilder.tsx","webpack:///./src/variables/components/CSVVariableBuilder.tsx","webpack:///./src/variables/components/VariableArgumentsEditor.tsx","webpack:///./src/variables/utils/validation.ts","webpack:///./src/variables/components/VariableForm.tsx","webpack:///./src/variables/components/VariableFormContext.tsx","webpack:///./src/dataExplorer/components/SaveAsVariable.tsx","webpack:///./src/dataExplorer/components/SaveAsOverlay.tsx","webpack:///./src/shared/components/DeleteDataForm/BucketsDropdown.tsx","webpack:///./src/shared/components/DeleteDataForm/DeleteButton.tsx","webpack:///./src/shared/actions/predicates.ts","webpack:///./src/shared/components/DeleteDataForm/FilterRow.tsx","webpack:///./src/shared/components/DeleteDataForm/FilterEditor.tsx","webpack:///./src/shared/components/DeleteDataForm/PreviewDataTable.tsx","webpack:///./src/shared/components/DeleteDataForm/TimeRangeDropdown.tsx","webpack:///./src/shared/selectors/canDelete.ts","webpack:///./src/shared/components/DeleteDataForm/DeleteDataForm.tsx","webpack:///./src/dataExplorer/components/DeleteDataOverlay.tsx","webpack:///./src/dataExplorer/components/DataExplorerPage.tsx","webpack:///./src/shared/utils/relativeTimestampFormatter.ts","webpack:///./src/dashboards/components/dashboard_index/DashboardCard.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardCards.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsTableEmpty.tsx","webpack:///./src/dashboards/components/dashboard_index/Table.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsIndexContents.tsx","webpack:///./src/dashboards/components/DashboardImportOverlay.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/TemplateBrowserEmpty.tsx","webpack:///./src/templates/components/createFromTemplateOverlay/CreateFromTemplateOverlay.tsx","webpack:///./src/dashboards/components/DashboardExportOverlay.tsx","webpack:///./src/dashboards/components/dashboard_index/DashboardsIndex.tsx","webpack:///./src/resources/selectors/getResourceStatus.ts","webpack:///./src/resources/components/GetResource.tsx","webpack:///./src/shared/components/PresentationModeToggle.tsx","webpack:///./src/dashboards/components/DashboardLightModeToggle.tsx","webpack:///./src/shared/components/graph_tips/GraphTips.tsx","webpack:///./src/pageLayout/components/RenamablePageTitle.tsx","webpack:///./src/dashboards/components/DashboardHeader.tsx","webpack:///./src/userSettings/actions/index.ts","webpack:///./src/shared/actions/autoRefresh.ts","webpack:///./src/shared/components/cells/CellHeaderNote.tsx","webpack:///./src/shared/components/cells/CellHeader.tsx","webpack:///./src/shared/components/cells/CellContextItem.tsx","webpack:///./src/shared/components/cells/CellContextDangerItem.tsx","webpack:///./src/shared/components/cells/CellContext.tsx","webpack:///./src/shared/components/TimeSeries.tsx","webpack:///./src/perf/components/CellEvent.tsx","webpack:///./src/shared/components/RefreshingView.tsx","webpack:///./src/shared/components/cells/Cell.tsx","webpack:///./src/shared/components/cells/GradientBorder.tsx","webpack:///./src/perf/components/ScrollDetector.tsx","webpack:///./src/cells/selectors/index.ts","webpack:///./src/shared/components/cells/Cells.tsx","webpack:///./src/dashboards/components/dashboard_empty/DashboardEmpty.tsx","webpack:///./src/dashboards/components/Dashboard.tsx","webpack:///./src/shared/components/ManualRefresh.tsx","webpack:///./src/dashboards/components/variablesControlBar/DraggableDropdown.tsx","webpack:///./src/dashboards/components/variablesControlBar/VariablesControlBar.tsx","webpack:///./src/dashboards/components/VEOHeader.tsx","webpack:///./src/dashboards/components/EditVEO.tsx","webpack:///./src/dashboards/components/NewVEO.tsx","webpack:///./src/overlays/components/RouteOverlay.tsx","webpack:///./src/overlays/components/index.tsx","webpack:///./src/dashboards/components/DashboardPage.tsx","webpack:///./src/dashboards/components/GetTimeRange.tsx","webpack:///./src/shared/components/DashboardRoute.tsx","webpack:///./src/dashboards/components/DashboardContainer.tsx","webpack:///./src/notebooks/context/refs.tsx","webpack:///./src/notebooks/context/scroll.tsx","webpack:///./src/notebooks/context/notebook.tsx","webpack:///./src/notebooks/context/time.tsx","webpack:///./src/notebooks/components/header/TimeZoneDropdown.tsx","webpack:///./src/notebooks/components/header/TimeRangeDropdown.tsx","webpack:///./src/notebooks/components/header/AutoRefreshDropdown.tsx","webpack:///./src/notebooks/context/query.tsx","webpack:///./src/notebooks/components/header/Submit.tsx","webpack:///./src/notebooks/components/header/PresentationMode.tsx","webpack:///./src/notebooks/components/header/index.tsx","webpack:///./src/notebooks/components/Pipe.tsx","webpack:///./src/notebooks/components/panel/RemovePanelButton.tsx","webpack:///./src/notebooks/components/CellFamily.tsx","webpack:///./src/notebooks/components/AddButtons.tsx","webpack:///./src/notebooks/components/panel/InsertCellButton.tsx","webpack:///./src/notebooks/components/panel/PanelVisibilityToggle.tsx","webpack:///./src/notebooks/components/panel/MovePanelButton.tsx","webpack:///./src/notebooks/components/panel/NotebookPanelTitle.tsx","webpack:///./src/notebooks/components/panel/NotebookPanel.tsx","webpack:///./src/notebooks/components/NotebookPipe.tsx","webpack:///./src/notebooks/components/EmptyPipeList.tsx","webpack:///./src/notebooks/components/PipeList.tsx","webpack:///./src/notebooks/components/minimap/MiniMapToggle.tsx","webpack:///./src/notebooks/components/minimap/MiniMapItem.tsx","webpack:///./src/notebooks/components/minimap/MiniMap.tsx","webpack:///./src/notebooks/components/Notebook.tsx","webpack:///./src/settings/components/LoadDataNavigation.tsx","webpack:///./src/settings/components/LoadDataTabbedPage.tsx","webpack:///./src/settings/components/LoadDataHeader.tsx","webpack:///./src/shared/components/tabbed_page/TabbedPageHeader.tsx","webpack:///./src/buckets/components/BucketContextMenu.tsx","webpack:///./src/buckets/components/BucketCardMeta.tsx","webpack:///./src/buckets/components/BucketAddDataButton.tsx","webpack:///./src/buckets/components/BucketCardActions.tsx","webpack:///./src/buckets/components/BucketCard.tsx","webpack:///./src/cloud/actions/demodata.ts","webpack:///./src/buckets/components/DemoDataBucketCard.tsx","webpack:///./src/buckets/components/BucketList.tsx","webpack:///./src/buckets/components/BucketExplainer.tsx","webpack:///./src/buckets/components/DemoDataDropdown.tsx","webpack:///./src/cloud/components/AssetLimitButton.tsx","webpack:///./src/buckets/components/CreateBucketButton.tsx","webpack:///./src/buckets/components/BucketsTab.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/PrecisionDropdown.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/Tab.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/TabSelector.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/TabBody.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/LineProtocolTabs.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/LineProtocolHelperText.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/configure/LineProtocol.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/verify/StatusIndicator.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/verify/LineProtocolVerifyStep.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/verify/LineProtocolStepSwitcher.tsx","webpack:///./src/dataLoaders/components/lineProtocolWizard/LineProtocolWizard.tsx","webpack:///./src/dataLoaders/components/TelegrafEditorFooter.tsx","webpack:///./src/dataLoaders/components/collectorsWizard/CollectorsWizard.tsx","webpack:///./src/buckets/components/UpdateBucketOverlay.tsx","webpack:///./src/shared/components/dangerConfirmation/DangerConfirmationForm.tsx","webpack:///./src/shared/components/dangerConfirmation/DangerConfirmationOverlay.tsx","webpack:///./src/buckets/components/RenameBucketForm.tsx","webpack:///./src/buckets/components/RenameBucketOverlay.tsx","webpack:///./src/scrapers/components/CreateScraperForm.tsx","webpack:///./src/scrapers/components/CreateScraperOverlay.tsx","webpack:///./src/shared/components/DeleteDataOverlay.tsx","webpack:///./src/buckets/containers/BucketsIndex.tsx","webpack:///./src/authorizations/components/TokenRow.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidgetItem.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidgetSection.tsx","webpack:///./src/shared/components/permissionsWidget/PermissionsWidget.tsx","webpack:///./src/authorizations/components/ViewTokenOverlay.tsx","webpack:///./src/authorizations/components/TokenList.tsx","webpack:///./src/authorizations/components/GenerateTokenDropdown.tsx","webpack:///./src/authorizations/components/TokensTab.tsx","webpack:///./src/authorizations/containers/TokensIndex.tsx","webpack:///./src/telegrafs/components/CollectorCard.tsx","webpack:///./src/telegrafs/components/CollectorList.tsx","webpack:///./src/telegrafs/components/TelegrafExplainer.tsx","webpack:///./src/buckets/components/NoBucketsWarning.tsx","webpack:///./src/telegrafs/components/Collectors.tsx","webpack:///./src/telegrafs/components/TelegrafInstructionsOverlay.tsx","webpack:///./src/telegrafs/containers/TelegrafsPage.tsx","webpack:///./src/scrapers/components/ScraperRow.tsx","webpack:///./src/scrapers/components/ScraperList.tsx","webpack:///./src/scrapers/components/Scrapers.tsx","webpack:///./src/scrapers/containers/ScrapersIndex.tsx","webpack:///./src/clientLibraries/graphics/GoogleLogo.tsx","webpack:///./src/clientLibraries/constants/index.ts","webpack:///./src/clientLibraries/graphics/ArduinoLogo.tsx","webpack:///./src/clientLibraries/graphics/CSharpLogo.tsx","webpack:///./src/clientLibraries/graphics/GoLogo.tsx","webpack:///./src/clientLibraries/graphics/JavaLogo.tsx","webpack:///./src/clientLibraries/graphics/JSLogo.tsx","webpack:///./src/clientLibraries/graphics/PythonLogo.tsx","webpack:///./src/clientLibraries/graphics/RubyLogo.tsx","webpack:///./src/clientLibraries/graphics/PHPLogo.tsx","webpack:///./src/clientLibraries/graphics/KotlinLogo.tsx","webpack:///./src/clientLibraries/graphics/ScalaLogo.tsx","webpack:///./src/clientLibraries/components/ClientLibraries.tsx","webpack:///./src/clientLibraries/components/ClientLibraryOverlay.tsx","webpack:///./src/clientLibraries/components/ClientArduinoOverlay.tsx","webpack:///./src/clientLibraries/components/ClientCSharpOverlay.tsx","webpack:///./src/clientLibraries/components/ClientGoOverlay.tsx","webpack:///./src/clientLibraries/components/ClientJavaOverlay.tsx","webpack:///./src/clientLibraries/components/ClientJSOverlay.tsx","webpack:///./src/clientLibraries/components/ClientKotlinOverlay.tsx","webpack:///./src/clientLibraries/components/ClientPHPOverlay.tsx","webpack:///./src/clientLibraries/components/ClientPythonOverlay.tsx","webpack:///./src/clientLibraries/components/ClientRubyOverlay.tsx","webpack:///./src/clientLibraries/components/ClientScalaOverlay.tsx","webpack:///./src/clientLibraries/containers/ClientLibrariesPage.tsx","webpack:///./src/shared/tabbedPage/TabbedPageTabs.tsx","webpack:///./src/settings/components/SettingsNavigation.tsx","webpack:///./src/settings/components/SettingsTabbedPage.tsx","webpack:///./src/settings/components/SettingsHeader.tsx","webpack:///./src/variables/components/VariableContextMenu.tsx","webpack:///./src/variables/components/VariableCard.tsx","webpack:///./src/variables/components/VariableList.tsx","webpack:///./src/variables/components/VariablesTab.tsx","webpack:///./src/variables/components/VariableImportOverlay.tsx","webpack:///./src/variables/components/VariableExportOverlay.tsx","webpack:///./src/variables/components/CreateVariableOverlay.tsx","webpack:///./src/variables/components/RenameVariableForm.tsx","webpack:///./src/variables/components/RenameVariableOverlay.tsx","webpack:///./src/variables/components/UpdateVariableOverlay.tsx","webpack:///./src/variables/containers/VariablesIndex.tsx","webpack:///./src/templates/components/EmptyTemplatesList.tsx","webpack:///./src/templates/constants/index.ts","webpack:///./src/templates/components/TemplateCard.tsx","webpack:///./src/templates/components/TemplatesList.tsx","webpack:///./src/templates/components/StaticTemplateCard.tsx","webpack:///./src/templates/components/StaticTemplatesList.tsx","webpack:///./src/templates/components/TemplatesPage.tsx","webpack:///./src/templates/components/TemplateImportOverlay.tsx","webpack:///./src/templates/components/TemplateExportOverlay.tsx","webpack:///./src/templates/components/CommunityTemplateNameIcon.tsx","webpack:///./src/templates/components/CommunityTemplateName.tsx","webpack:///./src/templates/components/CommunityTemplateReadme.tsx","webpack:///./src/templates/components/CommunityTemplateListItem.tsx","webpack:///./src/templates/components/CommunityTemplateListGroup.tsx","webpack:///./src/templates/selectors/index.ts","webpack:///./src/templates/components/CommunityTemplateContents.tsx","webpack:///./src/templates/components/CommunityTemplateInstallerOverlay.tsx","webpack:///./src/templates/components/CommunityTemplateImportOverlay.tsx","webpack:///./src/shared/components/ViewOverlay.tsx","webpack:///./src/templates/components/TemplateViewOverlay.tsx","webpack:///./src/templates/components/StaticTemplateViewOverlay.tsx","webpack:///./src/templates/components/CommunityTemplatesInstalledList.tsx","webpack:///./src/templates/containers/CommunityTemplatesIndex.tsx","webpack:///./src/templates/containers/TemplatesIndex.tsx","webpack:///./src/labels/components/UpdateLabelOverlay.tsx","webpack:///./src/labels/components/LabelContextMenu.tsx","webpack:///./src/labels/components/LabelCard.tsx","webpack:///./src/labels/components/LabelList.tsx","webpack:///./src/labels/components/LabelsTab.tsx","webpack:///./src/labels/containers/LabelsIndex.tsx","webpack:///./src/organizations/components/OrgNavigation.tsx","webpack:///./src/organizations/components/OrgTabbedPage.tsx","webpack:///./src/organizations/components/OrgHeader.tsx","webpack:///./src/organizations/components/OrgProfileTab.tsx","webpack:///./src/organizations/components/RenameOrgForm.tsx","webpack:///./src/organizations/actions/thunks.ts","webpack:///./src/organizations/components/RenameOrgOverlay.tsx","webpack:///./src/organizations/containers/OrgProfilePage.tsx","webpack:///./src/checks/selectors/index.ts","webpack:///./src/notifications/rules/selectors/index.ts","webpack:///./src/notifications/endpoints/selectors/index.ts","webpack:///./src/checks/components/CheckCardContext.tsx","webpack:///./src/alerting/components/LevelTableField.tsx","webpack:///./src/alerting/components/TimeTableField.tsx","webpack:///./src/shared/utils/useMountedEffect.ts","webpack:///./src/eventViewer/utils/search.ts","webpack:///./src/eventViewer/components/EventViewer.reducer.ts","webpack:///./src/eventViewer/components/EventViewer.tsx","webpack:///./src/eventViewer/components/Header.tsx","webpack:///./src/eventViewer/components/TableRow.tsx","webpack:///./src/eventViewer/components/LoadingRow.tsx","webpack:///./src/eventViewer/components/FooterRow.tsx","webpack:///./src/eventViewer/components/ErrorRow.tsx","webpack:///./src/eventViewer/components/EventTable.tsx","webpack:///./src/eventViewer/components/BackToTopButton.tsx","webpack:///./src/alerting/components/SearchBar.tsx","webpack:///./src/alerting/components/AlertHistoryControls.tsx","webpack:///./src/alerting/components/AlertHistoryQueryParams.tsx","webpack:///./src/alerting/utils/history.ts","webpack:///./src/alerting/components/AlertHistoryIndex.tsx","webpack:///./src/shared/utils/formatOrgRoute.ts","webpack:///./src/checks/components/CheckTableField.tsx","webpack:///./src/alerting/constants/history.ts","webpack:///./src/alerting/components/NotificationRuleTableField.tsx","webpack:///./src/notifications/endpoints/components/NotificationEndpointTableField.tsx","webpack:///./src/alerting/components/SentTableField.tsx","webpack:///./src/checks/components/CheckCard.tsx","webpack:///./src/checks/components/CheckCards.tsx","webpack:///./src/alerting/components/AlertsColumn.tsx","webpack:///./src/checks/components/CreateCheckDropdown.tsx","webpack:///./src/checks/components/ChecksColumn.tsx","webpack:///./src/notifications/rules/components/RuleCardContext.tsx","webpack:///./src/notifications/rules/components/RuleCard.tsx","webpack:///./src/notifications/rules/components/RuleCards.tsx","webpack:///./src/notifications/rules/components/RulesColumn.tsx","webpack:///./src/notifications/endpoints/components/EndpointCardMenu.tsx","webpack:///./src/notifications/endpoints/components/EndpointCard.tsx","webpack:///./src/notifications/endpoints/components/EndpointCards.tsx","webpack:///./src/notifications/endpoints/components/EndpointsColumn.tsx","webpack:///./src/checks/components/CheckAlertingButton.tsx","webpack:///./src/checks/components/CheckEOSaveButton.tsx","webpack:///./src/checks/components/CheckEOHeader.tsx","webpack:///./src/checks/components/NewThresholdCheckEO.tsx","webpack:///./src/checks/components/NewDeadmanCheckEO.tsx","webpack:///./src/checks/components/EditCheckEO.tsx","webpack:///./src/notifications/rules/components/RuleSchedule.tsx","webpack:///./src/notifications/rules/components/RuleLevelsDropdown.tsx","webpack:///./src/notifications/rules/components/RuleOverlay.reducer.tsx","webpack:///./src/notifications/rules/components/RuleOverlayProvider.tsx","webpack:///./src/notifications/rules/components/StatusChangeDropdown.tsx","webpack:///./src/notifications/rules/components/StatusLevels.tsx","webpack:///./src/notifications/rules/components/StatusRule.tsx","webpack:///./src/notifications/rules/components/TagRuleOperatorDropdown.tsx","webpack:///./src/notifications/rules/components/TagRule.tsx","webpack:///./src/notifications/rules/components/RuleConditions.tsx","webpack:///./src/notifications/rules/components/RuleEndpointDropdown.tsx","webpack:///./src/notifications/rules/components/SlackMessage.tsx","webpack:///./src/notifications/rules/components/SMTPMessage.tsx","webpack:///./src/notifications/rules/components/PagerDutyMessage.tsx","webpack:///./src/notifications/rules/components/RuleMessageContents.tsx","webpack:///./src/notifications/rules/components/RuleMessage.tsx","webpack:///./src/notifications/rules/components/RuleOverlayFooter.tsx","webpack:///./src/notifications/rules/components/RuleOverlayContents.tsx","webpack:///./src/notifications/rules/components/NewRuleOverlay.tsx","webpack:///./src/notifications/rules/components/EditRuleOverlay.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlay.reducer.ts","webpack:///./src/notifications/endpoints/components/EndpointOverlayProvider.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsSlack.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsPagerDuty.tsx","webpack:///./src/notifications/endpoints/components/MethodTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/AuthMethodTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptionsHTTP.tsx","webpack:///./src/notifications/endpoints/components/EndpointOptions.tsx","webpack:///./src/notifications/endpoints/components/EndpointTypeDropdown.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlayFooter.tsx","webpack:///./src/notifications/endpoints/components/EndpointOverlayContents.tsx","webpack:///./src/notifications/endpoints/components/NewEndpointOverlay.tsx","webpack:///./src/notifications/endpoints/components/EditEndpointOverlay.tsx","webpack:///./src/alerting/components/AlertingIndex.tsx","webpack:///./src/checks/components/CheckHistoryControls.tsx","webpack:///./src/checks/components/CheckHistoryVisualization.tsx","webpack:///./src/checks/components/CheckHistory.tsx","webpack:///./src/members/components/MemberContextMenu.tsx","webpack:///./src/members/components/MemberCard.tsx","webpack:///./src/members/components/MemberList.tsx","webpack:///./src/members/components/Members.tsx","webpack:///./src/members/containers/MembersIndex.tsx","webpack:///./src/dashboards/components/RouteToDashboardList.tsx","webpack:///./src/shared/containers/SetOrg.tsx","webpack:///./src/organizations/components/CreateOrgOverlay.tsx","webpack:///./src/App.tsx","webpack:///./src/shared/containers/RouteToOrg.tsx","webpack:///./src/shared/containers/GetOrganizations.tsx","webpack:///./src/shared/containers/GetFlags.tsx","webpack:///./src/shared/containers/GetMe.tsx","webpack:///./src/Signin.tsx","webpack:///./src/onboarding/components/InitStep.tsx","webpack:///./src/onboarding/components/AdminStep.tsx","webpack:///./src/shared/components/resource_fetcher/ResourceFetcher.tsx","webpack:///./src/shared/components/resource_fetcher/index.ts","webpack:///./src/onboarding/components/CompletionAdvancedButton.tsx","webpack:///./src/onboarding/components/CompletionQuickStartButton.tsx","webpack:///./src/organizations/apis/index.ts","webpack:///./src/onboarding/components/CompletionStep.tsx","webpack:///./src/onboarding/components/OnboardingStepSwitcher.tsx","webpack:///./src/onboarding/actions/index.ts","webpack:///./src/onboarding/containers/OnboardingWizard.tsx","webpack:///./src/onboarding/containers/OnboardingWizardPage.tsx","webpack:///./src/onboarding/components/SigninForm.tsx","webpack:///./src/onboarding/containers/SigninPage.tsx","webpack:///./src/onboarding/components/HelperText.tsx","webpack:///./src/onboarding/components/LoginForm.tsx","webpack:///./src/shared/components/SocialButton.tsx","webpack:///./src/onboarding/containers/LoginPageContents.tsx","webpack:///./src/onboarding/containers/LoginPage.tsx","webpack:///./src/Logout.tsx","webpack:///./src/Setup.tsx","webpack:///./src/onboarding/utils/index.ts","webpack:///./src/shared/constants/routes.ts","webpack:///./src/shared/components/NotFound.tsx","webpack:///./src/shared/containers/GetLinks.tsx","webpack:///./src/index.tsx","webpack:///./src/notebooks/context/pipe.tsx","webpack:///./src/dashboards/selectors/index.ts","webpack:///./src/dashboards/utils/getTimezoneOffset.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/shared/utils/duration.ts","webpack:///./src/variables/constants/index.ts","webpack:///./src/shared/decorators/errors.tsx","webpack:///./src/timeMachine/actions/queries.ts","webpack:///./src/dataLoaders/actions/dataLoaders.ts","webpack:///./src/tasks/actions/thunks.ts","webpack:///./src/shared/utils/insertPreambleInScript.ts","webpack:///./src/notebooks/context/notebook.list.tsx","webpack:///./src/notebooks/context/notebook.current.tsx","webpack:///./src/shared/actions/app.ts","webpack:///./src/types/dataLoaders.ts","webpack:///./src/shared/constants/timeRanges.ts","webpack:///./src/client/generatedRoutes.ts","webpack:///./src/client/index.ts","webpack:///./src/views/helpers/index.ts","webpack:///./src/shared/apis/query.ts","webpack:///./src/alerting/actions/alertBuilder.ts","webpack:///./src/notebooks/pipes sync index\\.(ts|tsx)$","webpack:///./src/notebooks/pipes/Visualization/index.ts","webpack:///./src/notebooks/pipes/markdown/MarkdownModeToggle.tsx","webpack:///./src/external/monaco.markdown.syntax.ts","webpack:///./src/shared/components/MarkdownMonacoEditor.tsx","webpack:///./src/notebooks/pipes/markdown/MarkdownPanel.tsx","webpack:///./src/notebooks/pipes/markdown/index.ts","webpack:///./src/notebooks/context/buckets.tsx","webpack:///./src/notebooks/pipes/Data/BucketSelector.tsx","webpack:///./src/notebooks/pipes/Data/view.tsx","webpack:///./src/notebooks/pipes/Data/index.ts","webpack:///./src/notebooks/pipes/Query/ResultsPagination.tsx","webpack:///./src/notebooks/pipes/Query/Results.tsx","webpack:///./src/notebooks/pipes/Query/view.tsx","webpack:///./src/notebooks/pipes/Query/index.ts","webpack:///./src/notebooks/pipes/Spotify/embedded.tsx","webpack:///./src/notebooks/pipes/Spotify/editor.tsx","webpack:///./src/notebooks/pipes/Spotify/view.tsx","webpack:///./src/notebooks/pipes/Spotify/index.ts","webpack:///./src/notebooks/pipes/TestFlux/view.tsx","webpack:///./src/notebooks/pipes/TestFlux/index.ts","webpack:///./src/labels/actions/creators.ts","webpack:///./src/timeMachine/constants/queryBuilder.ts","webpack:///./src/schemas/dashboards.ts","webpack:///./src/schemas/buckets.ts","webpack:///./src/schemas/members.ts","webpack:///./src/schemas/orgs.ts","webpack:///./src/schemas/scrapers.ts","webpack:///./src/organizations/selectors/index.ts","webpack:///./src/cloud/constants/index.ts","webpack:///./src/templates/api/index.ts","webpack:///./src/timeMachine/actions/queryBuilder.ts","webpack:///./src/buckets/actions/thunks.ts","webpack:///./src/shared/components/EmptyGraphMessage.tsx","webpack:///./src/overlays/actions/overlays.ts","webpack:///./src/variables/utils/buildVarsOption.ts","webpack:///./src/templates/constants/defaultTemplates.ts","webpack:///./src/notebooks/index.ts","webpack:///./src/resources/selectors/index.ts","webpack:///./src/utils/basepath.ts","webpack:///./src/dashboards/actions/ranges.ts","webpack:///./src/shared/constants/graphColorPalettes.ts","webpack:///./src/templates/actions/creators.ts","webpack:///./src/shared/utils/errors.ts","webpack:///./src/notifications/rules/utils/index.ts","webpack:///./src/buckets/constants/index.ts","webpack:///./src/onboarding/components/OnboardingButtons.tsx","webpack:///./src/tasks/actions/creators.ts","webpack:///./src/dashboards/actions/creators.ts","webpack:///./src/views/actions/creators.ts","webpack:///./src/shared/constants/thresholds.ts","webpack:///./src/labels/utils/index.ts","webpack:///./src/shared/apis/queryCache.ts","webpack:///./src/schemas/variables.ts","webpack:///./src/shared/copy/cell.ts","webpack:///./src/dataLoaders/graphics/LogoCpu.tsx","webpack:///./src/dataLoaders/graphics/LogoDocker.tsx","webpack:///./src/dataLoaders/graphics/LogoKubernetes.tsx","webpack:///./src/dataLoaders/graphics/LogoNginx.tsx","webpack:///./src/dataLoaders/graphics/LogoRedis.tsx","webpack:///./src/dataLoaders/constants/pluginConfigs.ts","webpack:///./src/dashboards/utils/cellGetters.ts","webpack:///./src/cells/actions/thunks.ts","webpack:///./src/shared/actions/notifications.ts","webpack:///./src/shared/utils/getMinDurationFromAST.ts","webpack:///./src/variables/utils/getWindowVars.ts","webpack:///./src/shared/constants/tableGraph.ts","webpack:///./src/timeMachine/utils/queryBuilder.ts","webpack:///./src/clockface/constants/wizard.ts","webpack:///./src/shared/parsing/flux/response.ts","webpack:///./src/schemas/tasks.ts","webpack:///./src/schemas/telegrafs.ts","webpack:///./src/dataLoaders/actions/telegrafEditor.ts","webpack:///./src/telegrafs/actions/thunks.ts","webpack:///./src/shared/constants/index.ts","webpack:///./src/shared/components/CodeSnippet.tsx","webpack:///./src/shared/copy/notifications.ts","webpack:///./src/dataLoaders/actions/steps.ts","webpack:///./src/external/monaco.flux.syntax.ts","webpack:///./src/external/monaco.flux.messages.ts","webpack:///./src/external/monaco.flux.lsp.ts","webpack:///./src/external/monaco.flux.server.ts","webpack:///./src/external/monaco.flux.hotkeys.ts","webpack:///./src/shared/components/FluxMonacoEditor.tsx","webpack:///./src/checks/utils/index.ts","webpack:///./src/checks/utils/checkValidate.ts","webpack:///./src/checks/actions/thunks.ts","webpack:///./src/shared/components/EmptyGraphErrorTooltip.tsx","webpack:///./src/shared/components/EmptyGraphError.tsx","webpack:///./src/shared/components/EmptyQueryView.tsx","webpack:///./src/timeMachine/selectors/index.ts","webpack:///./src/utils/ajax.ts","webpack:///./src/shared/actions/flags.ts","webpack:///./src/cells/actions/creators.ts","webpack:///./src/variables/actions/creators.ts","webpack:///./src/buckets/actions/creators.ts","webpack:///./src/perf/actions/index.ts","webpack:///./src/shared/components/views/MarkdownRenderer.tsx","webpack:///./src/schemas/authorizations.ts","webpack:///./src/labels/constants/index.ts","webpack:///./src/schemas/checks.ts","webpack:///./src/dashboards/utils/tableGraph.ts","webpack:///./src/shared/selectors/currentContext.ts","webpack:///./src/variables/utils/getTimeRangeVars.ts","webpack:///./src/shared/utils/filterUnusedVars.ts","webpack:///./src/shared/utils/resourceToTemplate.ts","webpack:///./src/schemas/endpoints.ts","webpack:///./src/schemas/rules.ts","webpack:///./src/schemas/templates.ts","webpack:///./src/resources/constants/index.ts","webpack:///./src/authorizations/actions/thunks.ts","webpack:///./src/utils/naming.ts","webpack:///./src/notifications/rules/actions/thunks.ts","webpack:///./src/shared/components/CopyButton.tsx","webpack:///./src/shared/components/ClickOutside.tsx","webpack:///./src/cloud/apis/reporting.ts","webpack:///./src/cloud/utils/reporting.ts","webpack:///./src/notebooks/context/results.tsx","webpack:///./src/notebooks/context/app.tsx","webpack:///./src/shared/utils/preventNegativeZero.ts","webpack:///./src/shared/utils/formatStatValue.ts","webpack:///./src/shared/constants/gaugeSpecs.ts","webpack:///./src/shared/components/Gauge.tsx","webpack:///./src/shared/components/GaugeChart.tsx","webpack:///./src/shared/constants/colorOperations.ts","webpack:///./src/shared/components/SingleStat.tsx","webpack:///./src/shared/components/tables/TableGraphTransform.tsx","webpack:///./src/shared/components/tables/TableCell.tsx","webpack:///./src/shared/components/MultiGrid/CellMeasurerCacheDecorator.ts","webpack:///./src/shared/components/MultiGrid/MultiGrid.tsx","webpack:///./src/shared/components/tables/TableGraphTable.tsx","webpack:///./src/shared/components/tables/TableGraph.tsx","webpack:///./src/shared/components/tables/TableSidebarItem.tsx","webpack:///./src/shared/components/tables/TableSidebar.tsx","webpack:///./src/shared/components/tables/TableGraphs.tsx","webpack:///./src/shared/utils/useVisDomainSettings.ts","webpack:///./src/shared/components/HistogramPlot.tsx","webpack:///./src/shared/components/HeatmapPlot.tsx","webpack:///./src/shared/components/XYPlot.tsx","webpack:///./src/shared/components/ScatterPlot.tsx","webpack:///./src/shared/utils/latestValues.ts","webpack:///./src/shared/components/LatestValueTransform.tsx","webpack:///./src/shared/components/ViewSwitcher.tsx","webpack:///./src/normalizers/localStorage/dashboardTime.ts","webpack:///./src/normalizers/localStorage/appPersisted.ts","webpack:///./src/normalizers/localStorage/resources.ts","webpack:///./src/localStorage.ts","webpack:///./src/normalizers/localStorage/localStorage.ts","webpack:///./src/timeMachine/constants/index.ts","webpack:///./src/timeMachine/constants/visGraphics.tsx","webpack:///./src/timeMachine/components/view_options/ViewTypeDropdown.tsx","webpack:///./src/variables/utils/resolveSelectedValue.ts","webpack:///./src/variables/utils/ValueFetcher.ts","webpack:///./src/variables/utils/hydrateVars.ts","webpack:///./src/notifications/endpoints/utils/index.ts","webpack:///./src/notifications/endpoints/actions/thunks.ts","webpack:///./src/labels/actions/thunks.ts","webpack:///./src/labels/selectors/index.ts","webpack:///./src/types/colors.ts","webpack:///./src/types/dashboards.ts","webpack:///./src/types/overlay.ts","webpack:///./src/types/promises.ts","webpack:///./src/types/timeZones.ts","webpack:///./src/organizations/actions/creators.ts","webpack:///./src/dataLoaders/utils/pluginConfigs.ts","webpack:///./src/utils/wrappers.ts","webpack:///./src/shared/utils/validateURI.ts","webpack:///./src/telegrafs/actions/creators.ts","webpack:///./src/authorizations/actions/creators.ts","webpack:///./src/timeMachine/actions/index.ts","webpack:///./src/alerting/utils/customCheck.ts","webpack:///./src/dashboards/apis/index.ts","webpack:///./src/shared/utils/ast.ts","webpack:///./src/templates/utils/index.ts","webpack:///./src/shared/utils/fromFlux.ts","webpack:///./src/timeMachine/apis/queryBuilder.ts","webpack:///./src/cloud/apis/demodata.ts","webpack:///./src/authorizations/apis/index.ts","webpack:///./src/scrapers/actions/thunks.ts","webpack:///./src/shared/utils/featureFlag.ts","webpack:///./src/external/monaco.onigasm.ts","webpack:///./src/dataLoaders/components/BucketsDropdown.tsx","webpack:///./src/shared/utils/sort.ts","webpack:///./src/shared/utils/useOneWayState.ts","webpack:///./src/types/index.ts","webpack:///./src/resources/components/GetResources.tsx","webpack:///./src/resources/selectors/getResourcesStatus.ts","webpack:///./src/dashboards/utils/hoverTime.tsx","webpack:///./src/buckets/selectors/index.ts","webpack:///./src/utils/autoAggregateRequirements.ts","webpack:///./src/views/actions/thunks.ts","webpack:///./src/views/selectors/index.ts","webpack:///./src/notebooks/shared/ResizerHeader.tsx","webpack:///./src/notebooks/shared/Resizer.tsx","webpack:///./src/types/alerting.ts","webpack:///./src/utils/nodes.ts","webpack:///./src/shared/components/editable_description/EditableDescription.tsx","webpack:///./src/clockface/components/inputs/multipleInput/Row.tsx","webpack:///./src/clockface/components/inputs/multipleInput/MultipleRows.tsx","webpack:///./src/clockface/components/inputs/multipleInput/MultipleInput.tsx","webpack:///./src/clockface/components/wizard/WizardFullScreen.tsx","webpack:///./src/clockface/components/wizard/WizardOverlay.tsx","webpack:///./src/clockface/components/wizard/WizardProgressHeader.tsx","webpack:///./src/clockface/components/wizard/ProgressBar.tsx","webpack:///./src/clockface/components/context_menu/ContextMenuItem.tsx","webpack:///./src/clockface/components/context_menu/ContextMenu.tsx","webpack:///./src/clockface/types/index.ts","webpack:///./src/clockface/components/context_menu/Context.tsx","webpack:///./src/types/auth.ts","webpack:///./src/types/autoRefresh.ts","webpack:///./src/types/buckets.ts","webpack:///./src/types/dataExplorer.ts","webpack:///./src/types/flux.ts","webpack:///./src/types/logEvent.ts","webpack:///./src/types/notifications.ts","webpack:///./src/types/orgs.ts","webpack:///./src/types/queries.ts","webpack:///./src/types/resources.ts","webpack:///./src/types/sources.ts","webpack:///./src/types/tasks.ts","webpack:///./src/types/templates.ts","webpack:///./src/shared/actions/currentDashboard.ts","webpack:///./src/dashboards/utils/time.ts","webpack:///./src/cloud/actions/limits.ts","webpack:///./src/cloud/apis/limits.ts","webpack:///./src/dashboards/constants/index.ts","webpack:///./src/shared/utils/vis.ts","webpack:///./src/variables/selectors/index.tsx","webpack:///./src/shared/actions/me.ts","webpack:///./src/shared/selectors/flags.ts","webpack:///./src/shared/reducers/currentPage.ts","webpack:///./src/scrapers/actions/creators.ts","webpack:///./src/members/actions/creators.ts","webpack:///./src/checks/actions/creators.ts","webpack:///./src/notifications/rules/actions/creators.ts","webpack:///./src/notifications/endpoints/actions/creators.ts","webpack:///./src/store/history.ts","webpack:///./src/shared/components/DefaultErrorMessage.tsx","webpack:///./src/portals/TooltipPortal.tsx","webpack:///./src/dashboards/utils/notes.ts","webpack:///./src/utils/formatting.ts","webpack:///./src/external/parser.ts","webpack:///./src/utils/fast.ts","webpack:///./src/variables/utils/formatVarsOption.ts","webpack:///./src/variables/utils/formatExpression.ts","webpack:///./src/utils/Deferred.ts","webpack:///./src/shared/apis/singleQuery.ts","webpack:///./src/alerting/utils/statusEvents.ts","webpack:///./src/variables/utils/exportVariables.ts","webpack:///./src/cloud/utils/demoDataErrors.ts","webpack:///./src/timeMachine/apis/QueryBuilderFetcher.ts","webpack:///./src/members/actions/thunks.ts","webpack:///./src/utils/api.ts","webpack:///./src/alerting/constants/index.ts","webpack:///./src/schemas/labels.ts","webpack:///./src/external/monaco.flux.theme.ts","webpack:///./src/external/monaco.autogrow.ts","webpack:///./src/alerting/utils/vis.ts","webpack:///./src/cloud/utils/limits.ts","webpack:///./src/shared/components/views/ScrollableMarkdown.tsx","webpack:///./src/shared/components/FluxTablesTransform.tsx","webpack:///./src/timeMachine/components/RawFluxDataGrid.tsx","webpack:///./src/variables/actions/thunks.ts","webpack:///./src/shared/utils/fromFlux.legacy.ts","webpack:///./src/shared/selectors/app.ts","webpack:///./src/notebooks/context/resource.hook.tsx","webpack:///./src/dataLoaders/selectors/index.ts","webpack:///./src/shared/middleware/resizeLayout.ts","webpack:///./src/shared/middleware/queryStringConfig.ts","webpack:///./src/shared/reducers/app.ts","webpack:///./src/shared/reducers/links.ts","webpack:///./src/shared/reducers/currentDashboard.ts","webpack:///./src/shared/reducers/notifications.ts","webpack:///./src/shared/reducers/index.ts","webpack:///./src/shared/reducers/me.ts","webpack:///./src/shared/reducers/flags.ts","webpack:///./src/tasks/reducers/helpers.ts","webpack:///./src/resources/reducers/helpers.ts","webpack:///./src/tasks/reducers/index.ts","webpack:///./src/dashboards/reducers/ranges.ts","webpack:///./src/dashboards/reducers/dashboards.ts","webpack:///./src/cells/reducers/index.ts","webpack:///./src/views/reducers/index.ts","webpack:///./src/timeMachine/reducers/index.ts","webpack:///./src/organizations/reducers/index.ts","webpack:///./src/overlays/reducers/overlays.ts","webpack:///./src/onboarding/reducers/index.ts","webpack:///./src/dashboards/reducers/notes.ts","webpack:///./src/dataLoaders/reducers/dataLoaders.ts","webpack:///./src/dataLoaders/reducers/steps.ts","webpack:///./src/dataLoaders/reducers/index.tsx","webpack:///./src/variables/reducers/editor.ts","webpack:///./src/variables/reducers/index.ts","webpack:///./src/labels/reducers/index.ts","webpack:///./src/buckets/reducers/index.ts","webpack:///./src/telegrafs/reducers/index.ts","webpack:///./src/authorizations/reducers/index.ts","webpack:///./src/templates/reducers/index.ts","webpack:///./src/scrapers/reducers/index.ts","webpack:///./src/userSettings/reducers/index.ts","webpack:///./src/members/reducers/index.ts","webpack:///./src/shared/reducers/autoRefresh.ts","webpack:///./src/cloud/reducers/limits.ts","webpack:///./src/cloud/reducers/demodata.ts","webpack:///./src/cloud/reducers/orgsettings.ts","webpack:///./src/checks/reducers/index.ts","webpack:///./src/notifications/rules/reducers/index.ts","webpack:///./src/notifications/endpoints/reducers/index.ts","webpack:///./src/dataLoaders/reducers/telegrafEditor.ts","webpack:///./src/shared/reducers/predicates.ts","webpack:///./src/alerting/reducers/alertBuilder.ts","webpack:///./src/perf/reducers/index.ts","webpack:///./src/store/configureStore.ts","webpack:///./src/store/persistStateEnhancer.ts","webpack:///./src/shared/components/ThresholdMarker.tsx","webpack:///./src/shared/utils/useDragBehavior.ts","webpack:///./src/shared/components/ThresholdMarkerArea.tsx","webpack:///./src/shared/components/RangeThresholdMarkers.tsx","webpack:///./src/shared/components/LessThresholdMarker.tsx","webpack:///./src/shared/components/GreaterThresholdMarker.tsx","webpack:///./src/shared/components/ThresholdMarkers.tsx","webpack:///./src/shared/components/BoxTooltip.tsx","webpack:///./src/shared/components/EventMarkerTooltip.tsx","webpack:///./src/shared/components/EventMarker.tsx","webpack:///./src/shared/components/EventMarkers.tsx","webpack:///./src/shared/components/CheckPlot.tsx","webpack:///./src/external/monaco.toml.theme.ts","webpack:///./src/external/monaco.toml.syntax.ts","webpack:///./src/shared/components/TomlMonacoEditor.tsx","webpack:///./src/notebooks/pipes/Visualization/DashboardList.tsx","webpack:///./src/notebooks/pipes/Visualization/ExportVisualizationButton.tsx","webpack:///./src/notebooks/pipes/Visualization/view.tsx","webpack:///./src/shared/actions/links.ts","webpack:///./src/shared/apis/links.ts","webpack:///./src/cloud/actions/orgsettings.ts","webpack:///./src/cloud/apis/orgsettings.ts","webpack:///./src/shared/components/TokenCodeSnippet.tsx","webpack:///./src/dataLoaders/components/verifyStep/TelegrafInstructions.tsx","webpack:///./src/timeMachine/utils/rawFluxDataTable.ts","webpack:///./src/timeMachine/components/RawFluxDataTable.tsx","webpack:///./src/dashboards/actions/thunks.ts","webpack:///./src/templates/actions/thunks.ts"],"names":["me","history","className","src","width","name","text","color","Primary","onClick","push","children","this","props","getNavItemActivation","keywords","location","parentPath","split","slice","length","some","path","includes","mdtp","handleShowOverlay","handleDismissOverlay","state","org","orgPrefix","id","User","username","team","testID","CloudOnly","UserItem","label","linkElement","href","to","CloudExclude","active","pathname","link","Header","icon","glyph","CuboNav","cloud","Secondary","settings","hideUpgradeButtonSetting","setting","key","value","inView","gradient","HotelBreakfast","size","ExtraSmall","justifyContent","Center","element","H5","Footer","target","Star","getOrgSettings","dispatch","hasFetchedOrgSettings","setHasFetchedOrgSettings","reduce","prev","curr","isHidden","navBarState","handleSetNavBarState","match","exact","strict","orgID","params","isExpanded","navItems","DisksNav","shortLabel","type","activeKeywords","menu","cloudExclude","GraphLine","Erlenmeyer","featureFlag","Dashboards","Calendar","Bell","WrenchNav","generateNavItems","expanded","headerElement","userElement","onToggleClick","bannerElement","map","item","navItemElement","Item","Boolean","SubMenu","menuItem","navSubItemElement","SubItem","cloudOnly","equals","featureFlagValue","NOTES_PORTAL_ID","NotesPortal","matchGradientToColor","style","converter","Warning","WarningLight","Success","Error","DangerDark","Info","DefaultLight","notifications","duration","message","linkText","button","onTimeout","dismissNotification","onDismiss","defaultProps","OPTIONS","mode","theme","tabIndex","readonly","lineNumbers","autoRefresh","completeSingle","lineWrapping","placeholder","noOp","handleMount","instance","focus","editor","handleChange","_","__","note","onChangeNote","handleScroll","scrollInfo","onScroll","top","currentScrollTop","getScrollInfo","scrollTop","scrollTo","autoCursor","options","onBeforeChange","onTouchStart","editorDidMount","cloudImageRenderer","MarkdownRenderer","cloudRenderers","image","imageReference","handleEditorScroll","setState","handlePreviewScroll","e","onSetNote","visibilityToggle","hasQuery","showNoteWhenEmpty","onToggleShowNoteWhenEmpty","direction","Row","FlexEnd","onChange","onSetIsPreviewing","isPreviewing","payload","viewID","noteEditor","Editing","resources","views","byID","properties","savingStatus","NotStarted","handleDismiss","onClose","handleSave","cellID","dashboardID","onCreateNoteCell","onUpdateViewNote","onNotify","Loading","error","console","loadNote","resetNote","prevProps","viewsStatus","Done","Container","maxWidth","title","overlayTitle","Body","loading","spinnerComponent","status","saveButtonStatus","Default","getState","dashboard","view","Views","updatedView","currentViewState","noteState","setNoteState","overlays","undefined","allPermissionTypes","ensureT","userID","t","action","resource","x","assertNever","allAccessPermissions","withOrgID","flatMap","specificBucketsPermissions","buckets","permission","b","allBucketsPermissions","selectBucket","bucketName","selectedBuckets","find","n","filter","BucketTab","getMe","description","meID","onCreateAuthorization","permissions","handleInputChange","onSubmit","alignItems","Column","margin","Large","AlertTriangle","Element","Remove","Checkmark","Submit","deleteButton","onDragStart","onDelete","scrollable","maxHeight","addPadding","classname","Menu","Empty","emptyFunction","isInCheckOverlay","onSelect","selectedOption","Button","Disabled","autoHideScrollbars","scrollbarStyles","autoHide","widthPixels","flex","DropdownHeader","items","selectedItems","onSelectItem","multiSelect","selected","sorted","list","sortKey","INEXACT_PATH","EMPTY_ARRAY_BRACKETS","createIndex","terms","extractSuffixes","sort","checkIndex","sortedSuffixes","searchTerm","nearestSuffix","term","suffixes","Array","lowerTerm","toLocaleLowerCase","i","filtered","sortByKey","labels","searchKeys","formattedSearchTerm","listItem","labelID","getKey","isStringArray","searchIndex","String","trimLeft","getInExactKey","results","r","FilterListContainer","FilterBuckets","handleSetSearchTerm","filteredBuckets","sortedBuckets","handleTabClick","tab","activeTab","tabs","shape","StretchToFit","Option","titleText","onTabClick","Stretch","Medium","bucketTabs","builderCard","toLowerCase","AllBuckets","Scoped","onSelectAll","onDeselectAll","Small","Text","titlePreposition","readBuckets","writeBuckets","activeTabRead","activeTabWrite","handleReadTabClick","handleWriteTabClick","handleSelectReadBucket","handleSelectWriteBucket","handleReadSelectAllBuckets","handleReadDeselectAllBuckets","handleWriteSelectAllBuckets","handleWriteDeselectAllBuckets","readBucketPermissions","allReadBucketPermissions","writeBucketPermissions","allWriteBucketPermissions","GetResources","Buckets","widthXS","Twelve","widthSM","Six","nonSystemBuckets","bucket","getTelegrafConfigToml","overlayBody","telegrafConfig","script","readOnly","telegrafs","currentConfig","downloadTextFile","filename","extension","mimeType","formattedName","trim","replace","formatDownloadName","blob","Blob","a","document","createElement","window","URL","createObjectURL","download","body","appendChild","click","parentNode","removeChild","handleDownloadConfig","telegraf","overlay","get","buttonStatus","configStatus","Telegrafs","transform","template","vars","Function","JSON","stringify","output","Object","assign","defaults","values","copyText","CodeSnippet","TELEGRAF_OUTPUT","OUTPUT_DEFAULTS","server","token","selectedBucket","handleSelectBucket","currentBucket","config","_a","_b","_buckets","bucket_dd","selectedBucketID","onSelectBucket","marginTop","origin","orgName","orgSwitcherItemClass","orgSwitcherIcon","CaretRight","currentOrgIndicator","orgs","Orgs","currentOrg","Ascending","sortedOrgs","getStatus","disabled","selectedDuration","onSelectDuration","durations","resolvedDurations","d","displayText","onCollapse","READABLE_DEFAULT_SECONDS","DURATION_OPTIONS","handleRadioClick","onChangeRuleType","handleSelectDuration","durationStr","durationSeconds","onChangeRetentionRule","retentionSeconds","maxRetentionSeconds","limits","handleNameValidation","ruleType","buttonText","disableRenaming","onChangeInput","onClickRename","nameInputStatus","ValidationElement","helpText","nameHelpText","validationFunc","required","autoFocus","errorMessage","ruleErrorMessage","Danger","submitButtonColor","submitButtonStatus","retentionIsTooShort","humanize","DEFAULT_RULES","everySeconds","initialBucketState","isRetentionLimitEnforced","retentionRules","readableRetention","createBucketReducer","createBucket","retentionRule","preventDefault","cloudUpgradeButtonClass","assetName","borderGradient","MiyazakiSky","borderColor","Raven","wrapText","clearOverlayControllerState","overlayID","activeOverlay","visibility","closer","visible","supportLinks","sortFunc","firstDashboard","secondDashboard","localeCompare","dashboards","getSortedDashboardNames","setSearchTerm","dashboardsList","recentlyModifiedDashboards","reverse","autoSizeHeight","Search","stretchToFitWidth","DashboardsList","animate","version","y","height","viewBox","cx","cy","rx","ry","x1","y1","x2","y2","points","loadDataAnimating","setLoadDataAnimation","dashboardingAnimating","setDashboardingAnimation","alertsAnimating","setAlertsAnimation","PolarExpress","onMouseOver","onMouseOut","backgroundColor","Onyx","alertOnly","rateLimitAlertClass","EXCEEDED","Cloud","hideMobileIcon","textColor","Yeti","pageTitleSuffixer","pageTitles","store","join","titleTag","fullWidth","Title","Contents","Eight","widthMD","Nine","Four","Three","Resources","handleLimit","resourceName","onShowOverlay","onDismissOverlay","asset","handleSelect","selection","onSelectNew","onSelectImport","onSelectTemplate","limitStatus","OK","newOption","importOption","templateOption","Plus","optionItems","canImportFromTemplate","super","handleSearch","onSearch","handleBlur","placeholderText","onBlur","generateSortItems","resourceType","sortType","sortDirection","Descending","Date","Tasks","Variables","Labels","Templates","Scrapers","Authorizations","sortDropdownItems","handleItemClick","flexBasis","onCreateTask","setShowInactive","showInactive","onImportTask","onImportFromTemplate","onSort","ControlBar","ControlBarLeft","ControlBarRight","handleMouseOver","handleClick","stopPropagation","colorHex","noScrollX","menuItems","filteredLabels","onItemClick","onUpdateSelectedItemID","selectedItemID","allLabelsUsed","onStartCreatingLabel","ADD_NEW_LABEL_ITEM_ID","ArrowDirection","handleKeyDown","onAddLabel","handleHighlightAdjacentItem","Up","Down","selectedItemIndex","findIndex","Math","min","max","handleRefocusInput","triggerRef","onInputChange","appearance","Outline","position","Below","distanceFromTrigger","showEvent","None","hideEvent","contents","onKeyDown","maxLength","onNameValidation","onCloseModal","onLabelPropertyChange","onColorChange","isFormValid","Box","placeholderLabelName","validatedColor","handleSubmit","onCreateLabel","resetForm","prevState","handleLabelPropertyChange","handleColorChange","colorStatus","overrideDefaultName","isVisible","nameIsValid","colorIsValid","Valid","ADD_NEW_LABEL_LABEL","popoverTrigger","handleAddPopoverEventListener","current","addEventListener","isPopoverVisible","onClickOutside","handleAddLabel","async","selectAvailableItem","filterLabels","handleUpdateSelectedItemID","availableLabels","lowercaseName","lowercaseSearchTerm","acc","filteredLabelsWithAddButton","filteredLabelsWithoutAddButton","updatedAddButton","fl","handleCreateLabel","l","handleStartCreatingLabel","isCreatingLabel","Open","handleStopCreatingLabel","Closed","handleEnsureUniqueLabelName","names","popover","Square","ref","noLabelsIndicator","selectedLabels","labelsUsed","differenceBy","LabelsEditMode","handleLabelClick","labelName","onFilterChange","handleDeleteLabel","onRemoveLabel","isEditable","currentLabels","_label","hasOwnProperty","bind","editMode","Editable","selectedLabelIDs","lastRunError","lastRunStatus","highlight","setHighlight","statusClassName","enableDefaultStyles","Hover","onShow","onHide","handleNameClick","event","task","url","metaKey","open","handleViewRuns","handleRenameTask","onUpdate","handleExport","onAddTaskLabel","handleRemoveLabel","onDeleteTaskLabel","changeToggle","onActivate","isTaskActive","contextMenu","FlexStart","EditableName","noNameString","buttonTestID","inputTestID","Meta","activeToggle","latestCompleted","schedule","labelText","onClone","onRunTask","CogThick","Duplicate","Trash","every","offset","cron","onCreate","totalCount","memGetSortedResources","taskLabelsEdit","isEditingTaskLabels","checkTaskLimits","emptyState","rows","tasks","getAssetLimits","H4","stretchToFitHeight","doNothing","handleConvertToTemplate","onCreateTemplateFromResource","downloadButton","toTemplateButton","copyButton","resourceText","CopyButton","textToCopy","contentName","onCopyText","clearExportTemplate","goBack","convertToTemplate","taskTemplate","templates","exportTemplate","dragCounter","handleWindowDragOver","uploadContent","handleFileClick","file","currentTarget","files","reader","FileReader","readAsText","onload","result","fileName","submitOnUpload","handleFileDrop","dataTransfer","dragClass","submitOnDrop","handleFileOpen","fileInput","handleCancelFile","onCancel","handleDragEnter","handleDragLeave","inputContent","removeEventListener","containerClass","dragAreaClass","dragAreaHeader","infoClass","accept","fileTypesToAccept","buttons","compact","success","submitText","ImportOption","selectedImportOption","Upload","importContent","handleChangeTextArea","updateStatus","handleSetImportContent","submit","clearImportContent","handleSetImportOption","Paste","importBody","submitButton","updateOverlayStatus","handleImportTask","importString","createTaskFromTemplate","notify","parse","autoSize","panelContents","selectedTemplateSummary","templateName","templateDescription","variables","variablesList","cells","cellsList","variable","cell","Cube","meta","TemplateBrowserListItem","selectedTemplate","TemplateBrowserList","handleButtonClick","getAll","allIDs","handleSelectTemplate","submitStatus","filteredTemplates","Task","templateStatus","Filter","handleSort","handleActivate","updateTaskStatus","handleDelete","deleteTask","handleClone","cloneTask","handleCreateTask","summonImportFromTemplateOverlay","summonImportOverlay","isImporting","updateTaskName","filteredTasks","ts","totalTaskCount","hiddenTaskAlert","component","activeFilter","hiddenCount","pluralizer","verb","interval","setSelectedToFirst","selectedBucketName","dropdownItems","onChangeBucketName","selectedName","firstBucketNameInList","handleChangeScheduleType","onChangeScheduleType","taskOptions","taskScheduleType","onChangeToBucketName","toBucketName","isInOverlay","cronHelper","canSubmit","dismiss","onSave","taskOptionsToFluxScript","fluxScript","addDestinationToFluxScript","toOrgName","trimmedScript","trimmedOrgName","handleChangeScript","setNewScript","setTaskOption","newScript","taskOption","preamble","saveNewScript","handleCancel","cancel","handleChangeInput","clearTask","onChangeScript","log","Cell","dateTimeString","time","dt","newdate","format","HeaderCell","columnName","columnCount","listLogs","logs","rl","handleToggleOverlay","taskID","run","getLogs","isImportOverlayVisible","scheduledFor","startedAt","renderLogOverlay","onClickColumn","headerKeys","sortedRuns","runs","handleClickColumn","nextSort","handleRunTask","getRuns","handleEditTask","currentTask","runStatus","Play","setCurrentScript","updateScript","selectTaskByID","setAllTaskOptionsByID","currentScript","funcs","filteredFunctions","func","groupedFunctions","arguments","argsList","desc","example","args","ToolbarFunction","onClickFunction","functionRef","ToTheLeft","category","DEBOUNCE_MS","FROM","package","UNION","FLUX_FUNCTIONS","handleClickFunction","onInsertFluxFunction","sortedFunctions","entries","onSetActiveQueryText","activeQueryText","selectedValue","variableID","onSelectValue","prevSelectedValue","dropdownStatus","longestItemWidth","floor","widthLength","selectedText","Amethyst","val","execute","onClickVariable","trigger","variableName","keys","shouldShowTooltip","filteredVariables","v","content","toolbarTabClass","activeQueryBuilderTab","onInsertVariable","setActiveTab","activeToolbar","toolbarExpanded","FluxToolbarTab","onSubmitQueries","editorInstance","setEditorInstance","getFluxTextAndRange","p","getPosition","insertLineNumber","currentLineNumber","scriptLines","getInsertLineNumber","lineNumber","row","currentRange","getVisibleRanges","shouldInsertOnLastLine","endLineNumber","column","funcName","functionRequiresNewLine","range","monaco","Range","onSubmitScript","edits","importStatement","funcPackage","generateImport","getValue","unshift","executeEdits","csv","now","Download","queryResults","onEditAsFlux","onEditWithBuilder","onResetAndEditWithBuilder","builderConfig","activeQuery","scriptMode","Required","popoverColor","popoverAppearance","popoverStyle","confirmationLabel","confirmationButtonText","onConfirm","AutoRefreshOptionType","milliseconds","handleDropdownChange","autoRefreshOption","onChoose","isOpen","manualRefreshButton","dropdownWidthPixels","dropdownIcon","selectedOptionLabel","option","Divider","selectedOptionID","isDisabled","Paused","paused","isPaused","Pause","Refresh","showManualRefresh","onManualRefresh","subscribers","refresh","forEach","fn","f","refreshMs","clearInterval","intervalID","setInterval","GlobalAutoRefresher","autoRefresher","handleChooseAutoRefresh","onSetAutoRefresh","Active","executeQueries","onExecuteQueries","poll","subscribe","stopPolling","unsubscribe","isValidRTC3339","isValid","getFormat","inCurrentMonth","inputValue","inputFormat","dayClassName","date","getDate","handleSelectDate","onSelectDate","toISOString","dateTime","maxDate","minDate","inputErrorMessage","inputStatus","inline","startOpen","dateFormat","showTimeSelect","timeFormat","shouldCloseOnSelect","disabledKeyboardNavigation","calendarClassName","timeIntervals","fixedHeight","isInputValueInvalid","handleSetTimeRange","onSetTimeRange","upper","lower","handleSelectLower","handleSelectUpper","timeRange","ClickOutside","stylePosition","k","obj","isNaN","innerHeight","left","innerWidth","dropdownRef","handleApplyTimeRange","handleHideDatePicker","isDatePickerOpen","handleClickCustomTimeRange","handleClickDropdownItem","timeRangeLabel","dropdownWidth","onChangeSearchTerm","searchPlaceholder","buttonSize","buttonColor","menuTheme","menuTestID","filteredMenuOptions","emptyText","filteredOptions","timers","ms","timer","clearTimeout","setTimeout","toComponentStatus","ADDITIONAL_GROUP_BY_COLUMNS","debouncer","handleSelectTag","tag","index","onSelectTag","handleSelectValue","handleRemoveTagSelector","onRemoveTagSelector","handleKeysSearch","onSetKeysSearchTerm","call","emitKeysSearch","onSearchKeys","handleValuesSearch","onSetValuesSearchTerm","emitValuesSearch","onSearchValues","handleAggregateFunctionSelect","onSetBuilderAggregateFunctionType","aggregateFunctionType","header","renderAggregateFunctionType","keysStatus","selectedKey","valuesSearchTerm","keysSearchTerm","selectedCounter","valuesStatus","selectedValues","ownProps","activeQueryBuilder","queryBuilder","tags","previousTagSelector","onSetAggregateFillValues","aggregateWindow","fillValues","Checkbox","checked","Child","grow","diameter","tooltipContents","tooltipStyle","fontSize","padding","suggestions","controlledStatus","submitInvalid","showDivider","validFunction","isFocused","setIsFocused","setInputValue","handleClickSuggestion","suggestion","classList","contains","onFocus","s","onSetWindowPeriodSelectionMode","onSelectAggregateWindow","period","autoWindowPeriod","isAutoWindowPeriod","durationDisplay","durationInputStatus","onMultiSelectBuilderFunction","onSingleSelectBuilderFunction","onSetFunctions","functions","selectedFunctions","autoFunctions","isAutoFunction","setIsAutoFunction","functionList","setFunctionSelectionMode","newFunctions","onSelectFunction","FunctionModeSelector","reduxDispatch","selectorItemClassName","buttonDisabled","handleChangeRuleType","handleChangeRetentionRule","Above","Click","Selector","bucketNames","bucketsStatus","fb","onLoadBuckets","tagFiltersLength","noScrollY","addButton","functionSelector","checkType","moreTags","onAddTagSelector","collapsible","alertBuilder","DELAYTIME","abortController","AbortController","handleCancelClick","abort","queryStatus","submitButtonDisabled","handleToggleIsViewingRawData","isViewingRawData","onSetIsViewingRawData","newName","handleDoubleClick","isActive","onEdit","handleEnterKey","handleUpdate","onCancelEdit","queryIndex","isEditing","queryName","onKeyUp","onDoubleClick","fetchDuration","queriesTimerClass","toFixed","isEditingName","handleEditActiveQueryName","handleSetActive","handleEditName","handleUpdateName","onUpdateActiveQueryName","activeQueryIndex","onSetActiveQueryIndex","handleCancelEditName","handleRemove","onRemoveQuery","handleToggleView","onToggleQuery","query","queryTabClass","hidden","showHideButton","queriesTimer","removeButton","MenuItem","isRemovable","EyeClosed","EyeOpen","queryCount","draftQueries","onAddQuery","PlusSkinny","onEnableUpdatedTimeRangeInVEO","RawDataToggle","queryEditor","tagSet","handleChangeTagRow","handleRemoveTagRow","basis","EMPTY_TAG_SET","onSelectCheckEvery","onSetOffset","onRemoveTagSet","onEditTagSetByIndex","Label","onSetStatusMessageTemplate","statusMessageTemplate","autocomplete","Off","form","minLength","spellCheck","wrap","Soft","threshold","removeLevel","changeThresholdType","dropdownOptions","levelColor","level","within","OptionSelector","Castle","convertUserInputToNumOrNaN","NaN","Number","changeValue","changeRange","disabledTitleText","defaultThreshold","onUpdateThreshold","onRemoveThreshold","table","inputs","changeInputs","yDomain","getColumn","addLevel","low","high","newThreshold","toType","valueThreshold","rangeThreshold","ThresholdRangeInput","ThresholdValueInput","thresholds","thresholdsArray","display","hex","Fire","Ocean","Thunder","Viridian","selectedLevel","onClickLevel","onSetStaleTime","onSetTimeSince","onSetLevel","staleTime","timeSince","cardTitle","conditionsComponent","endpoints","NotificationEndpoints","rule","endpoint","endpointID","Name","Description","matchingRules","setMatchingRules","checkTags","queryTags","joined","fluxGroupKeyUnion","gk","tagsList","resp","data","notificationRules","getMatchingRules","onLoadCustomCheckQueryState","timerActive","setTimerActive","seconds","setSeconds","timerElementClass","diameterPixels","strokeWidth","errorInfo","errorComponent","DefaultErrorMessage","activeTimeMachine","viewProperties","isInitialFetch","statuses","checkThresholds","giraffeResult","xColumn","yColumn","fillColumns","symbolColumns","timeZone","queries","resolvedViewProperties","noQueries","timeMachineViewClassName","EmptyQueryView","errorFormat","Scroll","hasResults","RawFluxDataTable","ViewSwitcher","geom","onSetGeom","getGeomLabel","onUpdateYAxisLabel","handleUpdateAxisPrefix","onUpdateAxisPrefix","handleUpdateAxisSuffix","onUpdateAxisSuffix","prefix","suffix","axisName","toUpperCase","generateGradientStyle","colors","background","round","selectedScale","needle","findSelectedScale","c","onUpdateColors","MinMaxInputs","initialMin","initialMax","onSetMinMax","minInput","setMinInput","useOneWayState","maxInput","setMaxInput","emitIfValid","newMin","parseFloat","newMax","handleKeyPress","onKeyPress","formatDomainValue","domain","onSetDomain","showInputs","setShowInputs","isArray","BASE_2","BASE_10","LINEAR","LOG","base","onUpdateYAxisBase","selectedColumn","onSelectColumn","availableColumns","onSetChecked","TimeFormat","onTimeFormatChange","setBoundValues","handleSetYDomain","bounds","onUpdateYAxisBounds","axes","shadeBelow","onSetPosition","onSetShadeBelow","onSetYColumn","onSetXColumn","numericColumns","onSetTimeFormat","hoverDimension","onSetHoverDimension","ColorSelector","handleUpdatePrefix","onUpdatePrefix","handleUpdateSuffix","onUpdateSuffix","handleUpdateTickSuffix","onUpdateTickSuffix","handleUpdateTickPrefix","onUpdateTickPrefix","optionalTicks","tickPrefix","tickSuffix","handleSetValue","digits","onDecimalPlacesChange","isEnforced","handleChangeMode","Custom","Auto","onChangeMode","inputComponent","DecimalPlaces","ColorDropdown","onChangeValue","onChangeColor","onRemove","isBaseThreshold","isRemoveable","dropdownStyle","sortThresholds","Infinity","randomTick","domainWidth","roundTo","random","isDirty","errors","minThreshold","maxThreshold","validateThresholds","minValue","maxValue","colorChoice","firstThresholdType","thresholdType","v4","addThreshold","unknownActionType","onSetThresholds","initialState","reducer","defaultState","prevDefaultState","reduceDefaultState","wrappedReducer","reducerState","useOneWayReducer","decimalPlaces","onUpdateDecimalPlaces","ThresholdColoringSetting","Background","onSetBackground","onSetText","activeSetting","onSetPrefix","onSetTickPrefix","onSetSuffix","onSetTickSuffix","onSetDecimalPlaces","onSetColors","columnSource","beginDrag","columnTarget","monitor","dragIndex","getItem","hoverIndex","hoverBoundingRect","getBoundingClientRect","hoverMiddleY","bottom","hoverClientY","getClientOffset","onMoveColumn","handleColumnRename","onUpdateColumn","internalName","displayName","handleToggleVisible","connectDragPreview","connectDropTarget","columnClassName","labelClassName","dragHandle","connectDragSource","isDragging","dragColumnType","dragColumnSource","dragHandler","dropColumnType","dropColumnTarget","dropHandler","connect","dropTarget","DropTarget","dragSource","dragPreview","DragSource","Component","DndProvider","backend","draggableColumns","columns","withDragDropContext","fixed","onToggleFixFirstColumn","fieldOptions","field","filterFieldOptions","col","handleChangeSortBy","sortBy","tableOptions","onSetTableOptions","handleMoveColumn","fromIndex","toIndex","targetValue","valuesRemoved","move","onSetFieldOptions","handleUpdateColumn","fieldOption","onUpdateFieldOption","handleToggleFixFirstColumn","fixFirstColumn","filteredColumns","FixFirstColumn","binCount","onSetBinCount","onSetFillColumns","onSetXDomain","onSetXAxisLabel","availableGroupColumns","xDomain","xAxisLabel","groupDropdownStatus","selectedOptions","columnExists","updatedColumns","fc","capitalize","colorSchemes","selectedColorScheme","onSelectColorScheme","scheme","resolvedSchemes","HEATMAP_COLOR_SCHEMES","onSetBinSize","onSetYDomain","onSetYAxisLabel","binInputStatus","setBinInputStatus","binInput","setBinInput","binSize","xPrefix","xSuffix","yAxisLabel","yPrefix","ySuffix","onSetSymbolColumns","updatedSymbolColumns","updatedFillColumns","onUpdateType","didClick","onExecuteCheckQuery","SubmitCheckQueryButton","isViewingVisOptions","dragPosition","setDragPosition","containerClassName","bottomContents","handleOrientation","Horizontal","handlePositions","onChangePositions","Panel","getReadWriteCardinalityLimits","readQueryParams","search","ignoreQueryPrefix","bucketQP","clearCache","Export","onToggleVisOptions","TIME_ZONES","TimeZoneDropdown","selectedTimeZone","onSetTimeZone","tz","buttonIcon","Annotate","handleSelectDashboard","selectedIDs","updatedSelection","dropdownLabel","newDashboardName","dashboardItems","newDashboardItem","dividerItem","targetDashboardIDs","cellName","isNameDashVisible","onCreateCellWithView","onCreateDashboardWithView","viewWithProps","dashID","selectedDashboard","handleSelectDashboardID","handleChangeDashboardName","handleChangeCellName","onGetDashboards","nameDashboard","userDefinedVars","assignment","formatVarsOption","handleChangeToBucketName","activeScript","trimAndRemoveQuotes","elt","mapToCSV","pluralize","collection","templateValuesString","constructValuesFromString","onSelectDefault","defaultID","firstEntry","trimmed","trimEnd","parsedTVS","templateValuesData","Set","arr","has","add","csvToMap","getUniqueValuesFromCSV","valueSet","trimmedValue","handleChangeCSV","handleChangeQuery","language","handleChangeMap","update","onSelectMapDefault","CSVVariableBuilder","reservedVarNames","validateVariableName","varName","lowerName","reservedMatch","onCreateVariable","onHideOverlay","activeVariable","handleChangeType","selectedType","variableType","onTypeUpdate","isNameValid","hasValidArgs","handleSelectMapDefault","handleChangeArgs","onQueryUpdate","onMapUpdate","onConstantUpdate","onNameUpdate","firstRun","submitButtonText","typeDropdownLabel","validArgs","initialScript","constant","_query","handleHideOverlay","onEditorClose","SaveAsOption","saveAsOption","Dashboard","handleSetSaveAsOption","orientation","alignment","Tab","Variable","TabContents","saveAsForm","onSetBucketName","valid","deleteButtonStatus","setDeletionStatus","deletionStatus","setPreviewStatus","previewStatus","promise","setBucketName","setKeys","setValuesByKey","keyName","setValues","equality","shouldValidate","keyErrorMessage","equalityErrorMessage","valueErrorMessage","input","filters","onDeleteFilter","onSetFilter","bodyData","headers","borders","Vertical","cellPadding","pickerActive","setPickerActive","buttonRef","setCanDelete","isSerious","deleteFilter","deleteWithPredicate","predicates","start","stop","formatFilters","resetFilters","executePreviewQuery","variableAssignments","windowVars","getWindowVars","extern","buildVarsOption","retryAfter","didTruncate","bytesRead","fromFlux","setFiles","setFilter","setIsSerious","setBucketAndKeys","setTimeRange","canDelete","count","setCount","handleDeleteDataPreview","predicate","formatPredicatesForPreview","countQuery","rowQuery","total","FluxTablesTransform","tables","Dreamsicle","num","toString","formatNumber","bucketNameFromDE","timeRangeFromDE","ViewTypeDropdown","relativeTimestampFormatter","timeFromNow","fromNow","handleUpdateDashboard","onUpdateDashboard","handleCloneDashboard","onCloneDashboard","handleDeleteDashboard","onDeleteDashboard","handleClickDashboard","onResetViews","handleUpdateDescription","onAddDashboardLabel","onRemoveDashboardLabel","updatedAt","EditableDescription","pages","windowSize","registerSpinner","elem","_spinner","_observer","IntersectionObserver","measure","rootMargin","observe","isIntersecting","page","sortedDashboards","onCreateDashboard","getDashboards","getLabels","FilterDashboards","dashboardIDs","retainRangesDashTimeV1","checkDashboardLimits","filterComponent","filteredDashboards","Table","handleImportDashboard","createDashboardFromTemplate","populateDashboards","getVariablesForTemplate","getCellsForTemplate","included","attributes","View","dashboardTemplate","_text","setDashboardSort","handleFilterDashboards","createDashboard","sortOptions","CreateFromTemplateOverlay","controller","promises","getResourceDetails","Promise","all","getDashboard","remoteDataState","getResourceStatus","handleClickPresentationButton","ExpandA","onSetTheme","app","persisted","Moon","Sun","onRename","setEditingState","workingName","setWorkingName","handleStopEditing","handleInputFocus","select","nameIsUntitled","renamablePageTitleClass","untitled","Pencil","toggleShowVariablesControls","updateDashboard","onSetAutoRefreshStatus","updateQueryParams","setDashboardTimeRange","setAutoRefreshInterval","showVariablesControls","userSettings","currentDashboard","demoDataset","demo_dataset","AddCell","TextBlock","popoverVisible","setPopoverVisibility","indicatorClass","contentStyle","minWidth","Chat","confirmationText","confirming","setConfirmationState","onDeleteCell","onCloneCell","onCSVDownload","editNoteText","buttonClass","handleCloneCell","handleDeleteCell","handleEditNote","handleEditCell","CellContextDangerItem","fetchCount","hashMapMutex","createRef","pendingReload","pendingResults","pendingCheckStatuses","reload","check","isCurrentPageDashboard","onGetCachedResultsThunk","startTime","usedVars","waitList","context","queryID","code","setCellMount","observer","entry","getTime","shouldReload","disconnect","hasUpdatedTimeRangeInVEO","submitToken","implicitSubmit","q","queryLink","links","self","renderID","scroll","cellMountStartMs","perf","mountStartMs","fields","visRenderedMs","timeToAppearMs","incrementSubmitToken","ranges","manualRefresh","fallbackNote","handleCSVDownload","viewName","viewNote","isMarkdownView","ScrollableMarkdown","EmptyGraphMessage","setY","setScrollY","prevY","newY","boundingClientRect","unobserve","useDetectScroll","getCells","Grid","handleLayoutChange","grid","changed","newCells","ly","h","w","newCell","handlePositionChange","updateCells","cols","layout","rowHeight","useCSSTransforms","containerPadding","onLayoutChange","draggableHandle","isDraggable","isResizable","fast","minW","minH","maxW","handleAdd","WrappedComponent","handleManualRefresh","dropdownSource","dropdownTarget","moveDropdown","initialLoading","handleMoveDropdown","originalIndex","newIndex","moveVariable","variablesStatus","show","inPresentationMode","bar","DraggableDropdown","emptyBar","barContents","ephemeral","filterUnusedVars","saveButtonClass","handleClickOutsideTitle","onSetName","onSaveView","activeTimeMachineID","timeMachines","handleClose","viewMatchesRoute","loadingState","viewIsNew","AddNoteOverlay","EditNoteOverlay","dashRoute","setRenderID","pageTitle","NewVEO","EditVEO","isNew","urlVars","selectValue","syncVariables","pendingVars","RefContext","createContext","RefProvider","refs","setRefs","panel","Provider","scrollPosition","scrollToPipe","ScrollContext","ScrollProvider","setListScrollPosition","panelRef","offsetTop","pipes","addPipe","updatePipe","updateMeta","updateResult","movePipe","removePipe","NotebookContext","DEFAULT_STATE","TimeContext","timeContext","addTimeContext","updateTimeContext","removeTimeContext","TimeProvider","setTimeContext","block","memo","updateRange","updateRefresh","resolve","QueryContext","concat","getTimeRangeVars","then","raw","source","parsed","PREVIOUS_REGEXP","COMMENT_REMOVER","fakeNotify","notebook","isLoading","setLoading","tr","forceUpdate","_e","queryIncludesPreviousResult","stages","pipeID","pipe","requirements","instances","test","queryStruct","queryText","response","catch","hasQueries","toggleClassName","NotebookHeader","SUPPORTED_FAMILIES","family","onInsert","eventName","pipeFamilies","def","aPriority","priority","bPriority","cellFamilies","fam","initial","dividerRef","buttonPositioningEnabled","indexOf","handleMouseMove","pageX","minLeft","maxLeft","buttonLeft","setAttribute","onMouseEnter","onMouseLeave","remove","CaretUp","CaretDown","titleElement","onTitleChange","autoComplete","autoCorrect","sourceName","NotebookPanelHeader","controls","canBeMovedUp","canBeMovedDown","moveUp","moveDown","MovePanelButton","RemovePanelButton","panelClassName","updatePanelFocus","_props","Context","_pipes","handleSetNotebookMiniMapState","notebookMiniMapState","Minimize","Maximize","headerClassName","Notebook","activeTabName","dropdownBreakpoint","tabElement","childrenLeft","childrenRight","leftHeader","rightHeader","align","onDeleteBucket","persistentBucketMeta","onCopy","copiedText","isSuccessful","truncatedText","trimRight","onAddCollector","onAddLineProtocol","onAddClientLibrary","onAddScraper","ToTheRight","onAddBucketLabel","onDeleteBucketLabel","onSetDataLoadersBucket","onSetDataLoadersType","bucketType","onDeleteData","Streaming","LineProtocol","ClientLibrary","Scraping","setDemoDataStatus","removeBucket","bucketID","handleStartDeleteData","listBuckets","onUpdateBucket","border","getDemoDataBucketMembership","normalizedBucket","ownBucketsByID","demoDataBuckets","demoData","setDemoDataBuckets","getDemoDataBuckets","handleDeleteBucket","deleteBucket","handleFilterUpdate","checkBucketLimits","leftHeaderItems","rightHeaderItems","Ten","bs","updateBucket","Two","Props","writePrecisions","Ns","Us","Ms","S","makePrecisionReadable","Nanoseconds","Microseconds","Seconds","Milliseconds","setPrecision","precision","activeLPTab","onURLChange","handleTextChange","setLineProtocolBody","handleSetLineProtocol","lpBody","lineProtocolBody","urlInput","UploadFile","EnterManually","EnterURL","offsetMD","One","setActiveLPTab","handleURLChange","TabSelector","TabBody","dataLoading","dataLoaders","onIncrementCurrentStepIndex","handleUpload","writeLineProtocolAction","setLPStatus","textAlign","LineProtocolTabs","OnboardingButtons","autoFocusNext","nextButtonText","steps","statusText","sizePixels","lpStatus","lpError","onDecrementCurrentStepIndex","onExit","onClickBack","stepProps","currentStepIndex","Configure","Verify","LineProtocolVerifyStep","handleSetBucketInfo","onSetBucketInfo","handleSetStartingValues","startingStep","onSetCurrentStepIndex","onClearDataLoaders","onClearSteps","LineProtocolStepSwitcher","currentStep","handleSaveConfig","telegrafEditor","spinner","TelegrafEditor","loader","CollectorsStepSwitcher","onClearTelegrafEditor","onSetActiveTelegrafPlugin","onSetPluginConfiguration","telegrafPlugins","substep","bucketDraft","setBucketDraft","loadingStatus","setLoadingStatus","retentionSelection","setRetentionSelection","fetchBucket","effectedItems","confirmButtonText","isConfirmed","handleCloseOverlay","handleConfirm","overlayContents","startBucket","validationStatus","handleValidation","onRenameBucket","handleUrlValidation","startsWith","scraper","handleFormSubmit","onCreateScraper","firstBucketID","TypeEnum","Prometheus","CreateScraperForm","bucketsPath","auth","handleClickDescription","onClickDescription","isTokenEnabled","createdAt","onToggle","PermissionsWidgetMode","Read","PermissionsWidgetSelection","Selected","Unselected","checkbox","Write","unselected","selectable","handleSelectAll","handleDeselectAll","selectionButtons","sectionItems","Children","child","headerText","sections","heightPixels","Section","itemID","actions","isTokenOverlayVisible","authID","authInView","auths","allAccessOption","handleAllAccess","bucketReadWriteOption","handleReadWrite","AuthSearchKeys","FilterAuthorizations","handleChangeSearchTerm","tokens","filteredAuths","Status","CreatedAt","tokensPath","collector","onAddLabels","onRemoveLabels","handleOpenConfig","handleDeleteConfig","metadata","collectorsList","collectors","onDeleteTelegraf","onUpdateTelegraf","sortedCollectors","FilterTelegrafs","cs","FilteredList","hasNoTelegrafs","bodySize","Platinum","handleAddCollector","handleJustTheOutput","handleFilterChange","dataLoaderOverlay","instructionsOverlay","collectorID","hasTelegrafs","collecorsLeftHeaderItems","collecorsRightHeaderItems","Eye","createButton","hasNoBuckets","isEmpty","onSetTelegrafConfigID","onSetTelegrafConfigName","TelegrafInstructions","configID","telegrafsPath","handleDeleteScraper","onDeleteScraper","handleUpdateScraperName","onUpdateScraper","scrapersList","scrapers","sortedScrapers","FilterScrapers","createScraperButton","handleUpdateScraper","sl","GoogleLogo","clientArduinoLibrary","preserveAspectRatio","installingLibraryManagerCodeSnippet","installingManualCodeSnippet","initializeClientCodeSnippet","writingDataPointCodeSnippet","executeQueryCodeSnippet","clientCSharpLibrary","installingPackageManagerCodeSnippet","installingPackageDotNetCLICodeSnippet","packageReferenceCodeSnippet","writingDataLineProtocolCodeSnippet","writingDataPocoCodeSnippet","pocoClassCodeSnippet","clientGoLibrary","xmlSpace","clientJavaLibrary","xmlns","buildWithMavenCodeSnippet","buildWithGradleCodeSnippet","writingDataPojoCodeSnippet","pojoClassCodeSnippet","clientJSLibrary","initializeNPMCodeSnippet","clientPythonLibrary","initializePackageCodeSnippet","writingDataBatchCodeSnippet","clientRubyLibrary","enableBackground","fill","initializeGemCodeSnippet","writingDataHashCodeSnippet","clientPHPLibrary","initializeComposerCodeSnippet","writingDataArrayCodeSnippet","clientKotlinLibrary","gradientUnits","gradientTransform","stopColor","clientScalaLibrary","xlinkHref","buildWithSBTCodeSnippet","clientLibraries","cardSize","gutter","cl","Card","formName","writingDataDataPointCodeSnippet","clientLibPath","featureFlagName","TabbedPageTabs","onExport","onAddVariableLabel","onRemoveVariableLabel","handleRenameVariable","onDeleteVariable","handleStartEdit","variableOverlayState","sortedVariables","onEditVariable","importOverlayState","handleOpenImportOverlay","handleOpenCreateOverlay","handleDeleteVariable","handleImportVariable","createVariableFromTemplate","getVariables","variableTemplate","workingVariable","startVariable","onUpdateVariable","RenameVariableForm","varsPath","onImport","DEFAULT_TEMPLATE_NAME","handleUpdateTemplateName","handleUpdateTemplateDescription","handleCreate","onCreateFromTemplate","handleViewTemplate","onAddTemplateLabels","onRemoveTemplateLabels","staticTemplates","FilterStaticTemplates","FilterTemplateSummaries","handleClickTab","templatesList","handleImportTemplate","createTemplate","strokeColor","fillColor","lineStyle","stroke","strokeLinecap","strokeLinejoin","strokeMiterlimit","polygonStyle","resourceCount","onClickInstall","installButton","resourcePlural","SpirulinaSmoothie","Neutrino","shrink","CommunityTemplateReadme","handleToggle","shouldInstall","shouldDisableToggle","descriptionClassName","H6","setMode","groupClassName","Div","isResourceSelected","getResourceInstallCount","getTotalResourceCount","summary","toggleTemplateResourceInstall","templateMetaName","charts","telegrafConfigs","checks","notificationRule","CommunityTemplateContents","communityTemplateToInstall","IncludedResources","setTabToIncludedResources","setTabToReadme","Readme","onInstall","Tabs","CommunityTemplateInstallerOverlay","reviewTemplateResources","directory","templateExtension","yamlLocation","setCommunityTemplateToInstall","err","handleInstallTemplate","resourcesToSkip","stackID","fetchAndSetStacks","flags","communityTemplates","CommunityTemplateImportOverlay","original","overlayHeading","closeButton","generateDeleteHandlerForStack","stackName","kind","Fragment","resourceID","sources","stacks","striped","stack","renderStackResources","toDateString","renderStackSources","confirmationButtonColor","Solid","CommunityTemplatesInstalledList","eventType","templateUrl","startTemplateInstall","handleTemplateChange","communityTemplatesImportPath","SymbolHeader","symbol","Blank","CommunityTemplatesIndex","handleImport","TemplateViewOverlay","StaticTemplateViewOverlay","onUpdateLabel","handleColorHexChange","labelHasDescription","overlayState","handleCloseModal","handleUpdateLabel","updatedLabel","isOverlayVisible","onDeleteLabel","FilterLabels","createLabel","updateLabel","deleteLabel","ls","LabelsTab","handleShowEditOverlay","generateCopyText","copySucceeded","DocScott","SpaceBetween","marginBottom","startOrg","handleGoBack","isUniqueName","orgNames","o","handleRenameOrg","onRenameOrg","originalName","updatedOrg","normOrg","getCheckIDs","sortChecksByName","sortRulesByName","rules","sortEndpointsByName","onView","utc","parseSearchInput","Parser","searchExprToFlux","searchExpr","right","operator","delim","badExpr","Lexer","advance","expect","head","readToDelimiter","delimiter","expected","actual","lex","parseExpr","precedence","parseStringLiteral","parseRegexLiteral","parseGroupedExpr","next","nextPrecedence","parseTagExpr","parseBooleanExpr","currentPrecedence","endsWith","expr","PRECEDENCES","expectedTypes","expectedMsg","and","or","INITIAL_STATE","limit","nextRowsStatus","nextRowsErrorMessage","nextRowsCanceller","hasReachedEnd","searchInput","searchTimeoutID","nextScrollTop","loadNextRows","loadRows","until","searchImmediately","parsingFailed","clearSearch","performSearch","effect","isFirstRender","useMountedLayoutEffect","rowKey","columnWidth","RANDOM_NUMBERS","randomNumber","animationDelay","rowCount","getRowCount","isRowLoaded","rowLoadedFn","isRowLoadedBoolean","loadMoreRows","isLongRunningQuery","setIsLongRunningQuery","timeoutID","rowRenderer","isLastRow","onRowsRendered","registerChild","overscanRowCount","exampleSearches","isSearchInputValid","eventViewerProps","historyType","onSetHistoryType","EXAMPLE_STATUS_SEARCHES","EXAMPLE_NOTIFICATION_SEARCHES","updatedQueryParams","currentQueryString","newQueryParams","newQueryString","SEARCH_QUERY_PARAM","HISTORY_TYPE_QUERY_PARAM","loadStatuses","since","fluxFilter","renameTagKeys","processResponse","rewrittenExpr","tagKeyNodes","node","normal","queryPromise","reject","columnKeys","getInitialState","ResourceIDsContext","resourceIDs","checkIDs","endpointIDs","getEndpointIDs","ruleIDs","ruleID","getRuleIDs","setHistoryType","getInitialHistoryType","loadNotifications","STATUS_FIELDS","NOTIFICATION_FIELDS","Checks","NotificationRules","formatOrgRoute","route","checkName","checkID","notificationRuleName","notificationRuleID","notificationEndpointName","notificationEndpointID","sent","modifier","onUpdateCheckDisplayProperties","deleteCheck","onAddCheckLabel","onRemoveCheckLabel","onCloneCheck","activeStatus","queryParams","URLSearchParams","FilterChecks","EmptyChecksList","showFirstTimeWidget","onCreateThreshold","onCreateDeadman","cards","filteredChecks","questionMarkTooltipContents","substr","isLimitExceeded","assetLimitButton","Kevlar","marginRight","handleCreateThreshold","handleCreateDeadman","noAlertingResourcesExist","AlertsColumn","onUpdateRuleProperties","deleteNotificationRule","onAddRuleLabel","onRemoveRuleLabel","onCloneRule","FilterRules","EmptyNotificationRulesList","filteredCards","nr","buttonTitleText","newRuleRoute","onDeleteEndpoint","onAddEndpointLabel","onRemoveEndpointLabel","onUpdateEndpointProperties","onCloneEndpoint","EndpointCardMenu","FilterEndpoints","EmptyEndpointList","filteredEndpoints","nextTab","singleField","singleAggregateFunc","oneOrMoreThresholds","QueryChecklistItem","saveStatus","setSaveStatus","onSaveCheckFromTimeMachine","onResetAlertBuilder","onUpdateAlertBuilderName","loadedCheckID","otherLevel","levels","Sidewalk","RuleStateContext","RuleDispatchContext","useRuleState","useRuleDispatch","prevInitialStateRef","newState","statusRule","statusRules","cid","tagRule","tagRules","statusRuleID","tagRuleID","levelType","statusID","change","statusChange","currentLevel","previousLevel","StatusRule","operators","selectedOperator","newValue","Honeydew","Pepper","selectedEndpointID","onSelectEndpoint","selectedEndpoint","messageTemplate","subjectTemplate","bodyTemplate","channel","saveButtonText","setErrorMessage","onCreateRule","onUpdateRule","stateRule","EndpointStateContext","EndpointDispatchContext","EndpointOverlayProvider","baseProps","clientURL","routingKey","method","authMethod","http","slack","useEndpointState","useEndpointDispatch","Password","onSelectType","password","onChangeParameter","contentTemplate","blockedEndpoints","onSetErrorMessage","useEndpointReducer","minHeight","onCreateEndpoint","onUpdateEndpoint","alertsPath","activeColumn","setActiveColumn","pageContentsClassName","selectGroupOptionID","RulesColumn","NewThresholdCheckEO","NewDeadmanCheckEO","EditCheckEO","NewEndpointOverlay","Tooltip","CheckPlot","member","role","Sorter","members","FilterMembers","removeMember","onRemoveMember","Members","foundOrg","firstOrgID","orgPath","DashboardsIndex","handleCreateOrg","createOrgWithBucket","closeModal","handleChangeOrgInput","orgNameInputStatus","orgErrorMessage","randomErrorMessage","handleChangeBucketInput","bucketNameInputStatus","bucketErrorMessage","messages","createdOrg","orgResp","bucketResp","currentPage","appWrapperClass","presentationMode","TooltipPortal","TreeNav","organizations","identity","organizationIds","getOrganizations","render","hasMounted","checkForLogin","users","returnTo","handleNext","onSetStepStatus","Complete","handleUsername","handlePassword","confirmPassword","isPassMismatched","isPassTooShort","handleConfirmPassword","handleOrg","handleBucket","orgTip","marginLeft","bucketTip","onSetupAdmin","isAdminSet","setupParams","InputIcon","InputStatus","Five","passwordError","confirmError","passwordStatus","labelAddOn","nextButtonStatus","stepStatuses","areInputsValid","fetcher","handleAdvanced","onboarding","handleQuickStart","create","handleKeydown","onboardingStepProps","setSetupParams","setStepStatus","stepTitles","stepTestIds","stepSkippable","handleExit","onCompleteSetup","progressHeader","handleSetCurrentStep","onSetSetupParams","handleSetSetupParams","setup","setOrganizationID","setBucketID","handleCompleteSetup","isSetupComplete","redirectToHome","handleDecrementStepIndex","stepID","setStepIndex","handleIncrementStepIndex","allowed","handleSignIn","handleRedirect","dismissAllNotifications","Rubik","weight","Regular","LoginForm","emailValidation","email","passwordValidation","handleForgotPasswordClick","toggleVisibility","Email","hasError","SocialButton","emailError","formFieldTypeFactory","validateFieldValues","auth0","login","realm","Authentication","displayErrorMessage","auth0Err","handleSocialClick","connection","authorize","changePassword","successMessage","redirectTo","WebAuth","clientID","redirectUri","redirectURL","responseType","Post","Google","LoginPage","accentColorA","Magenta","accentColorB","DeepPurple","enableGraphic","logo","H1","handleSignOut","isOnboardingURL","getLinks","cloneElement","rootNode","cookieSession","cookie","RegExp","session","configureStore","listen","keyCode","DEFAULT_CONTEXT","PipeContext","PipeProvider","_result","_data","getTimeRange","contextID","currentContext","getTimeRangeWithTimezone","getTimeZone","newTimeRange","setTimeToUTC","sortDashboardByName","subtract","getTimezoneOffset","webpackContext","req","webpackContextResolve","__webpack_require__","module","exports","removeSpacesAndNow","isDurationWithNowParseable","isDurationParseable","parseDuration","durationRegExp","exec","magnitude","unit","UNIT_TO_APPROX_MS","ns","µs","us","m","mo","durationToMilliseconds","sum","millisecondsToDuration","unitsAndMs","unitIndex","remainder","unitAsMs","valueInUnit","areDurationsEqual","timeRangeToDuration","convertTimeRangeToCustom","millisecondDuration","getTimeRangeLabel","OPTION_NAME","TIME_RANGE_START","TIME_RANGE_STOP","WINDOW_PERIOD","BOUNDARY_GROUP","variableItemTypes","ErrorHandling","constructor","ErrorHandlingWith","setQueryResults","getOrgIDFromBuckets","allBuckets","ast","bucketsInQuery","isFromBucket","bucketMatch","getQueryFromFlux","aggregateWindowQuery","isFromFunction","functionsInQuery","tagsKeysInQuery","isFromTag","tagsValuesInQuery","functionName","aggregateWindowName","pop","executeQueriesStartTime","performance","startDate","saveAndExecuteQueries","executeCheckQuery","setDataLoadersType","clearDataLoaders","setTelegrafConfigName","setTelegrafConfigDescription","updateTelegrafPluginConfig","addConfigValue","pluginName","fieldName","removeConfigValue","setConfigArrayValue","valueIndex","setTelegrafConfigID","setToken","addPluginBundleWithPlugins","bundle","addPluginBundle","addTelegrafPlugins","configured","Unconfigured","Configured","templateID","removePluginBundleWithPlugins","removePluginBundle","removeBundlePlugins","createOrUpdateTelegrafConfigAsync","telegrafConfigID","telegrafConfigName","telegrafConfigDescription","influxDB2Out","NameEnum","InfluxdbV2","Output","urls","organization","plugins","tp","plugin","normTelegraf","createTelegraf","generateTelegrafToken","ActionEnum","createdToken","telegrafRequest","agent","collectionInterval","tc","normAuth","setActiveTelegrafPlugin","telegrafPlugin","setPluginConfiguration","getTasks","addTaskLabel","postResp","deleteTaskLabel","deleteResp","normTask","newTask","goToTasks","updatedTask","flux","imports","insertPreambleInScript","runsWithDuration","finished","finishedAt","started","runDuration","runTask","runID","events","entities","timeTag","diff","useNotebookListState","EMPTY_NOTEBOOK","notebooks","_notebook","_id","NotebookListContext","NotebookListProvider","setNotebooks","notebookList","stateUpdater","serialize","_notebooks","useNotebookCurrentState","GENERATOR_INDEX","getHumanReadableName","NotebookProvider","currentID","setCurrentID","updateCurrent","removeCurrent","ActionTypes","enablePresentationMode","EnablePresentationMode","disablePresentationMode","DisablePresentationMode","enableUpdatedTimeRangeInVEO","EnableUpdatedTimeRangeInVEO","disableUpdatedTimeRangeInVEO","DisableUpdatedTimeRangeInVEO","delayEnablePresentationMode","setTheme","setNavBarState","SetNavBarState","setNotebookMiniMapState","SetNotebookMiniMapState","setTimeZone","SetTimeZone","DataLoaderStep","CollectorsStep","LineProtocolStep","ConfigurationState","DataLoaderType","BundleName","LineProtocolTab","LineProtocolStatus","Precision","ConfigFieldType","TIME_RANGE_FORMAT","CUSTOM_TIME_RANGE_LABEL","pastHourTimeRange","windowPeriod","pastThirtyDaysTimeRange","SELECTABLE_TIME_RANGES","DEFAULT_TIME_RANGE","RequestContext","requestHandler","responseHandler","prototype","request","requestHeaders","Headers","contentType","credentials","btoa","append","middlewareUrl","middlewareQuery","init","signal","fetch","responseContentType","json","setRequestHandler","setResponseHandler","rc","postSignin","postSignout","getTelegrafPlugins","postVariable","getVariable","patchVariable","deleteVariable","postVariablesLabel","deleteVariablesLabel","postWrite","postDelete","postLabel","patchLabel","postDashboard","patchDashboard","deleteDashboard","postDashboardsCell","putDashboardsCells","deleteDashboardsCell","getDashboardsCellsView","patchDashboardsCellsView","postDashboardsLabel","deleteDashboardsLabel","postQueryAst","getAuthorizations","getAuthorization","patchAuthorization","deleteAuthorization","getBuckets","postBucket","getBucket","patchBucket","postBucketsLabel","deleteBucketsLabel","getOrgs","postOrg","patchOrg","deleteOrg","getOrgsMembers","postOrgsMember","deleteOrgsMember","getOrgsOwners","getStacks","patchStack","stack_id","deleteStack","postTemplatesApply","postTask","getTask","patchTask","getTasksRuns","postTasksRun","getTasksRunsLogs","postTasksLabel","deleteTasksLabel","getFlags","getChecks","postCheck","getCheck","putCheck","patchCheck","postChecksLabel","deleteChecksLabel","getNotificationRules","postNotificationRule","getNotificationRule","putNotificationRule","patchNotificationRule","postNotificationRulesLabel","deleteNotificationRulesLabel","getNotificationEndpoints","postNotificationEndpoint","putNotificationEndpoint","patchNotificationEndpoint","deleteNotificationEndpoint","postNotificationEndpointsLabel","deleteNotificationEndpointsLabel","defaultView","defaultViewQuery","defaultBuilderConfig","defaultLineViewProperties","legend","scale","defaultSingleStatViewProperties","NEW_VIEW_CREATORS","xy","histogram","heatmap","gauge","verticalTimeAxis","markdown","scatter","deadman","custom","createView","viewType","creator","runQuery","dialect","annotations","processSuccessResponse","processRateLimitResponse","processErrorResponse","getReader","decoder","TextDecoder","read","done","decode","byteLength","trimPartialLines","parseInt","partialResp","resetAlertBuilder","initializeAlertBuilder","convertCheckToCustom","setAlertBuilderCheck","setAlertBuilderCheckStatus","setEvery","setOffset","setStaleTime","setTimeSince","setLevel","setStatusMessageTemplate","editTagSetByIndex","removeTagSet","updateThreshold","updateThresholds","removeThreshold","updateName","selectCheckEvery","panelVisibility","panelHeight","onToggleMode","autogrow","fontFamily","cursorWidth","lineNumbersMinChars","lineDecorationsWidth","minimap","renderCharacters","contextmenu","overviewRulerBorder","automaticLayout","lines","setPosition","handlePreviewClick","BucketContext","GLOBAL_LOADING","BucketProvider","grabber","lockAndLoad","updatedBucket","Obsidian","GundamPilot","Indicator","onClickPrev","onClickNext","disablePrev","disableNext","pageSize","startRow","prevButtonStatus","CaretLeft","resultsExist","setStartRow","setPageSize","prevDisabled","nextDisabled","Resizer","resizingEnabled","hiddenText","toggleVisibilityEnabled","disableVerticalScrolling","updateText","_queries","FluxMonacoEditor","parts","uri","frameBorder","allow","evt","setIsEditing","showEditing","uploadRef","setResults","Import","from","onerror","emptyIcon","BarChart","SET_LABELS","SET_LABEL","REMOVE_LABEL","SET_LABEL_ON_RESOURCE","setLabels","schema","setLabel","removeLabel","setLabelOnResource","AGG_WINDOW_AUTO","DEFAULT_FILLVALUES","DURATIONS","genFlux","AUTO_FUNCTIONS","FUNCTIONS","viewsFromCells","viewSchema","Entity","arrayOfViews","cellSchema","Cells","processStrategy","parent","arrayOfCells","dashboardSchema","addDashboardDefaults","arrayOfDashboards","addDashboardMetaDefaults","getReadableRetention","expire","bucketSchema","arrayOfBuckets","memberSchema","arrayOfMembers","orgSchema","arrayOfOrgs","scraperSchema","arrayOfScrapers","getOrg","RATE_LIMIT_ERROR_STATUS","RATE_LIMIT_ERROR_TEXT","ASSET_LIMIT_ERROR_STATUS","WebsiteMonitoringBucket","DemoDataDashboardNames","DemoDataTemplates","websiteMonitoringTemplate","default","WebsiteMonitoringDashboardTemplate","HIDE_UPGRADE_CTA_KEY","FREE_ORG_HIDE_UPGRADE_SETTING","PAID_ORG_HIDE_UPGRADE_SETTING","createdDashboard","labelMap","createLabelsFromTemplate","addDashboardLabelsFromTemplate","createCellsFromTemplate","createVariablesFromTemplate","getResp","pending","resolved","labeledResources","labelRelationships","includedLabels","existingLabels","promisedLabels","lab","res","allLabels","createdLabel","relationships","cellRelationships","cellsToCreate","pendingCells","cellResponses","responses","createViewsFromTemplate","pendingViews","viewRelationship","variablesIncluded","normVariables","pendingVariables","resolvedVariables","normCreated","normVar","allVars","addLabelsToVars","includedVar","postedTask","addTaskLabelsFromTemplate","labelsMap","applyTemplates","reviewTemplate","dryRun","remotes","installTemplate","resourceTemplateName","fetchStacks","stackId","updateStackName","templateURLs","additionalResources","setBuilderAggregateFunctionType","builderAggregateFunctionType","setBuilderBucketsStatus","setBuilderBucket","resetSelections","setBuilderTagKeysStatus","setBuilderTagValuesStatus","setBuilderTagKeySelection","setFunctions","setAggregateWindow","setAggregateFillValues","setValuesSearchTerm","setKeysSearchTerm","setWindowPeriodSelectionMode","selectAggregateWindow","loadBuckets","normalizedBuckets","systemBuckets","setBuilderBuckets","loadTagSelector","tagsSelections","queryURL","foundBucket","findKeys","defaultKey","setBuilderTagKeys","loadTagSelectorValues","findValues","setBuilderTagValues","selectTagValue","currentTag","newValues","setBuilderTagValuesSelection","addTagSelector","multiSelectBuilderFunction","functionNames","singleSelectBuilderFunction","selectTagKey","searchTagValues","searchTagKeys","removeTagSelector","cancelFindValues","cancelFindKeys","removeTagSelectorSync","reloadTagSelectors","setBuilderTagsStatus","setBuilderBucketIfExists","fetchAllBuckets","newBucket","denormalizeBucket","renameBucket","addBucketLabel","deleteBucketLabel","showOverlay","overlayParams","ShowOverlay","dismissOverlay","DismissOverlay","assignmentToProperty","ossMetricsTemplate","Apache","Docker","Github","JMeter","Kubernetes","Nginx","Redis","System","influxdbTemplateList","PIPE_DEFINITIONS","register","definition","getToken","getByID","labelIDs","getBrowserBasepath","getAttribute","getAPIBasepath","stripPrefix","basepath","getBasepath","deleteTimeRange","DeleteTimeRange","SetDashboardTimeRange","RetainRangesDashboardTimeV1","strippedPathname","newLocation","updateQueryVars","varsObj","updateTimeRangeFromQueryParams","validatedTimeRangeFromQuery","validatedTimeRange","LINE_COLORS_A","LINE_COLORS_B","LINE_COLORS_C","LINE_COLORS_D","LINE_COLORS_E","LINE_COLORS_F","LINE_COLORS_G","LINE_COLORS_SOLID_RED","LINE_COLORS_SOLID_BLUE","LINE_COLORS_SOLID_GREEN","LINE_COLORS_SOLID_YELLOW","LINE_COLORS_SOLID_PURPLE","DEFAULT_LINE_COLORS","LINE_COLOR_SCALES","colorScale","ADD_TEMPLATE_SUMMARY","POPULATE_TEMPLATE_SUMMARIES","REMOVE_TEMPLATE_SUMMARY","SET_COMMUNITY_TEMPLATE_TO_INSTALL","SET_EXPORT_TEMPLATE","SET_TEMPLATE_SUMMARY","SET_TEMPLATES_STATUS","TOGGLE_TEMPLATE_RESOURCE_INSTALL","SET_STACKS","addTemplateSummary","populateTemplateSummaries","setExportTemplate","setTemplatesStatus","removeTemplateSummary","setTemplateSummary","setStacks","configure","apiKey","process","env","HONEYBADGER_KEY","revision","environment","HONEYBADGER_ENV","reportError","additionalOptions","additionalContext","errorType","errorCount","honeyBadgerContext","parseComponentName","componentStack","defaultMessage","getRuleVariantDefaults","CHANGES","activeChange","changeStatusRule","changeType","initRuleDraft","draftRuleToPostRule","draftRule","newTagRuleDraft","ruleToDraftRule","MIN_RETENTION_SECONDS","isSystemBucket","submitRef","backButton","skipButton","backButtonText","skipButtonText","onClickSkip","showSkip","SET_TASKS","EDIT_TASK","SET_TASK_OPTION","SET_ALL_TASK_OPTIONS","CLEAR_TASK","CLEAR_CURRENT_TASK","SET_NEW_SCRIPT","SET_CURRENT_SCRIPT","SET_CURRENT_TASK","SET_SEARCH_TERM","SET_SHOW_INACTIVE","SET_RUNS","SET_LOGS","REMOVE_TASK","ADD_TASK","setTasks","addTask","editTask","removeTask","setCurrentTask","clearCurrentTask","setAllTaskOptions","setRuns","setLogs","ADD_DASHBOARD_LABEL","DELETE_DASHBOARD_FAILED","EDIT_DASHBOARD","REMOVE_DASHBOARD","REMOVE_DASHBOARD_LABEL","SET_DASHBOARD","SET_DASHBOARDS","SET_DASHBOARD_SORT","editDashboard","setDashboards","setDashboard","removeDashboard","removeDashboardLabel","RESET_VIEWS","SET_VIEW","SET_VIEWS","SET_VIEWS_AND_CELLS","resetViews","setViews","setView","setViewsAndCells","cellsArray","viewsArray","MIN_THRESHOLDS","COLOR_TYPE_MIN","DEFAULT_VALUE_MIN","COLOR_TYPE_MAX","DEFAULT_VALUE_MAX","COLOR_TYPE_THRESHOLD","THRESHOLD_TYPE_TEXT","THRESHOLD_TYPE_BG","BASE_THRESHOLD_ID","THRESHOLD_COLORS","DEFAULT_GAUGE_COLORS","DEFAULT_THRESHOLDS_LIST_COLORS","DEFAULT_THRESHOLDS_TABLE_COLORS","validateLabelUniqueness","labelNames","validateHexCode","isValidLength","substring","addLabelDefaults","TIME_INVALIDATION","hashCode","rawText","hash","charCodeAt","queryCache","cache","cleanExpiredQueries","isCustomTime","dateSet","resetCacheByID","getFromCache","hashedVariables","initializeCacheByID","mutex","resetCache","setCacheByID","startWatchDog","resetQueryCache","resetQueryCacheByQuery","getCachedResultsOrRunQuery","simplifiedVariables","vari","asSimplyKeyValueVariables","stringifiedVars","cacheResults","hasWindowVars","getCachedResultsThunk","variableSchema","arrayOfVariables","emptyGraphCopy","sample","INVALID_DATA_COPY","QUICKSTART_SCRAPER_TARGET_URL","pluginsByBundle","Cpu","Disk","Diskio","Mem","Net","Processes","Swap","telegrafPluginsInfo","Input","isRequired","File","StringArray","Kernel","Uri","Logparser","NetResponse","UriArray","Procstat","exe","servers","Syslog","Tail","BUNDLE_LOGOS","PLUGIN_BUNDLE_OPTIONS","getMostCommonValue","distribution","mostCommonCount","mostCommonValue","deleteCell","createCellWithView","clonedCell","workingView","normDash","defaultCell","copy","existingCellWidths","existingCellHeights","mostCommonCellWidth","mostCommonCellHeight","getNewDashboardCell","cellResp","newView","normCell","normView","createDashboardWithView","dashboardName","newDashboard","updatedCells","normCells","notification","getMinDurationFromAST","times","isRangeNode","rangeNode","startProperty","propertyTime","endProperty","end","rangeTimes","allRangeTimes","starts","stops","cartesianProduct","argument","lookupVariable","leftTime","rightDuration","objName","propertyName","isTimeCall","declarator","getWindowPeriod","calcWindowPeriodForDuration","queryDuration","foundDuration","getWindowPeriodVariable","NULL_ARRAY_INDEX","ASCENDING","DESCENDING","DEFAULT_SORT_DIRECTION","DEFAULT_FIX_FIRST_COLUMN","DEFAULT_VERTICAL_TIME_AXIS","CELL_HORIZONTAL_PADDING","isConfigValid","isDraftQueryAlertable","fieldSelection","fieldValues","oneQuery","builderMode","isCheckSaveable","buildQuery","buildQueryFromConfig","tagsFunctionCalls","convertTagsToFluxFunctionString","fnCall","fnSpec","spec","formattedPeriod","formatPeriod","formatFunctionCall","tagToFlux","quotedValues","ConfirmationState","confirmationState","hasQueryBeenEdited","NotRequired","ConnectorState","StepStatus","parseChunks","trimmedResponse","parseResponse","chunk","parseTables","responseChunk","annotationLines","line","nonAnnotationLines","nonAnnotationData","annotationData","headerRow","tableColIndex","resultColIndex","tablesData","groupBy","groupRow","defaultsRow","dataTypeRow","groupKeyIndices","tableData","dataRow","groupKey","dataTypes","dataType","taskSchema","arrayOfTasks","telegrafSchema","arrayOfTelegrafs","getPlugins","Plugins","setPluginLoadingState","setPlugins","setActivePlugins","setLookup","setList","setText","reset","getTelegrafs","normTelegrafs","updateTelegraf","deleteTelegraf","delete","addTelegrafLabelsAsync","telegrafID","addLabels","removeTelegrafLabelsAsync","removeLabels","getTOML","DEFAULT_TIME_FORMAT","PRESENTATION_MODE_ANIMATION_DELAY","AUTOREFRESH_DEFAULT_INTERVAL","AUTOREFRESH_DEFAULT","LAYOUT_MARGIN","DASHBOARD_LAYOUT_ROW_HEIGHT","FIVE_SECONDS","TEN_SECONDS","FIFTEEN_SECONDS","HOMEPAGE_PATHNAME","VERSION","GIT_SHA","BASE_PATH","API_BASE_PATH","CLOUD","CLOUD_URL","CLOUD_SIGNIN_PATHNAME","CLOUD_BILLING_VISIBLE","CLOUD_CHECKOUT_PATH","CLOUD_BILLING_PATH","CLOUD_USAGE_PATH","CLOUD_LOGOUT_PATH","CLOUD_USERS_PATH","FLUX_RESPONSE_BYTES_LIMIT","VIS_SIG_DIGITS","VIS_THEME","axisColor","gridColor","gridOpacity","tickFont","tickFontColor","Mist","legendFont","legendFontColor","Wolf","legendFontBrightColor","Chromium","legendBackgroundColor","legendBorder","legendCrosshairColor","Smoke","VIS_THEME_LIGHT","Whisper","Mountain","Graphite","Forge","Ghost","GIRAFFE_COLOR_SCHEMES","bytesFormatter","significantDigits","trimZeros","defaultErrorNotification","defaultSuccessNotification","defaultDeletionNotification","newVersion","Cubouniform","loadLocalSettingsFailed","ExpandB","sessionTimedOut","Triangle","resultTooLarge","SetupSuccess","SetupError","SigninError","checkStatusLoading","QuickstartScraperCreationSuccess","QuickstartScraperCreationError","QuickstartDashboardCreationSuccess","QuickstartDashboardCreationError","TelegrafConfigCreationSuccess","TelegrafConfigCreationError","TokenCreationError","addTaskLabelFailed","removeTaskLabelFailed","dashboardGetFailed","DashH","dashboardUpdateFailed","dashboardDeleted","dashboardCreateFailed","dashboardCreateSuccess","dashboardDeleteFailed","dashboardCopySuccess","dashboardCopyFailed","cellAddFailed","cellUpdateFailed","cellDeleted","addDashboardLabelFailed","removedDashboardLabelFailed","invalidTimeRangeValueInURLQuery","getVariablesFailed","getVariableFailed","createVariableFailed","createVariableSuccess","deleteVariableFailed","deleteVariableSuccess","updateVariableFailed","updateVariableSuccess","copyToClipboardSuccess","copyToClipboardFailed","addTemplateLabelFailed","removeTemplateLabelFailed","TelegrafDashboardCreated","configs","TelegrafDashboardFailed","importTaskSucceeded","importTaskFailed","importDashboardSucceeded","importDashboardFailed","importTemplateSucceeded","importTemplateFailed","createTemplateFailed","createResourceFromTemplateFailed","updateTemplateSucceeded","updateTemplateFailed","deleteTemplateFailed","deleteTemplateSuccess","cloneTemplateFailed","cloneTemplateSuccess","resourceSavedAsTemplate","saveResourceAsTemplateFailed","getLabelsFailed","createLabelFailed","updateLabelFailed","deleteLabelFailed","getBucketsFailed","getBucketFailed","demoDataAddBucketFailed","demoDataDeleteBucketFailed","demoDataSucceeded","demoDataAvailability","readWriteCardinalityLimitReached","readLimitReached","rateLimitReached","secs","retryText","resourceLimitReached","queryCancelRequest","taskNotCreated","additionalMessage","taskCreatedSuccess","taskNotFound","tasksFetchFailed","taskDeleteFailed","taskDeleteSuccess","taskCloneSuccess","taskName","taskCloneFailed","taskUpdateFailed","taskUpdateSuccess","taskRunSuccess","taskRunFailed","taskGetFailed","getTelegrafConfigFailed","savingNoteFailed","bucketDeleteFailed","predicateDeleteFailed","setFilterKeyFailed","setFilterValueFailed","bucketCreateSuccess","bucketCreateFailed","bucketUpdateSuccess","predicateDeleteSucceeded","bucketUpdateFailed","bucketRenameSuccess","bucketRenameFailed","addBucketLabelFailed","removeBucketLabelFailed","orgCreateSuccess","orgCreateFailed","orgEditSuccess","orgEditFailed","orgRenameSuccess","orgRenameFailed","scraperDeleteSuccess","scraperName","scraperDeleteFailed","scraperCreateSuccess","scraperCreateFailed","scraperUpdateSuccess","scraperUpdateFailed","telegrafGetFailed","telegrafCreateFailed","telegrafUpdateFailed","telegrafName","addTelegrafLabelFailed","removeTelegrafLabelFailed","authorizationsGetFailed","authorizationCreateSuccess","passwordResetSuccessfully","authorizationCreateFailed","authorizationUpdateSuccess","authorizationUpdateFailed","authorizationDeleteSuccess","authorizationDeleteFailed","authorizationCopySuccess","authorizationCopyFailed","telegrafDeleteFailed","memberAddSuccess","memberAddFailed","memberRemoveSuccess","memberName","memberRemoveFailed","addVariableLabelFailed","removeVariableLabelFailed","invalidMapType","getChecksFailed","getCheckFailed","getNotificationRulesFailed","getNotificationRuleFailed","createCheckFailed","updateCheckFailed","deleteCheckFailed","createRuleFailed","getViewFailed","getEndpointFailed","getEndpointsFailed","createEndpointFailed","updateEndpointFailed","deleteEndpointFailed","invalidJSON","communityTemplateInstallSucceeded","communityTemplateInstallFailed","communityTemplateDeleteSucceeded","communityTemplateDeleteFailed","communityTemplateFetchStackFailed","communityTemplateUnsupportedFormatError","communityTemplateRenameFailed","clearSteps","incrementCurrentStepIndex","decrementCurrentStepIndex","setCurrentStepIndex","setBucketInfo","LANGID","languages","setLanguageConfiguration","autoClosingPairs","close","addSyntax","createRequest","jsonrpc","initialize","didOpen","textDocument","languageId","didChange","newText","contentChanges","rename","references","formatting","symbols","completion","foldingRange","signatureHelp","isRetrigger","get_message","get_error","m2p","p2m","parseQueryResponse","queryMeasurements","queryTagKeys","queryTagValues","reduxStore","messageID","documentVersions","getTagKeys","getTagValues","getMeasurements","register_buckets_callback","register_measurements_callback","register_tag_keys_callback","register_tag_values_callback","send","currentMessageID","sendPrelude","parseDiagnostics","diagnostics","fullMessage","prelude","serverLoader","queue","deferred","Deferred","Server","registerDocumentSymbolProvider","provideDocumentSymbols","model","_token","asSymbolInformations","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","_context","asTextEdits","registerFoldingRangeProvider","provideFoldingRanges","foldingRanges","asFoldingRanges","registerDefinitionProvider","provideDefinition","pos","asPosition","loc","asLocation","registerReferenceProvider","provideReferences","registerRenameProvider","provideRenameEdits","edit","asWorkspaceEdit","registerSignatureHelpProvider","provideSignatureHelp","help","asSignatureHelpResult","signatureHelpTriggerCharacters","registerCompletionItemProvider","provideCompletionItems","wordUntil","getWordUntilPosition","defaultRange","startColumn","endColumn","completionItems","triggerKind","TriggerCharacter","asCompletionResult","triggerCharacters","toggleCommenting","isTogglingOn","isCommented","lspServer","editorInst","seteditorInst","docVersion","setdocVersion","docURI","setDocURI","updateDiagnostics","asDiagnostics","setModelMarkers","getModel","addAction","keybindings","KeyMod","CtrlCmd","KeyCode","US_SLASH","ed","getSelection","startLineNumber","positionColumn","selectionStartColumn","isTogglingCommentingOn","updatedValues","setValue","setSelection","comments","submitFn","addCommand","Enter","load","builderToPostCheck","genCheckBase","validateBuilder","toThresholdPostCheck","toDeadManPostCheck","reportZero","checkThresholdsValid","getCheckForTimeMachine","normCheck","builderCheck","createCheckFromTimeMachine","updateCheckFromTimeMachine","getCheckResponse","ownerID","updateCheckDisplayProperties","addCheckLabel","normLabel","deleteCheckLabel","cloneCheck","allCheckNames","clonedName","toPostCheck","didCopy","setDidCopy","ErrorFormat","EmptyGraphErrorTooltip","getActiveTimeMachine","getIsInCheckOverlay","getActiveQuery","tm","getWindowPeriodFromTimeRange","getVisTableMemoized","getVisTable","getNumericColumnsMemoized","getNumericColumns","getGroupableColumnsMemoized","getGroupableColumns","getXColumnSelection","preferredXColumnKey","getYColumnSelection","preferredYColumnKey","getGroupableColumnSelection","validColumns","preference","getFillColumnsSelectionMemoized","getSymbolColumnsSelectionMemoized","getFillColumnsSelection","validFillColumns","getSymbolColumnsSelection","validSymbolColumns","getStartTime","valueOf","getEndTime","getActiveTimeRange","getSaveableView","saveableView","addBasepath","excludeBasepath","getAJAX","SET_FEATURE_FLAGS","RESET_FEATURE_FLAGS","CLEAR_FEATURE_FLAG_OVERRIDES","SET_FEATURE_FLAG_OVERRIDE","setFlags","clearOverrides","setOverride","flag","SET_CELL","SET_CELLS","REMOVE_CELL","setCell","removeCell","setCells","SET_VARIABLES","SET_VARIABLE","REMOVE_VARIABLE","MOVE_VARIABLE","SELECT_VARIABLE_VALUE","setVariables","setVariable","removeVariable","CLEAR_VARIABLE_EDITOR","CHANGE_VARIABLE_EDITOR_TYPE","UPDATE_VARIABLE_EDITOR_NAME","UPDATE_VARIABLE_EDITOR_QUERY","UPDATE_VARIABLE_EDITOR_MAP","UPDATE_VARIABLE_EDITOR_CONSTANT","clearEditor","updateType","editorType","updateQuery","arg","updateMap","updateConstant","SET_BUCKETS","ADD_BUCKET","EDIT_BUCKET","REMOVE_BUCKET","setBuckets","addBucket","editBucket","SET_RENDER_ID","SET_SCROLL","SET_CELL_MOUNT","setScroll","imageRenderer","renderers","authSchema","arrayOfAuths","INFLUX_LABEL_PREFIX","HEX_CODE_CHAR_LENGTH","EMPTY_LABEL","PRESET_LABEL_COLORS","Preset","INPUT_ERROR_COLOR","checkSchema","arrayOfChecks","calculateSize","ErrorTypes","calculateColumnWidths","timeFormatWidth","calculateTimeColumnWidth","maxColumnWidths","topRow","isTopRow","foundField","colValue","columnLabel","isTimeColumn","isTimeRow","currentWidth","widths","Widths","totalWidths","updateMaxWidths","transformTableData","excludedData","ignoredIndices","excludeNoisyColumns","resolvedFieldOptions","existingFieldOptions","astNames","resolveFieldOptions","sortedData","sortedTimeVals","headerSet","sortIndex","dataValues","drop","orderBy","sortedValue","sortTableData","orderedData","filteredFieldSortOrder","dataLabel","j","orderTableColumns","filteredData","filterTableColumns","transformedData","unzip","columnWidths","findHoverTimeIndex","hoverTime","firstDiff","getUnixISODiff","currentTime","thisDiff","unixMs","isoTime","abs","resolveTimeFormat","getRangeVariable","which","isQueryViewProperties","vp","getAllUsedVars","varsInUse","usedV","filterUnusedVarsBasedOnQuery","queryTexts","cachedVars","createdUsedVarsCache","labelToRelationship","labelToIncluded","taskToTemplate","baseTemplate","blankTaskTemplate","taskAttributes","taskLabels","relationshipsLabels","cellToIncluded","viewToRelationship","cellAttributes","variableToTemplate","dependencies","blankVariableTemplate","labelsByID","variableData","variableToIncluded","variableRelationships","variableToRelationship","includedDependencies","vLabels","includedDependentLabels","variableAttributes","dashboardToTemplate","blankDashboardTemplate","dashboardAttributes","dashboardLabels","dashboardIncludedLabels","includedCells","relationshipsCells","cellToRelationship","includedVariables","variableIncludedLabels","relationshipsVariables","includedViews","sanitizedQueries","viewToIncluded","templateToExport","pickedTemplate","labelsArray","endpointSchema","point","addEndpointDefaults","arrayOfEndpoints","ruleSchema","arrayOfRules","templateSchema","arrayOfTemplates","LIMIT","authorizations","createAuthorization","newAuth","updateAuthorization","authorization","incrementCloneName","namesList","cloneName","root","highestNumberedClone","strippedName","cloneNumber","newCloneNumber","createRule","updateRule","normRule","updateRuleProperties","deleteRule","addRuleLabel","deleteRuleLabel","cloneRule","allRuleNames","handleClickCopy","handleCopyAttempt","connector","handleClickOutside","domNode","findDOMNode","only","reportPoints","reportingTags","reportingPoints","reportDecayTimeout","reportMaxTimeout","updateReportingContext","toNano","pooledEvent","timestamp","measurement","cleanTags","gaEvent","dataLayer","useLoadTimeReporting","loadStartTime","EMPTY_STATE","ResultsContext","ResultsProvider","manipulator","lastOne","AppSettingContext","AppSettingProvider","formatStatValue","localeFormattedValue","getAutoDigits","roundedValue","toLocaleString","maximumFractionDigits","preventNegativeZero","GAUGE_THEME_LIGHT","degree","PI","lineCount","smallLineCount","lineColor","labelColor","Storm","labelFontSize","lineStrokeSmall","lineStrokeLarge","tickSizeSmall","tickSizeLarge","minFontSize","minLineWidth","valueColor","needleColor0","needleColor1","overflowDelta","GAUGE_THEME_DARK","White","updateCanvas","resetCanvas","ctx","canvasRef","getContext","centerX","centerY","radius","gradientThickness","labelValueFontSize","drawGradientGauge","drawSegmentedGauge","drawGaugeLines","drawGaugeLabels","drawGaugeValue","drawNeedle","canvas","dpRatio","devicePixelRatio","clearRect","xc","yc","sortedColors","arcStart","arcEnd","xStart","cos","yStart","sin","xEnd","yEnd","createLinearGradient","addColorStop","beginPath","lineWidth","strokeStyle","arc","trueValueRange","totalArcLength","startingPoint","nextColor","adjustedValue","adjustedNextValue","arcLength","arcStop","totalSmallLineCount","startDegree","arcLargeIncrement","arcSmallIncrement","arcRadius","lineCap","closePath","translate","lt","rotate","moveTo","lineTo","tickValues","tick","arcIncrement","labelRadius","font","fillStyle","textBaseline","fillText","gaugePosition","textY","textContent","arcDistance","needleRotation","needleGradient","currentTheme","getLegibleTextColor","bgColorHex","red","green","blue","rgb","findNearestCrossedThreshold","lastValue","generateThresholdsListHexs","cellType","defaultColoring","bgColor","lastValueNumber","baseColor","shouldColorizeText","nearestCrossedThreshold","stat","formattedValue","dominantBaseline","textAnchor","areFormatPropertiesEqual","prevProperties","newProperties","isEqual","memoizedTableTransform","fo","opts","transformedDataBundle","URL_REGEXP","isFieldName","isString","onClickFieldName","rowIndex","columnIndex","onHover","class","str","regex","out","idx","asLink","isVerticalTimeAxis","isFirstRow","isFirstCol","hoveredRowIndex","scrollToRow","hoveredColumnIndex","isTimeVisible","timeFieldIndex","isFixedRow","isFixedColumn","isFixedCorner","isHighlightedRow","isHighlightedColumn","isSorted","isAscending","isFirstColumnFixed","hiddenBeforeTime","isFixed","isTimeData","isTimestamp","thresholdData","timeFormatter","defaultTo","cellMeasurerCache","columnIndexOffset","rowIndexOffset","clear","clearAll","defaultHeight","defaultWidth","hasFixedHeight","hasFixedWidth","getHeight","getWidth","set","SCROLLBAR_SIZE_BUFFER","deferredInvalidateColumnIndex","deferredInvalidateRowIndex","leftGridWidth","topGridHeight","lastRenderedFixedColumnCount","lastRenderedFixedRowCount","lastRenderedHeight","lastRenderedWidth","cellRendererBottomLeftGrid","cellRenderer","fixedRowCount","rest","onScrollbarsScroll","scrollLeft","onScrollLeft","rowHeightBottomGrid","scrollbarSize","showVerticalScrollbar","topLeftGridRef","topLeftGrid","topRightGridRef","topRightGrid","bottomLeftGridRef","bottomLeftGrid","bottomRightGridRef","bottomRightGrid","cellRendererBottomRightGrid","fixedColumnCount","cellRendererTopRightGrid","columnWidthRightGrid","showHorizontalScrollbar","deferredMeasurementCache","maybeCalculateCachedStyles","deferredMeasurementCacheBottomLeftGrid","deferredMeasurementCacheBottomRightGrid","deferredMeasurementCacheTopRightGrid","nextProps","measureAllCells","adjustedColumnIndex","adjustedRowIndex","recomputeGridSize","handleInvalidatedGridSize","onSectionRendered","scrollToColumn","prepareForRender","containerOuterStyle","containerTopStyle","renderTopLeftGrid","renderTopRightGrid","containerBottomStyle","renderBottomLeftGrid","renderBottomRightGrid","getTopGridHeight","getLeftGridWidth","getBottomGridHeight","classNameBottomLeftGrid","bottomLeftGridStyle","getRightGridWidth","bottomRightGridStyle","classNameBottomRightGrid","overflowX","overflowY","classNameTopLeftGrid","topLeftGridStyle","enableFixedRowScroll","classNameTopRightGrid","topRightGridStyle","resetAll","styleBottomLeftGrid","styleBottomRightGrid","styleTopLeftGrid","styleTopRightGrid","sizeChange","leftSizeChange","lastRenderedColumnWidth","topSizeChange","lastRenderedRowHeight","lastRenderedStyle","overflow","lastRenderedStyleBottomLeftGrid","lastRenderedStyleBottomRightGrid","lastRenderedStyleTopLeftGrid","lastRenderedStyleTopRightGrid","enableFixedColumnScroll","timeColumnWidth","shouldResize","totalColumnWidths","handleMultiGridMount","multiGrid","handleHover","dataset","onSetHoverTime","handleMouseLeave","calculateColumnWidth","columnSizerWidth","tableWidth","computedColumnCount","handleResize","getCellData","cellProps","scrollToColRow","tableClassName","gridContainer","columnMinWidth","adjustedWidth","onMount","clientWidth","hoveringThisTable","timeField","handleSetSort","newSortOptions","sortField","isSelected","keysIHate","selectedTableName","onSelectTable","sidebarClassName","isDataEmpty","handleSelectTable","showSidebar","nameOfSelectedTable","shouldShowTable","selectedTable","hasData","defaultTableName","setFieldOptions","getValidRange","endTime","useVisXDomainSettings","storedDomain","initialDomain","setDomain","isValidStoredDomainValue","isFinite","useVisYDomainSettings","getRemainingRange","storedXDomain","onResetXDomain","colorHexes","xFormatter","getColumnType","valueFormatters","layers","storedYDomain","storedColors","onResetYDomain","yFormatter","storedXColumn","storedYColumn","xTickPrefix","xTickSuffix","xTickBase","xBounds","yTickPrefix","yTickSuffix","yBounds","yTickBase","isValidView","interpolation","memoizedYColumnData","lineData","Y","legendColumns","shadeBelowOpacity","storedFill","storedSymbol","EXCLUDED_COLUMNS","valueColsData","keyA","keyB","sortTableKeys","colKey","columnType","getColumnName","isValueCol","timeColData","latestRowIndices","xs","maxes","maxDist","dist","maxesBy","colData","quiet","allowString","latestValues","latestValue","xyProperties","singleStatProperties","isCorrectType","bound","normalizeRangesState","normalized","typedRange","getLocalStateRanges","normalizedRanges","rangesObject","getLocalStateRangesAsArray","setLocalStateRanges","normalizeApp","normalizeAppPersisted","normalizeTimeZone","timeZones","normalizeResources","normalizeOrgs","loadLocalStorage","serializedState","localStorage","normalizeGetLocalStorage","setToLocalStorage","prop","setItem","getFromLocalStorage","removeFromLocalStorage","removeItem","saveToLocalStorage","override","normalizeSetLocalStorage","errorString","isValidJSONString","GRAPHIC_SVGS","mosaic","VIS_GRAPHICS","graphic","getVewTypeGraphic","selectedView","g","resolveSelectedKey","prevSelection","defaultSelection","cacheKey","extractValues","valueType","valueColIndex","_value","valueFetcher","skipCache","cachedValues","createVariableGraph","allVariables","nodesByID","parents","getVarChildren","isInQuery","maybeChild","collectAncestors","postOrderDFS","getDeduplicatedRootChild","subsetIDs","findSubgraphFeature","graph","subgraph","varIDs","subgraphIDs","variableNode","filteredNodes","findSubgraph","ancestor","errorVariableValues","collectDescendants","readyToResolve","findCyclicPath","findCyclicPathHelper","cyclicPath","seen","hydrateVars","findSubgraphFunction","invalidNode","invalidateCycles","isCancelled","on","fire","assignments","hydrateVarsHelper","ancestors","invalidateAncestors","callbacks","ret","cb","apply","findLeaves","extractResult","toPostNotificationEndpoint","getEndpoints","notificationEndpoints","createEndpoint","newEndpoint","updateEndpoint","updates","updateEndpointProperties","deleteEndpoint","addEndpointLabel","deleteEndpointLabel","cloneEndpoint","allEndpointNames","clone","viewableLabels","LabelColorType","NoteEditorMode","OverlayState","CancellationError","SET_ORGS","SET_ORG","ADD_ORG","REMOVE_ORG","EDIT_ORG","setOrgs","setOrg","setContext","addOrg","removeOrg","editOrg","getConfigFields","updateConfigFields","createNewPlugin","isPluginUniqueToBundle","bundles","isPluginInBundle","getDeep","fallback","validateURI","SET_TELEGRAFS","ADD_TELEGRAF","EDIT_TELEGRAF","REMOVE_TELEGRAF","SET_CURRENT_CONFIG","setTelegrafs","addTelegraf","editTelegraf","removeTelegraf","setCurrentConfig","SET_AUTH","ADD_AUTH","EDIT_AUTH","REMOVE_AUTH","setAuthorizations","addAuthorization","removeAuthorization","setActiveTimeMachine","toggleVisOptions","setName","setAutoRefresh","setType","setActiveQueryText","setIsViewingRawData","setGeom","setYAxisLabel","setYAxisBounds","setAxisPrefix","axis","setAxisSuffix","setYAxisBase","setPrefix","setTickPrefix","setSuffix","setTickSuffix","setColors","setDecimalPlaces","setBackgroundThresholdColoring","setTextThresholdColoring","editActiveQueryWithBuilderSync","editActiveQueryWithBuilder","resetActiveQuerySwitchToBuilder","editActiveQueryAsFlux","setActiveQueryIndex","setActiveQueryIndexSync","addQuery","removeQuery","removeQuerySync","toggleQuery","toggleQuerySync","updateActiveQueryName","updateFieldOption","setTableOptions","setTimeFormat","setXColumn","setYColumn","setShadeBelow","SetHoverDimension","setBinSize","setColorHexes","setFillColumns","setSymbolColumns","setBinCount","setHistogramPosition","setLinePosition","setXDomain","setYDomain","setXAxisLabel","loadNewVEO","loadCustomCheckQueryState","dataFrom","filterStatements","messageFn","checkStatement","optionTask","dataDefinition","levelFunction","queryStatement","dataRange","aggregateFunction","thresholdExpressions","fieldTag","beginning","createCheckQueryFromAlertBuilder","getView","updateView","cloneUtilFunc","oldDashID","clonedDashID","findNodes","innerValue","findIncludedsFromRelationships","includeds","intersection","findIncludedFromRelationship","findLabelsToCreate","el","findIncludedVariables","findVariablesToCreate","existingVariables","incomingVariables","ev","hasLabelsRelationships","getLabelRelationships","getTemplateDetails","templatePath","getTemplateDetailsFromGithubSource","getGithubUrlFromTemplateDetails","InternalTypes","ExternalTypes","TO_COLUMN_TYPE","boolean","unsignedLong","number","long","double","string","parseValue","chunks","regerz","lastRange","currentChunkIndex","headerLocation","currentLineInHeader","currentColumnIndex","currentLineIndex","columnKey","runningTotal","newline","shift","errorReferenceCode","annotationObject","currentColumn","group","columnNames","DEFAULT_LIMIT","findBuckets","extractBoxedCol","tagFilters","formatTagFilterPredicate","searchFilter","formatSearchFilterCall","previousKeyFilter","formatTagKeyFilterCall","formatTimeRangeArguments","colName","colIndex","colValues","extractCol","validSelections","baseURL","deleteDemoDataBucketMembership","fetchDemoDataBuckets","demoBuckets","demodataOrgID","getNormalizedDemoDataBucket","getAuth0Config","getScrapers","createScraper","updateScraper","deleteScraper","isFlagEnabled","flagName","_equals","FeatureFlag","getUserFlags","influx","toggle","wasm","grammars","Map","grammarDefs","DEFAULT_DEF","TokenizerState","_ruleStack","other","scope","registry","getGrammarDefinition","lang","grammar","loadGrammar","setTokensProvider","tokenize","tokenizeLine","ruleStack","endState","scopes","BucketsDropdown","dropdownBuckets","isBucketsEmpty","SortTypes","getSortedResources","resourceList","Float","orderByType","gotResources","getTemplates","getMembers","getResourcesStatus","Consumer","HoverTimeProvider","withHoverTime","hoverTimeProps","getBucketByName","firstBucket","secondBucket","getSortedBuckets","otherBuckets","autoAggregateableQueries","queryIsNotEmpty","originalQueryInScriptEditorMode","alteredQuery","originalQueryText","updateViewAndVariables","cellIDs","getViewsForDashboard","splice","getViewAndResultsForVEO","timeMachineID","onStartDrag","dragHandleRef","additionalControls","onUpdateVisibility","handleToggleVisibility","onMouseDown","minimumHeight","updateSize","updateDragging","bodyRef","bodyClassName","_emptyIcon","Zap","updateResultsStyle","handleUpdateHeight","pageY","updatedHeight","handleMouseUp","getElementsByTagName","klass","getRootNode","getElementById","handleStartEditing","workingDescription","previewClassName","handleClickDelete","Right","returnValue","confirmText","onDeleteTag","MultiInputType","inputType","editingText","URI","debouncedValidate","newItem","inputRef","onAddRow","shouldAddToList","handleDeleteRow","onDeleteRow","handleValidateURI","debounce","onEditRow","offsetXS","footer","isAfterCurrentUnskippableStep","isStepSkippable","isAfterNextUnskippableStep","nextNonSkippableStep","WizardProgress","isSkippable","hideFirstStep","lastIndex","stepStatus","stepEle","getStepClass","connectorStatus","Some","Full","connectorEle","onCollapseMenu","handleExpandMenu","onBoostZIndex","handleCollapseMenu","menuClassName","listClassName","ComponentColor","ComponentSize","ComponentStatus","DropdownMenuColors","DropdownMenuPosition","ButtonShape","ButtonType","Greys","IconFont","Columns","Alignment","Sort","Stack","NavMenuType","handleBoostZIndex","boostZIndex","Left","Auth0Connection","AutoRefreshStatus","WriteDataMode","RemoteDataState","NotificationStyle","ResourceType","SourceAuthenticationMethod","TaskSchedule","SET_CURRENT_DASHBOARD","isDate","validateAndTypeRange","selectableTimeRange","LimitStatus","setDashboardLimitStatus","SetDashboardLimitStatus","setBucketLimitStatus","SetBucketLimitStatus","setTaskLimitStatus","SetTaskLimitStatus","setChecksLimitStatus","SetChecksLimitStatus","setRulesLimitStatus","SetRulesLimitStatus","setEndpointsLimitStatus","SetEndpointsLimitStatus","setReadRateLimitStatus","SetReadRateLimitStatus","setWriteRateLimitStatus","SetWriteRateLimitStatus","setCardinalityLimitStatus","SetCardinalityLimitStatus","setLimitsStatus","SetLimitsStatus","write","cardinality","SetLimits","setLimits","getLimits","dashboardsMax","dashboardsCount","bucketsMax","bucketsCount","tasksMax","tasksCount","checkChecksLimits","checksMax","checksCount","checkRulesLimits","rulesMax","rulesCount","checkEndpointsLimits","endpointsCount","endpointsMax","UNTITLED_GRAPH","DEFAULT_TIME_FIELD","FORMAT_OPTIONS","DEFAULT_DASHBOARD_SORT_OPTIONS","DashboardTemplate","DEFAULT_CELL_NAME","DEFAULT_DASHBOARD_NAME","DEFAULT_COLLECTOR_NAME","DEFAULT_TASK_NAME","DEFAULT_SCRAPER_NAME","DEFAULT_TOKEN_DESCRIPTION","DASHBOARD_NAME_MAX_LENGTH","CELL_NAME_MAX_LENGTH","CEOTabs","MIN_DECIMAL_PLACES","MAX_DECIMAL_PLACES","resolveGeom","geomToInterpolation","getFormatter","NOISY_LEGEND_COLUMNS","filterNoisyColumns","keyData","parseXBounds","parseYBounds","extent","checkResultsLength","getTimeColumns","getNumberColumns","invalidGroupColumns","defaultXColumn","preferredColumnKey","validColumnKeys","defaultYColumn","isInDomain","clamp","extractVariableEditorName","variableEditor","extractVariableEditorType","extractVariableEditorQuery","argsQuery","extractVariableEditorMap","argsMap","extractVariableEditorConstant","argsConstant","getUserVariableNames","contextIDs","getAllVariables","sortVariablesByName","timeVars","asAssignment","vals","normalizeValues","callee","getDashboardVariablesStatus","SET_ME","user","userEmail","user_id","setMe","OSS_FLAGS","cursorAtEOF","customCheckQuery","demodata","downloadCellCSV","fluxParser","matchingNotificationRules","streamEvents","disableDefaultTableSort","CLOUD_FLAGS","cloudBilling","activeFlags","localState","networkState","setCurrentPage","SET_SCRAPERS","ADD_SCRAPER","EDIT_SCRAPER","REMOVE_SCRAPER","setScrapers","addScraper","editScraper","removeScraper","SET_MEMBERS","ADD_MEMBER","REMOVE_MEMBER","setMembers","addMember","SET_CHECKS","SET_CHECK","REMOVE_CHECK","REMOVE_LABEL_FROM_CHECK","setChecks","setCheck","removeCheck","removeLabelFromCheck","SET_RULES","SET_RULE","SET_CURRENT_RULE","REMOVE_RULE","REMOVE_LABEL_FROM_RULE","setRules","setRule","setCurrentRule","removeRule","removeLabelFromRule","SET_ENDPOINT","REMOVE_ENDPOINT","SET_ENDPOINTS","REMOVE_LABEL_FROM_ENDPOINT","removeEndpoint","setEndpoint","setEndpoints","removeLabelFromEndpoint","basename","placeContent","TOOLTIP_PORTAL_ID","humanizeNote","ruleToString","minutes","hours","days","secondsToDuration","rpString","fastReduce","subject","iterator","initialValue","fastMap","fastFilter","formatExpression","RunQueryPromiseMutex","cached","processing","runStatusesQuery","processStatusesResponse","tableIndex","getDescendantsFromGraph","varGraph","findDependentVariables","exportVariables","varSet","isDemoDataAvailabilityError","errorCode","demoDataError","queryBuilderFetcher","findKeysQueries","findValuesQueries","findKeysCache","findValuesCache","findBucketsCache","cancelFindBuckets","cachedResult","pendingResult","findBucketsQuery","ownersResp","membersResp","owners","allMembers","deleteMember","basePath","getErrorMessage","client","DEFAULT_CHECK_NAME","DEFAULT_NOTIFICATION_RULE_NAME","CHECK_NAME_MAX_LENGTH","DEFAULT_CHECK_EVERY","DEFAULT_CHECK_OFFSET","DEFAULT_CHECK_TAGS","DEFAULT_CHECK_REPORT_ZERO","DEFAULT_DEADMAN_LEVEL","DEFAULT_STATUS_MESSAGE","CHECK_OFFSET_OPTIONS","MONITORING_BUCKET","LEVEL_COLORS","INFO","WARN","CRIT","UNKNOWN","LEVEL_COMPONENT_COLORS","DEFAULT_ENDPOINT_URLS","pagerduty","NEW_ENDPOINT_DRAFT","labelSchema","arrayOfLabels","THEME_NAME","defineTheme","inherit","foreground","registerAutogrow","prevHeight","updateEditorHeight","editorElement","getDomNode","lineHeight","getOption","EditorOption","getLineCount","getTopForLineNumber","updateOptions","enabled","scrollbar","vertical","handleMouseWheel","scrollBeyondLastLine","onDidChangeModelDecorations","requestAnimationFrame","useCheckYDomain","dataDomain","extrema","isLimitError","extractBucketLimits","extractBucketMax","extractBucketMaxRetentionSeconds","extractDashboardLimits","extractDashboardMax","extractTaskLimits","extractTaskMax","extractChecksLimits","extractChecksMax","extractRulesLimits","extractRulesMax","extractEndpointsLimits","extractEndpointsMax","extractBlockedEndpoints","extractRateLimitStatus","extractRateLimitResources","rateLimitedResources","ROW_HEIGHT","maxColumnCount","headerRows","renderCell","datum","gridStyle","calculateWidth","varsByID","hydrateVariables","getActiveView","hydration","_variable","createVariable","createdVar","updateVariable","normVariable","addVariableLabelAsync","posted","removeVariableLabelAsync","deleted","hydrateChangedVariable","fromFluxLegacy","parsedFlux","addColumn","generator","_index","getDataLoaders","getSteps","resizeLayout","createEvent","initEvent","dispatchEvent","queryStringConfig","present","showTemplateControlBar","initialAppEphemeralState","initialAppPersistedState","SetAutoRefresh","external","statusFeed","signin","signout","system","debug","health","metrics","defaultDashboard","LinksGetCompleted","draftState","publishedNotification","defaultOptions","setResourceAtID","prevResource","currentResource","setResource","addResource","editResource","removeResource","uuid","setRelation","childType","childID","parentID","dashboardsReducer","cID","cellsReducer","cellExists","initialStateHelper","initialQueryResultsState","getTableProperties","ni","pointer","existing","timeMachinesReducer","veo","de","alerting","initialQueryBuilderState","newActiveTimeMachine","timeMachineReducer","buildAllQueries","convertView","setViewProperties","setYAxis","updateCorrectColors","resetBuilderState","queryLength","draftQuery","buildActiveQuery","defaultAggregateFunctionType","initialTags","functionsWithNames","yAxis","outType","defaultFunctions","defaultTag","newBuilderConfig","orgsReducer","nullParams","Incomplete","Adding","overlayVisible","pluginBundles","scraperTarget","stepIndex","uniqBy","updatedConfigFieldValue","filteredConfigFieldValue","configValues","configFields","isValidConfig","fieldType","fieldValue","InvalidConfiguration","variableEditorReducer","variablesReducer","variableExists","order","newOrder","idToMove","idToSwap","labelsReducer","bucketsReducer","telegrafsReducer","authsReducer","notificationEndpoint","summaryTask","templateToInstall","scrapersReducer","userSettingsReducer","membersReducer","autoRefreshReducer","defaultLimit","maxAllowed","defaultLimitWithBlocked","blocked","rate","readKBs","writeKBs","limitsReducer","maxBuckets","maxRetentionDuration","maxDashboards","maxTasks","maxChecks","maxNotifications","blockedNotificationRules","blockedNotificationEndpoints","demoDataReducer","orgSettingsReducer","orgSettings","defaultChecksState","defaultNotificationRulesState","INITIAL_PLUGINS","include","INITIAL_EDITOR","showLookup","showList","pluginsReducer","plugs","pluginsResourceReducer","activePluginsReducer","editorReducer","predicatesReducer","newTags","filteredThresholds","rootReducer","router","telegrafEditorActivePlugins","telegrafEditorPlugins","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","_store","routingMiddleware","createPersistentStore","enhancer","throttle","onDrag","onMouseUp","dragTargetProps","mouseDownEvent","onMouseMove","mouseMoveEvent","mouseUpEvent","useDragBehavior","levelClass","yScale","onChangeMinPos","onChangeMaxPos","minY","maxY","onChangePos","originRef","nextZoomThreshold","zoomThreshold","setZoomThreshold","debouncedZoomIn","handleDrag","yRelative","yValue","invert","nextThreshold","roundedThresholds","nt","triggerRect","rect","caretClassName","caretTop","querySelector","calculateLevelStyle","colorize","xScale","tooltipVisible","setTooltipVisible","ceil","markerClass","eventLevels","findMaxLevel","formattedEvents","filterEvents","eventsArray","isOkVisible","isInfoVisible","isWarnVisible","isCritVisible","isUnknownVisible","setOkVisibility","setInfoVisibility","setWarnVisibility","setCritVisibility","setUnknownVisibility","filteredEventsArray","setFilteredEventsArray","iconGlyph","eventVisToggle","onUpdateThresholds","thresholdValues","yTicks","onDidChangeCursorPosition","onCursorChange","ch","ctrlKey","willMount","createViewAndDashboard","setSelectedDashboard","setNewName","nameInput","dropdown","scrollToSelected","Sapphire","ExportConfirmationNotification","isExporting","setIsExporting","buttonStyle","opacity","updateVisualizationType","onHidePopover","LinksGetRequested","linksGetRequested","linksGetCompleted","LinksGetFailed","linksGetFailed","SET_ORG_SETTINGS","fetchOrgSettings","setOrgSettings","setFreeOrgSettings","onGenerateTelegrafToken","configScript","exportToken","rel","parseFiles","parsedChunks","tableHeight","RawFluxDataGrid","cloneDashboard","allDashboardNames","dash","pendingLabels","mappedLabels","clonedDashboardID","clonedViews","newViews","normalizedCellsArray","normalizedViewsArray","entity","viewsData","normViews","cellViews","updatedDashboard","addDashboardLabel","dashResp","normVars","exportedVariables","saveVEOView","getTemplateByID","templateSummaries","templateSummary","createTemplateFromResource","updateTemplate","templateDocument","deleteTemplate","cloneTemplate","createdTemplate","createFromTemplate","createResourceFromStaticTemplate","createResourceFromTemplate","addTemplateLabelsAsync","removeTemplateLabelsAsync"],"mappings":"mQA+Ce,MAFG,YAJL,EAAEA,SACN,CAACA,OAKK,CAAU,YAnCK,EAAEC,UAASD,SAKvC,OACE,kBAAC,aAAU,KACT,yBAAKE,UAAU,uBAAsB,cAAa,qBAChD,yBACEC,IAAI,6FACJC,MAAM,SAGV,wBAAIF,UAAU,yBAAuB,WACrC,uBAAGA,UAAU,4B,uCAEX,6B,YACS,gCAAS,IAAIF,EAAGK,S,mCAG3B,kBAAC,SAAM,CACLC,KAAK,UACLC,MAAO,iBAAeC,QACtBC,QAtBc,KAClBR,EAAQS,KAAK,kB,gDCXF,gBAAc,gBAC3B,SACE,MAAM,SAACC,GAAYC,KAAKC,MAExB,OAAK,IAIE,KAHEF,ICLE,gBAAc,gBAC3B,SACE,MAAM,SAACA,GAAYC,KAAKC,MAExB,OAAI,IACKF,EAGF,O,iBCRJ,MAAMG,EAAuB,CAClCC,EACAC,KAEA,MACMC,EAAaD,EAASE,MAAM,KAAKC,MADb,GAK1B,OAHKF,EAAWG,QACdH,EAAWP,KAAK,KAEXK,EAASM,KAAKC,GAAQL,EAAWM,SAASD,KC+H7CE,EAAO,CACXC,kBAAmB,IACnBC,qBAAsB,KAIT,MADG,YAXJC,IAGZ,MAAO,CAACC,IAFI,YAAOD,GAEN3B,GADF2B,EAAM3B,KASawB,EACjB,CAlHe,EAC5BI,MACA5B,KACAyB,oBACAC,2BAEA,IAAKE,EACH,OAAO,KAGT,MAIMC,EAAY,SAASD,EAAIE,KAE/B,OACE,kBAAC,UAAQC,KAAI,CAACC,SAAUhC,EAAGK,KAAM4B,KAAML,EAAIvB,KAAM6B,OAAO,YACtD,kBAACC,EAAS,KACR,kBAAC,UAAQC,SAAQ,CACfN,GAAG,QACHO,MAAM,QACNH,OAAO,sBACPI,YAAapC,GACX,uBAAGA,UAAWA,EAAWqC,KAAM,GAAG,MAAY,UAGlD,kBAAC,UAAQH,SAAQ,CACfN,GAAG,UACHO,MAAM,UACNH,OAAO,wBACPI,YAAapC,GACX,uBACEA,UAAWA,EACXqC,KAAM,GAAG,MAAY,UAI3B,kBAAC,UAAQH,SAAQ,CACfN,GAAG,QACHO,MAAM,QACNH,OAAO,sBACPI,YAAapC,GACX,uBACEA,UAAWA,EACXqC,KAAM,GAAG,qBAA2BX,EAAIE,KAAK,UAInD,kBAAC,UAAQM,SAAQ,CACfN,GAAG,QACHO,MAAM,QACNH,OAAO,sBACPI,YAAapC,GACX,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAI,GAAGX,eAIzC,kBAACY,EAAY,KACX,kBAAC,UAAQL,SAAQ,CACfN,GAAG,UACHO,MAAM,UACNH,OAAO,wBACPQ,OAAQ5B,EAAqB,CAAC,WAAYE,SAAS2B,UACnDL,YAAapC,GACX,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAI,GAAGX,gBAGvC,kBAAC,UAAQO,SAAQ,CACfN,GAAG,QACHO,MAAM,QACNH,OAAO,sBACPQ,OAAQ5B,EAAqB,CAAC,SAAUE,SAAS2B,UACjDL,YAAapC,GACX,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAI,GAAGX,cAGvC,kBAAC,UAAQO,SAAQ,CACfN,GAAG,cACHO,MAAM,uBACNH,OAAO,4BACPzB,QAvE0B,KAChCgB,EAAkB,uBAAwB,GAAIC,MAwE1C,kBAAC,UAAQU,SAAQ,CACfN,GAAG,aACHO,MAAM,sBACNH,OAAO,4BACPI,YAAapC,GACX,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAG,iBAIrC,kBAAC,UAAQJ,SAAQ,CACfN,GAAG,SACHO,MAAM,SACNH,OAAO,uBACPI,YAAapC,GAAa,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAG,iBCnFlD,MAzBc,EAAEI,UAE3B,oCACE,kBAACH,EAAY,KACX,kBAAC,UAAQI,OAAM,CACbf,GAAG,kBACHgB,KAAM,kBAAC,OAAI,CAACC,MAAO,WAASC,UAC5BX,MAAO,kBAAC,oBAAiB,CAACY,OAAO,IACjC1C,MAAO,iBAAe2C,UACtBZ,YAAapC,GAAa,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAII,OAG9D,kBAACT,EAAS,KACR,kBAAC,UAAQU,OAAM,CACbf,GAAG,kBACHgB,KAAM,kBAAC,OAAI,CAACC,MAAO,WAASC,UAC5BX,MAAO,kBAAC,oBAAiB,CAACY,OAAO,IACjC1C,MAAO,iBAAeC,QACtB8B,YAAapC,GAAa,kBAAC,IAAI,CAACA,UAAWA,EAAWsC,GAAII,Q,SCmDrD,kBAfDjB,IACZ,MAAMwB,EAAW,cAAIxB,EAAO,6BAA8B,IACpDyB,EAA2B,eAC/BD,EACCE,GAAwBA,EAAQC,MAAQ,KAE3C,OACGF,GACDA,EAAyBG,QAAU,IAA8BA,MAI5D,CAACC,QAAQ,GAFP,CAACA,QAAQ,IAKL,CAxD+B,EAAEA,YAE5C,oCACGA,GACC,kBAACrB,EAAS,KACR,kBAAC,QAAK,CACJsB,SAAU,YAAUC,eACpBxD,UAAU,wBAEV,kBAAC,QAAM2C,OAAM,CACXc,KAAM,gBAAcC,WACpBC,eAAgB,iBAAeC,QAE/B,kBAAC,UAAO,CAACC,QAAS,iBAAeC,IAAE,2BAIrC,kBAAC,QAAMC,OAAM,CAACN,KAAM,gBAAcC,YAChC,uBACE1D,UAAU,0FACVqC,KAAM,GAAG,MAAY,MACrB2B,OAAO,SAAO,iBAMpB,uBACEhE,UAAU,kCACVqC,KAAM,GAAG,MAAY,MACrB2B,OAAO,SAEP,kBAAC,OAAI,CAACnB,MAAO,WAASoB,OACtB,kBAAC,UAAO,CAACJ,QAAS,iBAAeC,IAAE,mB,SC9DxC,MAAMI,EAAkBzC,GACtB,cAAIA,EAAO,6BAA8B,I,YCoBlD,MA8BM,EAAO,CACXyC,eAAgB,KAKH,MAFG,YATJzC,IAAoB,CAChCC,IAAK,YAAOD,GACZwB,SAAUiB,EAAezC,KAOK,EAEjB,CApCgB,EAAEC,MAAKuB,WAAUxC,eAC9C,MAAM0D,EAAW,eACVC,EAAuBC,GAA4B,oBACxD,GAmBF,OAhBA,oBAAU,KACJ,KAAS3C,IAAQ0C,IACnBC,GAAyB,GACzBF,EAAS,iBAEV,CAACA,EAAUzC,EAAK0C,IAEnB,oBAAU,KACR,YACEnB,EAASqB,OAAO,CAACC,EAAMC,KACrBD,EAAK,QAAQC,EAAKpB,QAAUoB,EAAKnB,MAC1BkB,GACN,MAEJ,CAACtB,IAEGxC,I,qBCNT,IAAM,EAAN,cAA0B,gBACjB,S,MACL,MAAM,SAACgE,EAAQ,QAAE1E,EAAO,YAAE2E,EAAW,qBAAEC,GAAwBjE,KAAKC,MAEpE,GAAI8D,EACF,OAAO,KAGT,MAAMG,EAAQ,YAA2B7E,EAAQe,SAAS2B,SAAU,CAClErB,KAAM,eACNyD,OAAO,EACPC,QAAQ,IAGJC,EAAqB,QAAhB,EAAGH,aAAK,EAALA,EAAOI,cAAM,eAAED,MAEvBE,EAA6B,aAAhBP,EAUb/C,EAAY,SAASoD,IACrBG,EClCsB,CAACH,IAC/B,MAAMpD,EAAY,SAASoD,IAE3B,MAAO,CACL,CACEnD,GAAI,YACJI,OAAQ,qBACRY,KAAM,WAASuC,SACfhD,MAAO,YACPiD,WAAY,OACZ1C,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,uBAEf2D,eAAgB,CAAC,aACjBC,KAAM,CACJ,CACE3D,GAAI,UACJI,OAAQ,sBACRG,MAAO,UACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,wBAGjB,CACEC,GAAI,YACJI,OAAQ,wBACRG,MAAO,WACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,0BAGjB,CACEC,GAAI,WACJI,OAAQ,uBACRG,MAAO,WACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,wBAEf6D,cAAc,GAEhB,CACE5D,GAAI,SACJI,OAAQ,qBACRG,MAAO,SACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,uBAGjB,CACEC,GAAI,mBACJI,OAAQ,+BACRG,MAAO,mBACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,mCAKrB,CACEC,GAAI,gBACJI,OAAQ,yBACRY,KAAM,WAAS6C,UACftD,MAAO,gBACPiD,WAAY,UACZ1C,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,mBAEf2D,eAAgB,CAAC,kBAEnB,CACE1D,GAAI,YACJI,OAAQ,qBACRY,KAAM,WAAS8C,WACfvD,MAAO,QACPwD,YAAa,YACbP,WAAY,QACZ1C,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,eAEf2D,eAAgB,CAAC,cAEnB,CACE1D,GAAI,aACJI,OAAQ,sBACRY,KAAM,WAASgD,WACfzD,MAAO,aACPiD,WAAY,SACZ1C,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,qBAEf2D,eAAgB,CAAC,eAEnB,CACE1D,GAAI,QACJI,OAAQ,iBACRY,KAAM,WAASiD,SACf1D,MAAO,QACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,WAEf2D,eAAgB,CAAC,UAEnB,CACE1D,GAAI,WACJI,OAAQ,oBACRY,KAAM,WAASkD,KACf3D,MAAO,SACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,cAEf2D,eAAgB,CAAC,YACjBC,KAAM,CACJ,CACE3D,GAAI,UACJI,OAAQ,sBACRG,MAAO,gBACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,sBAKrB,CACEC,GAAI,WACJI,OAAQ,oBACRY,KAAM,WAASmD,UACf5D,MAAO,WACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,wBAEf2D,eAAgB,CAAC,YACjBC,KAAM,CACJ,CACE3D,GAAI,YACJI,OAAQ,wBACRG,MAAO,YACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,yBAGjB,CACEC,GAAI,YACJI,OAAQ,wBACRG,MAAO,YACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,yBAGjB,CACEC,GAAI,SACJI,OAAQ,qBACRG,MAAO,SACPO,KAAM,CACJ2C,KAAM,OACNvE,SAAU,GAAGa,0BDvIJqE,CAAiBjB,GAElC,OACE,kBAAC,EAAW,KACV,kBAAC,UAAO,CACNkB,SAAUhB,EACViB,cAAe,kBAAC,EAAS,CAACxD,KAAMf,IAChCwE,YAAa,kBAAC,EAAU,MACxBC,cAjB2B,KAE7BzB,EADEM,EACmB,YAEA,aAcnBoB,cAAe,kBAAC,EAAqB,OAEpCnB,EAASoB,IAAIC,IAQZ,IAAIC,EACF,kBAAC,UAAQC,KAAI,CACXrD,IAAKmD,EAAK3E,GACVA,GAAI2E,EAAK3E,GACTI,OAAQuE,EAAKvE,OACbY,KAAM,kBAAC,OAAI,CAACC,MAAO0D,EAAK3D,OACxBT,MAAOoE,EAAKpE,MACZiD,WAAYmB,EAAKnB,WACjB5C,OAAQ5B,EACN2F,EAAKjB,eACLxE,SAAS2B,UAEXL,YAnBiBpC,GACI,SAAnBuG,EAAK7D,KAAK2C,KACL,uBAAGhD,KAAMkE,EAAK7D,KAAK5B,SAAUd,UAAWA,IAG1C,kBAAC,IAAI,CAACsC,GAAIiE,EAAK7D,KAAK5B,SAAUd,UAAWA,KAgB7C0G,QAAQH,EAAKhB,OACZ,kBAAC,UAAQoB,QAAO,KACbJ,EAAKhB,KAAKe,IAAIM,IAmBb,IAAIC,EACF,kBAAC,UAAQC,QAAO,CACd1D,IAAKwD,EAAShF,GACdA,GAAIgF,EAAShF,GACbI,OAAQ4E,EAAS5E,OACjBQ,OAAQ5B,EACN,CAACgG,EAAShF,IACVd,SAAS2B,UAEXN,MAAOyE,EAASzE,MAChBC,YA5BiBpC,GACQ,SAAvB4G,EAASlE,KAAK2C,KAEd,uBACEhD,KAAMuE,EAASlE,KAAK5B,SACpBd,UAAWA,IAMf,kBAAC,IAAI,CACHsC,GAAIsE,EAASlE,KAAK5B,SAClBd,UAAWA,MA+CjB,OA5BI4G,EAASpB,eACXqB,EACE,kBAACtE,EAAY,CAACa,IAAKwD,EAAShF,IACzBiF,IAKHD,EAASG,YACXF,EACE,kBAAC5E,EAAS,CAACmB,IAAKwD,EAAShF,IACtBiF,IAKHD,EAASjB,cACXkB,EACE,kBAAC,IAAW,CACVzD,IAAKwD,EAAShF,GACdzB,KAAMyG,EAASjB,YACfqB,OAAQJ,EAASK,kBAEhBJ,IAKAA,MA+BjB,OAxBIN,EAAKf,eACPgB,EACE,kBAACjE,EAAY,CAACa,IAAKmD,EAAK3E,IAAK4E,IAI7BD,EAAKQ,YACPP,EACE,kBAACvE,EAAS,CAACmB,IAAKmD,EAAK3E,IAAK4E,IAI1BD,EAAKZ,cACPa,EACE,kBAAC,IAAW,CACVpD,IAAKmD,EAAK3E,GACVzB,KAAMoG,EAAKZ,YACXqB,OAAQT,EAAKU,kBAEZT,IAKAA,QA1Jb,EAAW,aADhB,KACK,GAkKN,MAAM,EAAO,CACX7B,qBAAsB,KAYT,MAFG,YAPJlD,IAIZ,MAAO,CAACgD,SAHS,cAAIhD,EAAO,oCAAoC,GAG9CiD,YAFE,cAAIjD,EAAO,4BAA6B,eAK9B,EAEjB,CAAU,YAAW,I,SErN7B,MAAMyF,EAAkB,eAEhB,SAASC,IACtB,OAAO,yBAAKvF,GAAIsF,I,mBCWlB,MAAME,EAAwBC,IAC5B,MAAMC,EAAY,CAChB,CAAC,oBAAkBhH,SAAU,YAAUA,QACvC,CAAC,oBAAkBiH,SAAU,YAAUC,aACvC,CAAC,oBAAkBC,SAAU,YAAUjE,eACvC,CAAC,oBAAkBkE,OAAQ,YAAUC,WACrC,CAAC,oBAAkBC,MAAO,YAAUC,cAEtC,OAAO,cAAIP,EAAWD,EAAO,YAAUQ,eAGzC,MAAM,UAAsB,gBAKnB,SACL,MAAM,cAACC,GAAiBpH,KAAKC,MAE7B,OACE,oCACGmH,EAAcxB,IACb,EAAE1E,KAAIyF,QAAOzE,OAAMmF,WAAUC,UAAStF,OAAMuF,eAC1C,MAAM1E,EAAW6D,EAAqBC,GAEtC,IAAIa,EAaJ,OAXIxF,GAAQuF,IACVC,EACE,kBAAC,IAAI,CACH5F,GAAII,EACJ1C,UAAU,iEAETiI,IAML,kBAAC,eAAY,CACX7E,IAAKxB,EACLA,GAAIA,EACJgB,KAAMA,EACNmF,SAAUA,EACVtE,KAAM,gBAAcC,WACpBH,SAAUA,EACV4E,UAAWzH,KAAKC,MAAMyH,oBACtBC,UAAW3H,KAAKC,MAAMyH,oBACtBpG,OAAQ,gBAAgBqF,KAExB,0BAAMrH,UAAU,yBAAyBgI,GACxCE,OAvCD,EAAAI,aAAe,CAC3BR,cAAe,IAgDnB,MAIM,EAAO,CACXM,oBAAqB,KAKR,MAFG,YARL,EAAEN,oBAA6B,CAC1CA,kBAO8B,EAEjB,CAAU,G,kBC/EzB,MAAMS,GAAU,CACdC,KAAM,WACNC,MAAO,WACPC,SAAU,EACVC,UAAU,EACVC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,cAAc,EACdC,YAAa,mDAGTC,GAAO,OASb,MAAM,WAAuB,gBAA7B,c,oBA0BU,KAAAC,YAAeC,IACrBA,EAASC,QACT1I,KAAK2I,OAASF,GAGR,KAAAG,aAAe,CAACC,EAAGC,EAAIC,KAC7B,MAAM,aAACC,GAAgBhJ,KAAKC,MAE5B+I,EAAaD,IAGP,KAAAE,aAAe,CAACH,EAAeI,KACrC,MAAM,SAACC,GAAYnJ,KAAKC,MAExBkJ,EAASD,EAAWE,MArCf,qBACL,MAAMC,EAAmBrJ,KAAK2I,OAAOW,gBAAgBF,IACjDpJ,KAAKC,MAAMsJ,YAAcF,GAC3BrJ,KAAK2I,OAAOa,SAAS,EAAGxJ,KAAKC,MAAMsJ,WAIhC,SACL,MAAM,KAACR,GAAQ/I,KAAKC,MAEpB,OACE,kBAAC,aAAe,CACdwJ,YAAY,EACZ9G,MAAO,YAAaoG,GACpBW,QAAS7B,GACT8B,eAAgB3J,KAAK4I,aACrBgB,aAAcrB,GACdsB,eAAgB7J,KAAKwI,YACrBW,SAAUnJ,KAAKiJ,gBAuBR,U,UC9Df,MAAMa,GAAqB,IACzB,4DAyBa,OAvBuB7J,GAElC,yBAAKX,UAAU,uBAAsB,cAAa,wBAChD,kBAAC,mBAAgB,CACfA,UAAU,8BACViK,UAAWtJ,EAAMsJ,UACjBJ,SAAUlJ,EAAMkJ,UAEhB,yBAAK7J,UAAU,mCACb,kBAACyK,GAAA,EAAgB,CACfrK,KAAMO,EAAM8I,KACZzJ,UAAU,kBACV0K,eAAgB,CACdC,MAAOH,GACPI,eAAgBJ,S,uCCK9B,MAAM,WAAmB,gBAAzB,c,oBACS,KAAA/I,MAAQ,CAACwI,UAAW,GAwDnB,KAAAY,mBAAsBZ,IAC5BvJ,KAAKoK,SAAS,CAACb,eAGT,KAAAc,oBAAuBC,IAC7B,MAAMhH,EAASgH,EAAEhH,QACX,UAACiG,GAAajG,EAEpBtD,KAAKoK,SAAS,CAACb,eA9DV,SACL,MAAM,KAACR,EAAI,UAAEwB,GAAavK,KAAKC,OACzB,UAACsJ,GAAavJ,KAAKe,MAEzB,OACE,yBAAKzB,UAAU,eACb,yBAAKA,UAAU,yBACb,yBAAKA,UAAU,uB,sCACuB,IACpC,uBAAGqC,KAAK,4CAA4C2B,OAAO,UAAQ,qBAIpEtD,KAAKwK,kBAER,yBAAKlL,UAAU,qBACb,kBAAC,GAAc,CACbyJ,KAAMA,EACNC,aAAcuB,EACdpB,SAAUnJ,KAAKmK,mBACfZ,UAAWA,IAEb,kBAAC,GAAiB,CAChBR,KAAMA,EACNQ,UAAWA,EACXJ,SAAUnJ,KAAKqK,wBAOzB,uBACE,MAAM,SAACI,EAAQ,kBAAEC,EAAiB,0BAAEC,GAA6B3K,KAAKC,MAEtE,OAAKwK,EAKH,kBAAC,UAAO,CACNG,UAAW,gBAAcC,IACzB5H,eAAgB,iBAAe6H,SAE/B,kBAAC,aAAU,6CACX,kBAAC,cAAW,CACVhJ,OAAQ4I,EACR3H,KAAM,gBAAcC,WACpB+H,SAAUJ,KAZP,MA8Bb,MAWM,GAAO,CACXK,kBCrEAC,IAC0B,CAC1BtG,KAAM,oBACNuG,QAAS,CAACD,kBDmEVN,0BC5DqC,KAAqC,CAC1EhG,KAAM,gCD4DN4F,UCpDsBxB,IAAgC,CACtDpE,KAAM,WACNuG,QAAS,CAACnC,WDuDG,OAFG,YAjBJhI,IACZ,MAAM,KAACgI,EAAI,KAAEjB,EAAI,OAAEqD,EAAM,aAAEF,EAAY,kBAAEP,GAAqB3J,EAAMqK,WAOpE,MAAO,CAACrC,OAAM0B,SALZ3C,IAAS,iBAAeuD,SACxBF,GACApK,EAAMuK,UAAUC,MAAMC,KAAKL,IAC4B,aAAvDpK,EAAMuK,UAAUC,MAAMC,KAAKL,GAAQM,WAAW9G,KAExBsG,eAAcP,sBASR,GAEjB,CAAU,I,SE9EzB,MAAM,WAA0B,gBAAhC,c,oBACS,KAAA3J,MAAe,CACpB2K,aAAc,kBAAgBC,YA6ExB,KAAAC,cAAgB,KACtB,MAAM,QAACC,GAAW7L,KAAKC,MAEvB4L,KA2BM,KAAAC,WAAa,KACnB,MAAM,OACJC,EAAM,YACNC,EAAW,iBACXC,EAAgB,iBAChBC,EAAgB,SAChBC,GACEnM,KAAKC,MAETD,KAAKoK,SAAS,CAACsB,aAAc,kBAAgBU,UAE7C,IACML,EACFG,EAAiBH,GAEjBE,EAAiBD,GAEnBhM,KAAK4L,gBACL,MAAOS,GACPF,EAAS,cAAiBE,EAAM/E,UAChCgF,QAAQD,MAAMA,GACdrM,KAAKoK,SAAS,CAACsB,aAAc,kBAAgB1E,UA7HjD,oBACE,MAAM,OAAC+E,GAAU/L,KAAKC,MAElB8L,EACF/L,KAAKC,MAAMsM,SAASR,GAEpB/L,KAAKC,MAAMuM,YAIf,mBAAmBC,GACjB,MAAM,OAACV,EAAM,YAAEW,GAAe1M,KAAKC,MAGjCwM,EAAUC,cAAgB,kBAAgBC,MAC1CD,IAAgB,kBAAgBC,OAE5BZ,EACF/L,KAAKC,MAAMsM,SAASR,GAEpB/L,KAAKC,MAAMuM,aAKV,SACL,MAAM,YAACR,GAAehM,KAAKC,MAE3B,OAAK+L,EAeH,kBAAC,UAAQY,UAAS,CAACC,SAAU,IAAKvL,OAAO,wBACvC,kBAAC,UAAQW,OAAM,CACb6K,MAAO9M,KAAK+M,aACZpF,UAAW3H,KAAK4L,gBAElB,kBAAC,UAAQoB,KAAI,KACX,kBAAC,mBAAgB,CACfC,QAASjN,KAAKC,MAAMyM,YACpBQ,iBAAkB,kBAAC,gBAAa,OAEhC,kBAAC,GAAU,QAGf,kBAAC,UAAQ7J,OAAM,KACb,kBAAC,SAAM,CACL3D,KAAK,SACLG,QAASG,KAAK4L,cACdtK,OAAO,wBAET,kBAAC,SAAM,CACL5B,KAAK,OACLC,MAAO,iBAAeoH,QACtBoG,OAAQnN,KAAKoN,iBACbvN,QAASG,KAAK8L,WACdxK,OAAO,wBArCX,kBAAC,UAAQsL,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CAAC6K,MAAM,SAASnF,UAAW3H,KAAK4L,gBAC/C,kBAAC,UAAQoB,KAAI,KACX,4B,qEACqE,I,gCA8C/E,mBACE,MAAM,KAAClF,GAAQ9H,KAAKC,MAEpB,IAAI8M,EAQJ,OALEA,EADEjF,IAAS,iBAAeuD,QACX,YAEA,WAMnB,uBACE,MAAM,aAACK,GAAgB1L,KAAKe,MAE5B,OAAI2K,IAAiB,kBAAgBU,QAC5B,kBAAgBA,QAGlB,kBAAgBiB,SA6B3B,MAWM,GAAO,CACXlB,SAAU,IACVF,iBD1H6BD,GAAwB,CACrDvI,EACA6J,KAEA,MAAMC,EAAY,aAChBD,IACA,eAAapI,WACb8G,GAGF,IAAKuB,EACH,MAAM,IAAIvG,MAAM,qCAAqCgF,MAGvD,MAAM,KAACjD,GAAQuE,IAAWlC,WACpBoC,EAAO,aAAmC,YAIhD,OAFAA,EAAK/B,WAAW1C,KAAOA,EAEhBtF,EAAS,aAAmB8J,EAAUrM,GAAIsM,KCwGjDtB,iBDnD6BhL,GAAe,CAC5CuC,EACA6J,KAEA,MAAMvM,EAAQuM,KACR,KAACvE,EAAI,kBAAE2B,GAAqB3J,EAAMqK,WAClCoC,EAAO,aAAczM,EAAO,eAAa0M,MAAOvM,GAEtD,GAA6B,UAAzBsM,EAAK/B,WAAW9G,KAClB,MAAM,IAAIqC,MACR,cAAcwG,EAAK/B,WAAW9G,gCAIlC,MAAM+I,EAAc,OAAH,wBACZF,GAAI,CACP/B,WAAY,OAAF,wBAAM+B,EAAK/B,YAAU,CAAE1C,OAAM2B,wBAGzC,OAAOjH,EAAS,aAAW+J,EAAKxB,YAAa0B,KCiC7ClB,UDlG4B,KAA4B,CACxD7H,KAAM,qBCkGN4H,SDnFuBrL,GAAe,CACtCuC,EACA6J,KAEA,MAAMvM,EAAQuM,IACRK,EAAmB,aAAc5M,EAAO,eAAa0M,MAAOvM,GAElE,IAAKyM,EACH,OAGF,MAAMH,EAAOG,EAEP5E,EAAe,cAAIyE,EAAM,kBAAmB,IAC5C9C,EAA6B,cACjC8C,EACA,gCACA,GAUF/J,EAlC0B,CAC1BmK,IACuB,CACvBjJ,KAAM,iBACNuG,QAAS0C,IA8BAC,CAPY,CACnB1C,OAAQqC,EAAKtM,GACb6H,OACA2B,oBACA5C,KAAM,iBAAeuD,aCgEV,OAFG,YAnBL,EAAED,aAAYE,YAAWwC,eACpC,MAAM,OAACxJ,GAAUwJ,GACX,KAAChG,GAAQsD,GACT,OAAC+B,GAAU7B,EAAUC,MAK3B,MAAO,CAACzD,OAAM4E,YAAaS,EAAQpB,OAHpB,cAAIzH,EAAQ,cAAUyJ,GAGM/B,YAFvB,cAAI1H,EAAQ,mBAAeyJ,KAajB,GAEjB,CAAU,I,UC/LzB,MAAMC,GAAwC,CAC5C,iBACA,UACA,SACA,aACA,OACA,YACA,SACA,oBACA,wBACA,OACA,UACA,WACA,UACA,QACA,YACA,QACA,YACA,SAOIC,GAAU,CAAC5J,EAAe6J,IAC9BC,IAEA,OAAQA,GACN,IAAK,iBACL,IAAK,UACL,IAAK,SACL,IAAK,aACL,IAAK,OACL,IAAK,YACL,IAAK,SACL,IAAK,oBACL,IAAK,wBACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,QACH,MAAO,CACL,CACEC,OAAQ,OACRC,SAAU,CAAC1J,KAAMwJ,EAAG9J,UAEtB,CACE+J,OAAQ,QACRC,SAAU,CAAC1J,KAAMwJ,EAAG9J,WAG1B,IAAK,OAGH,MAAO,CACL,CACE+J,OAAQ,OACRC,SAAU,CAAC1J,KAAMwJ,EAAGjN,GAAImD,KAG9B,IAAK,QACH,MAAO,CACL,CACE+J,OAAQ,OACRC,SAAU,CAAC1J,KAAMwJ,EAAGjN,GAAIgN,IAE1B,CACEE,OAAQ,QACRC,SAAU,CAAC1J,KAAMwJ,EAAGjN,GAAIgN,KAG9B,QACE,OAhFN,SAAqBI,GACnB,MAAM,IAAItH,MAAM,sBAAwBsH,GA+E7BC,CAAYJ,KAIZK,GAAuB,CAClCnK,EACA6J,KAEA,MAAMO,EAAYR,GAAQ5J,EAAO6J,GACjC,OAAOF,GAAmBU,QAAQD,IAGvBE,GAA6B,CACxCC,EACAC,IAEOD,EAAQhJ,IAAIkJ,IACV,CACLV,OAAQS,EACRR,SAAU,CACR1J,KAAM,UACNN,MAAOyK,EAAEzK,MACTnD,GAAI4N,EAAE5N,OAMD6N,GAAwB,CACnC1K,EACAwK,IAEO,CACL,CACET,OAAQS,EACRR,SAAU,CAAC1J,KAAM,UAAWN,WAKrB2K,GAAe,CAC1BC,EACAC,KAIA,OAFmBA,EAAgBC,KAAKC,GAAKA,IAAMH,GAG1CC,EAAgBG,OAAOD,GAAKA,IAAMH,GAGpC,IAAIC,EAAiBD,IAG9B,IAAYK,IAAZ,SAAYA,GACV,2BACA,kBAFF,CAAYA,QAAS,KCrId,MAAMC,GAASxO,GACbA,EAAM3B,GCwCf,IAAM,GAAN,cAAoC,gBAApC,c,oBACS,KAAA2B,MAAQ,CAACyO,YAAa,IAwDrB,KAAA1D,WAAa,KACnB,MAAM,MAACzH,EAAK,KAAEoL,EAAI,sBAAEC,GAAyB1P,KAAKC,MAQlDyP,EAN6B,CAC3BrL,QACAmL,YAAaxP,KAAKe,MAAMyO,YACxBG,YAAanB,GAAqBnK,EAAOoL,KAK3CzP,KAAK4L,iBAGC,KAAAgE,kBAAqBtF,IAC3B,MAAM,MAAC3H,GAAS2H,EAAEhH,OAElBtD,KAAKoK,SAAS,CAACoF,YAAa7M,KAGtB,KAAAiJ,cAAgB,KACtB5L,KAAKC,MAAM4L,WA3Eb,SACE,MAAM,YAAC2D,GAAexP,KAAKe,MAE3B,OACE,kBAAC,UAAQ6L,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAM,4BACNnF,UAAW3H,KAAK4L,gBAElB,kBAAC,UAAQoB,KAAI,KACX,kBAAC,OAAI,CAAC6C,SAAU7P,KAAK8L,YACnB,kBAAC,UAAO,CACNgE,WAAY,aAAW5M,OACvB0H,UAAW,gBAAcmF,OACzBC,OAAQ,gBAAcC,OAEtB,kBAAC,QAAK,CACJ/N,KAAM,WAASgO,cACfvQ,MAAO,iBAAekH,SAAO,uGAK/B,kBAAC,OAAKsJ,QAAO,CAAC1O,MAAM,eAClB,kBAAC,QAAK,CACJ6G,YAAY,0BACZ3F,MAAO6M,EACPzE,SAAU/K,KAAK4P,kBACftO,OAAO,4BAIX,kBAAC,OAAK+B,OAAM,KACV,kBAAC,SAAM,CACL3D,KAAK,SACLwC,KAAM,WAASkO,OACfvQ,QAASG,KAAK4L,gBAGhB,kBAAC,SAAM,CACLlM,KAAK,OACL4B,OAAO,eACPY,KAAM,WAASmO,UACf1Q,MAAO,iBAAeoH,QACtBpC,KAAM,aAAW2L,gBA/C7B,GAAqB,aAD1B,KACK,IAkFN,MAOM,GAAO,CACXZ,sBAAuB,MAKV,OAFG,YAXJ3O,IACL,CACLsD,MAAO,YAAOtD,GAAOG,GACrBuO,KAAMF,GAAMxO,GAAOG,KAQS,GAEjB,CAAU,IClIV,MAAM,WAA2B,gBAKvC,SACL,MAAM,OAACI,EAAM,SAAEvB,GAAYC,KAAKC,MAEhC,OACE,yBAAKX,UAAU,wBAAuB,cAAcgC,GACjDtB,KAAK8M,MACL/M,EACAC,KAAKuQ,cAKZ,YACE,MAAM,YAACC,EAAW,MAAE1D,GAAS9M,KAAKC,MAElC,OAAIuQ,EAEA,yBAAKlR,UAAU,2BAA2BkR,YAAaA,GACrD,yBAAKlR,UAAU,6BACf,wBAAIA,UAAU,wBAAwBwN,IAKrC,wBAAIxN,UAAU,wBAAwBwN,GAG/C,mBACE,MAAM,SAAC2D,GAAYzQ,KAAKC,MAExB,GAAIwQ,EACF,OAAO,yBAAKnR,UAAU,wBAAwBO,QAAS4Q,KAnC7C,GAAA7I,aAAe,CAC3BtG,OAAQ,yBCLG,MAAM,WAAyB,gBAKrC,SACL,MAAM,OAACA,EAAM,SAAEvB,GAAYC,KAAKC,MAChC,OACE,yBAAKX,UAAU,sBAAqB,cAAcgC,GAC/CvB,IARO,GAAA6H,aAAe,CAC3BtG,OAAQ,uBCGG,MAAM,WAAyB,gBAOrC,SACL,MAAM,WAACoP,EAAU,OAAEpP,GAAUtB,KAAKC,MAElC,OAAIyQ,EAEA,kBAAC,mBAAgB,CACfpR,UAAU,sBACVqH,MAAO,CAACkG,SAAU,OAAQ8D,UAAW,QACrCrP,OAAQA,GAEPtB,KAAKD,UAMV,yBAAKT,UAAU,sBAAqB,cAAcgC,GAC/CtB,KAAKD,UAKZ,eACE,MAAM,WAAC6Q,EAAU,SAAE7Q,GAAYC,KAAKC,MAEpC,OAAI2Q,EACK,yBAAKtR,UAAU,2BAA2BS,GAG5CA,GAnCK,GAAA6H,aAAe,CAC3B8I,YAAY,EACZE,YAAY,EACZtP,OAAQ,uBCTG,MAAM,WAA0B,gBAKtC,SACL,MAAM,OAACA,EAAM,SAAEvB,GAAYC,KAAKC,MAEhC,OACE,yBACEX,UAAU,2CAA0C,cACvCgC,GAEZvB,IAZO,GAAA6H,aAAe,CAC3BtG,OAAQ,wBCMG,MAAM,WAAqB,gBAUjC,SACL,MAAM,SAACvB,EAAQ,OAAEuB,EAAM,UAAEhC,GAAaU,KAAKC,MAErC4Q,EAAY,IAAW,gBAAiB,CAAC,CAAC,GAAGvR,KAAcA,IAEjE,OACE,yBAAKA,UAAWuR,EAAS,cAAevP,GACrCvB,IAhBO,GAAAkC,OAAS,GACT,GAAA6O,KAAO,GACP,GAAA9D,KAAO,GACP,GAAA+D,MAAQ,GAER,GAAAnJ,aAAe,CAC3BtG,OAAQ,iBCVG,MAAM,WAA0B,gBAKtC,SACL,MAAM,OAACA,EAAM,SAAEvB,EAAQ,UAAET,GAAaU,KAAKC,MAErC4Q,EAAY,IAAW,uBAAwB,CACnD,CAAC,GAAGvR,KAAcA,IAGpB,OACE,yBAAKA,UAAWuR,EAAS,cAAevP,GACrCtB,KAAK8M,MACL/M,EACAC,KAAKuQ,cAKZ,YACE,MAAM,YAACC,EAAW,MAAE1D,GAAS9M,KAAKC,MAElC,OAAIuQ,EAEA,yBAAKlR,UAAU,0BAA0BkR,YAAaA,GACpD,yBAAKlR,UAAU,4BACf,wBAAIA,UAAU,uBAAuBwN,IAKpC,wBAAIxN,UAAU,uBAAuBwN,GAG9C,mBACE,MAAM,SAAC2D,GAAYzQ,KAAKC,MAExB,GAAIwQ,EACF,OAAO,yBAAKnR,UAAU,uBAAuBO,QAAS4Q,KAvC5C,GAAA7I,aAAe,CAC3BtG,OAAQ,wBCCZ,MAAM0P,GAAgB,OAEP,MAAM,WAAkC,gBAK9C,SACL,MAAM,SACJjR,EAAQ,iBACRkR,EAAgB,QAChBvH,EAAO,SACPwH,EAAQ,eACRC,EAAc,OACd7P,GACEtB,KAAKC,MAQT,OACE,yBAAKX,UAAU,uBAAsB,cAAcgC,GAChD2P,EACC,kBAAC,WAAQ,CACPzJ,OAXO,IACb,kBAAC,WAAS4J,OAAM,CAACjE,OAAQ,kBAAgBkE,SAAUxR,QAAS,QACzDsR,GAUGtM,KANK,IAAM,KAOXvD,OAAO,8BAGT,kBAAC,iBAAc,CACboI,QAASA,EACTyH,eAAgBA,EAChB7P,OAAO,yBACP4P,SAAUA,GAAsBF,KAGnCjR,EACAC,KAAKuQ,cAKZ,mBACE,MAAM,SAACE,GAAYzQ,KAAKC,MAExB,GAAIwQ,EACF,OAAO,yBAAKnR,UAAU,uBAAuBO,QAAS4Q,KA9C5C,GAAA7I,aAAe,CAC3BtG,OAAQ,wBCVG,MAAM,WAAwB,gBAKpC,SACL,MAAM,OAACA,EAAM,SAAEvB,EAAQ,UAAET,GAAaU,KAAKC,MACrC4Q,EAAY,IAAW,qBAAsB,CACjD,CAAC,GAAGvR,KAAcA,IAGpB,OACE,yBAAKA,UAAWuR,EAAS,cAAevP,GACrCvB,IAZO,GAAA6H,aAAe,CAC3BtG,OAAQ,sBCKG,MAAM,WAAwB,gBAQpC,SACL,MAAM,WACJoP,EAAU,OACVpP,EAAM,mBACNgQ,EAAkB,MAClB3K,EAAK,UACLrH,GACEU,KAAKC,MAET,GAAIyQ,EAAY,CACd,MAAMa,EAAkB,OAAH,QAAI1E,SAAU,OAAQ8D,UAAW,QAAWhK,GAEjE,OACE,kBAAC,mBAAgB,CACfrH,UAAU,qBACVqH,MAAO4K,EACPjQ,OAAQA,EACRkQ,SAAUF,GAETtR,KAAKD,UAKZ,MAAM8Q,EAAY,IAAW,qBAAsB,CACjD,CAAC,GAAGvR,KAAcA,IAGpB,OACE,yBAAKA,UAAWuR,EAAS,cAAevP,EAAQqF,MAAOA,GACpD3G,KAAKD,UAKZ,eACE,MAAM,WAAC6Q,EAAU,SAAE7Q,GAAYC,KAAKC,MAEpC,OAAI2Q,EACK,yBAAKtR,UAAU,0BAA0BS,GAG3CA,GAjDK,GAAA6H,aAAe,CAC3B8I,YAAY,EACZE,YAAY,EACZtP,OAAQ,qBACRgQ,oBAAoB,GCdT,MAAM,WAAyB,gBAKrC,SACL,MAAM,OAAChQ,EAAM,SAAEvB,GAAYC,KAAKC,MAEhC,OACE,yBACEX,UAAU,yCAAwC,cACrCgC,GAEZvB,IAZO,GAAA6H,aAAe,CAC3BtG,OAAQ,uBCQG,MAAM,WAAoB,gBAYhC,SACL,MAAM,SAACvB,EAAQ,OAAEuB,EAAM,UAAEhC,EAAS,YAAEmS,GAAezR,KAAKC,MAElD4Q,EAAY,IAAW,eAAgB,CAAC,CAAC,GAAGvR,KAAcA,IAE1DqH,EAAQ,CAAC+K,KAAM,OAAOD,OAE5B,OACE,yBAAKnS,UAAWuR,EAAS,cAAevP,EAAQqF,MAAOA,GACpD5G,IApBO,GAAAkC,OAAS,GACT,GAAA0P,eAAiB,GACjB,GAAAb,KAAO,GACP,GAAA9D,KAAO,GACP,GAAA+D,MAAQ,GAER,GAAAnJ,aAAe,CAC3BtG,OAAQ,eACRmQ,YAAa,KCiCF,OA3CkBxR,IAC/B,MAAM,MACJ2R,EAAK,cACLC,EAAa,aACbC,EAAY,YACZC,EAAW,SACXhS,EAAQ,OACRuB,GACErB,EAEJ,OACE,kBAAC,GAAY+M,KAAI,CACf4D,YAAY,EACZU,oBAAoB,EACpBhQ,OAAQA,GAEPsQ,EAAMhM,IAAIC,IACT,MAAMvG,EAAY,IAAW,sBAAuB,CAClD0S,SAAUH,EAAclR,SAASkF,GACjC,0BAA2BkM,IAGvBjF,EAAQ+E,EAAclR,SAASkF,GACjC,8BACA,sBAAsBA,IAE1B,OACE,yBACEvG,UAAWA,EAAS,cACP,iBAAiBuG,IAC9BnD,IAAKmD,EACLhG,QAAS,IAAMiS,EAAajM,GAC5BiH,MAAOA,GAENjH,KAIN9F,ICxCQ,MAAM,WAAsB,gBAClC,SACL,OAAOC,KAAKC,MAAMF,SAASC,KAAKiS,QAGlC,aACE,MAAM,KAACC,EAAI,QAAEC,EAAO,UAAEvH,GAAa5K,KAAKC,MAExC,OAAO,kBAAQiS,EAAM,CAACC,GAAU,CAACvH,KCYrC,MAAMwH,GAAe,WACfC,GAAuB,UASd,MAAM,WAAsB,gBAA3C,c,oBAkGU,KAAAC,YAAeC,GACd,kBAAQA,EAAOvS,KAAKwS,iBAAiBC,OAGtC,KAAAC,WAAa,CAACC,EAA0BC,KAC9C,MACMC,EAAgBF,EADR,sBAAYA,EAAgBC,IAG1C,SAAMC,IAAiBA,EAAclS,SAASiS,KAOxC,KAAAJ,gBAAmBM,IACzB,MAAMC,EAAW,IAAIC,MAAMF,EAAKtS,QAC1ByS,EAAYH,EAAKI,oBAEvB,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAASvS,OAAQ2S,IACnCJ,EAASI,GAAKF,EAAU1S,MAAM4S,GAGhC,OAAOJ,GAxHF,SACL,OAAO/S,KAAKC,MAAMF,SAASC,KAAKiS,QAGlC,aACE,OAAO,iBAAUjS,KAAKoT,SAAU,CAC7BvN,IACC,MAAMlD,EAAQ,cAAIkD,EAAM7F,KAAKC,MAAMoT,WAEnC,OAAM1Q,GAAS,mBAASA,GACfA,EAAMuQ,oBAGRvQ,KAKb,eACE,MAAM,KAACuP,EAAI,OAAEoB,EAAM,WAAEC,GAAcvT,KAAKC,OAClC,oBAACuT,GAAuBxT,KAE9B,OAAI,kBAAQwT,GACHtB,EAGQA,EAAK7C,OAAOoE,IAC3B,MAAM5N,EAAO,OAAH,wBACL4N,GAAQ,CACXH,OAAQ,cAAIG,EAAU,SAAU,IAAI7N,IAAI8N,GAAWJ,EAAOI,MAyB5D,OAtBiBH,EAAW9S,KAAKiC,IAC/B,MAAMC,EAAQ3C,KAAK2T,OAAO9N,EAAMnD,GAE1BkR,EAAgB5T,KAAK4T,cAAcjR,GAEzC,IAAKiR,GAAiB,mBAASjR,GAC7B,MAAM,IAAIqE,MACR,qBAAqBtE,oHAKzB,GAAIkR,EAAe,CACjB,MAAMC,EAAc7T,KAAKsS,YAAY3P,GACrC,OAAO3C,KAAK0S,WAAWmB,EAAaL,GAGtC,OAAOM,OAAOnR,GACXuQ,oBACAvS,SAAS6S,OASV,cAAc7Q,GACpB,QAAK,kBAAQA,OAIT,kBAAQA,KAAU,mBAASA,EAAM,KAOvC,0BACE,OAAO3C,KAAKC,MAAM2S,WAAWmB,WAAWb,oBAGlC,OAAOrN,EAASnD,GAGtB,OAFkBA,EAAIwB,MAAMkO,IAKnBpS,KAAKgU,cAAcnO,EAAMnD,GAFzB,cAAImD,EAAMnD,EAAK,IAMlB,cAAcmD,EAASnD,GAQ7B,OAPcA,EAAIpC,MAAM+R,IAEHzO,OACnB,CAACqQ,EAASvT,IAAS,kBAAQuT,EAASC,GAAK,cAAIA,EAAGxT,EAAM,KACtD,CAACmF,KChIP,MAAM,GAAQ9E,IACL,CAACuS,OAAQvS,EAAMuK,UAAUgI,OAAO9H,OAK1B,SAAS2I,KACtB,OAAO,YAAoB,GAApB,CACL,ICOJ,MAAMC,GAAgB,KAEtB,MAAM,WAAuB,gBAA7B,c,oBACS,KAAArT,MAAe,CAAC6R,WAAY,IAqC3B,KAAAyB,oBAAuB/J,IAC7BtK,KAAKoK,SAAS,CAACwI,WAAYtI,EAAEhH,OAAOX,SApC/B,SACL,MAAM,gBAACuM,EAAe,SAAEgC,EAAQ,QAAEtC,GAAW5O,KAAKC,OAC5C,WAAC2S,GAAc5S,KAAKe,MAE1B,OACE,oCACE,kBAAC,GAAY+P,KAAI,KACf,kBAAC,QAAK,CACJnO,MAAOiQ,EACP7H,SAAU/K,KAAKqU,oBACf/L,YAAY,uBAGhB,kBAAC8L,GAAa,CACZlC,KAAMtD,EACNgE,WAAYA,EACZW,WAAY,CAAC,SAEZe,GACC,kBAAC,GAAU,CAACpC,KAAMoC,EAAiBnC,QAAQ,QACxCoC,GACC,kBAAC,GAAY,CACX3C,MAAO2C,EAAc3O,IAAIkJ,GAAKA,EAAErP,MAChCoS,cAAe3C,EACf4C,aAAcZ,EACda,aAAa,QAehB,UCxDA,MAAM,WAA2B,gBAAhD,c,oBAsBU,KAAAyC,eAAkBC,IACxB,MAAM,UAACC,EAAS,QAAE7U,GAAWG,KAAKC,MAC9BwU,IAAQC,GACV7U,EAAQ4U,IAxBL,SACL,MAAM,KAACE,EAAI,UAAED,GAAa1U,KAAKC,MAC/B,OACE,kBAAC,cAAW,CAAC2U,MAAO,cAAYC,cAC7BF,EAAK/O,IAAI6O,GACR,kBAAC,cAAYK,OAAM,CACjBrV,KAAK,kBACLiD,IAAK+R,EACLvT,GAAIuT,EACJM,UAAWN,EACX9R,MAAO8R,EACP3S,OAAQ4S,IAAcD,EACtB5U,QAASG,KAAKwU,gBAEbC,MCIb,MAAM,WAAwB,gBAC5B,SACE,MAAM,MAAC3H,EAAK,UAAE4H,EAAS,WAAEM,GAAchV,KAAKC,MAE5C,OACE,kBAAC,UAAO,CACN6P,WAAY,aAAWmF,QACvBrK,UAAW,gBAAcmF,OACzBC,OAAQ,gBAAckF,QAEtB,yBAAK5V,UAAU,SAASwN,GACxB,kBAAC,GAAkB,CACjB6H,KAAM3U,KAAKmV,WACXT,UAAWA,EACX7U,QAASmV,IAEVhV,KAAKoV,aAKZ,uBACE,MAAM,MAACtI,GAAS9M,KAAKC,MACrB,OAAQ6M,EAAMuI,eACZ,IAAK,OACH,MAAO,OACT,IAAK,QACH,MAAO,KACT,QACE,MAAO,MAIb,iBACE,MAAO,CAAC/F,GAAUgG,WAAYhG,GAAUiG,QAG1C,kBACE,MAAM,gBACJrG,EAAe,SACfgC,EAAQ,YACRsE,EAAW,cACXC,EAAa,QACb7G,EAAO,UACP8F,EAAS,MACT5H,GACE9M,KAAKC,MAET,OAAQyU,GACN,KAAKpF,GAAUgG,WACb,OACE,oCACE,kBAAC,aAAU,CAACvS,KAAM,gBAAc2S,OAC9B,kBAAC,aAAWC,KAAI,K,8BACc7I,EAAMuI,cAAe,IAChDrV,KAAK4V,iB,mCAAkD,IACvD5V,KAAK4V,iB,uCAKhB,KAAKtG,GAAUiG,OACb,OACE,kBAAC,GAAY,CAACjW,UAAU,oBACtB,kBAAC,GAAa2C,OAAM,CAAC6K,MAAM,WACzB,yBAAKxN,UAAU,6BACb,kBAAC,UAAO,CACNwQ,WAAY,aAAW5M,OACvB0H,UAAW,gBAAcC,IACzBmF,OAAQ,gBAAc0F,OAEtB,kBAAC,SAAM,CACLhW,KAAK,aACLqD,KAAM,gBAAcC,WACpB1D,UAAU,2BACVO,QAAS2V,IAEX,kBAAC,SAAM,CACL9V,KAAK,eACLqD,KAAM,gBAAcC,WACpB1D,UAAU,2BACVO,QAAS4V,OAKjB,kBAAC,GAAc,CACb7G,QAASA,EACTsC,SAAUA,EACVhC,gBAAiBA,OAQhB,U,mBChEf,IAAM,GAAN,cAAkC,gBAAlC,c,oBACS,KAAAnO,MAAQ,CACbyO,YAAa,GACbqG,YAAa,GACbC,aAAc,GACdC,cAAezG,GAAUiG,OACzBS,eAAgB1G,GAAUiG,QAsFpB,KAAAU,mBAAsBxB,IAC5BzU,KAAKoK,SAAS,CAAC2L,cAAetB,KAGxB,KAAAyB,oBAAuBzB,IAC7BzU,KAAKoK,SAAS,CAAC4L,eAAgBvB,KAGzB,KAAA0B,uBAA0BlH,IAChC,MAAM4G,EAAc7G,GAAaC,EAAYjP,KAAKe,MAAM8U,aAExD7V,KAAKoK,SAAS,CAACyL,iBAGT,KAAAO,wBAA2BnH,IACjC,MAAM6G,EAAe9G,GAAaC,EAAYjP,KAAKe,MAAM+U,cAEzD9V,KAAKoK,SAAS,CAAC0L,kBAGT,KAAAO,2BAA6B,KACnC,MAAMR,EAAc7V,KAAKC,MAAM2O,QAAQhJ,IAAIkJ,GAAKA,EAAErP,MAClDO,KAAKoK,SAAS,CAACyL,iBAGT,KAAAS,6BAA+B,KACrCtW,KAAKoK,SAAS,CAACyL,YAAa,MAGtB,KAAAU,4BAA8B,KACpC,MAAMT,EAAe9V,KAAKC,MAAM2O,QAAQhJ,IAAIkJ,GAAKA,EAAErP,MACnDO,KAAKoK,SAAS,CAAC0L,kBAGT,KAAAU,8BAAgC,KACtCxW,KAAKoK,SAAS,CAAC0L,aAAc,MAGvB,KAAAhK,WAAa,KACnB,MAAM,MAACzH,EAAK,sBAAEqL,GAAyB1P,KAAKC,OACtC,cAAC8V,EAAa,eAAEC,GAAkBhW,KAAKe,MAE7C,IAAI4O,EAAc,GAGhBA,EADEoG,IAAkBzG,GAAUiG,OAChB,IAAIvV,KAAKyW,uBAET,IAAIzW,KAAK0W,0BAIvB/G,EADEqG,IAAmB1G,GAAUiG,OACjB,IAAI5F,KAAgB3P,KAAK2W,wBAEzB,IAAIhH,KAAgB3P,KAAK4W,2BASzClH,EAN6B,CAC3BrL,QACAmL,YAAaxP,KAAKe,MAAMyO,YACxBG,gBAKF3P,KAAK4L,iBAyCC,KAAAgE,kBAAqBtF,IAC3B,MAAM,MAAC3H,GAAS2H,EAAEhH,OAElBtD,KAAKoK,SAAS,CAACoF,YAAa7M,KAGtB,KAAAiJ,cAAgB,KACtB5L,KAAKC,MAAM4L,WAnMb,SACE,MAAM,YACJ2D,EAAW,YACXqG,EAAW,aACXC,EAAY,cACZC,EAAa,eACbC,GACEhW,KAAKe,MAET,OACE,kBAAC,UAAQ6L,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAM,4BACNnF,UAAW3H,KAAK4L,gBAElB,kBAAC,UAAQoB,KAAI,KACX,kBAAC,OAAI,CAAC6C,SAAU7P,KAAK8L,YACnB,kBAAC,UAAO,CACNgE,WAAY,aAAW5M,OACvB0H,UAAW,gBAAcmF,OACzBC,OAAQ,gBAAcC,OAEtB,kBAAC,OAAKE,QAAO,CAAC1O,MAAM,eAClB,kBAAC,QAAK,CACJ6G,YAAY,0BACZ3F,MAAO6M,EACPzE,SAAU/K,KAAK4P,kBACftO,OAAO,wBAGX,kBAAC,OAAK6O,QAAO,CAAC1O,MAAM,IAClB,kBAACoV,GAAA,EAAY,CAACvL,UAAW,CAAC,eAAawL,UACrC,kBAAC,OAAKjM,IAAG,KACP,kBAAC,OAAKkF,OAAM,CAACgH,QAAS,UAAQC,OAAQC,QAAS,UAAQC,KACrD,kBAAC,GAAe,CACdhG,SAAUlR,KAAKmW,uBACfvH,QAAS5O,KAAKmX,iBACdjI,gBAAiB2G,EACjB/I,MAAM,OACN0I,YAAaxV,KAAKqW,2BAClBZ,cAAezV,KAAKsW,6BACpB5B,UAAWqB,EACXf,WAAYhV,KAAKiW,sBAGrB,kBAAC,OAAKlG,OAAM,CAACgH,QAAS,UAAQC,OAAQC,QAAS,UAAQC,KACrD,kBAAC,GAAe,CACdhG,SAAUlR,KAAKoW,wBACfxH,QAAS5O,KAAKmX,iBACdjI,gBAAiB4G,EACjBhJ,MAAM,QACN0I,YAAaxV,KAAKuW,4BAClBd,cAAezV,KAAKwW,8BACpB9B,UAAWsB,EACXhB,WAAYhV,KAAKkW,0BAM3B,kBAAC,OAAK7S,OAAM,KACV,kBAAC,SAAM,CACL3D,KAAK,SACLwC,KAAM,WAASkO,OACfvQ,QAASG,KAAK4L,cACdtK,OAAO,mBAGT,kBAAC,SAAM,CACL5B,KAAK,OACLwC,KAAM,WAASmO,UACf1Q,MAAO,iBAAeoH,QACtBpC,KAAM,aAAW2L,OACjBhP,OAAO,sBA6EvB,6BACE,MAAM,QAACsN,GAAW5O,KAAKC,MAEjB6V,EAAe9V,KAAKe,MAAM+U,aAAalQ,IAAIqJ,GACxCL,EAAQO,KAAKL,GAAKA,EAAErP,OAASwP,IAGtC,OAAON,GAA2BmH,EAAc,SAGlD,4BACE,MAAM,QAAClH,GAAW5O,KAAKC,MAEjB4V,EAAc7V,KAAKe,MAAM8U,YAAYjQ,IAAIqJ,GACtCL,EAAQO,KAAKL,GAAKA,EAAErP,OAASwP,IAGtC,OAAON,GAA2BkH,EAAa,QAGjD,+BACE,MAAM,MAACxR,GAASrE,KAAKC,MAErB,OAAO8O,GAAsB1K,EAAO,QAGtC,gCACE,MAAM,MAACA,GAASrE,KAAKC,MAErB,OAAO8O,GAAsB1K,EAAO,SAGtC,uBACE,MAAM,QAACuK,GAAW5O,KAAKC,MAEvB,OAAO2O,EAAQS,OAAO+H,IAAW,aAAeA,EAAO3X,SAlMrD,GAAmB,aADxB,KACK,IAgNN,MAOM,GAAO,CACXiQ,sBAAuB,MAKV,OAFG,YAXJ3O,IACL,CACLsD,MAAO,YAAOtD,GAAOG,GACrB0N,QAAS,aAAe7N,EAAO,eAAa+V,WAQhB,GAEjB,CAAU,I,oBCzQzB,IAAa,GAAb,cAAoC,gBAC3B,oBACL,MAKM5V,EALQ,YAAkBlB,KAAKC,MAAMZ,QAAQe,SAAS2B,SAAU,CACpErB,KAAM,4CACNyD,OAAO,EACPC,QAAQ,IAEOE,OAAOpD,GACxBlB,KAAKC,MAAMoX,sBAAsBnW,GAG5B,SACL,OAAO,oCAAGlB,KAAKsX,aAGjB,kBACE,MAAM,eAACC,GAAkBvX,KAAKC,MAC9B,OAAO,kBAAC,KAAM,CAACuX,OAAQD,EAAgBE,UAAQ,MAjBtC,GAAc,aAD1B,KACY,IAqBb,MAKM,GAAO,CACXJ,sBAAA,MAKa,OAFG,YATL,EAAE/L,gBAAyB,CACtCiM,eAAgBjM,EAAUoM,UAAUC,cAAc9R,KAClDsH,OAAQ7B,EAAUoM,UAAUC,cAAcxK,SAOZ,GAEjB,CAAU,YAAW,KCpD7B,MAOMyK,GAAmB,CAC9BlY,EACAmY,EACAC,EACAC,EAAmB,gBAEnB,MAAMC,EAb0B,EAACH,EAAkBC,IAC5C,GAAGD,EACPI,OACA5C,cACA6C,QAAQ,MAAO,OAAOJ,IASHK,CAAmBN,EAAUC,GAE7CM,EAAO,IAAIC,KAAK,CAAC3Y,GAAO,CAACiF,KAAMoT,IAC/BO,EAAIC,SAASC,cAAc,KAEjCF,EAAE3W,KAAO8W,OAAOC,IAAIC,gBAAgBP,GACpCE,EAAEhV,OAAS,SACXgV,EAAEM,SAAWZ,EAEbO,SAASM,KAAKC,YAAYR,GAC1BA,EAAES,QACFT,EAAEU,WAAWC,YAAYX,ICe3B,IAAM,GAAN,cAAoC,gBAApC,c,oBA2CU,KAAA1M,cAAgB,KACtB5L,KAAKC,MAAM4L,WAGL,KAAAqN,qBAAuB,KAC7B,MAAM,eACJ3B,EACA4B,UAAU,KAAC1Z,IACTO,KAAKC,MACT2X,GAAiBL,EAAgB9X,GAAQ,WAAY,UAnDhD,SACL,OAAO,oCAAGO,KAAKoZ,SAGjB,cACE,MAAM,SAACD,EAAQ,OAAEhM,GAAUnN,KAAKC,MAEhC,OACE,kBAAC,UAAQ2M,UAAS,CAACC,SAAU,MAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAO,4BAA4B,IAAEuM,IAAIF,EAAU,OAAQ,MAC3DxR,UAAW3H,KAAK4L,gBAElB,kBAAC,UAAQoB,KAAI,KACX,kBAAC,mBAAgB,CACfC,QAASE,EACTD,iBAAkB,kBAAC,gBAAa,OAEhC,yBAAK5N,UAAU,kBACb,kBAAC,GAAc,SAIrB,kBAAC,UAAQ+D,OAAM,KACb,kBAAC,SAAM,CACL1D,MAAO,iBAAe2C,UACtB5C,KAAK,kBACLG,QAASG,KAAKkZ,qBACd/L,OAAQnN,KAAKsZ,iBAMvB,mBACE,MAAM,aAACC,GAAgBvZ,KAAKC,MAC5B,OAAIsZ,IAAiB,kBAAgB5M,KAC5B,kBAAgBU,QAElB,kBAAgBgE,WAxCrB,GAAqB,aAD1B,KACK,IAqES,mBAbDtQ,IACZ,MAAM,SAAC+M,EAAQ,UAAExC,GAAavK,GACxB,OAACoM,EAAM,cAAEwK,GAAiBrM,EAAUoM,WACpC,GAACxW,GAAM4M,EAASxJ,OAEtB,MAAO,CACL6U,SAAU,aAAkBpY,EAAO,eAAayY,UAAWtY,GAC3DiM,SACAoK,eAAgBI,EAAc9R,KAC9B0T,aAAc5B,EAAcxK,SAIjB,CAA0B,I,UCtFzC,SAASsM,GAAUC,EAAUC,GAU3B,OATe,IAAIC,SACjB,OACA,cACEC,KAAKC,UAAUJ,GAAUxB,QACvB,cACA,2BAEF,kBAEG6B,CAAOJ,GAIhB,IAAM,GAAN,cAAmC,gBAC1B,YAIL,OAAOF,GAHMzZ,KAAKC,MAAMyZ,SACXM,OAAOC,OAAO,GAAIja,KAAKC,MAAMia,SAAUla,KAAKC,MAAMka,SAKjE,SACE,MAAM,MAAC1Y,EAAK,OAAEH,GAAUtB,KAAKC,MACvBA,EAAQ,CACZwB,QACAH,SACA8Y,SAAUpa,KAAKyZ,aAGjB,OAAO,kBAACY,GAAA,EAAW,iBAAKpa,MAKb,OArBT,GAAoB,aADzB,KACK,I,UCFN,MAAMqa,GAAkB,mgBAkBlBC,GAAkB,CACtBC,OAAQ,wBACRC,MAAO,gBACPzZ,IAAK,QACLoW,OAAQ,YAIV,IAAM,GAAN,cAAoC,gBAApC,c,oBACE,KAAArW,MAAQ,CACN2Z,eAAgB,MAmFV,KAAA9O,cAAgB,KACtB5L,KAAKC,MAAM4L,WAGL,KAAA8O,mBAAqBvD,IAC3BpX,KAAKoK,SAAS,CACZsQ,eAAgBtD,KAIZ,KAAA8B,qBAAuB,KAC7B,MAAM,OAACsB,EAAM,IAAExZ,GAAOhB,KAAKC,MACrBmX,EAASpX,KAAK4a,cACdC,EAASpB,GACba,GACAN,OAAOC,OAAO,GAAIM,GAAiB,CACjCC,SACAxZ,MACAoW,OAAQA,EAASA,EAAO3X,KAAO8a,GAAgBnD,UAGnDQ,GAAiBiD,EAAQ,sBAAuB,UArG3C,SACL,OAAO,oCAAG7a,KAAKoZ,SAGjB,cACE,MAAM,QAACxK,GAAW5O,KAAKC,MACvB,OAAQ2O,GAAW,IAChBS,OAAOxJ,GAAsB,WAAdA,EAAKlB,MACpB8N,KAAK,CAAC6F,EAAGxJ,KACR,MAAMgM,EAAKxC,EAAE7Y,KAAK4V,cACZ0F,EAAKjM,EAAErP,KAAK4V,cAClB,OAAOyF,EAAKC,EAAK,EAAID,EAAKC,GAAM,EAAI,IAI1C,oBACE,MAAMC,EAAWhb,KAAK4O,SAChB,eAAC8L,GAAkB1a,KAAKe,MAE9B,OAAIia,EAASxa,OACJka,GAAkCM,EAAS,GAG7C,KAGT,cACE,MAAM,OAACR,EAAM,IAAExZ,EAAG,MAAEqD,GAASrE,KAAKC,MAC5B+a,EAAWhb,KAAK4O,QAChBwI,EAASpX,KAAK4a,cACpB,IAAIK,EAAY,KAYhB,OAVID,EAASxa,SACXya,EACE,kBAAC,KAAc,CACbC,iBAAkBlb,KAAK4a,cAAc1Z,GACrC0N,QAASoM,EACTG,eAAgBnb,KAAK2a,sBAMzB,kBAAC,UAAQ/N,UAAS,CAACC,SAAU,MAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAM,gCACNnF,UAAW3H,KAAK4L,gBAElB,kBAAC,UAAQoB,KAAI,KACX,uBAAGrG,MAAO,CAACyU,UAAW,U,4CAEpB,kBAAC,IAAI,CAACxZ,GAAI,SAASyC,sBAAwB,e,KAG5C4W,EACD,yBAAK3b,UAAU,kBACb,kBAAC,GAAoB,CACnBoa,SAAUY,GACV7Y,MAAM,gBACNH,OAAO,wCACP6Y,OAAQ,CACNK,SACAxZ,MACAoW,OAAQA,EAASA,EAAO3X,KAAO8a,GAAgBnD,QAEjD8C,SAAUK,OAIhB,kBAAC,UAAQlX,OAAM,KACb,kBAAC,SAAM,CACL1D,MAAO,iBAAe2C,UACtB5C,KAAK,kBACLG,QAASG,KAAKkZ,2BA9EpB,GAAqB,aAD1B,KACK,IA4HS,mBAdDnY,IACZ,MAAM,KAACtB,EAAI,GAAEyB,GAAM,YAAOH,GAI1B,MAAO,CACLC,IAAKvB,EACL4E,MAAOnD,EACPsZ,OANa/B,OAAOrY,SAASib,OAO7BzM,QANc,aAAe7N,EAAO,eAAa+V,WAWtC,CAA0B,ICtI1B,mBAjCoB,EACjCwE,UACAtJ,WACArK,YACAtD,QACAhF,cAEA,MAAMkc,EAAuB,IAAW,qBAAsB,CAC5D,+BAAgCvJ,IAG5BwJ,EAAkBxJ,EAAW,WAAS3B,UAAY,WAASoL,WAO3DC,EAAsB1J,EAAW,uCAAmB,KAE1D,OACE,wBAAI1S,UAAWic,EAAsB1b,QARnB,KAClB8H,IACAtI,EAAQS,KAAK,SAASuE,OAOpB,yBAAK/E,UAAU,6BACb,kBAAC,OAAI,CAAC6C,MAAOqZ,EAAiBlc,UAAU,6BAE1C,0BAAMA,UAAU,4BACbgc,EACAI,MCuBM,mBAVD3a,IAIZ,MAAO,CACL4a,KAJW,aAAqB5a,EAAO,eAAa6a,MAKpDC,WAJiB,YAAO9a,KAU1B,KAFa,CAxCuB,EAAE4a,OAAM9P,UAASgQ,gBAEnD,kBAAC,UAAQjP,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAM,uBACNnF,UAAWkE,EACXvK,OAAO,2BAET,kBAAC,UAAQ0L,KAAI,KACX,uBAAG1N,UAAU,wBAAsB,0BACnC,kBAAC,GAAU,CAAC4S,KAAMyJ,EAAMxJ,QAAQ,OAAOvH,UAAW,OAAKkR,WACpDC,GACC,yBAAKzc,UAAU,sBACZyc,EAAWnW,IAAI5E,GACd,kBAAC,GAAe,CACd0B,IAAK1B,EAAIE,GACTmD,MAAOrD,EAAIE,GACXoa,QAASta,EAAIvB,KACbuS,SAAUhR,EAAIE,KAAO2a,EAAW3a,GAChCyG,UAAWkE,U,6BCzB7B,MAmDMmQ,GAAaC,GACbA,EACK,kBAAgB5K,SAGlB,kBAAgBhE,QAGV,OA3DoC,EACjD6O,mBACAC,mBACAC,YACAH,YAAW,MAEX,IAAII,EAAoBD,EACpBpK,EAA2BoK,EAAUjN,KACvCmN,GACEJ,IAAqBI,EAAEjV,UACvB,aAAkB6U,EAAkBI,EAAEjV,WAQ1C,OALK2K,IAEHqK,EAAoB,CADpBrK,EAAW,CAAC3K,SAAU6U,EAAkBK,YAAaL,MACnBG,IAIlC,kBAAC,WAAQ,CACP/a,OAAO,oBACPkG,OAAQ,CAAC1F,EAAQjC,IACf,kBAAC,WAASuR,OAAM,CACd9P,OAAO,4BACPQ,OAAQA,EACRjC,QAASA,EACTsN,OAAQ6O,GAAUC,IAEjBjK,EAASuK,aAGd1X,KAAM2X,GACJ,kBAAC,WAAS1L,KAAI,CAAC0L,WAAYA,EAAYlb,OAAO,2BAC3C+a,EAAkBzW,IAAI,EAAEyB,WAAUkV,iBACjC,kBAAC,WAASxW,KAAI,CACZ7E,GAAImG,EACJ3E,IAAK2E,EACL1E,MAAO0E,EACP/F,OAAQ,sBAAsB+F,IAC9B2K,SAAU3K,IAAa6U,EACvBrc,QAASsc,GAERI,Q,mBC7CR,MACME,GAA2B,aADT,QAGlBC,GAAqC,CAChD,CAACrV,SAAU,KAAMkV,YAAa,UAC9B,CAAClV,SAAU,KAAMkV,YAAa,WAC9B,CAAClV,SAAU,MAAOkV,YAAa,YAC/B,CAAClV,SAAU,MAAOkV,YAAa,YAC/B,CAAClV,SAAU,MAAOkV,YAAa,YAC/B,CAAClV,SAAU,MAAOkV,YAAa,YAC/B,CAAClV,SAAU,KAAMkV,YAAa,UAC9B,CAAClV,SAAU,MAAOkV,YAAa,WAC/B,CAAClV,SAAU,MAAOkV,YAAa,WAC/B,CAAClV,SAAU,MAAOkV,YAAa,WAC/B,CAAClV,SAAU,KAAMkV,YAAa,WAgBhC,MAAM,WAAkB,gBAAxB,c,oBA2DU,KAAAI,iBAAoBhY,IAC1B3E,KAAKC,MAAM2c,iBAAiBjY,IAGtB,KAAAkY,qBAAwBC,IAC9B,MAAMC,EACJ,aAAuB,aAAcD,IAAgB,IAEvD9c,KAAKC,MAAM+c,sBAAsBD,IAlE5B,SACL,MAAM,iBAACE,EAAgB,oBAAEC,EAAmB,KAAEvY,GAAQ3E,KAAKC,MAE3D,OACE,oCACE,kBAAC,cAAW,CACV2U,MAAO,cAAYC,aACnBvV,UAAU,oBAEV,kBAAC,cAAYwV,OAAM,CACjBrV,KAAK,mBACLyB,GAAG,QACHI,OAAO,0BACPQ,OAAiB,OAAT6C,EACR9E,QAASG,KAAK2c,iBACdha,MAAO,KACPoS,UAAU,oBACVkH,WAAYiB,GAAmB,SAIjC,kBAAC,cAAYpI,OAAM,CACjBrV,KAAK,mBACLyB,GAAG,YACHY,OAAiB,WAAT6C,EACR9E,QAASG,KAAK2c,iBACdha,MAAM,SACNrB,OAAO,8BACPyT,UAAU,qCAAmC,eAKvC,WAATpQ,GACC,kBAAC,GAAgB,CACfuX,iBAAkB,GAAGe,KACrBd,iBAAkBnc,KAAK6c,qBACvBT,UAAWpc,KAAKoc,aAO1B,gBACE,MAAM,oBAACc,GAAuBld,KAAKC,MAEnC,OAAKid,EAIER,GAAiBrN,OACtB,EAAEhI,cACA,aAAuB,aAAcA,KACf,IAAtB6V,GANKR,IA0BE,mBAJD3b,IAAoB,CAChCmc,oBAAqB,aAAiCnc,EAAMsB,MAAM8a,UAGrD,CAAwC,ICzFxC,MAAM,WAA0B,gBAA/C,c,oBAqFU,KAAAC,qBAAwB3d,GAC1B,aAAeA,GACV,4CAGJA,EAIE,KAHE,2BA1FJ,SACL,MAAM,KACJA,EAAI,SACJoQ,EAAQ,SACRwN,EAAQ,WACRC,EAAU,iBACVL,EAAgB,gBAChBM,EAAe,QACf1R,EAAO,cACP2R,EAAa,iBACbZ,EAAgB,sBAChBI,EAAqB,cACrBS,GACEzd,KAAKC,MAEHyd,EAAkBH,GAAmB,kBAAgBlM,SAE3D,OACE,kBAAC,OAAI,CAACxB,SAAUA,EAAUvO,OAAO,eAC/B,kBAAC,OAAI,KACH,kBAAC,OAAKuJ,IAAG,KACP,kBAAC,OAAKkF,OAAM,KACV,kBAAC,OAAK4N,kBAAiB,CACrBhb,MAAOlD,EACPgC,MAAM,OACNmc,SAAU5d,KAAK6d,aACfC,eAAgB9d,KAAKod,qBACrBW,UAAU,GAET5Q,GACC,kBAAC,QAAK,CACJA,OAAQuQ,GAAmBvQ,EAC3B7E,YAAY,0BACZ7I,KAAK,OACLue,WAAW,EACXrb,MAAOlD,EACPsL,SAAUyS,EACVlc,OAAO,sBAIb,kBAAC,OAAK6O,QAAO,CACX1O,MAAM,cACNwc,aAAcje,KAAKke,kBAEnB,kBAAC,GAAS,CACRvZ,KAAM0Y,EACNJ,iBAAkBA,EAClBL,iBAAkBA,EAClBI,sBAAuBA,OAK/B,kBAAC,OAAKnS,IAAG,KACP,kBAAC,OAAKkF,OAAM,KACV,kBAAC,OAAK1M,OAAM,KACV,kBAAC,SAAM,CACL3D,KAAK,SACLG,QAASgM,EACTlH,KAAM,aAAWyM,SAEH,iBAAfkM,GACC,kBAAC,SAAM,CACL5d,KAAK,SACLC,MAAO,iBAAewe,OACtBte,QAAS4d,IAGb,kBAAC,SAAM,CACL/d,KAAM4d,EACNhc,OAAO,qBACP3B,MAAOK,KAAKoe,kBACZjR,OAAQnN,KAAKqe,mBACb1Z,KAAM,aAAW2L,cAsBjC,mBACE,OAAItQ,KAAKC,MAAMsd,gBACN,+CAGF,GAGT,wBACE,MAAM,WAACD,GAActd,KAAKC,MAE1B,MAAmB,iBAAfqd,EACK,iBAAevW,QAGjB,iBAAenH,QAGxB,yBACE,MAAM,KAACH,GAAQO,KAAKC,MAGpB,OAFsBD,KAAKod,qBAAqB3d,IAE3BO,KAAKse,oBACjB,kBAAgBjN,SAGlB,kBAAgBhE,QAGzB,0BACE,MAAM,iBAAC4P,EAAgB,SAAEI,GAAYrd,KAAKC,MAE1C,MAAoB,WAAbod,GAAyBJ,EAAmB,KAGrD,uBACE,GAAIjd,KAAKse,oBAAqB,CAK5B,MAAO,qCAJe,KACnBjX,SAAS,KAAuB,WAChCkX,aAKL,MAAO,I,cC/IJ,MAAMC,GAAiC,CAC5C,CAAC7Z,KAAM,SAAsB8Z,aFfA,SEkBlBC,GAAqB,CAChCC,EACAta,KACG,CACH5E,KAAM,GACNmf,eAAgBD,EAA2BH,GAAgB,GAC3DnB,SAAUsB,EAA4B,SAAwB,KAC9DE,kBAAmBF,EACflC,GACA,UACJpY,QACAM,KAAM,SAGKma,GAAsB,CAAC/d,EAAqBqN,KACvD,OAAQA,EAAOzJ,MACb,IAAK,aACH,OAAO,OAAP,wBAAW5D,GAAK,CAAEtB,KAAM2O,EAAOlD,UACjC,IAAK,iBACH,OAAO,OAAP,wBAAWnK,GAAK,CAAEsc,SAAUjP,EAAOlD,UACrC,IAAK,uBACH,OAAO,OAAP,wBAAWnK,GAAK,CAAE6d,eAAgBxQ,EAAOlD,UAC3C,IAAK,0BACH,OAAO,OAAP,wBAAWnK,GAAK,CAAE8d,kBAAmBzQ,EAAOlD,YCwD5C,GAAO,CACX6T,aAAA,MAKa,OAFG,YAhBJhe,IAMZ,MAAO,CACLC,IANU,YAAOD,GAOjB4d,2BANiC,aACjC5d,EAAMsB,MAAM8a,UAagB,GAEjB,CAxFwB,EACrCnc,MACA2d,2BACAI,eACAlT,cAEA,MAAO9K,EAAO0C,GAAY,qBACxBqb,GACAJ,GAAmBC,EAA0B3d,EAAIE,KAG7C8d,EAAgBje,EAAM6d,eAAezP,KAAK+E,GAAgB,WAAXA,EAAEvP,MACjDsY,EAAmB+B,EAAgBA,EAAcP,aAAe,KAqCtE,OACE,kBAAC,UAAQ7R,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CAAC6K,MAAM,gBAAgBnF,UAAWkE,IACjD,kBAAC,UAAQmB,KAAI,KACX,kBAAC,GAAiB,CAChBvN,KAAMsB,EAAMtB,KACZ6d,WAAW,SACXC,iBAAiB,EACjBF,SAAUtc,EAAMsc,SAChBxR,QAASA,EACTgE,SAzBcvF,IACpBA,EAAE2U,iBAEFF,EAAahe,GACb8K,KAsBM2R,cAnBmBlT,IACzB,MAAM3H,EAAQ2H,EAAEhH,OAAOX,MAED,SAAlB2H,EAAEhH,OAAO7D,MACXgE,EAAS,CAACkB,KAAM,aAAcuG,QAASvI,KAgBnCsa,iBAAkBA,EAClBL,iBAhDsBS,IAE1B5Z,EADe,WAAb4Z,EACO,CAAC1Y,KAAM,uBAAwBuG,QAASsT,IAExC,CAAC7Z,KAAM,uBAAwBuG,QAAS,KAEnDzH,EAAS,CAACkB,KAAM,iBAAkBuG,QAASmS,KA2CrCL,sBAxC2ByB,IAQjChb,EAAS,CAACkB,KAAM,uBAAwBuG,QAPjB,CACrB,CACEvG,KAAM,SACN8Z,0BCiBO,mBAfD1d,IACZ,MAAMwB,EAAW,cAAIxB,EAAO,6BAA8B,IACpDyB,EAA2B,eAC/BD,EACCE,GAAwBA,EAAQC,MAAQ,KAE3C,OACGF,GACDA,EAAyBG,QAAU,IAA8BA,MAI5D,CAACC,QAAQ,GAFP,CAACA,QAAQ,IAKL,CA1CuC,EACpDA,SACAG,OAAO,gBAAc2S,MACrBpW,YACAge,aAAa,kBAEb,MAAM4B,EAA0B,IAAW,uBAAwB,CACjE,CAAC,GAAG5f,KAAcA,IAGpB,OACE,kBAACiC,EAAS,KACPqB,GACC,kBAAC,aAAU,CACTtD,UAAW4f,EACXvf,MAAO,iBAAeoH,QACtBhE,KAAMA,EACN6R,MAAO,cAAYvH,QACnB1L,KAAM,GAAG,MAAY,MACrB2B,OAAO,QACP5D,KAAM4d,OCeD,mBANDvc,IACL,CACLoe,UAAW,cAAIpe,EAAO,wBAAyB,MAIpC,CA3CsC,EAAEoe,YAAWtT,aAE9D,kBAAC,mBAAgB,CACfgB,SAAU,IACVvL,OAAO,sBACPhC,UAAU,uBAEV,kBAAC,cAAW,CACV8f,eAAgB,YAAUC,YAC1BC,YAAa,eAAaC,OAE1B,yBAAKjgB,UAAU,iCACb,kBAAC,UAAQ2C,OAAM,CACb6K,MAAO,aAAaqS,KACpBK,UAAU,EACV7X,UAAWkE,IAEb,kBAAC,UAAQmB,KAAI,KACX,yBAAK1N,UAAU,0CACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,2CAGnB,2B,uCACuC6f,E,kEACUA,E,MAGnD,kBAAC,UAAQ9b,OAAM,KACb,kBAAC,GAAkB,CAACN,KAAM,gBAAckN,aChCpD,MAwDM,GAAO,CACXwP,4BAA6B,KAIhB,OADG,YAdJ1e,IAIZ,MAAO,CACL2e,UAJS3e,EAAM+M,SAAS5M,GAKxB2K,QAJc9K,EAAM+M,SAASjC,UAYD,GACjB,CA7DsD5L,IACnE,IAAI0f,EAAgB,qCAChBC,GAAa,EAEjB,MAAM,UAACF,EAAS,QAAE7T,EAAO,4BAAE4T,GAA+Bxf,EAEpD4f,EAAS,KACbJ,IACI5T,GACFA,KAIJ,OAAQ6T,GACN,IAAK,WACL,IAAK,YACHC,EAAgB,kBAAC,GAAiB,CAAC9T,QAASgU,IAC5C,MACF,IAAK,mBACHF,EAAgB,kBAAC,GAAqB,CAAC9T,QAASgU,IAChD,MACF,IAAK,YACHF,EAAgB,kBAAC,GAAmB,CAAC9T,QAASgU,IAC9C,MACF,IAAK,kBACHF,EAAgB,kBAAC,GAAqB,CAAC9T,QAASgU,IAChD,MACF,IAAK,kBACHF,EAAgB,kBAAC,GAAqB,CAAC9T,QAASgU,IAChD,MACF,IAAK,uBACHF,EAAgB,kBAAC,GAAkB,CAAC9T,QAASgU,IAC7C,MACF,IAAK,gBACHF,EAAgB,kBAAC,GAAmB,CAAC9T,QAASgU,IAC9C,MACF,IAAK,cACHF,EAAgB,kBAAC,GAAiB,CAAC9T,QAASgU,IAC5C,MACF,QACED,GAAa,EAGjB,OAAO,kBAAC,UAAO,CAACE,QAASF,GAAaD,KChExC,MAAMI,GAAe,CACnB,CAAC/d,KAAM,uCAAwC8K,MAAO,oBACtD,CAAC9K,KAAM,mCAAoC8K,MAAO,sBAClD,CACE9K,KACE,gFACF8K,MAAO,sBAET,CACE9K,KACE,2EACF8K,MAAO,oBAII,MAAM,WAAqB,gBACjC,SACL,OACE,wBAAIxN,UAAU,gBACXygB,GAAana,IAAI,EAAE5D,OAAM8K,WACxB,wBAAIpK,IAAKoK,GACP,uBAAGnL,KAAMK,EAAMsB,OAAO,UACnBwJ,OCNA,OAZW,IACxB,oCACE,kBAAC,IAAI,CAAClL,GAAG,WACP,kBAAC,SAAM,CACLlC,KAAK,SACLqD,KAAM,gBAAcC,WACpB1B,OAAO,qBCLf,MA2JM0e,GAAW,CAAC1H,EAAcxJ,KAC9B,MAAMmR,EAAiB,GAAG3H,EAAE7Y,MAAQ,KAAK4V,cACnC6K,EAAkB,GAAGpR,EAAErP,MAAQ,KAAK4V,cAC1C,OAAO4K,EAAeE,cAAcD,ICzDvB,mBAZDnf,IAMZ,MAAO,CACLqf,WDiEmC,CAACA,GAC/BA,EAAW3N,KAAKuN,ICvEJK,CACjB,aAAkBtf,EAAO,eAAamE,aAKtClE,IAAK,YAAOD,KAID,CA9EkB,EAAEqf,aAAYpf,UAC7C,MAAO4R,EAAY0N,GAAiB,mBAAiB,IAMrD,IAAIC,EACF,kBAAC,aAAU,CAACxd,KAAM,gBAAcC,YAC9B,kBAAC,aAAW2S,KAAI,uCAIpB,GAAIyK,GAAcA,EAAW5f,OAAQ,CACnC,IAAIggB,EAA6B,iBAAOJ,EAAY,CAClD,mBACCK,UAEC7N,EAAWpS,SACbggB,EAA6BA,EAA2BnR,OACtD9B,GACEA,EAAU9N,KAAK4V,cAAc1U,SAASiS,EAAWyC,iBAIvDkL,EACE,kBAAC,mBAAgB,CAACG,gBAAgB,EAAM/Z,MAAO,CAACgK,UAAW,UACzD,yBAAKrR,UAAU,qBACZkhB,EAA2B5a,IAAI,EAAE1E,KAAIzB,UACpC,kBAAC,IAAI,CACHiD,IAAKxB,EACLU,GAAI,SAASZ,EAAIE,iBAAiBA,IAClC5B,UAAU,2BAETG,MAOPmT,IAAe4N,EAA2BhgB,SAC5C+f,EACE,kBAAC,aAAU,CAACxd,KAAM,gBAAcC,YAC9B,kBAAC,aAAW2S,KAAI,K,uBACM,2BAAI/C,MAOlC,OACE,oCACE,kBAAC,QAAK,CACJtT,UAAU,4BACVqD,MAAOiQ,EACP1Q,KAAM,WAASye,OACfrY,YAAY,uBACZyC,SAxDqBT,IACzBgW,EAAchW,EAAEhH,OAAOX,UAyDpB4d,KClFP,MAAM,WAAoB,gBACjB,SACL,OACE,yBAAKjhB,UAAU,eAAeqH,MAAO3G,KAAK2G,OACxC,2B,WACW,I,IAAU,KAAW,8B,IAAQ,IAAQpG,MAAM,EAAG,G,OAM/D,YACE,GAAIP,KAAKC,MAAMwR,YACb,MAAO,CAACjS,MAAO,GAAGQ,KAAKC,MAAMwR,kBAKpB,UCJf,MAAM,WAAsB,gBACnB,SACL,OACE,kBAAC,UAAO,CACN7G,UAAW,gBAAcmF,OACzBD,WAAY,aAAWmF,QACvB2L,mBAAmB,EACnB5Q,OAAQ,gBAAc0F,OAEtB,kBAAC,QAAK,KACJ,kBAAC,QAAMzT,OAAM,KACX,uCACA,kBAAC,GAAY,QAGjB,kBAAC,QAAK,KACJ,kBAAC,QAAMA,OAAM,KACX,kDAEF,kBAAC,QAAM+K,KAAI,KACT,kBAAC6J,GAAA,EAAY,CAACvL,UAAW,CAAC,eAAapG,aACrC,kBAAC2b,GAAc,SAIrB,kBAAC,QAAK,KACJ,kBAAC,QAAM5e,OAAM,KACX,6CAEF,kBAAC,QAAM+K,KAAI,KACT,kBAAC,GAAO,OAEV,kBAAC,QAAM3J,OAAM,KACX,kBAAC,GAAW,UAQT,UC3Df,MAAM,GAAe,CACnB,CACErB,KAAM,8DACN8K,MAAO,yBAET,CACE9K,KAAM,sEACN8K,MAAO,mBAET,CACE9K,KAAM,iEACN8K,MAAO,qBAET,CACE9K,KAAM,iEACN8K,MAAO,iBAII,MAAM,WAAqB,gBACjC,SACL,OACE,kBAAC,QAAK,KACJ,kBAAC,QAAM7K,OAAM,KACX,gEAEF,kBAAC,QAAM+K,KAAI,KACT,wBAAI1N,UAAU,kBACX,GAAasG,IAAI,EAAE5D,OAAM8K,WACxB,wBAAIpK,IAAKoK,GACP,uBAAGnL,KAAMK,EAAMsB,OAAO,UACnBwJ,SCkIJ,OA/JoC,EAAEgU,cACnD,MAAMxhB,EAAY,IAAW,2CAA4C,CACvE,oCAAqCwhB,IAEvC,OACE,yBAAKxhB,UAAWA,GACd,yBACEyhB,QAAQ,MACRzS,EAAE,MACF0S,EAAE,MACFxhB,MAAM,QACNyhB,OAAO,QACPC,QAAQ,eAER,uBAAGhgB,GAAG,UACJ,0BACEA,GAAG,KACH5B,UAAU,wBACVgd,EAAE,oJAGJ,0BACEpb,GAAG,iBACH5B,UAAU,4BACVgd,EAAE,yIAGJ,6BACEpb,GAAG,aACH5B,UAAU,iCACV6hB,GAAG,QACHC,GAAG,QACHC,GAAG,OACHC,GAAG,SAGP,uBAAGpgB,GAAG,UACJ,0BACE5B,UAAU,wBACVgd,EAAE,qGAEJ,0BACEhd,UAAU,wBACVgd,EAAE,oGAEJ,0BACEhd,UAAU,wBACVgd,EAAE,iGAEJ,0BACEhd,UAAU,wBACVgd,EAAE,qGAEJ,0BACEhd,UAAU,wBACVgd,EAAE,mGAGN,uBAAGpb,GAAG,SACJ,0BACEA,GAAG,QACH5B,UAAU,iCACVgd,EAAE,2CAEJ,0BACEpb,GAAG,QACH5B,UAAU,iCACVgd,EAAE,+DAEJ,0BACEpb,GAAG,QACH5B,UAAU,iCACViiB,GAAG,MACHC,GAAG,OACHC,GAAG,MACHC,GAAG,UAEL,0BACExgB,GAAG,QACH5B,UAAU,iCACVgd,EAAE,8DAEJ,0BACEpb,GAAG,QACH5B,UAAU,iCACVgd,EAAE,2CAGN,uBAAGpb,GAAG,QACJ,4BACEA,GAAG,OACH5B,UAAU,+BACV6hB,GAAG,QACHC,GAAG,OACHlN,EAAE,MAEJ,4BACEhT,GAAG,OACH5B,UAAU,+BACV6hB,GAAG,QACHC,GAAG,OACHlN,EAAE,MAEJ,4BACEhT,GAAG,OACH5B,UAAU,+BACV6hB,GAAG,MACHC,GAAG,OACHlN,EAAE,MAEJ,4BACEhT,GAAG,OACH5B,UAAU,+BACV6hB,GAAG,QACHC,GAAG,OACHlN,EAAE,MAEJ,4BACEhT,GAAG,OACH5B,UAAU,+BACV6hB,GAAG,OACHC,GAAG,OACHlN,EAAE,OAGN,0BACEhT,GAAG,aACH5B,UAAU,4BACVgd,EAAE,qPAIJ,uBAAGpb,GAAG,OAAO5B,UAAU,2BACrB,6BACEA,UAAU,+BACVqiB,OAAO,iFAET,6BACEriB,UAAU,+BACVqiB,OAAO,6CAET,8BACEriB,UAAU,+BACVqiB,OAAO,6CAET,8BACEriB,UAAU,+BACVqiB,OAAO,6CAET,8BACEriB,UAAU,+BACVqiB,OAAO,iDCgOJ,OAvXuC,EAAEb,cACtD,MAAMxhB,EAAY,IAAW,8CAA+C,CAC1E,oCAAqCwhB,IAEvC,OACE,yBAAKxhB,UAAWA,GACd,yBACEyhB,QAAQ,MACRzS,EAAE,MACF0S,EAAE,MACFxhB,MAAM,QACNyhB,OAAO,QACPC,QAAQ,eAER,2BACE,0BACEhgB,GAAG,aACH5B,UAAU,2BACVgd,EAAE,iHAGJ,uBAAGpb,GAAG,SACJ,0BACE5B,UAAU,6BACVgd,EAAE,iGAEJ,0BACEhd,UAAU,6BACVgd,EAAE,gKAGJ,0BACEhd,UAAU,6BACVgd,EAAE,gJAGJ,0BACEhd,UAAU,6BACVgd,EAAE,6GAEJ,0BACEhd,UAAU,6BACVgd,EAAE,+JAGJ,0BACEhd,UAAU,6BACVgd,EAAE,+MAGJ,0BACEhd,UAAU,6BACVgd,EAAE,kJAGJ,0BACEhd,UAAU,6BACVgd,EAAE,mGAEJ,0BACEpb,GAAG,OACH5B,UAAU,6BACVgd,EAAE,uHAIN,uBAAGpb,GAAG,oBACJ,0BACE5B,UAAU,kDACVgd,EAAE,sGAEJ,0BACEhd,UAAU,kDACVgd,EAAE,6eAMJ,0BACEhd,UAAU,kDACVgd,EAAE,oeAKJ,0BACEhd,UAAU,kDACVgd,EAAE,4QAKN,uBAAGpb,GAAG,gBACJ,8BACE5B,UAAU,oCACVqiB,OAAO,kHAGT,8BACEriB,UAAU,oCACVqiB,OAAO,6GAGT,8BACEriB,UAAU,6BACVqiB,OAAO,iCAGX,uBAAGzgB,GAAG,oBACJ,0BACE5B,UAAU,kDACVgd,EAAE,+eAMJ,0BACEhd,UAAU,kDACVgd,EAAE,kfAMJ,0BACEhd,UAAU,kDACVgd,EAAE,2KAGJ,0BACEhd,UAAU,kDACVgd,EAAE,8VAIJ,0BACEhd,UAAU,kDACVgd,EAAE,4yBASN,uBAAGpb,GAAG,SACJ,0BACEoN,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,KACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,KACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,KACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,KACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,KACNyhB,OAAO,SAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,OACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,QACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,QACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE3S,EAAE,MACF0S,EAAE,QACF1hB,UAAU,6BACVE,MAAM,MACNyhB,OAAO,QAET,0BACE/f,GAAG,iBACHoN,EAAE,MACF0S,EAAE,OACF1hB,UAAU,qCACVE,MAAM,KACNyhB,OAAO,QAET,0BACE/f,GAAG,mBACHoN,EAAE,MACF0S,EAAE,QACF1hB,UAAU,qCACVE,MAAM,KACNyhB,OAAO,SAGX,uBAAG/f,GAAG,gBACJ,8BACE5B,UAAU,oCACVqiB,OAAO,kGAET,8BACEriB,UAAU,6BACVqiB,OAAO,wCAGX,uBAAGzgB,GAAG,gBACJ,8BACE5B,UAAU,6BACVqiB,OAAO,qCAET,uBAAGzgB,GAAG,aACJ,0BACEoN,EAAE,MACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,OACPxH,UAAU,oCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,OACPxH,UAAU,kCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,OACPxH,UAAU,oCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,IACPxH,UAAU,oCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,IACPxH,UAAU,oCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,MACPxH,UAAU,kCAEZ,0BACEnL,EAAE,QACF0S,EAAE,QACF1hB,UAAU,kCACVE,MAAM,MACNyhB,OAAO,IACPxH,UAAU,sCAIhB,uBAAGvY,GAAG,gBACJ,8BACE5B,UAAU,oCACVqiB,OAAO,yGAGT,8BACEriB,UAAU,6BACVqiB,OAAO,4CAGX,uBAAGzgB,GAAG,iBACJ,0BACE5B,UAAU,kDACVgd,EAAE,oHAIN,uBAAGpb,GAAG,mBACJ,0BACE5B,UAAU,kDACVgd,EAAE,uGAEJ,0BACEhd,UAAU,kDACVgd,EAAE,mZAKJ,0BACEhd,UAAU,kDACVgd,EAAE,0YCxID,OAnOkC,EAAEwE,cACjD,MAAMxhB,EAAY,IAAW,yCAA0C,CACrE,oCAAqCwhB,IAEvC,OACE,yBAAKxhB,UAAWA,GACd,yBACEyhB,QAAQ,MACRzS,EAAE,MACF0S,EAAE,MACFxhB,MAAM,QACNyhB,OAAO,QACPC,QAAQ,eAER,2BACE,0BACEhgB,GAAG,gBACH5B,UAAU,sBACVgd,EAAE,g4BASJ,uBAAGpb,GAAG,SACJ,0BACE5B,UAAU,uBACVgd,EAAE,wNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,uNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,0NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,sNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,yNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,gNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,4NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,kNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,yNAGJ,0BACEhd,UAAU,uBACVgd,EAAE,4NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,8NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,+NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,yOAIJ,0BACEhd,UAAU,uBACVgd,EAAE,0OAIJ,0BACEhd,UAAU,uBACVgd,EAAE,0NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,8NAGJ,0BACEhd,UAAU,uBACVgd,EAAE,+NAIN,0BACEpb,GAAG,cACH5B,UAAU,2CACVgd,EAAE,iKAGJ,0BACEpb,GAAG,cACH5B,UAAU,2CACVgd,EAAE,uKAGJ,uBAAGhd,UAAU,0BACX,0BACE4B,GAAG,QACH5B,UAAU,+BACVgd,EAAE,iJAGJ,0BACEpb,GAAG,QACH5B,UAAU,+BACVgd,EAAE,oIAIN,uBAAGpb,GAAG,QACJ,0BACE5B,UAAU,wBACViiB,GAAG,OACHC,GAAG,QACHC,GAAG,OACHC,GAAG,UAEL,0BACEpiB,UAAU,wBACViiB,GAAG,OACHC,GAAG,QACHC,GAAG,OACHC,GAAG,UAEL,0BACEpiB,UAAU,wBACViiB,GAAG,OACHC,GAAG,QACHC,GAAG,OACHC,GAAG,UAEL,0BACEpiB,UAAU,wBACViiB,GAAG,OACHC,GAAG,QACHC,GAAG,OACHC,GAAG,UAEL,0BACEpiB,UAAU,wBACViiB,GAAG,QACHC,GAAG,OACHC,GAAG,QACHC,GAAG,SAEL,0BACEpiB,UAAU,wBACViiB,GAAG,QACHC,GAAG,OACHC,GAAG,QACHC,GAAG,SAEL,0BACEpiB,UAAU,wBACViiB,GAAG,QACHC,GAAG,OACHC,GAAG,QACHC,GAAG,SAEL,0BACEpiB,UAAU,wBACViiB,GAAG,QACHC,GAAG,OACHC,GAAG,QACHC,GAAG,SAEL,0BACEpiB,UAAU,wBACViiB,GAAG,QACHC,GAAG,OACHC,GAAG,QACHC,GAAG,UAGP,0BACExgB,GAAG,aACH5B,UAAU,6BACVgd,EAAE,+NAIJ,0BACEpb,GAAG,aACH5B,UAAU,6BACVgd,EAAE,qOCtMd,MA0GM,GAAY,YAPJvb,IACZ,MAAM,GAACG,GAAM,YAAOH,GACpB,MAAO,CACLsD,MAAOnD,KAMI,mBAAW,GA5GuB,EAAEmD,QAAOhF,cACxD,MAAOuiB,EAAmBC,GAAwB,oBAAkB,IAW7DC,EAAuBC,GAA4B,oBACxD,IAYKC,EAAiBC,GAAsB,oBAAkB,GAWhE,OACE,yBAAK3iB,UAAU,mBACb,kBAAC,QAAK,CACJA,UAAU,oCACVuD,SAAU,YAAUqf,cAEpB,yBAAK5iB,UAAU,+BAA6B,KAC5C,kBAAC,QAAM0N,KAAI,KACT,kBAAC,GAAgB,CAAC8T,QAASc,KAE7B,kBAAC,QAAMve,OAAM,KACX,kBAAC,SAAM,CACL3D,KAAK,iBACLC,MAAO,iBAAeC,QACtBmD,KAAM,gBAAckN,MACpBpQ,QAjDkB,KAC1BR,EAAQS,KAAK,SAASuE,0BAiDd8d,YA/CsB,KAC9BN,GAAqB,IA+CbO,WA7CqB,KAC7BP,GAAqB,QAgDnB,kBAAC,QAAK,CACJviB,UAAU,wBACV+iB,gBAAiB,eAAaC,MAE9B,yBAAKhjB,UAAU,+BAA6B,KAC5C,kBAAC,QAAM0N,KAAI,KACT,kBAAC,GAAmB,CAAC8T,QAASgB,KAEhC,kBAAC,QAAMze,OAAM,KACX,kBAAC,SAAM,CACL3D,KAAK,oBACLC,MAAO,iBAAeC,QACtBmD,KAAM,gBAAckN,MACpBpQ,QAvDoB,KAC5BR,EAAQS,KAAK,SAASuE,iBAuDd8d,YArDwB,KAChCJ,GAAyB,IAqDjBK,WAnDuB,KAC/BL,GAAyB,QAsDvB,kBAAC,QAAK,CACJziB,UAAU,wBACV+iB,gBAAiB,eAAaC,MAE9B,yBAAKhjB,UAAU,+BAA6B,KAC5C,kBAAC,QAAM0N,KAAI,KACT,kBAAC,GAAc,CAAC8T,QAASkB,KAE3B,kBAAC,QAAM3e,OAAM,KACX,kBAAC,SAAM,CACL3D,KAAK,kBACLC,MAAO,iBAAeC,QACtBmD,KAAM,gBAAckN,MACpBpQ,QA/DgB,KACxBR,EAAQS,KAAK,SAASuE,eA+Dd8d,YA7DoB,KAC5BF,GAAmB,IA6DXG,WA3DmB,KAC3BH,GAAmB,Y,SCuDR,mBAdDlhB,IACZ,MACEsB,OAAO,OAAC8a,IACNpc,EAEEuK,EAAY,aAA0B6R,GAG5C,MAAO,CACLhQ,OAHa,aAAuBgQ,GAIpC7R,cAIW,CAzEmB,EAChC6B,SACAoV,YACAjjB,YACAgM,gBAEA,MAAMkX,EAAsB,IAAW,aAAc,CACnD,CAAC,GAAGljB,KAAcA,IAGpB,OACE,KACA6N,IAAW,KAAYsV,UACvBnX,EAAU3K,SAAS,eAGjB,kBAAC,UAAO,CACNiK,UAAW,gBAAcmF,OACzBD,WAAY,aAAW5M,OACvB8M,OAAQ,gBAAcC,MACtB3Q,UAAWkjB,GAEX,kBAAC,cAAW,CACVzf,KAAM,gBAAcC,WACpBH,SAAU,YAAUqf,aACpBhgB,KAAM,WAASwgB,MACfC,gBAAgB,EAChBC,UAAW,eAAaC,MAExB,yBAAKvjB,UAAU,uBACb,8B,6BAC6B,IAC3B,uBACEqC,KAAK,6EACL2B,OAAO,UAAQ,sBAGZ,I,oDAGP,kBAAC,UAAO,CACNL,eAAgB,iBAAeC,OAC/B5D,UAAU,sBAEV,kBAAC,GAAkB,UAQ3B,MAAUijB,EACL,kBAAC,GAAkB,MAGrB,OC9FF,MAAMO,GAAqBC,IAChC,MAAMhiB,EAAQiiB,GAAM1V,YACd,KAAC7N,GAAQ,YAAOsB,IAAU,KAIhC,MAFe,IAAIgiB,EAAYtjB,EADjB,IAAQ,iBAAmB,YAG3BwjB,KAAK,QCuBrB,IAAa,GAAb,cAA4B,gBACnB,SACL,MAAM,GAAC7jB,GAAMY,KAAKC,MAElB,OACE,kBAAC,OAAI,CAACijB,SAAUJ,GAAkB,CAAC,UACjC,kBAAC,OAAK7gB,OAAM,CAACkhB,WAAW,GACtB,kBAAC,OAAKC,MAAK,CAACtW,MAAM,kBAAkBxL,OAAO,sBAC3C,kBAAC,GAAc,OAEjB,kBAAC,OAAK+hB,SAAQ,CAACF,WAAW,EAAOzS,YAAY,GAC3C,kBAAC,OAAI,KACH,kBAAC,OAAK7F,IAAG,KACP,kBAAC,OAAKkF,OAAM,CAACkH,QAAS,UAAQqM,MAAOC,QAAS,UAAQC,MACpD,kBAAC,UAAO,CACN5Y,UAAW,gBAAcmF,OACzBC,OAAQ,gBAAc0F,MACtB5F,WAAY,aAAWmF,QACvB2L,mBAAmB,EACnBtf,OAAO,mBAEP,kBAAC,QAAK,KACJ,kBAAC,QAAM0L,KAAI,KACT,kBAAC,GAAc,QAGnB,kBAAC,GAAI,QAGT,kBAAC,OAAK+C,OAAM,CAACkH,QAAS,UAAQwM,KAAMF,QAAS,UAAQG,OACnD,kBAACC,GAAS,CAACvkB,GAAIA,WA9BlB,GAAM,aADlB,KACY,IAgDE,OAFG,YANJ2B,IACZ,MAAM,GAAC3B,GAAM2B,EAEb,MAAO,CAAC3B,OAKK,CAAU,ICxCzB,MAAM,WAA4B,gBAAlC,c,oBA+FU,KAAAwkB,YAAc,KACpB,MAAM,aAACC,EAAY,cAAEC,EAAa,iBAAEC,GAAoB/jB,KAAKC,MAC7D6jB,EAAc,cAAe,CAACE,MAAO,GAAGH,MAAkBE,IAGpD,KAAAE,aAAgBC,IACtB,MAAM,YACJC,EAAW,eACXC,EAAc,iBACdC,EAAgB,YAChBC,EAAc,KAAYC,IACxBvkB,KAAKC,MAEL,KAASqkB,IAAgB,KAAY7B,SACvCziB,KAAK4jB,eAIHM,IAAclkB,KAAKwkB,WACrBL,IAEED,IAAclkB,KAAKykB,cACrBL,IAEEF,GAAalkB,KAAK0kB,gBACpBL,MAjHG,SACL,MAAM,UAACtP,EAAS,OAAE5H,GAAUnN,KAAKC,MACjC,OACE,kBAAC,WAAQ,CACP0G,MAAO,CAACnH,MAAO,SACf8B,OAAO,wBACPkG,OAAQ,CAAC1F,EAAQjC,IACf,kBAAC,WAASuR,OAAM,CACd9P,OAAO,gCACPQ,OAAQA,EACRjC,QAASA,EACTF,MAAO,iBAAeC,QACtBmD,KAAM,gBAAc2S,MACpBxT,KAAM,WAASyiB,KACfxX,OAAQA,GAEP4H,GAAa,UAAU/U,KAAKC,MAAM4jB,gBAGvChf,KAAM2X,GACJ,kBAAC,WAAS1L,KAAI,CACZ0L,WAAYA,EACZlb,OAAO,+BAENtB,KAAK4kB,cAIT5kB,KAAK4kB,aAKZ,kBACE,MAAMH,EAAezkB,KAAKykB,aACpBD,EAAYxkB,KAAKwkB,UACjBE,EAAiB1kB,KAAK0kB,eAEtB9S,EAAQ,CACZ,kBAAC,WAAS7L,KAAI,CACZ7E,GAAIsjB,EACJ9hB,IAAK8hB,EACL3kB,QAASG,KAAKikB,aACdthB,MAAO6hB,EACPljB,OAAO,8BAENkjB,GAEH,kBAAC,WAASze,KAAI,CACZ7E,GAAIujB,EACJ/hB,IAAK+hB,EACL5kB,QAASG,KAAKikB,aACdthB,MAAO8hB,EACPnjB,OAAO,iCAENmjB,IAkBL,OAdMzkB,KAAKC,MAAM4kB,uBACfjT,EAAM9R,KACJ,kBAAC,WAASiG,KAAI,CACZ7E,GAAIwjB,EACJhiB,IAAKgiB,EACL7kB,QAASG,KAAKikB,aACdthB,MAAO+hB,EACPpjB,OAAO,mCAENojB,IAKA9S,EAGT,gBACE,MAAO,OAAO5R,KAAKC,MAAM4jB,eAG3B,mBACE,MAAO,UAAU7jB,KAAKC,MAAM4jB,eAG9B,qBACE,MAAO,mBA3FK,GAAAjc,aAA6B,CACzCid,uBAAuB,EACvB1X,OAAQ,kBAAgBE,QACxB0H,UAAW,MAyHf,MAAM,GAAO,CACX+O,cAAe,IACfC,iBAAkB,KAKL,OAFG,YAAQ,KAAM,GAEjB,CAAU,ICpJzB,IAAM,GAAN,cAA2B,YAczB,YAAY9jB,GACV6kB,MAAM7kB,GA2BA,KAAA8kB,aAAe,KACrB/kB,KAAKC,MAAM+kB,SAAShlB,KAAKe,MAAM6R,aAGzB,KAAAqS,WAAc3a,IACpBtK,KAAKoK,SAAS,CAACwI,WAAYtI,EAAEhH,OAAOX,OAAQ3C,KAAK+kB,eAG3C,KAAAnc,aAAgB0B,IACtBtK,KAAKoK,SAAS,CAACwI,WAAYtI,EAAEhH,OAAOX,OAAQ3C,KAAK+kB,eAnCjD/kB,KAAKe,MAAQ,CACX6R,WAAY5S,KAAKC,MAAM2S,YATpB,mBAAmBnG,GACpBzM,KAAKC,MAAM2S,aAAenG,EAAUmG,YACtC5S,KAAKoK,SAAS,CAACwI,WAAY5S,KAAKC,MAAM2S,aAWnC,4BACL5S,KAAK+kB,aAAe,mBAAS/kB,KAAK+kB,aAAc,IAG3C,SACL,MAAM,gBAACG,EAAe,OAAE5jB,GAAUtB,KAAKC,OACjC,WAAC2S,GAAc5S,KAAKe,MAE1B,OACE,kBAAC,QAAK,CACJmB,KAAM,WAASye,OACfrY,YAAa4c,EACbviB,MAAOiQ,EACP7H,SAAU/K,KAAK4I,aACfuc,OAAQnlB,KAAKilB,WACb3jB,OAAQA,EACRhC,UAAU,0BApCF,GAAAsI,aAAe,CAC3B6J,YAAa,IACbyT,gBAAiB,YACjBtS,WAAY,GACZtR,OAAQ,iBAkDG,OAvDT,GAAY,aADjB,I,2CACK,I,SCkBC,MAAM8jB,GACXC,IAEA,OAAQA,GACN,KAAK,eAAangB,WAChB,MAAO,CACL,CACEzD,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,oBACP0Q,QAAS,iBACTmT,SAAU,KAAUG,KACpBF,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,oBACP0Q,QAAS,iBACTmT,SAAU,KAAUG,KACpBF,cAAe,OAAKC,aAG1B,KAAK,eAAaE,MAChB,MAAO,CACL,CACEjkB,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,SACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,WACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,qBACP0Q,QAAS,kBACTmT,SAAU,KAAUG,KACpBF,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,qBACP0Q,QAAS,kBACTmT,SAAU,KAAUG,KACpBF,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,wBACP0Q,QAAS,QACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,yBACP0Q,QAAS,QACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAaG,UAChB,MAAO,CACL,CACElkB,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,eACP0Q,QAAS,iBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,iBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAaI,OAChB,MAAO,CACL,CACEnkB,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,sBACP0Q,QAAS,yBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,sBACP0Q,QAAS,yBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAaK,UAChB,MAAO,CACL,CACEpkB,MAAO,eACP0Q,QAAS,YACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,YACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,sBACP0Q,QAAS,mBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,sBACP0Q,QAAS,mBACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAa1O,QAChB,MAAO,CACL,CACErV,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,wBACP0Q,QAAS,iCACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,yBACP0Q,QAAS,iCACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAahM,UAChB,MAAO,CACL,CACE/X,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,0BACP0Q,QAAS,cACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,2BACP0Q,QAAS,cACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAaM,SAChB,MAAO,CACL,CACErkB,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,eACP0Q,QAAS,OACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,kBACP0Q,QAAS,MACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,mBACP0Q,QAAS,MACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,qBACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,sBACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,aAG1B,KAAK,eAAaO,eAChB,MAAO,CACL,CACEtkB,MAAO,sBACP0Q,QAAS,cACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,sBACP0Q,QAAS,cACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,kBACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,oBACP0Q,QAAS,SACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,YAEtB,CACE/jB,MAAO,wBACP0Q,QAAS,YACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKzJ,WAEtB,CACEra,MAAO,wBACP0Q,QAAS,YACTmT,SAAU,KAAUxR,OACpByR,cAAe,OAAKC,eCtPf,OA9Df,UAA8B,cAC5BD,EAAa,QACbpT,EAAO,SACPmT,EAAQ,SACRpU,EAAQ,aACRmU,EAAY,MACZ7lB,EAAQ,MAER,MAAMwmB,EAAoBZ,GAAkBC,IAEtC,MAAC5jB,GAASukB,EAAkB7W,KAChCtJ,GACEA,EAAKsM,UAAYA,GACjBtM,EAAK0f,gBAAkBA,GACvB1f,EAAKyf,WAAaA,GAGhBW,EAAmBpgB,IACvB,MAAM,QAACsM,EAAO,cAAEoT,EAAa,SAAED,GAAYzf,EAC3CqL,EAASiB,EAASoT,EAAeD,IAiCnC,OACE,kBAAC,WAAQ,CACP9d,OAhCW,CAAC1F,EAAQjC,IACtB,kBAAC,WAASuR,OAAM,CACdvR,QAASA,EACTiC,OAAQA,EACRR,OAAO,2BAEN,WAAWG,KA2BZoD,KAvBS2X,GACX,kBAAC,WAAS1L,KAAI,CAAC0L,WAAYA,GACxBwJ,EAAkBpgB,IAAIC,GACrB,kBAAC,WAASE,KAAI,CACZrD,IAAK,GAAGmD,EAAKsM,UAAUtM,EAAK0f,gBAC5B5iB,MAAOkD,EACPhG,QAASomB,EACT3kB,OAAQ,oBAAoBuE,EAAKsM,WAAWtM,EAAK0f,gBACjDvT,SACEnM,EAAKsM,UAAYA,GACjBtM,EAAKyf,WAAaA,GAClBzf,EAAK0f,gBAAkBA,GAGxB1f,EAAKpE,SAUVkF,MAAO,CAACuf,UAAW,GAAG1mB,MAAWA,MAAO,GAAGA,OAC3C8B,OAAO,qBCxCE,MAAM,WAAoB,gBAChC,SACL,MAAM,aACJ6kB,EAAY,gBACZC,EAAe,aACfC,EAAY,aACZC,EAAY,qBACZC,EAAoB,cACpBjG,EAAa,WACb1N,EAAU,QACVT,EAAO,SACPmT,EAAQ,cACRC,EAAa,OACbiB,EAAM,YACNlC,GACEtkB,KAAKC,MAET,OACE,oCACE,kBAAC,OAAKgC,OAAM,CAACkhB,WAAW,EAAO7hB,OAAO,sBACpC,kBAAC,OAAK8hB,MAAK,CAACtW,MAAM,UAClB,kBAAC,GAAc,OAEjB,kBAAC,OAAK2Z,WAAU,CAACtD,WAAW,GAC1B,kBAAC,OAAKuD,eAAc,KAClB,kBAAC,GAAY,CACXxB,gBAAgB,kBAChBF,SAAU1E,EACV1N,WAAYA,IAEd,kBAAC,GAAoB,CACnByS,aAAc,eAAaK,MAC3BvT,QAASA,EACTmT,SAAUA,EACVC,cAAeA,EACfrU,SAAUsV,KAGd,kBAAC,OAAKG,gBAAe,KACnB,kBAAC,UAAO,CACN/b,UAAW,gBAAcC,IACzBmF,OAAQ,gBAAckF,QAEtB,kBAAC,aAAU,sBACX,kBAAC,cAAW,CACVpT,OAAQukB,EACRtjB,KAAM,gBAAcC,WACpB+H,SAAUqb,KAGd,kBAAC,GAAmB,CAClBvB,uBAAqB,EACrBV,YAAagC,EACb/B,eAAgBkC,EAChBjC,iBAAkBkC,EAClB1C,aAAa,OACbS,YAAaA,Q,sBC/E3B,IAAM,GAAN,cAAmC,YAAnC,c,oBAgBU,KAAAsC,gBAAkB,KACxB,MAAM,YAACzE,EAAW,GAAEjhB,GAAMlB,KAAKC,MAE/BkiB,EAAYjhB,IAGN,KAAA2lB,YAAevc,IACrBA,EAAEwc,kBACF,MAAM,QAACjnB,EAAO,GAAEqB,GAAMlB,KAAKC,MAE3BJ,EAAQqB,IAzBH,SACL,MAAM,KAACzB,EAAI,SAAEsnB,EAAQ,YAAEvX,EAAW,GAAEtO,GAAMlB,KAAKC,MAE/C,OACE,yBACEX,UAAWU,KAAKV,UAChB6iB,YAAaniB,KAAK4mB,gBAClB/mB,QAASG,KAAK6mB,YAAW,cACZ,oBAAoBpnB,KAEjC,kBAAC,QAAK,CAACA,KAAMA,EAAM+P,YAAaA,EAAatO,GAAIA,EAAIvB,MAAOonB,KAkBlE,gBACE,MAAM,OAACjlB,GAAU9B,KAAKC,MAEtB,OAAO,IAAW,2BAA4B,CAAC6B,aAIpC,OApCT,GAAoB,aADzB,KACK,ICLN,IAAM,GAAN,cAA4C,YAA5C,c,oBAgBU,KAAA8kB,gBAAkB,KACxB,MAAM,YAACzE,EAAW,GAAEjhB,GAAMlB,KAAKC,MAE/BkiB,EAAYjhB,IAGN,KAAA2lB,YAAevc,IACrBA,EAAEwc,kBACF9mB,KAAKC,MAAMJ,WAvBN,SACL,MAAM,KAACJ,GAAQO,KAAKC,MAEpB,OACE,yBACEX,UAAWU,KAAKV,UAChB6iB,YAAaniB,KAAK4mB,gBAClB/mB,QAASG,KAAK6mB,YAAW,cACb,6B,WAEJ,gCAAS,GAAGpnB,K,KAgB1B,gBACE,MAAM,OAACqC,GAAU9B,KAAKC,MAEtB,OAAO,IAAW,qDAAsD,CACtE6B,aAKS,OApCT,GAA6B,aADlC,KACK,ICcN,IAAM,GAAN,cAA+B,YACtB,SACL,OACE,yBAAKxC,UAAU,iCACb,kBAAC,mBAAgB,CACfohB,gBAAgB,EAChBlP,UAAU,EACV7K,MAAO,CAACnH,MAAO,OAAQmR,UAAW,SAClCqW,WAAW,GAEX,yBACE1nB,UAAU,sBAAqB,cACnB,uBAEXU,KAAKinB,aAOhB,gBACE,MAAM,eACJC,EAAc,YACdC,EAAW,uBACXC,EAAsB,eACtBC,EAAc,cACdC,EAAa,WACb1U,EAAU,qBACV2U,GACEvnB,KAAKC,MAET,OAAIinB,EAAe1mB,OACV0mB,EAAethB,IAAInE,GACpBA,EAAMP,KAAOsmB,GAEb,kBAAC,GAA6B,CAC5B1lB,OAAQulB,IAAmB5lB,EAAMP,GACjCwB,IAAKjB,EAAMP,GACXzB,KAAMgC,EAAMhC,KACZyB,GAAIO,EAAMP,GACVrB,QAAS0nB,EACTpF,YAAaiF,IAMjB,kBAAC,GAAoB,CACnBtlB,OAAQulB,IAAmB5lB,EAAMP,GACjCwB,IAAKjB,EAAMP,GACXzB,KAAMgC,EAAMhC,KACZyB,GAAIO,EAAMP,GACVsO,YAAa/N,EAAMgK,WAAW+D,YAC9BuX,SAAUtlB,EAAMgK,WAAW9L,MAC3BE,QAASsnB,EACThF,YAAaiF,KAMjBE,EAEA,kBAAC,aAAU,CACTvkB,KAAM,gBAAcC,WACpB1B,OAAO,gCAEP,kBAAC,aAAWqU,KAAI,K,0CAEd,6B,uCAOH/C,OAAL,EAEI,kBAAC,aAAU,CACT7P,KAAM,gBAAcC,WACpB1B,OAAO,kCAEP,kBAAC,aAAWqU,KAAI,8CAOX,IC3FV8R,GD2FU,GA1FT,GAAgB,aADrB,KACK,KCDN,SAAKA,GACH,gBACA,mBAFF,CAAKA,QAAc,KAmBnB,IAAqB,GAArB,cAAgD,gBAAhD,c,oBAuDU,KAAAC,cAAiBpd,IACvB,MAAM,eAAC+c,EAAc,WAAEM,EAAU,qBAAEJ,GAAwBvnB,KAAKC,MAEhE,OAAQqK,EAAE5H,KACR,IAAK,QAGH,GAFA4H,EAAE2U,iBACF3U,EAAEwc,kBACEO,IAAmBG,GAAuB,CAC5CD,IACA,MAGF,GAAIF,EAAgB,CAClBM,EAAWN,GACX,MAEJ,IAAK,UACHrnB,KAAK4nB,4BAA4BH,GAAeI,IAChD,MACF,IAAK,YACH7nB,KAAK4nB,4BAA4BH,GAAeK,QAO9C,KAAAF,4BAA+Bhd,IACrC,MAAM,eAACyc,EAAc,eAAEH,EAAc,uBAAEE,GAA0BpnB,KAAKC,MAEtE,IAAKinB,EAAe1mB,SAAW6mB,EAC7B,OAAO,KAGT,MAAMU,EAAoB,IAAEC,UAC1Bd,EACAzlB,GAASA,EAAMP,KAAOmmB,GAUxBD,EAFmBF,EALGe,KAAKC,IACzBD,KAAKE,IAAIJ,EAAoBnd,EAAW,GACxCsc,EAAe1mB,OAAS,IAGuBU,KAK3C,KAAAknB,mBAAsB9d,IAC5BA,EAAEhH,OAAOoF,SAxGJ,SACL,MAAM,WACJkK,EAAU,cACV0U,EAAa,eACbD,EAAc,WACdM,EAAU,WACVU,EAAU,qBACVd,EAAoB,uBACpBH,EAAsB,cACtBkB,EAAa,eACbpB,EAAc,QACdpH,GACE9f,KAAKC,MAET,OACE,kBAAC,UAAO,CACNsoB,WAAY,aAAWC,QACvBC,SAAU,kBAAgBC,MAC1BL,WAAYA,EACZM,oBAAqB,EACrB7I,QAASA,EACT8I,UAAW,qBAAmBC,KAC9BC,UAAW,qBAAmBD,KAC9BvnB,OAAO,yBACPhC,UAAU,yBACVypB,SAAU,IACR,oCACE,wBAAIzpB,UAAU,kCAAgC,cAC9C,kBAAC,QAAK,CACJ4C,KAAM,WAASye,OACfrY,YAAY,mBACZ3F,MAAOiQ,EACPoW,UAAWhpB,KAAK0nB,cAChB3c,SAAUud,EACVtK,WAAW,EACXmH,OAAQnlB,KAAKooB,mBACb9mB,OAAO,+BACP2nB,UAAW,KAEb,kBAAC,GAAgB,CACfrW,WAAYA,EACZ0U,cAAeA,EACfJ,eAAgBA,EAChBG,eAAgBA,EAChBF,YAAaQ,EACbP,uBAAwBA,EACxBG,qBAAsBA,SA/Cf,UAAkB,aADtC,KACoB,I,oBCCrB,IAAqB,GAArB,cAA8C,gBAA9C,c,oBAwHU,KAAAnK,qBAAwB3d,GACvBO,KAAKC,MAAMipB,iBAAiBzpB,GAxH9B,SACL,MAAM,GACJyB,EAAE,KACFzB,EAAI,MACJE,EAAK,SACLkQ,EAAQ,WACRyN,EAAU,YACV9N,EAAW,aACX2Z,EAAY,cACZb,EAAa,sBACbc,EAAqB,cACrBC,EAAa,YACbC,GACEtpB,KAAKC,MAET,OACE,kBAAC,OAAI,CAAC4P,SAAUA,EAAUvO,OAAO,sBAC/B,kBAAC,OAAI,KACH,kBAAC,OAAKuJ,IAAG,KACP,kBAAC,OAAKkF,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK7G,QAAO,CAAC1O,MAAM,WAClB,kBAAC,OAAK8nB,IAAG,CAACjqB,UAAU,0BAClB,kBAAC,QAAK,CACJyD,KAAM,gBAAc2S,MACpBjW,KAAMO,KAAKwpB,qBACXha,YAAaA,EACb7P,MAAOK,KAAKypB,eACZvoB,GAAIA,OAKZ,kBAAC,OAAK6O,OAAM,CAACkH,QAAS,UAAQD,QAC5B,kBAAC,OAAK2G,kBAAiB,CACrBlc,MAAM,OACNkB,MAAOlD,EACPse,UAAU,EACVD,eAAgB9d,KAAKod,sBAEpBjQ,GACC,kBAAC,QAAK,CACJxI,KAAM,YAAUgR,KAChBrN,YAAY,kBACZ7I,KAAK,OACLue,WAAW,EACXrb,MAAOlD,EACPsL,SAAUud,EACVnb,OAAQA,EACR8b,UAzEI,GA0EJ3nB,OAAO,8BAKf,kBAAC,OAAKyO,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK7G,QAAO,CAAC1O,MAAM,eAClB,kBAAC,QAAK,CACJkD,KAAM,YAAUgR,KAChBrN,YAAY,6BACZ7I,KAAK,cACLkD,MAAO6M,EACPzE,SAAUqe,EACV9nB,OAAO,qCAIb,kBAAC,OAAKyO,OAAM,CAACkH,QAAS,UAAQD,QAC5B,kBAAC,OAAK7G,QAAO,CAAC1O,MAAM,SAClB,kBAAC,cAAW,CAAC9B,MAAOA,EAAOoL,SAAUse,MAGzC,kBAAC,OAAKtZ,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK3T,OAAM,KACV,kBAAC,SAAM,CACL3D,KAAK,SACLG,QAASspB,EACTpU,UAAU,8CACVpQ,KAAM,aAAWyM,OACjB9P,OAAO,8BAET,kBAAC,SAAM,CACL5B,KAAM4d,EACN3d,MAAO,iBAAeoH,QACtBpC,KAAM,aAAW2L,OACjBhP,OAAO,4BACP6L,OACEmc,EACI,kBAAgBjc,QAChB,kBAAgBgE,gBAWtC,2BACE,MAAM,KAAC5R,GAAQO,KAAKC,MAEpB,OAAKR,GACI,kBAMX,qBACE,MAAM,MAACE,GAASK,KAAKC,MAErB,OAAI,aAAgBN,GACX,KAGFA,IArHU,UAAgB,aADpC,KACoB,ICnBrB,IAAM,GAAN,cAAiC,YAC/B,YAAYM,GACV6kB,MAAM7kB,GA8DA,KAAAypB,aAAe,KACrB,MAAM,cAACC,EAAa,UAAEhiB,GAAa3H,KAAKC,MAExC,IACE0pB,EAAc3pB,KAAKe,MAAMU,O,QAEzBkG,IACA3H,KAAK4pB,cAUD,KAAAha,kBAAqBtF,IAC3B,MAAM,MAAC3H,EAAK,KAAElD,GAAQ6K,EAAEhH,OAExBtD,KAAKoK,SAASyf,IAAa,CACzBpoB,MAAO,OAAF,wBAAMooB,EAAUpoB,OAAK,CAAE,CAAChC,GAAOkD,QAIhC,KAAAmnB,0BACNxf,IAEA,MAAM,MAAC3H,EAAK,KAAElD,GAAQ6K,EAAEhH,OAExBtD,KAAKoK,SAASyf,IAAa,CACzBpoB,MAAO,OAAF,wBACAooB,EAAUpoB,OAAK,CAClBgK,WAAY,OAAF,wBAAMoe,EAAUpoB,MAAMgK,YAAU,CAAE,CAAChM,GAAOkD,UAKlD,KAAAonB,kBAAoB,CAC1BpqB,EACAqqB,KAEA,MAAMve,EAAa,OAAH,wBAAOzL,KAAKe,MAAMU,MAAMgK,YAAU,CAAE9L,UAC9C8B,EAAQ,OAAH,wBAAOzB,KAAKe,MAAMU,OAAK,CAAEgK,eAEpCzL,KAAKoK,SAAS,CAAC3I,QAAOuoB,iBAzGtBhqB,KAAKe,MAAQ,CACXU,MAAO,OAAF,wBAAM,MAAW,CAAEhC,KAAMO,KAAKC,MAAMgqB,sBACzCD,YAAa,kBAAgB3c,SAIjC,mBAAmBZ,GACjB,GACEA,EAAUwd,sBAAwBjqB,KAAKC,MAAMgqB,sBACpB,IAAzBjqB,KAAKC,MAAMiqB,UACX,CACA,MAAMzqB,EAAOO,KAAKC,MAAMgqB,oBAClBxoB,EAAQ,OAAH,wBAAOzB,KAAKe,MAAMU,OAAK,CAAEhC,SAEpCO,KAAKoK,SAAS,CAAC3I,WAIZ,SACL,MAAM,UAACyoB,EAAS,UAAEviB,EAAS,iBAAEuhB,GAAoBlpB,KAAKC,OAChD,MAACwB,GAASzB,KAAKe,MAErB,OACE,kBAAC,UAAO,CAAC+e,QAASoK,GAChB,kBAAC,UAAQtd,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CAAC6K,MAAM,eAAenF,UAAWA,IAChD,kBAAC,UAAQqF,KAAI,KACX,kBAAC,GAAgB,eACH,wBACZ9L,GAAIO,EAAMP,GACVzB,KAAMgC,EAAMhC,KACZ0pB,aAAcxhB,EACd2V,WAAW,eACXzN,SAAU7P,KAAK0pB,aACfJ,YAAatpB,KAAKspB,YAClB3pB,MAAO8B,EAAMgK,WAAW9L,MACxBupB,iBAAkBA,EAClBZ,cAAetoB,KAAK4P,kBACpBwZ,sBAAuBppB,KAAK8pB,0BAC5BT,cAAerpB,KAAK+pB,kBACpBva,YAAa/N,EAAMgK,WAAW+D,iBAQ1C,kBACE,MAAM,MAAC/N,EAAK,YAAEuoB,GAAehqB,KAAKe,OAC5B,iBAACmoB,GAAoBlpB,KAAKC,MAE1BkqB,EAA+C,OAAjCjB,EAAiBznB,EAAMhC,SAAoBgC,EAAMhC,KAC/D2qB,EACJJ,IAAgB,kBAAgB3c,SAChC2c,IAAgB,kBAAgBK,MAElC,OAAOF,GAAeC,EAchB,YACNpqB,KAAKoK,SAAS,CACZ3I,MAAO,SAoCE,OAjHT,GAAkB,aADvB,I,2CACK,I,oBCLC,MAAM+lB,GAAwB,gBACxB8C,GAA6B,CACxCppB,GAAIsmB,GACJ/nB,KAAM,GACNgM,WAAY,CACV9L,MAAO,UACP6P,YAAa,IAEfrC,OAAQ,kBAAgBxB,YAsB1B,IAAM,GAAN,cAAiC,YAG/B,YAAY1L,GACV6kB,MAAM7kB,GAHA,KAAAsqB,eAAiB,sBAgGjB,KAAAC,8BAAgC,KACjCxqB,KAAKuqB,eAAeE,SAGzBzqB,KAAKuqB,eAAeE,QAAQC,iBAAiB,QAAS,KACpD1qB,KAAKoK,SAAS,CACZugB,kBAAkB,OAKhB,KAAAC,eAAkBtgB,IACpBA,EAAEhH,SAAWtD,KAAKuqB,eAAeE,SAIrCzqB,KAAKoK,SAAS,CACZugB,kBAAkB,KAId,KAAAE,eAAiBC,MAAOpX,IAC9B,MAAM,WAACiU,EAAU,OAAErU,GAAUtT,KAAKC,MAE5BwB,EAAQ6R,EAAOnE,KAAK1N,GAASA,EAAMP,KAAOwS,GAE5CjS,IACFzB,KAAK+qB,4BACCpD,EAAWlmB,KAIb,KAAAspB,oBAAsB,KAC5B,MAAM,WAACnY,GAAc5S,KAAKe,MAEpBmmB,EAAiBlnB,KAAKgrB,aAAapY,GAErCsU,EAAe1mB,QACjBR,KAAKirB,2BAA2B/D,EAAe,GAAGhmB,KAI9C,KAAA+pB,2BAA8B5D,IACpCrnB,KAAKoK,SAAS,CAACid,oBAGT,KAAAzX,kBAAqBtF,IAC3B,MAAMsI,EAAatI,EAAEhH,OAAOX,MACtBukB,EAAiBlnB,KAAKgrB,aAAapY,GACzC,GAAIsU,EAAe1mB,OAAQ,CACzB,MAAM6mB,EAAiBH,EAAe,GAAGhmB,GACzClB,KAAKoK,SAAS,CAACwI,aAAYyU,wBAE3BrnB,KAAKoK,SAAS,CAACwI,gBAIX,KAAAoY,aAAgBpY,IACtB,MAAMsU,EAAiBlnB,KAAKkrB,gBAAgB7b,OAAO5N,IACjD,MAAM0pB,EAAgB1pB,EAAMhC,KAAK4V,cAC3B+V,EAAsBxY,EAAWyC,cAEvC,OAAO8V,EAAcxqB,SAASyqB,KAUhC,OAPgClE,EAAetjB,OAC7C,CAACynB,EAAcZ,KACE,IAARY,GAAgBZ,EAAQhrB,OAASmT,GAE1C,IAG8BA,EACvB5S,KAAKsrB,4BAA4BpE,GAGnClnB,KAAKurB,+BAA+BrE,IAGrC,KAAAoE,4BAA+BpE,IACrC,MAAM,WAACtU,GAAc5S,KAAKe,MAEpByqB,EAAmB,OAAH,wBAAOlB,IAAmB,CAAE7qB,KAAMmT,IAMxD,OAJkBsU,EAAe/X,KAC/B1N,GAASA,EAAMP,KAAOsqB,EAAiBtqB,IAIhCgmB,EAAethB,IAAI6lB,GACjBA,EAAGvqB,KAAOsqB,EAAiBtqB,GAAKsqB,EAAmBC,GAIvD,CAACD,KAAqBtE,IAGvB,KAAAqE,+BACNrE,GAEOA,EAAe7X,OAAO5N,GAASA,EAAMP,KAAOsmB,IAS7C,KAAAkE,kBAAoBZ,MAAOrpB,IACjC,MAAM,cAACkoB,EAAa,WAAEhC,GAAc3nB,KAAKC,OACnC,KAACR,EAAI,WAAEgM,GAAchK,QAErBkoB,EAAclqB,EAAMgM,GAE1Bkc,EADiB3nB,KAAKC,MAAMqT,OAAOnE,KAAKwc,GAAKA,EAAElsB,OAASgC,EAAMhC,QAIxD,KAAAmsB,yBAA2B,KACjC5rB,KAAKoK,SAAS,CAACyhB,gBAAiB,KAAaC,KAAMnB,kBAAkB,KAG/D,KAAAoB,wBAA0B,KAChC/rB,KAAKoK,SAAS,CAACyhB,gBAAiB,KAAaG,OAAQpZ,WAAY,MAG3D,KAAAqZ,4BAA+BxsB,IACrC,MAAM,OAAC6T,GAAUtT,KAAKC,MAChBisB,EAAQ5Y,EAAO1N,IAAInE,GAASA,EAAMhC,MAExC,OAAO,aAAwBysB,EAAOzsB,IA7NtCO,KAAKe,MAAQ,CACXsmB,eAAgB,KAChBzU,WAAY,GACZiZ,gBAAiB,KAAaG,OAC9BrB,kBAAkB,GAIf,oBACL3qB,KAAKwqB,gCAGA,SACL,MAAM,gBAACqB,EAAe,WAAEjZ,GAAc5S,KAAKe,MAE3C,OACE,oCACGf,KAAKmsB,QACN,yBAAK7sB,UAAU,yBACb,kBAAC,aAAU,CACTK,MAAO,iBAAe2C,UACtByS,UAAU,aACVH,MAAO,cAAYwX,OACnB9sB,UAAU,qBACVgC,OAAO,qBACP+qB,IAAKrsB,KAAKuqB,gBAEV,yBAAKjrB,UAAU,6BAEhBU,KAAKssB,mBAER,kBAAC,GAAkB,CACjBpC,UAAW2B,IAAoB,KAAaC,KAC5CnkB,UAAW3H,KAAK+rB,wBAChB9B,oBAAqBrX,EACrB+W,cAAe3pB,KAAK0rB,kBACpBxC,iBAAkBlpB,KAAKisB,+BAM/B,cACE,MAAM,OAAC3Y,EAAM,eAAEiZ,GAAkBvsB,KAAKC,OAChC,WAAC2S,EAAU,eAAEyU,EAAc,iBAAEsD,GAAoB3qB,KAAKe,MAEtDyrB,EACJlZ,EAAO9S,OAAS,GAAK8S,EAAO9S,SAAW+rB,EAAe/rB,OAExD,OACE,kBAAC,eAAY,CAACoqB,eAAgB5qB,KAAK4qB,gBACjC,kBAAC,GAAkB,CACjBhY,WAAYA,EACZyV,WAAYroB,KAAKuqB,eACjBlD,eAAgBA,EAChBD,uBAAwBpnB,KAAKirB,2BAC7B3D,cAAekF,EACfjF,qBAAsBvnB,KAAK4rB,yBAC3BtD,cAAetoB,KAAK4P,kBACpBsX,eAAgBlnB,KAAKgrB,aAAapY,GAClC+U,WAAY3nB,KAAK6qB,eACjB/K,QAAS6K,KAMjB,wBACE,MAAM,eAAC4B,GAAkBvsB,KAAKC,MAE9B,GAAIssB,EAAe/rB,OACjB,OASF,OACE,yBACElB,UAAU,4CACVO,QATgB,KACdG,KAAKuqB,eAAeE,SACtBzqB,KAAKuqB,eAAeE,QAAQ1R,SAOR,cACR,wBAEZ,0BAAMzZ,UAAU,kBAAgB,gBA4GtC,sBACE,MAAM,eAACitB,EAAc,OAAEjZ,GAAUtT,KAAKC,MAEtC,OAAO,IAAEwsB,aAAanZ,EAAQiZ,EAAgB9qB,GAASA,EAAMhC,QA3M3D,GAAkB,aADvB,I,2CACK,IAuON,MAAM,GAAO,CACXkqB,cAAe,MAKF,ICnRH+C,GDmRG,GAFG,YAAQ,KAAM,GAEjB,CAAU,KCnRzB,SAAYA,GACV,sBACA,sBAFF,CAAYA,QAAc,KAqB1B,IAAM,GAAN,cAA2B,YAA3B,c,oBA8DU,KAAAC,iBAAoBC,IAC1B,MAAM,eAACC,GAAkB7sB,KAAKC,MAE9B4sB,EAAeD,IAGT,KAAAE,kBAAqBpZ,IAC3B,MAAM,cAACqZ,EAAa,eAAER,GAAkBvsB,KAAKC,MAG7C8sB,EAFcR,EAAepd,KAAK1N,GAASA,EAAMP,KAAOwS,KAjEnD,SACL,OAAO,yBAAKpU,UAAU,iBAAiBU,KAAKusB,gBAG9C,qBACE,MAAM,eAACA,EAAc,OAAEjZ,EAAM,WAAEqU,GAAc3nB,KAAKC,MAElD,OACE,yBAAKX,UAAU,4BACZU,KAAKgtB,YACJ,kBAAC,GAAkB,CACjB1Z,OAAQA,EACRiZ,eAAgBA,EAChB5E,WAAYA,IAGf3nB,KAAKitB,eAKZ,oBACE,MAAM,eAACV,GAAkBvsB,KAAKC,MACxBwQ,EAAWzQ,KAAKgtB,WAAahtB,KAAK8sB,kBAAoB,KAE5D,GAAIP,EAAe/rB,OACjB,OAAO+rB,EAAe3mB,IAAIsnB,IACxB,MAAMzrB,EAAQ,OAAH,UAAOyrB,GAWlB,OAPKzrB,EAAM0rB,eAAe,gBACxB1rB,EAAMgK,WAAa,CACjB9L,MAAO,UACP6P,YAAa,KAKf,kBAAC,QAAc,CACbtO,GAAIO,EAAMP,GACVwB,IAAKjB,EAAMP,GACXzB,KAAMgC,EAAMhC,KACZE,MAAO8B,EAAMgK,WAAW9L,MACxB6P,YAAa/N,EAAMgK,WAAW+D,YAC9BiB,SAAUA,EACV5Q,QAASG,KAAK2sB,iBAAiBS,KAAKptB,KAAMyB,EAAMhC,UAO1D,iBACE,OAAOO,KAAKC,MAAMotB,WAAaX,GAAeY,WA1DlC,GAAA1lB,aAAe,CAC3BylB,SAAUX,GAAeY,UAFvB,GAAY,aADjB,KACK,IAmFS,mBAPF,CAACvsB,EAAiBd,KAI7B,MAAO,CAACqT,OAHO,aAAcvS,EAAO,eAAa6kB,QAGjC2G,eAFO,aAAUxrB,EAAOd,EAAMstB,oBAKjC,CAA0B,I,QC1C1B,OAzD4B,EAAEC,eAAcC,oBACzD,MAAMpF,EAAa,iBAAuB,OACnCqF,EAAWC,GAAgB,oBAAkB,GAEpD,IAAIhuB,EAAQ,iBAAeoH,QACvB7E,EAAO,WAASmO,UAChB3Q,EAAO,yBAEW,WAAlB+tB,QAA+C1f,IAAjByf,IAChC7tB,EAAQ,iBAAewe,OACvBjc,EAAO,WAASgO,cAChBxQ,EAAO8tB,GAGa,WAAlBC,IACF9tB,EAAQ,iBAAekH,QACvB3E,EAAO,WAASkO,OAChB1Q,EAAO,kBAGT,MAAMkuB,EAAkB,IAAW,uBAAwB,CACzD,CAAC,yBAAyBjuB,KAAUA,EACpC,kCAAmC+tB,IAUrC,OACE,oCACE,uCACc,wBACZpuB,UAAWsuB,EACXvB,IAAKhE,GAEL,kBAAC,OAAI,CAAClmB,MAAOD,KAEf,kBAAC,UAAO,CACN5C,UAAU,gCACVuuB,qBAAqB,EACrBluB,MAAOA,EACP4oB,WAAY,aAAWC,QACvBH,WAAYA,EACZU,SAtBkB,IACtB,oCACE,gDACA,2BAAIrpB,IAoBFkpB,UAAW,qBAAmBkF,MAC9BhF,UAAW,qBAAmBgF,MAC9BC,OAAQ,IAAMJ,GAAa,GAC3BK,OAAQ,IAAML,GAAa,O,mBC9B5B,MAAM,WAAiB,gBAA9B,c,oBA2FU,KAAAM,gBAAmBC,IACzB,MACEhqB,OACEI,QAAQ,MAACD,IACV,QACDhF,EAAO,KACP8uB,GACEnuB,KAAKC,MACHmuB,EAAM,SAAS/pB,WAAe8pB,EAAKjtB,UAErCgtB,EAAMG,QACR5V,OAAO6V,KAAKF,EAAK,UAEjB/uB,EAAQS,KAAKsuB,IAIT,KAAAG,eAAiB,KACvB,MAAM,QACJlvB,EAAO,KACP8uB,EACAjqB,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MACTZ,EAAQS,KAAK,SAASuE,WAAe8pB,EAAKjtB,YAGpC,KAAAstB,iBAAoB/uB,IAC1B,MAAM,SACJgvB,EACAN,MAAM,GAACjtB,IACLlB,KAAKC,MACTwuB,EAAShvB,EAAMyB,IAGT,KAAAwtB,aAAe,KACrB,MAAM,QACJrvB,EAAO,KACP8uB,EACA/tB,UAAU,SAAC2B,IACT/B,KAAKC,MACTZ,EAAQS,KAAK,GAAGiC,KAAYosB,EAAKjtB,cAgB3B,KAAA2pB,eAAkBppB,IACxB,MAAM,KAAC0sB,EAAI,eAAEQ,GAAkB3uB,KAAKC,MAEpC0uB,EAAeR,EAAKjtB,GAAIO,IAGlB,KAAAmtB,kBAAqBntB,IAC3B,MAAM,KAAC0sB,EAAI,kBAAEU,GAAqB7uB,KAAKC,MAEvC4uB,EAAkBV,EAAKjtB,GAAIO,IAWrB,KAAAqtB,aAAe,KACrB,MAAM,KAACX,EAAI,WAAEY,GAAc/uB,KAAKC,MACZ,WAAhBkuB,EAAKhhB,OACPghB,EAAKhhB,OAAS,WAEdghB,EAAKhhB,OAAS,SAEhB4hB,EAAWZ,IA7KN,SACL,MAAM,KAACA,GAAQnuB,KAAKC,MAEpB,OACE,kBAAC,eAAY,CACXqB,OAAO,YACP2a,UAAWjc,KAAKgvB,aAChBC,YAAajvB,KAAKivB,YAClBnf,WAAY,aAAW5M,OACvB8M,OAAQ,gBAAcC,MACtBrF,UAAW,gBAAcC,KAEzB,kBAAC,GAAiB,CAChB2iB,aAAcW,EAAKX,aACnBC,cAAeU,EAAKV,gBAEtB,kBAAC,UAAO,CACN3d,WAAY,aAAWof,UACvBtkB,UAAW,gBAAcmF,OACzBC,OAAQ,gBAAckF,QAEtB,kBAAC,eAAaia,aAAY,CACxBtvB,QAASG,KAAKiuB,gBACdQ,SAAUzuB,KAAKwuB,iBACf/uB,KAAM0uB,EAAK1uB,KACX2vB,aAAc,KACd9tB,OAAO,kBACP+tB,aAAa,yBACbC,YAAY,qBAEd,kBAAC,eAAaC,KAAI,KACfvvB,KAAKwvB,aACN,oC,qBAAqBrB,EAAKsB,iBAC1B,oCAAG,oBAAoBzvB,KAAK0vB,aAE7B1vB,KAAKsT,SAMd,mBACE,MAAMqc,EAAY3vB,KAAKgvB,aAAe,SAAW,WACjD,OACE,kBAAC,UAAO,CAAChf,OAAQ,gBAAc0F,OAC7B,kBAAC,cAAW,CACV5T,OAAQ9B,KAAKgvB,aACbjsB,KAAM,gBAAcC,WACpB+H,SAAU/K,KAAK8uB,aACfxtB,OAAO,4BAET,kBAAC,aAAU,CAACQ,OAAQ9B,KAAKgvB,cAAeW,IAK9C,kBACE,MAAM,KAACxB,EAAI,QAAEyB,EAAO,SAAEnf,EAAQ,UAAEof,GAAa7vB,KAAKC,MAElD,OACE,kBAAC,KAAO,KACN,kBAAC,KAAQ6Q,KAAI,CAAC5O,KAAM,WAAS4tB,UAC3B,kBAAC,KAAQ/pB,KAAI,CAACtE,MAAM,SAAS2M,OAAQpO,KAAK0uB,eAC1C,kBAAC,KAAQ3oB,KAAI,CAACtE,MAAM,iBAAiB2M,OAAQpO,KAAKuuB,iBAClD,kBAAC,KAAQxoB,KAAI,CAACtE,MAAM,WAAW2M,OAAQyhB,EAAWltB,MAAOwrB,EAAKjtB,MAEhE,kBAAC,KAAQ4P,KAAI,CACX5O,KAAM,WAAS6tB,UACfpwB,MAAO,iBAAe2C,WAEtB,kBAAC,KAAQyD,KAAI,CAACtE,MAAM,QAAQ2M,OAAQwhB,EAASjtB,MAAOwrB,KAEtD,kBAAC,KAAQrd,KAAI,CACX5O,KAAM,WAAS8tB,MACfrwB,MAAO,iBAAewe,OACtB7c,OAAO,uBAEP,kBAAC,KAAQyE,KAAI,CACXtE,MAAM,SACN2M,OAAQqC,EACR9N,MAAOwrB,EACP7sB,OAAO,0BAoDjB,aACE,MAAM,KAAC6sB,EAAI,eAAEtB,GAAkB7sB,KAAKC,MAEpC,OACE,kBAAC,GAAY,CACXstB,iBAAkBY,EAAK7a,OACvBuZ,eAAgBA,EAChBlF,WAAY3nB,KAAK6qB,eACjBkC,cAAe/sB,KAAK4uB,oBAiB1B,mBACE,MAAM,KAACT,GAAQnuB,KAAKC,MACpB,MAAoB,WAAhBkuB,EAAKhhB,OAgBX,eACE,MAAM,KAACghB,GAAQnuB,KAAKC,MACpB,OAAIkuB,EAAK8B,OAAS9B,EAAK+B,OACd,SAAS/B,EAAK8B,iBAAiB9B,EAAK+B,SAEzC/B,EAAK8B,MACA,SAAS9B,EAAK8B,QAEnB9B,EAAKgC,KACAhC,EAAKgC,KAEP,IAIX,MAAM,GAAO,CACXxB,eAAgB,KAChBE,kBAAmB,MAKN,OAFG,YAAQ,KAAM,GAEjB,CAAU,YAAW,KClOrB,MAAM,WAAwB,gBACpC,SACL,MAAM,WACJjc,EAAU,SACVwd,EAAQ,WACRC,EAAU,aACV/J,EAAY,qBACZC,GACEvmB,KAAKC,MAET,OAAIowB,GAA6B,KAAfzd,EAEd,kBAAC,aAAU,CAACtR,OAAO,mBAAmByB,KAAM,gBAAckN,OACxD,kBAAC,aAAW0F,KAAI,KAAE,OAAO0a,iCAKZ,KAAfzd,EAEA,kBAAC,aAAU,CAACtR,OAAO,mBAAmByB,KAAM,gBAAckN,OACxD,kBAAC,aAAW0F,KAAI,K,iCACgB,oC,0BAEhC,kBAAC,GAAmB,CAClBkP,uBAAqB,EACrBV,YAAaiM,EACbhM,eAAgBkC,EAChBjC,iBAAkBkC,EAClB1C,aAAa,UAOnB,kBAAC,aAAU,CAACviB,OAAO,mBAAmByB,KAAM,gBAAckN,OACxD,kBAAC,aAAW0F,KAAI,0CCXT,MAAM,WAAkB,gBAKrC,YAAY1V,GACV6kB,MAAM7kB,GALA,KAAAqwB,sBAAwB,aAC9B,MAKAtwB,KAAKe,MAAQ,CACXwvB,eAAgB,KAChBC,qBAAqB,GAIlB,oBACLxwB,KAAKC,MAAMwwB,kBAGN,SACL,MAAM,WACJ7d,EAAU,SACVwd,EAAQ,WACRC,EAAU,aACV/J,EAAY,qBACZC,GACEvmB,KAAKC,MAET,OACE,oCACE,kBAAC,eAAY,KACX,kBAAC,eAAa+M,KAAI,CAChB0jB,WACE,kBAAC,GAAc,CACb9d,WAAYA,EACZwd,SAAUA,EACVC,WAAYA,EACZ/J,aAAcA,EACdC,qBAAsBA,KAIzBvmB,KAAK2wB,QAOhB,WACE,MAAM,MACJC,EAAK,QACLze,EAAO,cACPoT,EAAa,SACbD,EAAQ,WACRyJ,EAAU,SACVte,EAAQ,QACRmf,EAAO,SACPnB,EAAQ,UACRoB,EAAS,eACThD,GACE7sB,KAAKC,MAST,OAPoBD,KAAKswB,sBACvBM,EACAze,EACAoT,EACAD,GAGiB1f,IAAIuoB,GACrB,kBAAC,GAAQ,CACPzrB,IAAK,YAAYyrB,EAAKjtB,KACtBitB,KAAMA,EACNY,WAAYA,EACZte,SAAUA,EACVmf,QAASA,EACTnB,SAAUA,EACVoB,UAAWA,EACXhD,eAAgBA,MClGxB,MAAM,WAAuB,gBACpB,oBACD,KACF7sB,KAAKC,MAAM4wB,iBAIR,SACL,MAAM,OAAC1jB,GAAUnN,KAAKC,MACtB,OAAI,IAEA,kBAAC,mBAAgB,CAACgN,QAASE,EAAQD,iBAAkB,kBAAC,gBAAa,OAChElN,KAAKC,MAAMF,UAIXC,KAAKC,MAAMF,UAItB,MAMM,GAAO,CAAC8wB,eAAgB,MAIf,OAFG,YARL,EACXxuB,OACE8a,QAAShQ,eAEG,CAAEA,WAIc,GAEjB,CAAU,ICOV,OA/BoB,EAAEmX,cAAaT,eAAcvkB,eAC1D,KAASglB,IAAgB,KAAY7B,SAErC,kBAAC,cAAW,CACVrD,eAAgB,YAAUC,YAC1BC,YAAa,eAAaC,MAC1BjgB,UAAWA,GAEX,kBAAC,QAAK,CAAC+iB,gBAAiB,eAAa9C,MAAOjgB,UAAU,eACpD,kBAAC,QAAM2C,OAAM,KACX,kBAAC,UAAO,CAACkB,QAAS,iBAAe2tB,I,aACpBjN,E,MAGf,kBAAC,QAAM7W,KAAI,CAAC1N,UAAU,yBACpB,kBAAC,UAAO,CACN2D,eAAgB,iBAAe6H,QAC/BgF,WAAY,aAAWhF,QACvBimB,oBAAoB,GAEpB,kBAAC,GAAkB,CAACzT,WAAY,YAAYuG,UAQjD,K,mBCnBT,MAAM,WAAsB,gBAA5B,c,oBAmCU,KAAAmN,UAAY,OAiEZ,KAAAtC,aAAe,KACrB,MAAM,SAACrgB,EAAQ,aAAEwV,EAAY,iBAAEE,GAAoB/jB,KAAKC,MAClDR,EAAO,cAAI4O,EAAU,+BAAgCwV,GAC3DjM,GAAiBiC,KAAKC,UAAUzL,EAAU,KAAM,GAAI5O,EAAM,SAC1DskB,KAGM,KAAAkN,wBAA0B,KAChC,MAAM,SACJ5iB,EAAQ,iBACR0V,EAAgB,aAChBF,EAAY,6BACZqN,GACElxB,KAAKC,MAETixB,EAA6B7iB,EAAUwV,GACvCE,KA/GK,SACL,MAAM,UAACmG,EAAS,aAAErG,EAAY,iBAAEE,EAAgB,OAAE5W,GAAUnN,KAAKC,MAEjE,OACE,kBAAC,UAAO,CAAC6f,QAASoK,GAChB,kBAAC,UAAQtd,UAAS,CAACC,SAAU,KAC3B,kBAAC,OAAI,CAACgD,SAAU7P,KAAK0uB,cACnB,kBAAC,UAAQzsB,OAAM,CACb6K,MAAO,UAAU+W,IACjBlc,UAAWoc,IAEb,kBAAC,UAAQ/W,KAAI,KACX,kBAAC,mBAAgB,CACfC,QAASE,EACTD,iBAAkB,kBAAC,gBAAa,OAE/BlN,KAAKsX,cAGV,kBAAC,UAAQjU,OAAM,KACZrD,KAAKmxB,eACLnxB,KAAKoxB,iBACLpxB,KAAKqxB,eAUlB,kBAUE,OACE,yBACE/xB,UAAU,4BAA2B,cACzB,6BAEZ,kBAAC,aAAe,CACd0e,WAAW,EACXvU,YAAY,EACZ9G,MAAO3C,KAAKsxB,aACZ5nB,QAlBU,CACd1B,SAAU,EACVF,KAAM,OACNG,UAAU,EACVC,aAAa,EACbC,aAAa,EACbJ,MAAO,eACPK,gBAAgB,GAYZuB,eAAgB3J,KAAKgxB,UACrBpnB,aAAc5J,KAAKgxB,aAM3B,mBACE,OAAOnX,KAAKC,UAAU9Z,KAAKC,MAAMoO,SAAU,KAAM,GAGnD,iBACE,OACE,kBAACkjB,GAAA,EAAU,CACTC,WAAYxxB,KAAKsxB,aACjBG,YAAazxB,KAAKC,MAAM4jB,aACxB6N,WAAY1xB,KAAKC,MAAMyxB,WACvB3uB,KAAM,gBAAc2S,MACpB/V,MAAO,iBAAe2C,YAK5B,qBACE,OACE,kBAAC,SAAM,CACL5C,KAAK,gBACLG,QAASG,KAAK0uB,aACd/uB,MAAO,iBAAeC,UAK5B,uBACE,OACE,kBAAC,SAAM,CACLF,KAAK,mBACLG,QAASG,KAAKixB,wBACdtxB,MAAO,iBAAeC,WA9Fd,GAAAgI,aAAe,CAC3BsiB,WAAW,GAsHf,MAAM,GAAO,CACXgH,6BAA8B,MAKjB,OAFG,YAAQ,KAAM,GAEjB,CAAU,ICnJzB,MAAM,WAA0B,gBAAhC,c,oBAyBU,KAAAvpB,UAAY,KAClB,MAAM,QAACtI,EAAO,oBAAEsyB,GAAuB3xB,KAAKC,MAE5CZ,EAAQuyB,SACRD,KA5BK,oBACL,MACEztB,OACEI,QAAQ,GAACpD,IACV,kBACD2wB,GACE7xB,KAAKC,MAET4xB,EAAkB3wB,GAGb,SACL,MAAM,aAAC4wB,EAAY,OAAE3kB,GAAUnN,KAAKC,MAEpC,OACE,kBAAC,GAAa,CACZ4jB,aAAa,OACbxV,SAAUyjB,EACV/N,iBAAkB/jB,KAAK2H,UACvBwF,OAAQA,KAahB,MAKM,GAAO,CACX0kB,kBAAmB,KACnBF,oBAAqB,MAKR,OAFG,YAVJ5wB,IAAoB,CAChC+wB,aAAc/wB,EAAMuK,UAAUymB,UAAUC,eAAensB,KACvDsH,OAAQpM,EAAMuK,UAAUymB,UAAUC,eAAe7kB,SAQnB,GAEjB,CAAU,YAAW,KClCpC,IAAI8kB,GAAc,EAClB,MAAM,WAAoB,gBAWxB,YAAYhyB,GACV6kB,MAAM7kB,GA2CA,KAAAiyB,qBAAwBhE,IAC9BA,EAAMjP,kBA4FA,KAAAyK,aAAe,KACrB,MAAM,aAACA,GAAgB1pB,KAAKC,OACtB,cAACkyB,GAAiBnyB,KAAKe,MAE7B2oB,EAAayI,IAGP,KAAAC,gBAAmB9nB,IACzB,MAAM+nB,EAAO/nB,EAAEgoB,cAAcC,MAAM,GAEnC,IAAKF,EACH,OAGF/nB,EAAE2U,iBACF3U,EAAEwc,kBAEF,MAAM0L,EAAS,IAAIC,WACnBD,EAAOE,WAAWL,GAClBG,EAAOG,OAAS,KACd3yB,KAAKoK,SACH,CACE+nB,cAAeK,EAAOI,OACtBC,SAAUR,EAAK5yB,MAEjB,IAAMO,KAAK8yB,oBAKT,KAAAC,eAAkBzoB,IACxB,MAAM+nB,EAAO/nB,EAAE0oB,aAAaT,MAAM,GAKlC,GAJAvyB,KAAKoK,SAAS,CACZ6oB,UAAW,eAGRZ,EACH,OAGF/nB,EAAE2U,iBACF3U,EAAEwc,kBAEF,MAAM0L,EAAS,IAAIC,WACnBD,EAAOE,WAAWL,GAClBG,EAAOG,OAAS,KACd3yB,KAAKoK,SACH,CACE+nB,cAAeK,EAAOI,OACtBC,SAAUR,EAAK5yB,MAEjB,IAAMO,KAAKkzB,kBAmBT,KAAAC,eAAiB,KACvB,MAAM,cAAChB,GAAiBnyB,KAAKe,MACP,KAAlBoxB,GACFnyB,KAAKozB,UAAUra,SAIX,KAAAsa,iBAAmB,KACzB,MAAM,SAACC,GAAYtzB,KAAKC,MACxBD,KAAKoK,SAAS,CAAC+nB,cAAe,KAC9BnyB,KAAKozB,UAAUzwB,MAAQ,GACnB2wB,GACFA,KAII,KAAAC,gBAAmBjpB,IACzB2nB,IAAe,EACf3nB,EAAE2U,iBACFjf,KAAKoK,SAAS,CAAC6oB,UAAW,eAGpB,KAAAO,gBAAmBlpB,IACzB2nB,IAAe,EACf3nB,EAAE2U,iBACkB,IAAhBgT,IACFjyB,KAAKoK,SAAS,CAAC6oB,UAAW,eAtO5BjzB,KAAKe,MAAQ,CACX0yB,aAAc,KACdtB,cAAe,GACfU,SAAU,GACVI,UAAW,aAIR,oBACLxa,OAAOiS,iBAAiB,WAAY1qB,KAAKkyB,sBACzCzZ,OAAOiS,iBAAiB,OAAQ1qB,KAAK+yB,gBACrCta,OAAOiS,iBAAiB,YAAa1qB,KAAKuzB,iBAC1C9a,OAAOiS,iBAAiB,YAAa1qB,KAAKwzB,iBAGrC,uBACL/a,OAAOib,oBAAoB,WAAY1zB,KAAKkyB,sBAC5CzZ,OAAOib,oBAAoB,OAAQ1zB,KAAK+yB,gBACxCta,OAAOib,oBAAoB,YAAa1zB,KAAKuzB,iBAC7C9a,OAAOib,oBAAoB,YAAa1zB,KAAKwzB,iBAGxC,SACL,OACE,yBAAKl0B,UAAWU,KAAK2zB,gBACnB,yBAAKr0B,UAAWU,KAAK4zB,cAAe/zB,QAASG,KAAKmzB,gBAC/CnzB,KAAK6zB,eACN,yBAAKv0B,UAAWU,KAAK8zB,YACrB,2BACEnvB,KAAK,OACL0nB,IAAKnY,GAAMlU,KAAKozB,UAAYlf,EAC5B5U,UAAU,uBACVy0B,OAAQ/zB,KAAKg0B,kBACbjpB,SAAU/K,KAAKoyB,kBAEhBpyB,KAAKi0B,UAUd,wBACE,MAAM,kBAACD,GAAqBh0B,KAAKC,MAEjC,OAAK+zB,GACI,IAMX,qBACE,MAAM,UAACf,GAAajzB,KAAKe,OACnB,QAACmzB,EAAO,UAAE50B,GAAaU,KAAKC,MAElC,OAAO,IAAW,gBAAiB,CACjCi0B,UACA,CAACjB,IAAY,EACb,CAAC3zB,GAAYA,IAIjB,gBACE,MAAM,cAAC6yB,GAAiBnyB,KAAKe,MAE7B,OAAO,IAAW,yBAA0B,CAACozB,QAAShC,IAGxD,oBACE,MAAM,cAACA,GAAiBnyB,KAAKe,MAE7B,OAAO,IAAW,sBAAuB,CAACe,QAASqwB,IAGrD,qBACE,MAAM,cAACA,EAAa,SAAEU,GAAY7yB,KAAKe,MAEvC,OAAIoxB,EACK,yBAAK7yB,UAAU,kCAAkCuzB,GAIxD,yBAAKvzB,UAAU,+BAA6B,uCAMhD,cACE,MAAM,cAAC6yB,GAAiBnyB,KAAKe,OACvB,WAACqzB,EAAU,aAAElB,GAAgBlzB,KAAKC,MAExC,OAAKkyB,EAIDe,EAEA,0BAAM5zB,UAAU,0BACd,kBAAC,SAAM,CACLK,MAAO,iBAAe0N,QACtB3N,KAAK,SACLqD,KAAM,gBAAcmS,OACpBvQ,KAAM,aAAWyM,OACjBvR,QAASG,KAAKqzB,oBAOpB,0BAAM/zB,UAAU,0BACd,kBAAC,SAAM,CACLK,MAAO,iBAAeC,QACtBF,KAAM00B,EACNrxB,KAAM,gBAAcmS,OACpBvQ,KAAM,aAAW2L,OACjBzQ,QAASG,KAAK0pB,eAEhB,kBAAC,SAAM,CACL/pB,MAAO,iBAAe0N,QACtB3N,KAAK,SACLqD,KAAM,gBAAcmS,OACpBvQ,KAAM,aAAW2L,OACjBzQ,QAASG,KAAKqzB,oBA/BX,KA6FH,eACN,MAAM,aAACH,GAAgBlzB,KAAKC,MACxBizB,GACFlzB,KAAK0pB,eAID,iBACN,MAAM,eAACoJ,GAAkB9yB,KAAKC,MAC1B6yB,GACF9yB,KAAK0pB,gBArNK,GAAA9hB,aAAe,CAC3BwsB,WAAY,kBACZlB,cAAc,EACdJ,gBAAgB,EAChBoB,SAAS,EACT50B,UAAW,IAmPA,ICjQV+0B,GDiQU,OCjQf,SAAKA,GACH,kBACA,gBAFF,CAAKA,QAAY,KAqBjB,MAAM,WAAsB,gBAA5B,c,oBAKS,KAAAtzB,MAAe,CACpBuzB,qBAAsBD,GAAaE,OACnCC,cAAe,IA4ET,KAAAC,qBACNnqB,IAEA,MAAM,aAACoqB,EAAe,UAAY10B,KAAKC,MACjCu0B,EAAgBlqB,EAAEhH,OAAOX,MAC/B3C,KAAK20B,uBAAuBH,GAC5BE,EAAa,kBAAgBrnB,UAwBvB,KAAAunB,OAAS,KACf,MAAM,cAACJ,GAAiBx0B,KAAKe,OACvB,SACJ8O,EACA3L,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MAET4P,EAAS2kB,EAAenwB,GACxBrE,KAAK60B,sBAGC,KAAAA,mBAAqB,KAC3B70B,KAAKoK,SAAS,CAACrJ,EAAOd,KACpB,MAAM,OAACkN,EAAS,kBAAgBE,SAAWpN,EAC3C,OAAOkN,IAAW,kBAAgBnG,MAAQ,OAAD,UAAKjG,GAAS,CAACyzB,cAAe,OAInE,KAAA7sB,UAAY,KAClB,MAAM,iBAACoc,GAAoB/jB,KAAKC,MAChCD,KAAK60B,qBACL9Q,KAGM,KAAA+Q,sBAAyBR,IAC/Bt0B,KAAK60B,qBACL70B,KAAKoK,SAAS,CAACkqB,0BAGT,KAAAK,uBAA0BH,IAChCx0B,KAAKoK,SAAS,CAACoqB,mBAvIV,SACL,MAAM,UAACtK,EAAS,aAAErG,GAAgB7jB,KAAKC,OACjC,qBAACq0B,GAAwBt0B,KAAKe,MAEpC,OACE,kBAAC,UAAO,CAAC+e,QAASoK,EAAW5oB,OAAO,wBAClC,kBAAC,UAAQsL,UAAS,CAACC,SAAU,KAC3B,kBAAC,OAAI,CAACgD,SAAU7P,KAAK40B,QACnB,kBAAC,UAAQ3yB,OAAM,CACb6K,MAAO,UAAU+W,IACjBlc,UAAW3H,KAAK2H,YAElB,kBAAC,UAAQqF,KAAI,KACX,yBAAK1N,UAAU,mBACb,kBAAC,cAAW,KACV,kBAAC,cAAYwV,OAAM,CACjBrV,KAAK,cACLyB,GAAImzB,GAAaE,OACjBzyB,OAAQwyB,IAAyBD,GAAaE,OAC9C5xB,MAAO0xB,GAAaE,OACpB10B,QAASG,KAAK80B,sBACd/f,UAAU,UAAQ,eAIpB,kBAAC,cAAYD,OAAM,CACjBrV,KAAK,cACLyB,GAAImzB,GAAaU,MACjBjzB,OAAQwyB,IAAyBD,GAAaU,MAC9CpyB,MAAO0xB,GAAaU,MACpBl1B,QAASG,KAAK80B,sBACd/f,UAAU,SAAO,gBAMtB/U,KAAKg1B,YAER,kBAAC,UAAQ3xB,OAAM,KAAErD,KAAKi1B,iBAOhC,iBACE,MAAM,qBAACX,EAAoB,cAAEE,GAAiBx0B,KAAKe,OAC7C,OAACoM,EAAS,kBAAgBE,SAAWrN,KAAKC,MAEhD,OAAIq0B,IAAyBD,GAAaE,OAEtC,kBAAC,GAAW,CACVH,WAAW,SACX1K,aAAc1pB,KAAK20B,uBACnBzB,cAAc,EACdJ,gBAAgB,EAChBQ,SAAUtzB,KAAK60B,qBAIjBP,IAAyBD,GAAaU,MAEtC,kBAAC,WAAQ,CACP5nB,OAAQA,EACRxK,MAAO6xB,EACPzpB,SAAU/K,KAAKy0B,qBACfnzB,OAAO,kCANb,EAqBF,mBACE,MAAM,aAACuiB,GAAgB7jB,KAAKC,OACtB,qBAACq0B,EAAoB,cAAEE,GAAiBx0B,KAAKe,MAI7CoM,EAFJmnB,IAAyBD,GAAaU,OACrCT,IAAyBD,GAAaE,QAAUC,EAE/C,kBAAgBnnB,QAChB,kBAAgBgE,SAEpB,OACE,kBAAC,SAAM,CACL3R,KAAM,kBAAkBmkB,IACxBviB,OAAQ,iBAAiBuiB,IACzBlkB,MAAO,iBAAeC,QACtBuN,OAAQA,EACRxI,KAAM,aAAW2L,UA3GT,GAAA1I,aAAqC,CACjDsiB,WAAW,GAmJA,mBAAW,I,qBCpK1B,MAAM,WAA0B,gBAAhC,c,oBACS,KAAAnpB,MAAe,CACpBoM,OAAQ,kBAAgBE,SAelB,KAAA1F,UAAY,KAClB,MAAM,QAACtI,GAAWW,KAAKC,MAEvBZ,EAAQuyB,UAGF,KAAAsD,oBAAuB/nB,GAC7BnN,KAAKoK,SAAS,KAAM,CAAE+C,YAEhB,KAAAgoB,iBAAoBC,IAC1B,MAAM,uBAACC,EAAsB,OAAEC,GAAUt1B,KAAKC,MAE9C,IAAIyZ,EACJ1Z,KAAKk1B,oBAAoB,kBAAgB7nB,SACzC,IACEqM,EAAW,KAAS6b,MAAMH,GAC1B,MAAO/oB,GAGP,OAFArM,KAAKk1B,oBAAoB,kBAAgBluB,YACzCsuB,EAAO,cAAYjpB,EAAM/E,UAI3B+tB,EAAuB3b,GACvB1Z,KAAK2H,aAnCA,SACL,OACE,kBAAC,GAAa,CACZoc,iBAAkB/jB,KAAK2H,UACvBkc,aAAa,OACbhU,SAAU7P,KAAKm1B,iBACfhoB,OAAQnN,KAAKe,MAAMoM,OACnBunB,aAAc10B,KAAKk1B,uBAgC3B,MAAM,GAAO,CACXG,uBAAwB,KACxBC,OAAQ,KAKK,OAFG,YAAQ,KAAM,GAEjB,CAAU,YAAW,KCxDpC,MAAM,WAA+B,gBAC5B,SACL,OACE,kBAAC,mBAAgB,CACfh2B,UAAU,mCACVk2B,UAAU,GAEV,kBAAC,QAAK,CACJl0B,OAAO,iBACPhC,UAAU,kCAEV,kBAAC,QAAM0N,KAAI,CAACjK,KAAM,gBAAcmS,QAC7BlV,KAAKy1B,iBAOhB,oBACE,MAAM,wBAACC,GAA2B11B,KAAKC,MAEvC,OAAKy1B,EASH,kBAAC,OAAI,KACH,kBAAC,OAAK7qB,IAAG,KACP,kBAAC,OAAKkF,OAAM,CAACkH,QAAS,UAAQD,QAC3BhX,KAAK21B,aACL31B,KAAK41B,qBAEP51B,KAAKC,MAAM41B,WACV,kBAAC,OAAK9lB,OAAM,CAACkH,QAAS,UAAQC,KAC5B,wBAAI5X,UAAU,oCAAkC,aAC/CU,KAAK81B,eAGT91B,KAAKC,MAAM81B,OACV,kBAAC,OAAKhmB,OAAM,CAACkH,QAAS,UAAQC,KAC5B,wBAAI5X,UAAU,oCAAkC,SAC/CU,KAAKg2B,aAtBZ,kBAAC,aAAU,CAACjzB,KAAM,gBAAcmS,QAC9B,kBAAC,aAAWS,KAAI,yCA6BxB,oBACE,MAAM,UAACkgB,GAAa71B,KAAKC,MAEzB,OAAK41B,EAAUr1B,OAQRq1B,EAAUjwB,IAAI,CAACqwB,EAAU9iB,IAC9B,uBACE7T,UAAU,qCACVoD,IAAK,GAAGyQ,KAAK8iB,KAEZA,IAXD,uBAAG32B,UAAU,6CAA2C,yBAgB9D,gBACE,MAAM,MAACy2B,GAAS/1B,KAAKC,MAErB,OAAK81B,EAAMv1B,OAQJu1B,EAAMnwB,IAAI,CAACswB,EAAM/iB,IACtB,uBAAG7T,UAAU,qCAAqCoD,IAAK,GAAGyQ,KAAK+iB,KAC5DA,IARD,uBAAG52B,UAAU,6CAA2C,qBAa9D,0BACE,MAAM,wBAACo2B,GAA2B11B,KAAKC,MACjCuP,EAAc,IAAE6J,IAAIqc,EAAyB,oBAEnD,OAAIlmB,EAEA,uBAAGlQ,UAAU,wCAAwCkQ,GAKvD,uBAAGlQ,UAAU,gDAA8C,kBAM/D,mBACE,MAAM,wBAACo2B,GAA2B11B,KAAKC,MACjCR,EAAO,IAAE4Z,IAAIqc,EAAyB,aAEtCC,EAAel2B,GAAQ,WACvBH,EAAYG,EACd,gCACA,wCAEJ,OAAO,wBAAIH,UAAWA,GAAYq2B,IAIvB,UCjIf,MAAM,WAAwB,gBAA9B,c,oBAyBU,KAAA9O,YAAc,KACpB,MAAM,QAAChnB,EAAO,SAAE6Z,GAAY1Z,KAAKC,MAEjCJ,EAAQ6Z,IA3BH,SACL,MAAM,OAACpY,EAAM,MAAEG,GAASzB,KAAKC,MAE7B,OACE,yBACEX,UAAWU,KAAKV,UAAS,cACZgC,EACbzB,QAASG,KAAK6mB,aAEd,kBAAC,OAAI,CACH1kB,MAAO,WAASg0B,KAChB72B,UAAU,uCAEZ,0BAAMA,UAAU,uCAAuCmC,IAK7D,gBACE,MAAM,SAACuQ,GAAYhS,KAAKC,MAExB,OAAO,IAAW,oCAAqC,CAAC6B,OAAQkQ,KAUrD,UCjCf,MAAM,WAAwB,gBACrB,SACL,MAAM,wBAAC0jB,EAAuB,UAAE3D,EAAS,iBAAE1N,GAAoBrkB,KAAKC,MAEpE,OACE,kBAAC,mBAAgB,CACfX,UAAU,qCACVk2B,UAAU,EACVxO,WAAW,GAEV,kBAAQ+K,EAAW,CAAC,EAAEqE,MAAO32B,WAAWA,EAAKyT,sBAAsBtN,IAClEuI,GACE,kBAACkoB,GAAuB,CACtB3zB,IAAKyL,EAAEjN,GACPwY,SAAUvL,EACV1M,MAAO0M,EAAEioB,KAAK32B,KACdI,QAASwkB,EACT/iB,OAAQ,aAAa6M,EAAEioB,KAAK32B,OAC5BuS,SAAU,cAAI0jB,EAAyB,KAAM,MAAQvnB,EAAEjN,QAStD,UCxBf,MAAM,WAAwB,gBACrB,SACL,MAAM,wBACJw0B,EAAuB,MACvBK,EAAK,UACLF,EAAS,iBACTS,EAAgB,UAChBvE,EAAS,iBACT1N,GACErkB,KAAKC,MAET,OACE,yBAAKX,UAAU,2BACb,kBAACi3B,GAAmB,CAClBxE,UAAWA,EACX1N,iBAAkBA,EAClBqR,wBAAyBA,IAE3B,kBAAC,GAAsB,CACrBK,MAAOA,EACPF,UAAWA,EACXH,wBAAyBA,EACzBY,iBAAkBA,MAOb,UCtBf,MAAM,WAA6B,gBAAnC,c,oBAoBU,KAAAE,kBAAoB,KAC1B,MAAM,QAACn3B,EAAO,IAAE2B,GAAOhB,KAAKC,MAE5BZ,EAAQS,KAAK,SAASkB,EAAIE,iCAtBrB,SACL,OACE,yBAAK5B,UAAU,kCACb,kBAAC,aAAU,CAACyD,KAAM,gBAAckN,OAC9B,kBAAC,aAAW0F,KAAI,K,iCACgB,wC,6BAGhC,kBAAC,SAAM,CACL5S,KAAM,gBAAcmS,OACpBxV,KAAK,kBACLwC,KAAM,WAAS4tB,SACfjwB,QAASG,KAAKw2B,uBAkBX,mBAJDz1B,IAAoB,CAChCC,IAAK,YAAOD,KAKZ,KAFa,CAGb,YAAW,KCxDN,MAAM01B,GAAS,CAAC11B,EAAiBsN,KACtC,MAAM,UAAC/C,GAAavK,EACd21B,EAAmBprB,EAAU+C,GAAUqoB,OACvClrB,EAAOF,EAAU+C,GAAU7C,KACjC,OAAOkrB,EAAO9wB,IAAI1E,GAAMsK,EAAKtK,KCmC/B,MAAM,WAAsC,gBAI1C,YAAYjB,GACV6kB,MAAM7kB,GA8DA,KAAA02B,qBAAuB7L,MAC7B4K,IAEA,MAAMY,QAAyB,aAAgBZ,EAAwBx0B,IAEvElB,KAAKoK,SAAS,CACZsrB,0BACAY,sBAII,KAAA3uB,UAAY,KAClB,MAAM,QAACtI,EAAO,MAAE6E,GAASlE,KAAKC,MAC9BZ,EAAQS,KAAK,SAASoE,EAAMI,OAAOD,gBAG7B,KAAAwL,SAAW,KACjB,MAAM,uBAACwlB,GAA0Br1B,KAAKC,MAGtCo1B,EAFqBr1B,KAAKe,MAAMu1B,kBAGhCt2B,KAAK2H,aAlFL3H,KAAKe,MAAQ,CACX20B,wBAAyB,KACzBY,iBAAkB,MAItB,SACE,OACE,kBAAC,UAAO,CAACxW,SAAS,EAAMxe,OAAO,iCAC7B,kBAACuV,GAAA,EAAY,CAACvL,UAAW,CAAC,eAAaua,YACrC,kBAAC,UAAQjZ,UAAS,CAACC,SAAU,KAC3B,kBAAC,UAAQ5K,OAAM,CACb6K,MAAM,8BACNnF,UAAW3H,KAAK2H,YAElB,kBAAC,UAAQqF,KAAI,KAAEhN,KAAKsX,aACpB,kBAAC,UAAQjU,OAAM,KACb,kBAAC,SAAM,CACL3D,KAAK,SACLG,QAASG,KAAK2H,UACdjF,IAAI,kBAEN,kBAAC,SAAM,CACLhD,KAAK,cACLG,QAASG,KAAK6P,SACdnN,IAAI,gBACJpB,OAAO,qBACP3B,MAAO,iBAAeoH,QACtBoG,OAAQnN,KAAK42B,mBAS3B,kBACE,MAAM,wBAAClB,EAAuB,iBAAEY,GAAoBt2B,KAAKe,OACnD,UAACgxB,GAAa/xB,KAAKC,MAEzB,OAAK8xB,EAAUvxB,OAKb,kBAAC,GAAe,CACduxB,UAAWA,EACXuE,iBAAkBA,EAClBZ,wBAAyBA,EACzBrR,iBAAkBrkB,KAAK22B,uBARlB,kBAAC,GAAoB,MAahC,mBACE,MAAM,iBAACL,GAAoBt2B,KAAKe,MAEhC,OAAOu1B,EAAmB,kBAAgBjpB,QAAU,kBAAgBgE,UA4BxE,MAqBM,GAAO,CACXgkB,uBAAwB,MAKX,OAFG,YAzBJt0B,IACZ,MACEuK,WACEymB,WAAW,OAAC5kB,KAEZpM,EAEE81B,EADQJ,GAAO11B,EAAO,eAAa8kB,WACTxW,OAC9BlB,IAAMA,EAAEioB,KAAKzxB,MAAQwJ,EAAEioB,KAAKzxB,OAAS,eAAamyB,MAOpD,MAAO,CACL/E,UALgB,iBAAO8E,EAAmBhxB,GAC1CA,EAAKuwB,KAAK32B,KAAKyT,qBAKf6jB,eAAgB5pB,IAQY,GAEjB,CAAU,YAAW,K,UCrGpC,MAAM6pB,GAAS,KAGf,IAAM,GAAN,cAAwB,gBACtB,YAAY/2B,GACV6kB,MAAM7kB,GA0GA,KAAAg3B,WAAa,CACnB9kB,EACAoT,EACAD,KAEAtlB,KAAKoK,SAAS,CAAC+H,UAASoT,gBAAeD,cAGjC,KAAA4R,eAAkB/I,IACxBnuB,KAAKC,MAAMk3B,iBAAiBhJ,IAGtB,KAAAiJ,aAAgBjJ,IACtBnuB,KAAKC,MAAMo3B,WAAWlJ,EAAKjtB,KAGrB,KAAAo2B,YAAenJ,IACrBnuB,KAAKC,MAAMs3B,UAAUpJ,IAGf,KAAAqJ,iBAAmB,KACzB,MAAM,QACJn4B,EACA6E,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MAETZ,EAAQS,KAAK,SAASuE,gBAGhB,KAAAozB,gCAAkC,KACxC,MAAM,QACJp4B,EACA6E,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MAETZ,EAAQS,KAAK,SAASuE,4BAGhB,KAAAqzB,oBAAsB,KAC5B,MAAM,QACJr4B,EACA6E,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MAETZ,EAAQS,KAAK,SAASuE,mBA1JtBpE,EAAMqgB,cAAc,IACfrgB,EAAMomB,cACTpmB,EAAMmmB,kBAGRpmB,KAAKe,MAAQ,CACX42B,aAAa,EACbpH,eAAgB,KAChBpe,QAAS,OACToT,cAAe,OAAKzJ,UACpBwJ,SAAU,KAAUxR,QAIjB,SACL,MAAM,QAAC3B,EAAO,cAAEoT,EAAa,SAAED,GAAYtlB,KAAKe,OAC1C,cACJuf,EAAa,eACbsX,EAAc,WACdhlB,EAAU,gBACVwT,EAAe,aACfC,EAAY,eACZsI,EAAc,UACdkB,EAAS,gBACTY,EAAe,YACfnM,GACEtkB,KAAKC,MAET,OACE,oCACE,kBAAC,OAAI,CAACijB,SAAUJ,GAAkB,CAAC,WACjC,kBAAC,GAAW,CACVqD,aAAcnmB,KAAKw3B,iBACnBpR,gBAAiBA,EACjBC,aAAcA,EACdC,aAActmB,KAAK03B,oBACnBnR,qBAAsBvmB,KAAKy3B,gCAC3BnT,YAAaA,EACb1R,WAAYA,EACZ0N,cAAeA,EACfnO,QAASA,EACToT,cAAeA,EACfD,SAAUA,EACVkB,OAAQxmB,KAAKi3B,aAEf,kBAAC,OAAK5T,SAAQ,CAACF,WAAW,EAAOzS,YAAY,GAC3C,kBAACmG,GAAA,EAAY,CAACvL,UAAW,CAAC,eAAaoa,MAAO,eAAaE,SACzD,kBAAC,GAAc,KACb,kBAACoR,GAAM,CACL9kB,KAAMlS,KAAK63B,cACXjlB,WAAYA,EACZW,WAAY,CAAC,OAAQ,kBAEpBukB,GACC,kBAAC,GAAS,CACRllB,WAAYA,EACZge,MAAOkH,EACPzH,WAAYrwB,KAAK+3B,eACjBhJ,WAAY/uB,KAAKk3B,eACjBzmB,SAAUzQ,KAAKo3B,aACfhH,SAAUpwB,KAAKw3B,iBACf5H,QAAS5vB,KAAKs3B,YACd3I,eAAgBA,EAChBkB,UAAWA,EACXhD,eAAgBvM,EAChBmO,SAAUmJ,EACVtR,aAActmB,KAAK03B,oBACnBnR,qBACEvmB,KAAKy3B,gCAEPtlB,QAASA,EACToT,cAAeA,EACfD,SAAUA,EACVmL,gBAAiBA,KAItBzwB,KAAKg4B,gBACN,kBAAC,GAAe,CACdnU,aAAa,QACbS,YAAaA,QAMvB,kBAAC,IAAM,KACL,kBAAC,IAAK,CACJ5jB,KAAK,gCACLu3B,UAAW,KAEb,kBAAC,IAAK,CACJv3B,KAAK,qCACLu3B,UAAW,KAEb,kBAAC,IAAK,CACJv3B,KAAK,4BACLu3B,UAAW,OA4DrB,oBACE,MAAM,MAACrH,EAAK,aAAEvK,GAAgBrmB,KAAKC,MAUnC,OATsB2wB,EAAMvhB,OAAOlB,IACjC,IAAI+pB,GAAe,EAKnB,OAJK7R,IACH6R,EAA4B,WAAb/pB,EAAEhB,QAGZ+qB,IAMX,qBACE,OAAOl4B,KAAKC,MAAM2wB,MAAMpwB,OAG1B,sBACE,MAAM,aAAC6lB,EAAY,MAAEuK,GAAS5wB,KAAKC,MAE7Bk4B,EAAcvH,EAAMvhB,OAAOlB,GAAkB,aAAbA,EAAEhB,QAAuB3M,OAI/D,GAF0B23B,IAAgBvH,EAAMpwB,QAEvB6lB,EACvB,OAAO,KAGT,GAAI8R,EAAa,CACf,MAAMC,EAA6B,IAAhBD,EAAoB,GAAK,IACtCE,EAAuB,IAAhBF,EAAoB,KAAO,MAExC,OACE,yBAAK74B,UAAU,sBAAsB,GAAG64B,kBAA4BC,KAAcC,yBAnMpF,GAAS,aADd,I,2CACK,IAyMN,MAgBM,GAAO,CACXlB,iBAAA,KACAS,eAAA,KACAP,WAAA,KACAE,UAAA,KACAjX,cAAe,KACf8F,gBAAiB,KACjBuI,eAAgB,KAChBkB,UAAW,KACXY,gBAAiB,MAKJ,OAFG,YA5BJ1vB,IACZ,MAAM,UACJuK,EACAjJ,OAAO,OAAC8a,IACNpc,GACE,OAACoM,EAAM,WAAEyF,EAAU,aAAEyT,GAAgB/a,EAAUslB,MAErD,MAAO,CACLA,MAAO,aAAa7vB,EAAO,eAAa2kB,OACxCvY,OAAQA,EACRyF,aACAyT,eACA/B,YAAa,aAAkBnH,KAgBH,GAEjB,CAAU,ICpRV,MAAM,WAA+B,gBAC3C,SACL,MAAM,OAAC+S,EAAM,cAAE1S,EAAa,SAAE8a,EAAQ,KAAEnI,EAAI,SAAET,GAAY1vB,KAAKC,MAE/D,OACE,oCACE,kBAAC,OAAK8P,OAAM,CAACgH,QAAS,UAAQG,KAC5B,kBAAC,OAAK/G,QAAO,CACX1O,MAAOiuB,IAAa,eAAa4I,SAAW,QAAU,QAEtD,kBAAC,QAAK,CACJ74B,KAAMiwB,EACN/qB,KAAM,YAAUgR,KAChBrN,YACEonB,IAAa,eAAa4I,SAAW,QAAU,YAEjD31B,MAAO+sB,IAAa,eAAa4I,SAAWA,EAAWnI,EACvDplB,SAAU/K,KAAKC,MAAMud,cACrBlc,OAAO,+BAKb,kBAAC,OAAKyO,OAAM,CAACgH,QAAS,UAAQG,KAC5B,kBAAC,OAAK/G,QAAO,CAAC1O,MAAM,UAClB,kBAAC,QAAK,CACJhC,KAAK,SACLkF,KAAM,YAAUgR,KAChBhT,MAAOutB,EACP5nB,YAAY,MACZyC,SAAUyS,EACVlc,OAAO,+BCtBrB,MAAM,WAAkC,gBAC/B,oBACLtB,KAAKu4B,qBAGA,mBAAmB9rB,GACpBzM,KAAKC,MAAM2O,UAAYnC,EAAUmC,SACnC5O,KAAKu4B,qBAIF,SACL,MAAM,mBAACC,GAAsBx4B,KAAKC,MAElC,OACE,kBAAC,WAAQ,CACPuH,OAAQ,CAAC1F,EAAQjC,IACf,kBAAC,WAASuR,OAAM,CACdtP,OAAQA,EACRjC,QAASA,EACTsN,OAAQnN,KAAKmN,OACb7L,OAAO,wCAENk3B,GAGL3zB,KAAM2X,GACJ,kBAAC,WAAS1L,KAAI,CAAC0L,WAAYA,GACxBxc,KAAKy4B,iBAOhB,oBACE,MAAM,QAAC7pB,GAAW5O,KAAKC,MAEvB,OAAK2O,GAAYA,EAAQpO,OAQAoO,EAAQS,OAC/B+H,IAAW,aAAeA,EAAO3X,OAGXmG,IAAIwR,GAExB,kBAAC,WAASrR,KAAI,CACZ7E,GAAIkW,EAAO3X,KACXiD,IAAK0U,EAAO3X,KACZkD,MAAOyU,EAAO3X,KACdI,QAASG,KAAKC,MAAMy4B,mBACpB1mB,SAAUoF,EAAO3X,OAASO,KAAK24B,cAE9BvhB,EAAO3X,OApBL,CACL,kBAAC,WAASsG,KAAI,CAAC7E,GAAG,aAAawB,IAAI,aAAaC,MAAM,cAAY,4BAyBxE,aACE,MAAM,OAACwK,EAAM,QAAEyB,GAAW5O,KAAKC,MAC/B,OAAIkN,IAAW,kBAAgBf,QACtB,kBAAgBA,QAEpBwC,GAAYA,EAAQpO,OAGlB,kBAAgB6M,QAFd,kBAAgBgE,SAK3B,mBACE,MAAM,mBAACmnB,EAAkB,QAAE5pB,GAAW5O,KAAKC,MAE3C,OAAI2O,GAAWA,EAAQpO,OACjBg4B,GAGG,cAAI5pB,EAAS,SAAU,IAEzB,aAGD,qBACN,MAAM,QAACA,EAAO,mBAAE4pB,EAAkB,mBAAEE,GAAsB14B,KAAKC,MACzD24B,EAAwB,cAAIhqB,EAAS,SAAU,IAEjD4pB,GAIJE,EAAmBE,IAgBR,mBAZD73B,IAMZ,MAAO,CACL6N,QANc,aAAe7N,EAAO,eAAa+V,SAASzH,OACzD+H,GAA4C,WAAhBA,EAAOzS,MAMpCwI,OAJa,aAAUpM,EAAO,eAAa+V,WAU7C,KAFa,CAGb,IClGa,MAAM,WAAiB,gBASpC,YAAY7W,GACV6kB,MAAM7kB,GA6IA,KAAA44B,yBAA4BnJ,IAClC1vB,KAAKC,MAAM64B,qBAAqBpJ,IA5IhC1vB,KAAKe,MAAQ,CACX2uB,SAAUzvB,EAAM84B,YAAYC,kBAIzB,SACL,MAAM,cACJxb,EAAa,qBACbyb,EACAF,aAAa,KACXt5B,EAAI,iBACJu5B,EAAgB,SAChBV,EAAQ,OACRpI,EAAM,KACNC,EAAI,aACJ+I,GACD,YACDC,GACEn5B,KAAKC,MAET,OACE,kBAAC,OAAI,KACH,kBAAC,OAAI,KACH,kBAAC,OAAK4K,IAAG,KACP,kBAAC,OAAKkF,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK7G,QAAO,CAAC1O,MAAM,QAClB,kBAAC,QAAK,CACJhC,KAAK,OACL6I,YAAY,iBACZyC,SAAUyS,EACV7a,MAAOlD,EACP6B,OAAO,qBAIb,kBAAC,OAAKyO,OAAM,KACV,kBAAC,OAAKI,QAAO,CAAC1O,MAAM,iBAClB,kBAAC,UAAO,CACNmJ,UAAW,gBAAcmF,OACzBD,WAAY,aAAWof,UACvBlf,OAAQ,gBAAc0F,OAEtB,kBAAC,cAAW,CAACd,MAAO,cAAYC,cAC9B,kBAAC,cAAYC,OAAM,CACjBrV,KAAK,gBACLyB,GAAG,QACHY,OAAQk3B,IAAqB,eAAaV,SAC1C31B,MAAO,eAAa21B,SACpBvjB,UAAU,gCACVlV,QAASG,KAAK64B,yBACdv3B,OAAO,uBAAqB,SAI9B,kBAAC,cAAYwT,OAAM,CACjBrV,KAAK,gBACLyB,GAAG,OACHY,OAAQk3B,IAAqB,eAAa7I,KAC1CxtB,MAAO,eAAawtB,KACpBpb,UAAU,mDACVlV,QAASG,KAAK64B,yBACdv3B,OAAO,sBAAoB,SAK9BtB,KAAKo5B,cAIZ,kBAAC,GAAqB,CACpB5b,cAAeA,EACfkS,SAAUsJ,EACVV,SAAUA,EACVpI,OAAQA,EACRC,KAAMA,IAEPgJ,GACC,kBAAC,OAAKppB,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK7G,QAAO,CAAC1O,MAAM,iBAClB,kBAACoV,GAAA,EAAY,CAACvL,UAAW,CAAC,eAAawL,UACrC,kBAAC,GAAyB,CACxB0hB,mBAAoBU,EACpBR,mBAAoBO,OAM7BE,GAAen5B,KAAKi0B,WAO/B,cACE,MAAM,SAACpkB,EAAQ,UAAEwpB,EAAS,QAAEC,GAAWt5B,KAAKC,MAC5C,OACE,kBAAC,OAAK8P,OAAM,CAACgH,QAAS,UAAQC,QAC5B,kBAAC,OAAK3T,OAAM,KACV,kBAAC,SAAM,CACL3D,KAAK,SACLG,QAASy5B,EACTvkB,UAAU,cACVpQ,KAAM,aAAWyM,SAEnB,kBAAC,SAAM,CACL1R,KAAK,eACLC,MAAO,iBAAeoH,QACtBpC,KAAM,aAAW2L,OACjBzQ,QAASgQ,EACT1C,OACEksB,EAAY,kBAAgBhsB,QAAU,kBAAgBgE,SAExD/P,OAAO,qBAOjB,iBACE,MAAM,YAACy3B,GAAe/4B,KAAKC,MAE3B,GAAI84B,EAAYC,mBAAqB,eAAa7I,KAChD,OACE,kBAAC,OAAK5G,IAAG,KACP,uBAAGjqB,UAAU,uB,uCAC0B,IACrC,uBAAGqC,KAAK,wBAAwB2B,OAAO,UAAQ,iBA7I3C,GAAAsE,aAAe,CAC3BuxB,aAAa,EACbE,WAAW,EACXxpB,SAAU,OACVypB,QAAS,OACTL,qBAAsB,QC/BX,MAAM,WAAmB,gBAC/B,SACL,MAAM,SAAC3F,EAAQ,OAAEiG,EAAM,MAAEzsB,GAAS9M,KAAKC,MACvC,OACE,oCACE,kBAAC,OAAKgC,OAAM,CAACkhB,WAAW,GACtB,kBAAC,OAAKC,MAAK,CAACtW,MAAOA,IACnB,kBAAC,GAAkB,OAErB,kBAAC,OAAK2Z,WAAU,CAACtD,WAAW,GAC1B,kBAAC,OAAKwD,gBAAe,KACnB,kBAAC,SAAM,CACLhnB,MAAO,iBAAe0N,QACtB3N,KAAK,SACLG,QAASyzB,EACThyB,OAAO,oBAET,kBAAC,SAAM,CACL3B,MAAO,iBAAeoH,QACtBrH,KAAK,OACLyN,OAAQnN,KAAKmN,OACbtN,QAAS05B,EACTj4B,OAAO,qBAQnB,aACE,OAAOtB,KAAKC,MAAMo5B,UACd,kBAAgBhsB,QAChB,kBAAgBgE,U,cC9CjB,MAAMmoB,GAA2B9vB,IACtC,IAAI+vB,EAAa,8BAA8B/vB,EAAQjK,WAavD,OAXIiK,EAAQsvB,mBAAqB,eAAaV,SAC5CmB,EAAa,GAAGA,aAAsB/vB,EAAQ4uB,cACrC5uB,EAAQsvB,mBAAqB,eAAa7I,OACnDsJ,EAAa,GAAGA,aAAsB/vB,EAAQymB,YAG5CzmB,EAAQwmB,SACVuJ,EAAa,GAAGA,cAAuB/vB,EAAQwmB,YAGjDuJ,EAAa,GAAGA,MAILC,GAA6B,CACxCliB,EACA9N,KAEA,MAAM,UAACiwB,EAAS,aAAET,GAAgBxvB,EAElC,GAAIiwB,GAAaT,EAAc,CAC7B,MAAMU,EAAgB,kBAAQpiB,GACxBqiB,EAAiBF,EAAU1hB,OAEjC,MAAO,GAAG2hB,uBADgBV,EAAajhB,kBACmC4hB,MAG5E,OAAOriB,GCJT,MAAM,WAAiB,gBACrB,YAAYvX,GACV6kB,MAAM7kB,GAyDA,KAAA65B,mBAAsBtiB,IAC5BxX,KAAKC,MAAM85B,aAAaviB,IAGlB,KAAAqhB,yBAA4Bl2B,IAClC3C,KAAKC,MAAM+5B,cAAc,CAACt3B,IAAK,mBAAoBC,WAG7C,KAAAmJ,WAAa,KACnB,MAAM,UAACmuB,EAAS,YAAElB,GAAe/4B,KAAKC,MAEhCi6B,EAAqBV,GAAwBT,GAC7CvhB,EAAiBkiB,GAA2BO,EAAWlB,GACvDoB,EAAW,GAAGD,IAEpBl6B,KAAKC,MAAMm6B,cAAc5iB,EAAQ2iB,IAG3B,KAAAE,aAAe,KACrBr6B,KAAKC,MAAMq6B,UAGL,KAAAC,kBAAqBjwB,IAC3B,MAAM,KAAC7K,EAAI,MAAEkD,GAAS2H,EAAEhH,OAClBZ,EAAMjD,EAEZO,KAAKC,MAAM+5B,cAAc,CAACt3B,MAAKC,WAhF1B,oBACL3C,KAAKC,MAAM+5B,cAAc,CACvBt3B,IAAK,mBACLC,MAAO,eAAa21B,WAIjB,uBACLt4B,KAAKC,MAAMu6B,YAGN,SACL,MAAM,UAACP,EAAS,YAAElB,GAAe/4B,KAAKC,MAEtC,OACE,kBAAC,OAAI,CAACijB,SAAUJ,GAAkB,CAAC,iBACjC,kBAAC,GAAU,CACThW,MAAM,cACNusB,UAAWr5B,KAAKspB,YAChBgK,SAAUtzB,KAAKq6B,aACfd,OAAQv5B,KAAK8L,aAEf,kBAAC,OAAKuX,SAAQ,CAACF,WAAW,EAAMzS,YAAY,GAC1C,yBAAKpR,UAAU,aACb,yBAAKA,UAAU,sBACb,kBAAC,GAAQ,CACPy5B,YAAaA,EACbM,UAAWr5B,KAAKspB,YAChB9L,cAAexd,KAAKu6B,kBACpBzB,qBAAsB94B,KAAK64B,4BAG/B,yBAAKv5B,UAAU,qBACb,kBAAC,KAAU,CACTkY,OAAQyiB,EACRQ,eAAgBz6B,KAAK85B,yBASnC,kBACE,MACEf,aAAa,KAACt5B,EAAI,KAAE0wB,EAAI,SAAEmI,GAAS,UACnC2B,GACEj6B,KAAKC,MAGT,SADsBkwB,KAAUmI,MACR74B,KAAUw6B,GAiCtC,MAUM,GAAO,CACXF,aAAA,KACAK,cAAA,KACAJ,cAAA,KACAQ,UAAA,KACAF,OAAA,MAKa,OAFG,YAlBJv5B,IACZ,MAAM,MAAC6vB,GAAS7vB,EAAMuK,WAChB,YAACytB,EAAW,UAAEkB,GAAarJ,EAEjC,MAAO,CACLmI,cACAkB,cAY4B,GAEjB,CAAU,IC7HzB,MAAM,WAAkB,gBACtB,YAAYh6B,GACV6kB,MAAM7kB,GAGD,SACL,MAAM,IAACy6B,GAAO16B,KAAKC,MAEnB,OACE,kBAAC,YAAU4K,IAAG,KACZ,kBAAC,YAAU8vB,KAAI,KACb,0BAAMr7B,UAAU,uBACbU,KAAK46B,eAAeF,EAAIG,QAG7B,kBAAC,YAAUF,KAAI,KACb,0BAAMr7B,UAAU,0BAA0Bo7B,EAAIpzB,WAM9C,eAAewzB,GACrB,IAAKA,EACH,MAAO,GAGT,MAAMC,EAAU,IAAItV,KAAKqV,GAGzB,OAFkB,KAAOC,GAASC,OAAO,MAM9B,UClCf,MAAM,WAAuB,gBAC3B,YAAY/6B,GACV6kB,MAAM7kB,GAGD,SACL,MAAM,iBAAC8jB,GAAoB/jB,KAAKC,MAEhC,OACE,kBAAC,UAAQ2M,UAAS,CAACtN,UAAU,kBAC3B,kBAAC,UAAQ2C,OAAM,CAAC6K,MAAM,WAAWnF,UAAWoc,IAC5C,kBAAC,UAAQ/W,KAAI,KACX,kBAAC,mBAAgB,CAAC0T,gBAAgB,EAAM/Z,MAAO,CAACgK,UAAW,UACzD,kBAAC,YAAS,KACR,kBAAC,YAAU1O,OAAM,KACf,kBAAC,YAAUg5B,WAAU,CAACC,WAAW,OAAO17B,MAAM,QAC9C,kBAAC,YAAUy7B,WAAU,CAACC,WAAW,UAAU17B,MAAM,SAEnD,kBAAC,YAAUwN,KAAI,CAAC0jB,WAAY,qCAAOyK,YAAa,GAC7Cn7B,KAAKo7B,cASpB,eAKE,OAJap7B,KAAKC,MAAMo7B,KAAKz1B,IAAI01B,GAC/B,kBAAC,GAAS,CAAC54B,IAAK44B,EAAGh0B,QAASozB,IAAKY,MAOxB,UCxBf,MAAM,WAAoB,gBACxB,YAAYr7B,GACV6kB,MAAM7kB,GA2CA,KAAAs7B,oBAAsB,KAC5B,MAAM,OAACC,EAAM,IAAEC,EAAG,QAAEC,GAAW17B,KAAKC,MACpCy7B,EAAQF,EAAQC,EAAIv6B,IAEpBlB,KAAKoK,SAAS,CAACuxB,wBAAyB37B,KAAKe,MAAM46B,0BA7CnD37B,KAAKe,MAAQ,CACX46B,wBAAwB,GAIrB,SACL,MAAM,IAACF,GAAOz7B,KAAKC,MACnB,OACE,oCACE,kBAAC,YAAU4K,IAAG,KACZ,kBAAC,YAAU8vB,KAAI,KAAEc,EAAItuB,QACrB,kBAAC,YAAUwtB,KAAI,KACZ36B,KAAK46B,eAAea,EAAIG,eAE3B,kBAAC,YAAUjB,KAAI,KAAE36B,KAAK46B,eAAea,EAAII,YACzC,kBAAC,YAAUlB,KAAI,KAAEc,EAAIp0B,UACrB,kBAAC,YAAUszB,KAAI,KACb,kBAAC,SAAM,CACLj4B,IAAK+4B,EAAIv6B,GACT6B,KAAM,gBAAcC,WACpBrD,MAAO,iBAAe0N,QACtB3N,KAAK,YACLG,QAASG,KAAKu7B,sBAEfv7B,KAAK87B,oBAOR,eAAehB,GACrB,IAAKA,EACH,MAAO,GAET,MAAMC,EAAU,IAAItV,KAAKqV,GAGzB,OAFkB,KAAOC,GAASC,OAAO,KAY3C,uBACE,MAAM,uBAACW,GAA0B37B,KAAKe,OAChC,KAACs6B,GAAQr7B,KAAKC,MAEpB,OACE,kBAAC,UAAO,CAAC6f,QAAS6b,GAChB,kBAAC,GAAc,CACb5X,iBAAkB/jB,KAAKu7B,oBACvBF,KAAMA,MAOhB,MAMM,GAAO,CAACK,QAAS,MAGR,OADG,YARJ36B,IACZ,MAAM,KAACs6B,GAAQt6B,EAAMuK,UAAUslB,MAE/B,MAAO,CAACyK,SAKsB,GACjB,CAAU,IC9EV,MAAM,WAAqB,gBAA1C,c,oBACU,KAAA/K,sBAAwB,aAC9B,MAGK,SACL,MAAM,QAACne,EAAO,cAAEoT,EAAa,cAAEwW,GAAiB/7B,KAAKC,MAErD,OACE,kBAAC,YAAS,KACR,kBAAC,YAAUgC,OAAM,KACf,kBAAC,YAAUg5B,WAAU,CACnBC,WAAW,SACX17B,MAAM,MACN2S,QAASnS,KAAKg8B,WAAW,GACzBvpB,KAAMN,IAAYnS,KAAKg8B,WAAW,GAAKzW,EAAgB,OAAKsD,KAC5DhpB,QAASk8B,IAEX,kBAAC,YAAUd,WAAU,CACnBC,WAAW,WACX17B,MAAM,MACN2S,QAASnS,KAAKg8B,WAAW,GACzBvpB,KAAMN,IAAYnS,KAAKg8B,WAAW,GAAKzW,EAAgB,OAAKsD,KAC5DhpB,QAASk8B,IAEX,kBAAC,YAAUd,WAAU,CACnBC,WAAW,UACX17B,MAAM,MACN2S,QAASnS,KAAKg8B,WAAW,GACzBvpB,KAAMN,IAAYnS,KAAKg8B,WAAW,GAAKzW,EAAgB,OAAKsD,KAC5DhpB,QAASk8B,IAEX,kBAAC,YAAUd,WAAU,CACnBC,WAAW,WACX17B,MAAM,MACN2S,QAASnS,KAAKg8B,WAAW,GACzBvpB,KAAMN,IAAYnS,KAAKg8B,WAAW,GAAKzW,EAAgB,OAAKsD,KAC5DhpB,QAASk8B,IAEX,kBAAC,YAAUd,WAAU,CAACz7B,MAAM,SAE9B,kBAAC,YAAUwN,KAAI,CACb0jB,WACE,kBAAC,aAAU,CAAC3tB,KAAM,gBAAckN,OAC9B,kBAAC,aAAW0F,KAAI,K,yCACwB,qCAI5CwlB,YAAa,GAEZn7B,KAAKi8B,aAKd,iBACE,MAAO,CAAC,SAAU,eAAgB,YAAa,YAGjD,iBACE,MAAM,KAACC,EAAI,QAAE/pB,EAAO,cAAEoT,EAAa,SAAED,EAAQ,OAAEkW,GAAUx7B,KAAKC,MAW9D,OATmBD,KAAKswB,sBACtB4L,EACA/pB,EACAoT,EACAD,GAGgC/kB,MAAM,EAAG,IAErBqF,IAAI61B,GACxB,kBAAC,GAAW,CAAC/4B,IAAK,WAAW+4B,EAAIv6B,KAAMs6B,OAAQA,EAAQC,IAAKA,MC7DlE,MAAM,WAAqB,gBACzB,YAAYx7B,GACV6kB,MAAM7kB,GAyDA,KAAAk8B,kBAAoB,CAACC,EAAgBjqB,KAC3C,IAAImT,EAAW,KAAUxR,OAET,WAAZ3B,IACFmT,EAAW,KAAUG,MAGvBzlB,KAAKoK,SAAS,CAAC+H,UAASoT,cAAe6W,EAAU9W,cAY3C,KAAA+W,cAAgB,KACtB,MAAM,UAACxM,EAAS,MAAE3rB,EAAK,QAAEo4B,GAAWt8B,KAAKC,MACzC4vB,EAAU3rB,EAAMI,OAAOpD,IACvBo7B,EAAQp4B,EAAMI,OAAOpD,KAGf,KAAAq7B,eAAiB,KACvB,MAAM,QACJl9B,EAAO,YACPm9B,EACAt4B,OACEI,QAAQ,MAACD,KAETrE,KAAKC,MAETZ,EAAQS,KAAK,SAASuE,WAAem4B,EAAYt7B,YA1FjDlB,KAAKe,MAAQ,CACXoR,QAAS,eACToT,cAAe,OAAKC,WACpBF,SAAU,KAAUG,MAIjB,SACL,MAAM,MAACvhB,EAAK,KAAEg4B,GAAQl8B,KAAKC,OACrB,QAACkS,EAAO,cAAEoT,EAAa,SAAED,GAAYtlB,KAAKe,MAEhD,OACE,kBAAC,mBAAgB,CACfkM,QAASjN,KAAKC,MAAMw8B,UACpBvvB,iBAAkB,kBAAC,gBAAa,OAEhC,kBAAC,OAAI,CAACgW,SAAUJ,GAAkB,CAAC,eACjC,kBAAC,OAAK7gB,OAAM,CAACkhB,WAAW,GACtB,kBAAC,OAAKC,MAAK,CAACtW,MAAO9M,KAAK8M,QACxB,kBAAC,GAAkB,OAErB,kBAAC,OAAK2Z,WAAU,CAACtD,WAAW,GAC1B,kBAAC,OAAKuD,eAAc,KAClB,kBAAC,SAAM,CACL7mB,QAASG,KAAKu8B,eACd78B,KAAK,YACLC,MAAO,iBAAeC,WAG1B,kBAAC,OAAK+mB,gBAAe,KACnB,kBAAC,SAAM,CACL9mB,QAASG,KAAKq8B,cACd38B,KAAK,WACLwC,KAAM,WAASw6B,SAIrB,kBAAC,OAAKrZ,SAAQ,CAACF,WAAW,EAAOzS,YAAY,GAC3C,kBAAC,GAAY,CACX8qB,OAAQt3B,EAAMI,OAAOpD,GACrBg7B,KAAMA,EACN/pB,QAASA,EACToT,cAAeA,EACfD,SAAUA,EACVyW,cAAe/7B,KAAKm8B,uBAQzB,oBACLn8B,KAAKC,MAAMq8B,QAAQt8B,KAAKC,MAAMiE,MAAMI,OAAOpD,IAa7C,YACE,MAAM,YAACs7B,GAAex8B,KAAKC,MAE3B,OAAIu8B,EACK,GAAGA,EAAY/8B,cAEjB,QAsBX,MAUM,GAAO,CACX68B,QAAS,KACTzM,UAAW,MAKE,OAFG,YAfJ9uB,IACZ,MAAM,KAACm7B,EAAI,UAAEO,EAAS,YAAED,GAAez7B,EAAMuK,UAAUslB,MAEvD,MAAO,CACLsL,OACAO,YACAD,gBAS4B,GAEjB,CAAU,YAAW,KCvHpC,MAAM,WAAqB,gBACzB,YAAYv8B,GACV6kB,MAAM7kB,GA4DA,KAAA65B,mBAAsBtiB,IAC5BxX,KAAKC,MAAM08B,iBAAiBnlB,IAGtB,KAAAqhB,yBAA4BnJ,IAClC1vB,KAAKC,MAAM+5B,cAAc,CAACt3B,IAAK,mBAAoBC,MAAO+sB,KAGpD,KAAA5jB,WAAa,KACnB9L,KAAKC,MAAM28B,gBAGL,KAAAvC,aAAe,KACrBr6B,KAAKC,MAAMq6B,UAGL,KAAAC,kBAAqBjwB,IAC3B,MAAM,KAAC7K,EAAI,MAAEkD,GAAS2H,EAAEhH,OAClBZ,EAAMjD,EAEZO,KAAKC,MAAM+5B,cAAc,CAACt3B,MAAKC,WA7E1B,oBACL,MACEuB,OACEI,QAAQ,GAACpD,KAETlB,KAAKC,MACTD,KAAKC,MAAM48B,eAAe37B,GAC1BlB,KAAKC,MAAM68B,sBAAsB57B,GAG5B,uBACLlB,KAAKC,MAAMu6B,YAGN,SACL,MAAM,cAACuC,EAAa,YAAEhE,GAAe/4B,KAAKC,MAE1C,OACE,kBAAC,OAAI,CAACijB,SAAUJ,GAAkB,CAAC,QAAQiW,EAAYt5B,UACrD,kBAAC,GAAU,CACTqN,MAAM,YACNusB,UAAWr5B,KAAKspB,YAChBgK,SAAUtzB,KAAKq6B,aACfd,OAAQv5B,KAAK8L,aAEf,kBAAC,OAAKuX,SAAQ,CAACF,WAAW,EAAMzS,YAAY,GAC1C,yBAAKpR,UAAU,aACb,yBAAKA,UAAU,sBACb,kBAAC,GAAQ,CACP+5B,UAAWr5B,KAAKspB,YAChByP,YAAaA,EACbvb,cAAexd,KAAKu6B,kBACpBzB,qBAAsB94B,KAAK64B,4BAG/B,yBAAKv5B,UAAU,qBACb,kBAAC,KAAU,CACTkY,OAAQulB,EACRtC,eAAgBz6B,KAAK85B,yBASnC,kBACE,MACEf,aAAa,KAACt5B,EAAI,KAAE0wB,EAAI,SAAEmI,GAAS,cACnCyE,GACE/8B,KAAKC,MAGT,SADsBkwB,KAAUmI,MACR74B,KAAUs9B,GA2BtC,MAUM,GAAO,CACX/C,cAAA,KACA2C,iBAAA,KACAC,aAAA,KACAtC,OAAA,KACAuC,eAAA,KACAC,sBAAA,KACAtC,UAAA,MAIa,OADG,YApBJz5B,IACZ,MAAM,YAACg4B,EAAW,cAAEgE,EAAa,YAAEP,GAAez7B,EAAMuK,UAAUslB,MAElE,MAAO,CACLmI,cACAgE,gBACAP,gBAc4B,GACjB,CAAU,ICvGV,OApB+Bv8B,IAC5C,MAAM,WAAC2S,EAAU,MAAEoqB,EAAK,SAAEj9B,GAAYE,EAEhCg9B,EAAoBD,EAAM3tB,OAAO6tB,GACrCA,EAAKz9B,KAAK4V,cAAc1U,SAASiS,EAAWyC,gBAGxC8nB,EAAmB,kBAAQF,EAAmB,YAEpD,OAAiC,IAA7BA,EAAkBz8B,OAElB,kBAAC,aAAU,CAACuC,KAAM,gBAAcC,YAC9B,kBAAC,aAAW2S,KAAI,wCAKf5V,EAASo9B,ICtBH,OAPwB,EAAE3tB,iBACvC,6BAASlQ,UAAU,uCACjB,yBAAKA,UAAU,+BAA6B,eAC5C,8BAAOkQ,ICGX,MAAM,WAAyB,gBACtB,SACL,OACE,iCACE,yBAAKlQ,UAAU,+BAA6B,aAC5C,yBAAKA,UAAU,+BAA+BU,KAAKo9B,YAKzD,gBACE,MAAM,SAACC,GAAYr9B,KAAKC,MAExB,OAAIo9B,EAAS78B,OAAS,EACb68B,EAASz3B,IAAI0S,GAEhB,yBAAKhZ,UAAU,gCAAgCoD,IAAK4V,EAAE7Y,MACpD,8BAAO6Y,EAAE7Y,K,KACT,8BAAO6Y,EAAE3T,MACT,6BAAM2T,EAAEglB,QAMT,yBAAKh+B,UAAU,iCAA+B,SAI1C,UC5BA,OAPoB,EAAEi+B,aACnC,iCACE,yBAAKj+B,UAAU,+BAA6B,WAC5C,yBAAKA,UAAU,+BAA+Bi+B,ICOnC,OAViB,EAAEv7B,UAChC,uBAAG1C,UAAU,iB,sCACyB,IACpC,uBAAGgE,OAAO,SAAS3B,KAAMK,GAAI,a,KCyBlB,OAjB2C,EACxDk7B,MAAOI,OAAME,OAAMD,UAASv7B,OAAMvC,WAGhC,yBAAKH,UAAU,qBAAoB,cAAc,cAAcG,KAC7D,kBAAC,mBAAgB,CAAC+R,UAAU,GAC1B,yBAAKlS,UAAU,yBACb,kBAAC,GAAkB,CAACkQ,YAAa8tB,IACjC,kBAAC,GAAgB,CAACD,SAAUG,IAC5B,kBAAC,GAAc,CAACD,QAASA,IACzB,kBAAC,GAAW,CAACv7B,KAAMA,OCH7B,MAIMy7B,GAA6B,EAAEP,OAAMQ,kBAAiBp8B,aAC1D,MAAMq8B,EAAc,sBAIpB,OACE,oCACE,kBAAC,UAAO,CACNpV,WAAY,aAAWC,QACvBqF,qBAAqB,EACrBpF,SAAU,kBAAgBmV,UAC1BvV,WAAYsV,EACZ/U,UAAW,qBAAmBkF,MAC9BhF,UAAW,qBAAmBgF,MAC9BnF,oBAAqB,EACrBrnB,OAAO,kBACPynB,SAAU,IAAM,kBAAC,GAAuB,CAACmU,KAAMA,MAEjD,wBACE7Q,IAAKsR,EAAW,cACH,SAASr8B,IACtBhC,UAAU,kDAEV,8BAAO49B,EAAKz9B,MACZ,kBAAC,SAAM,CACL6B,OAAQ,SAASA,YACjB5B,KAAK,SACLG,QAzBoB,KAC1B69B,EAAgBR,IAyBVn6B,KAAM,gBAAcC,WACpB1D,UAAU,yBACVK,MAAO,iBAAeC,aAOhC69B,GAAgB71B,aAzCK,CACnBtG,OAAQ,iBA0CK,UClCA,OAlBsBrB,IACnC,MAAM,SAAC49B,EAAQ,MAAEb,EAAK,gBAAEU,GAAmBz9B,EAE3C,OACE,wBAAIX,UAAU,0BACZ,wBAAIA,UAAU,yBAAyBu+B,GACtCb,EAAMp3B,IAAIs3B,GACT,kBAAC,GAAe,CACdQ,gBAAiBA,EACjBh7B,IAAK,GAAGw6B,EAAKz9B,QAAQy9B,EAAKI,OAC1BJ,KAAMA,EACN57B,OAAQ47B,EAAKz9B,UCPvB,MAAMq+B,GAAc,IAEpB,MAAM,WAA0B,gBAC9B,YAAY79B,GACV6kB,MAAM7kB,GAuBA,KAAA8kB,aAAe,KACrB/kB,KAAKC,MAAM+kB,SAAShlB,KAAKe,MAAM6R,aAGzB,KAAAhK,aAAgB0B,IACtBtK,KAAKoK,SAAS,CAACwI,WAAYtI,EAAEhH,OAAOX,OAAQ3C,KAAK+kB,eA1BjD/kB,KAAKe,MAAQ,CACX6R,WAAY,IAGd5S,KAAK+kB,aAAe,mBAAS/kB,KAAK+kB,aAAc+Y,IAG3C,SACL,OACE,yBAAKx+B,UAAU,wBACb,kBAAC,QAAK,CACJqF,KAAM,YAAUgR,KAChBzT,KAAM,WAASye,OACfrY,YAAa,UAAUtI,KAAKC,MAAM4jB,kBAClC9Y,SAAU/K,KAAK4I,aACfjG,MAAO3C,KAAKe,MAAM6R,eAeb,U,kBCrDR,MAAMmrB,GAA4B,CACvCt+B,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,mCACN34B,KAAM,UAER,CACElF,KAAM,WACN69B,KAAM,gDACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,uOACFC,QAAS,iCACTM,SAAU,SACV77B,KACE,mFA2CSi8B,GAA6B,CACxCx+B,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,+EACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,wNACFC,QAAS,kCACTM,SAAU,kBACV77B,KACE,6FA2ESk8B,GAAwC,CACnD,CACEz+B,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,uBACN34B,KAAM,YAER,CACElF,KAAM,eACN69B,KAAM,+CACN34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KACE,oEACF34B,KAAM,qBAGVq5B,QAAS,yBACTV,KAAM,qDACNC,QAAS,sCACTM,SAAU,kBACV77B,KACE,0FAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,2BACN34B,KAAM,YAER,CACElF,KAAM,KACN69B,KAAM,gDACN34B,KAAM,mBAER,CACElF,KAAM,SACN69B,KAAM,0DACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,sGACF34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,yGACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,wGACF34B,KAAM,YAGVq5B,QAAS,GACTV,KAAM,0DACNC,QAAS,mDACTM,SAAU,aACV77B,KACE,kHAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KACE,2EACF34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,sEACF34B,KAAM,UAER,CACElF,KAAM,WACN69B,KACE,wEACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,8DACN34B,KAAM,WAGVq5B,QAAS,wBACTV,KAAM,2DACNC,QACE,iIACFM,SAAU,SACV77B,KACE,yFAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,qCAGVq5B,QAAS,GACTV,KAAM,wCACNC,QAAS,oBACTM,SAAU,mBACV77B,KACE,6GAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,gCACN34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,yHACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KAAM,6DACNC,QAAS,oCACTM,SAAU,YACV77B,KACE,wGAEJ,CACEvC,KAAM,UACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,iDACNC,QAAS,YACTM,SAAU,SACV77B,KACE,sFAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,8CAGVq5B,QAAS,GACTV,KAAM,oCACNC,QAAS,qBACTM,SAAU,mBACV77B,KACE,8GAEJ,CACEvC,KAAM,2BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4DACN34B,KAAM,WAER,CACElF,KAAM,UACN69B,KAAM,mDACN34B,KAAM,sBAGVq5B,QAAS,GACTV,KACE,uEACFC,QAAS,kCACTM,SAAU,kBACV77B,KACE,gHAEJ,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,qEACF34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,2CACNC,QAAS,4BACTM,SAAU,kBACV77B,KACE,+FAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,2BACN34B,KAAM,mDAER,CACElF,KAAM,MACN69B,KAAM,wCACN34B,KAAM,oDAGVq5B,QAAS,GACTV,KAAM,8CACNC,QAAS,mCACTM,SAAU,QACV77B,KACE,sFAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,yDACNC,QAAS,0BACTM,SAAU,aACV77B,KACE,wGAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qDACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,0DACN34B,KAAM,UAER,CACElF,KAAM,KACN69B,KAAM,wCACN34B,KAAM,oBAER,CACElF,KAAM,WACN69B,KACE,oFACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,sHACFC,QACE,sEACFM,SAAU,kBACV77B,KACE,2FAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,+EACF34B,KAAM,oBAER,CACElF,KAAM,WACN69B,KACE,oFACF34B,KAAM,WAER,CACElF,KAAM,WACN69B,KACE,2EACF34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,+CACNC,QACE,qFACFM,SAAU,kBACV77B,KACE,kGAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,0CACN34B,KAAM,UAER,CACElF,KAAM,MACN69B,KACE,0GACF34B,KAAM,WAGVq5B,QAAS,MACTV,KAAM,iEACNC,QAAS,yBACTM,SAAU,SACV77B,KAAM,uEAER,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,0CACN34B,KAAM,WAGVq5B,QAAS,mBACTV,KAAM,2CACNC,QAAS,+CACTM,SAAU,SACV77B,KACE,oFAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,mEACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,yHACFC,QAAS,qCACTM,SAAU,kBACV77B,KACE,qGAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KAAM,qEACNC,QAAS,yCACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,gFACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,6EACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,uEACFC,QAAS,2CACTM,SAAU,kBACV77B,KACE,0EAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KAAM,sEACNC,QAAS,0CACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,kFACFC,QAAS,6CACTM,SAAU,kBACV77B,KACE,4EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,kFACFC,QAAS,qDACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,oFACFC,QAAS,4CACTM,SAAU,kBACV77B,KACE,2EAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,uEACFC,QAAS,2CACTM,SAAU,kBACV77B,KACE,0EAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,6BAER,CACElF,KAAM,OACN69B,KACE,wHACF34B,KAAM,aAGVq5B,QAAS,OACTV,KACE,uEACFC,QAAS,uDACTM,SAAU,kBACV77B,KACE,4EAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,sFACFC,QAAS,yCACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,gFACFC,QAAS,4CACTM,SAAU,kBACV77B,KACE,2EAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KAAM,wCACNC,QAAS,yCACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0BACN34B,KAAM,8BAGVq5B,QAAS,OACTV,KACE,wGACFC,QAAS,4CACTM,SAAU,kBACV77B,KACE,2EAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,uDACN34B,KAAM,YAER,CACElF,KAAM,cACN69B,KACE,mLACF34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,mEACF34B,KAAM,oBAER,CACElF,KAAM,aACN69B,KAAM,8DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,iJACFC,QACE,oFACFM,SAAU,kBACV77B,KACE,kGAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,cACN69B,KACE,mLACF34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,wEACF34B,KAAM,oBAER,CACElF,KAAM,YACN69B,KACE,yGACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,wFACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,kGAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0CACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,gDACNC,QAAS,2BACTM,SAAU,YACV77B,KACE,0GAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,sMACFC,QAAS,kBACTM,SAAU,kBACV77B,KACE,iGAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,4EACF34B,KAAM,oBAER,CACElF,KAAM,KACN69B,KACE,kLACF34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,mMACFC,QAAS,kCACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,gCACN34B,KAAM,UAER,CACElF,KAAM,KACN69B,KAAM,6CACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,4CACNC,QAAS,yDACTM,SAAU,kBACV77B,KACE,iGAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,yCACNC,QAAS,wBACTM,SAAU,mBACV77B,KACE,iHAEJ,CACEvC,KAAM,2BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uBACN34B,KAAM,YAER,CACElF,KAAM,KACN69B,KAAM,mCACN34B,KAAM,SAGVq5B,QAAS,eACTV,KACE,wEACFC,QAAS,8CACTM,SAAU,kBACV77B,KACE,uFAEJ,CACEvC,KAAM,yBACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KAAM,gEACN34B,KAAM,SAGVq5B,QAAS,eACTV,KAAM,8CACNC,QAAS,oDACTM,SAAU,kBACV77B,KACE,qFAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,8BACN34B,KAAM,oBAER,CACElF,KAAM,SACN69B,KAAM,+BACN34B,KAAM,qBAGVq5B,QAAS,eACTV,KACE,yGACFC,QAAS,oDACTM,SAAU,SACV77B,KACE,iFAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,sEACF34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KACE,0FACF34B,KAAM,WAGVq5B,QAAS,eACTV,KAAM,gEACNC,QACE,wEACFM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,0CACN34B,KAAM,oBAER,CACElF,KAAM,QACN69B,KAAM,2CACN34B,KAAM,oBAER,CACElF,KAAM,KACN69B,KACE,wEACF34B,KAAM,aAGVq5B,QAAS,eACTV,KACE,4GACFC,QACE,qHACFM,SAAU,kBACV77B,KACE,gFAEJ,CACEvC,KAAM,0BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,kCACN34B,KAAM,WAGVq5B,QAAS,eACTV,KAAM,kDACNC,QAAS,+DACTM,SAAU,kBACV77B,KACE,sFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wDACN34B,KAAM,WAGVq5B,QAAS,eACTV,KAAM,qDACNC,QAAS,8DACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,2BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,YAER,CACElF,KAAM,OACN69B,KAAM,0CACN34B,KAAM,SAGVq5B,QAAS,eACTV,KACE,+EACFC,QAAS,gDACTM,SAAU,kBACV77B,KACE,uFAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,+EACF34B,KAAM,UAER,CACElF,KAAM,WACN69B,KACE,yFACF34B,KAAM,UAER,CACElF,KAAM,MACN69B,KACE,2FACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KACE,yFACF34B,KAAM,WAGVq5B,QAAS,eACTV,KACE,0GACFC,QAAS,gEACTM,SAAU,UACV77B,KACE,8EAEJ,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,6CACN34B,KAAM,YAER,CACElF,KAAM,aACN69B,KACE,wEACF34B,KAAM,WAER,CACElF,KAAM,aACN69B,KAAM,8DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,+CACNC,QAAS,oBACTM,SAAU,kBACV77B,KACE,+FAEJ,CACEvC,KAAM,2BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,mJACFC,QAAS,iCACTM,SAAU,kBACV77B,KACE,gHAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,sEACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,+CACN34B,KAAM,0BAER,CACElF,KAAM,cACN69B,KACE,mEACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,sFACFC,QAAS,4CACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KACE,8JACF34B,KAAM,YAER,CACElF,KAAM,UACN69B,KACE,qGACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,sIACFC,QAAS,6CACTM,SAAU,kBACV77B,KACE,8FAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KAAM,+DACN34B,KAAM,YAER,CACElF,KAAM,SACN69B,KAAM,iCACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,wJACFC,QAAS,iEACTM,SAAU,kBACV77B,KACE,+GAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KAAM,+DACN34B,KAAM,YAER,CACElF,KAAM,MACN69B,KAAM,kCACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,6IACFC,QAAS,uDACTM,SAAU,kBACV77B,KACE,+GAEJ,CACEvC,KAAM,QACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,yDACNC,QAAS,UACTM,SAAU,YACV77B,KACE,uGAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,uCAGVq5B,QAAS,GACTV,KAAM,sCACNC,QAAS,qBACTM,SAAU,mBACV77B,KACE,8GAEJ+7B,GACA,CACEt+B,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KAAM,iEACN34B,KAAM,oBAER,CACElF,KAAM,UACN69B,KAAM,+BACN34B,KAAM,qBAGVq5B,QAAS,mBACTV,KACE,0EACFC,QAAS,0DACTM,SAAU,kBACV77B,KACE,wFAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,6CACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,2EACF34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,4EACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,+CACN34B,KAAM,WAER,CACElF,KAAM,gBACN69B,KAAM,2DACN34B,KAAM,WAER,CACElF,KAAM,iBACN69B,KACE,sFACF34B,KAAM,oBAER,CACElF,KAAM,SACN69B,KAAM,6DACN34B,KAAM,YAGVq5B,QAAS,mBACTV,KACE,qFACFC,QACE,2FACFM,SAAU,kBACV77B,KACE,0FAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,6CACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,2EACF34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,4EACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,+CACN34B,KAAM,WAER,CACElF,KAAM,gBACN69B,KAAM,2DACN34B,KAAM,YAGVq5B,QAAS,mBACTV,KACE,8EACFC,QACE,6EACFM,SAAU,kBACV77B,KACE,0FAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,YACN69B,KACE,kFACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KACE,oEACF34B,KAAM,WAER,CACElF,KAAM,gBACN69B,KAAM,2DACN34B,KAAM,YAGVq5B,QAAS,mBACTV,KAAM,+DACNC,QAAS,mDACTM,SAAU,kBACV77B,KACE,2FAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KACE,kJACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,6DACN34B,KAAM,YAGVq5B,QAAS,mBACTV,KAAM,+BACNC,QACE,4EACFM,SAAU,kBACV77B,KACE,6FAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,WACN69B,KAAM,mCACN34B,KAAM,UAER,CACElF,KAAM,WACN69B,KAAM,oCACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,6DACN34B,KAAM,WAER,CACElF,KAAM,iBACN69B,KACE,sFACF34B,KAAM,qBAGVq5B,QAAS,mBACTV,KACE,kGACFC,QACE,wEACFM,SAAU,kBACV77B,KACE,yFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,6CACN34B,KAAM,WAGVq5B,QAAS,mBACTV,KAAM,gEACNC,QACE,+EACFM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,iBACN69B,KACE,sFACF34B,KAAM,qBAGVq5B,QAAS,mBACTV,KACE,2FACFC,QAAS,wCACTM,SAAU,kBACV77B,KACE,sFAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,qCACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,0HACFC,QAAS,8BACTM,SAAU,kBACV77B,KACE,8GAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,sCACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,+GACFC,QAAS,oBACTM,SAAU,kBACV77B,KACE,8GAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,sEACF34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KACE,uGACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,kIACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,6FAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,+EACFC,QAAS,+CACTM,SAAU,YACV77B,KACE,gHAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,kFACFC,QAAS,+CACTM,SAAU,YACV77B,KACE,gHAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,+EACFC,QAAS,2CACTM,SAAU,YACV77B,KACE,4GAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,4GACF34B,KAAM,WAER,CACElF,KAAM,mBACN69B,KACE,8FACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,yFACF34B,KAAM,UAER,CACElF,KAAM,OACN69B,KACE,8KACF34B,KAAM,mBAER,CACElF,KAAM,YACN69B,KACE,mGACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,qHACFC,QACE,yHACFM,SAAU,kBACV77B,KACE,iGAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,WACN69B,KACE,sEACF34B,KAAM,SAER,CACElF,KAAM,cACN69B,KACE,8HACF34B,KAAM,UAER,CACElF,KAAM,mBACN69B,KACE,mIACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,kGACF34B,KAAM,UAER,CACElF,KAAM,WACN69B,KACE,4QACF34B,KAAM,UAGVq5B,QAAS,GACTV,KACE,0GACFC,QACE,wHACFM,SAAU,aACV77B,KACE,oHAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,cACN69B,KAAM,iDACN34B,KAAM,WAER,CACElF,KAAM,WACN69B,KAAM,wCACN34B,KAAM,YAER,CACElF,KAAM,UACN69B,KACE,gGACF34B,KAAM,WAER,CACElF,KAAM,aACN69B,KAAM,iDACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,oDACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,uLACFC,QAAS,mCACTM,SAAU,kBACV77B,KACE,mGAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KACE,0EACF34B,KAAM,WAER,CACElF,KAAM,OACN69B,KACE,0EACF34B,KAAM,YAER,CACElF,KAAM,aACN69B,KAAM,iEACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,qGACFC,QAAS,oCACTM,SAAU,kBACV77B,KACE,qGAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,sCACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KAAM,2CACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KAAM,iDACN34B,KAAM,aAGVq5B,QAAS,oBACTV,KACE,0HACFC,QACE,+EACFM,SAAU,gBACV77B,KACE,oFAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,cACN69B,KAAM,wBACN34B,KAAM,WAGVq5B,QAAS,OACTV,KACE,mHACFC,QAAS,gEACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,sBACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,OACN69B,KAAM,kDACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,4GACFC,QACE,4FACFM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,qEACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,wEACFC,QAAS,gCACTM,SAAU,kBACV77B,KACE,gGAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,8CAGVq5B,QAAS,GACTV,KAAM,wCACNC,QAAS,mBACTM,SAAU,mBACV77B,KACE,4GAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,sDACN34B,KAAM,YAER,CACElF,KAAM,SACN69B,KAAM,0DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,sKACFC,QAAS,wCACTM,SAAU,aACV77B,KACE,2GAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,mCACN34B,KAAM,UAER,CACElF,KAAM,KACN69B,KAAM,wCACN34B,KAAM,oBAER,CACElF,KAAM,SACN69B,KACE,qHACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,0OACFC,QACE,uFACFM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uBACN34B,KAAM,8DAGVq5B,QAAS,OACTV,KAAM,oCACNC,QAAS,2BACTM,SAAU,mBACV77B,KACE,0EAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4DACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,oDACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,sFACFC,QAAS,oBACTM,SAAU,kBACV77B,KACE,mGAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4DACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,kFACFC,QAAS,mBACTM,SAAU,kBACV77B,KACE,kGAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,oFACF34B,KAAM,oBAER,CACElF,KAAM,KACN69B,KACE,4LACF34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,mOACFC,QAAS,kCACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,+FACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,8LACFC,QAAS,yBACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,aACN69B,KACE,qGACF34B,KAAM,oBAER,CACElF,KAAM,KACN69B,KACE,8FACF34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,+JACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,iGAEJ,CACEvC,KAAM,OACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,wDACNC,QAAS,SACTM,SAAU,YACV77B,KACE,sGAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,yBACN34B,KAAM,UAGVq5B,QAAS,GACTV,KAAM,2CACNC,QAAS,wBACTM,SAAU,gBACV77B,KACE,mFAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,2CACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KACE,qGACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,2EACFC,QAAS,yBACTM,SAAU,kBACV77B,KACE,6FAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,wCACN34B,KAAM,SAER,CACElF,KAAM,QACN69B,KAAM,8CACN34B,KAAM,SAER,CACElF,KAAM,QACN69B,KAAM,gCACN34B,KAAM,WAER,CACElF,KAAM,WACN69B,KACE,6FACF34B,KAAM,YAGVq5B,QAAS,GACTV,KAAM,iDACNC,QAAS,gEACTM,SAAU,gBACV77B,KACE,uFAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,wCACN34B,KAAM,SAER,CACElF,KAAM,SACN69B,KAAM,iDACN34B,KAAM,SAER,CACElF,KAAM,QACN69B,KAAM,gCACN34B,KAAM,WAER,CACElF,KAAM,WACN69B,KACE,6FACF34B,KAAM,YAGVq5B,QAAS,GACTV,KAAM,sDACNC,QACE,sEACFM,SAAU,gBACV77B,KACE,4FAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,kFACFC,QAAS,8CACTM,SAAU,YACV77B,KACE,+GAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,qFACFC,QAAS,8CACTM,SAAU,YACV77B,KACE,+GAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,eACN69B,KACE,oFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,kFACFC,QAAS,0CACTM,SAAU,YACV77B,KACE,2GAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KACE,+FACF34B,KAAM,aAGVq5B,QAAS,GACTV,KAAM,yDACNC,QAAS,2DACTM,SAAU,kBACV77B,KACE,2FA/rEuC,CAC3CvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,mCACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAqrEN,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,yCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,6DACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,8CACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,8EACF34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,uCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,4CACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,0CACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0CACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,0CACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,4GACFC,QAAS,yCACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,8EACF34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,+CACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,8BACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,8DACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,kCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,6DACNC,QAAS,0CACTM,SAAU,kBACV77B,KACE,4EAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,+CACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,sCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,uCACNC,QAAS,uCACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,mCACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,iDACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,6EACF34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,wCACNC,QAAS,4BACTM,SAAU,kBACV77B,KACE,2EAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,8EACF34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,2CACNC,QAAS,2BACTM,SAAU,kBACV77B,KACE,0EAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gDACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gDACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,4DACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,mHACFC,QAAS,gCACTM,SAAU,kBACV77B,KACE,+EAjhFyC,CAC7CvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,8DACNC,QAAS,0BACTM,SAAU,kBACV77B,KAAM,yEAugFN,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,oEACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,mCACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,uFACFC,QAAS,iCACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,kDACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,oCACN34B,KAAM,SAER,CACElF,KAAM,OACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,uDACNC,QAAS,wCACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,oCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,8CACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,4DACNC,QAAS,uBACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,2DACNC,QAAS,uBACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,oBACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,yDACNC,QAAS,6BACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,sCACN34B,KAAM,SAER,CACElF,KAAM,MACN69B,KAAM,sCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gEACNC,QAAS,uCACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,0EACFC,QAAS,2BACTM,SAAU,kBACV77B,KACE,0EAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,sCACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,0DACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,qCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,oCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,wCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,6EACFC,QAAS,4BACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gCACNC,QAAS,wCACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,iCACNC,QAAS,wCACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,+CACNC,QAAS,uCACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KACE,4GACFC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,WACN+9B,KAAM,GACNQ,QAAS,OACTV,KAAM,iCACNC,QAAS,aACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gEACNC,QAAS,6CACTM,SAAU,kBACV77B,KACE,6EAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,qCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,+CACNC,QAAS,uCACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,iDACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,yCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,4DACNC,QAAS,mDACTM,SAAU,kBACV77B,KACE,6EAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,6DACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,sDACNC,QAAS,gCACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,oCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,kDACNC,QAAS,4BACTM,SAAU,kBACV77B,KACE,2EAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,6CACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,6DACNC,QAAS,2BACTM,SAAU,kBACV77B,KACE,0EAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,oCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,gDACNC,QAAS,wBACTM,SAAU,kBACV77B,KAAM,uEAER,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,uCACNC,QAAS,yBACTM,SAAU,kBACV77B,KACE,wEAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,kCACNC,QAAS,0BACTM,SAAU,kBACV77B,KACE,yEAEJ,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,6DACNC,QAAS,uBACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,4DACNC,QAAS,uBACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,0CACN34B,KAAM,SAER,CACElF,KAAM,IACN69B,KAAM,mCACN34B,KAAM,UAGVq5B,QAAS,OACTV,KAAM,0DACNC,QAAS,6BACTM,SAAU,kBACV77B,KAAM,sEAER,CACEvC,KAAM,MACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,iEACNC,QAAS,QACTM,SAAU,YACV77B,KACE,qGAztGmC,CACvCvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,kEACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,uEACNC,QAAS,yBACTM,SAAU,aACV77B,KACE,uGA8sGF,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,kEACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,kHACFC,QAAS,2BACTM,SAAU,aACV77B,KACE,yGAEJ,CACEvC,KAAM,MACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,gEACNC,QAAS,QACTM,SAAU,YACV77B,KACE,qGAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,iEACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,2EACFC,QAAS,yBACTM,SAAU,aACV77B,KACE,uGAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,iCACN34B,KAAM,aAGVq5B,QAAS,GACTV,KAAM,mEACNC,QAAS,sBACTM,SAAU,kBACV77B,KACE,qGAEJ,CACEvC,KAAM,UACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,qCACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,kCACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,6FACF34B,KAAM,UAER,CACElF,KAAM,MACN69B,KACE,gFACF34B,KAAM,WAER,CACElF,KAAM,WACN69B,KAAM,sBACN34B,KAAM,UAER,CACElF,KAAM,WACN69B,KAAM,2CACN34B,KAAM,UAER,CACElF,KAAM,WACN69B,KAAM,2CACN34B,KAAM,UAER,CACElF,KAAM,OACN69B,KAAM,iCACN34B,KAAM,UAER,CACElF,KAAM,UACN69B,KAAM,8CACN34B,KAAM,YAER,CACElF,KAAM,aACN69B,KACE,sFACF34B,KAAM,UAER,CACElF,KAAM,aACN69B,KACE,+EACF34B,KAAM,oBAER,CACElF,KAAM,eACN69B,KACE,2FACF34B,KAAM,qBAGVq5B,QAAS,oBACTV,KAAM,sDACNC,QACE,kJACFM,SAAU,UACV77B,KACE,mFAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,6CACN34B,KAAM,UAER,CACElF,KAAM,KACN69B,KAAM,oCACN34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,qKACFC,QAAS,0DACTM,SAAU,kBACV77B,KACE,gGAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,kEACN34B,KAAM,oBAER,CACElF,KAAM,YACN69B,KACE,+EACF34B,KAAM,oBAER,CACElF,KAAM,cACN69B,KACE,0EACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,wHACFC,QACE,wEACFM,SAAU,kBACV77B,KACE,6FAEJ,CACEvC,KAAM,+BACN+9B,KAAM,CACJ,CACE/9B,KAAM,WACN69B,KAAM,+DACN34B,KAAM,UAGVq5B,QAAS,0BACTV,KACE,wHACFC,QAAS,+CACTM,SAAU,kBACV77B,KACE,wGAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,uDACN34B,KAAM,WAGVq5B,QAAS,0BACTV,KAAM,+DACNC,QAAS,0DACTM,SAAU,SACV77B,KACE,6FAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,uEACF34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,2DACN34B,KAAM,SAER,CACElF,KAAM,SACN69B,KACE,uHACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,oLACF34B,KAAM,UAGVq5B,QAAS,GACTV,KACE,4VACFC,QACE,uFACFM,SAAU,aACV77B,KACE,2GAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,uBACN34B,KAAM,qBAGVq5B,QAAS,qBACTV,KAAM,+BACNC,QAAS,6CACTM,SAAU,kBACV77B,KACE,8FAEJ,CACEvC,KAAM,0BACN+9B,KAAM,CACJ,CACE/9B,KAAM,cACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,qBACTV,KAAM,qCACNC,QAAS,2DACTM,SAAU,kBACV77B,KACE,mGAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,+BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,2CACN34B,KAAM,mBAER,CACElF,KAAM,OACN69B,KAAM,8DACN34B,KAAM,oBAGVq5B,QAAS,qBACTV,KAAM,qEACNC,QACE,qEACFM,SAAU,SACV77B,KACE,2FAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,+BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,2CACN34B,KAAM,mBAER,CACElF,KAAM,OACN69B,KAAM,8DACN34B,KAAM,mBAER,CACElF,KAAM,cACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,uBACN34B,KAAM,oBAER,CACElF,KAAM,YACN69B,KAAM,2DACN34B,KAAM,aAGVq5B,QAAS,qBACTV,KACE,yIACFC,QACE,kKACFM,SAAU,SACV77B,KACE,0FA9lHoC,CACxCvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,2CACN34B,KAAM,mBAER,CACElF,KAAM,OACN69B,KAAM,8DACN34B,KAAM,oBAGVq5B,QAAS,GACTV,KACE,wSACFC,QAAS,kCACTM,SAAU,kBACV77B,KACE,6FA6kHF,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KACE,mHACF34B,KAAM,YAER,CACElF,KAAM,WACN69B,KACE,yFACF34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,kEACNC,QACE,8FACFM,SAAU,aACV77B,KACE,yGAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uDACN34B,KAAM,WAGVq5B,QAAS,SACTV,KACE,yEACFC,QAAS,gCACTM,SAAU,mBACV77B,KACE,6EAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,8BACN34B,KAAM,WAGVq5B,QAAS,SACTV,KAAM,8DACNC,QAAS,mDACTM,SAAU,kBACV77B,KACE,gFAEJ,CACEvC,KAAM,yBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,8BACN34B,KAAM,WAGVq5B,QAAS,SACTV,KACE,2IACFC,QAAS,gDACTM,SAAU,kBACV77B,KACE,qFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wDACN34B,KAAM,WAGVq5B,QAAS,SACTV,KAAM,kEACNC,QAAS,kCACTM,SAAU,mBACV77B,KACE,+EAEJ,CACEvC,KAAM,2BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,8BACN34B,KAAM,WAGVq5B,QAAS,SACTV,KAAM,gEACNC,QAAS,0DACTM,SAAU,QACV77B,KACE,uFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,uEACF34B,KAAM,WAGVq5B,QAAS,SACTV,KAAM,oEACNC,QAAS,uCACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,0BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,WAGVq5B,QAAS,SACTV,KACE,oFACFC,QAAS,+DACTM,SAAU,kBACV77B,KACE,sFAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,sCACN34B,KAAM,YAGVq5B,QAAS,SACTV,KACE,kIACFC,QAAS,yDACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,wBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KACE,8EACF34B,KAAM,WAER,CACElF,KAAM,UACN69B,KAAM,mDACN34B,KAAM,sBAGVq5B,QAAS,GACTV,KAAM,sEACNC,QAAS,8BACTM,SAAU,kBACV77B,KACE,6GAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,0FACF34B,KAAM,UAER,CACElF,KAAM,KACN69B,KACE,sFACF34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,+IACFC,QAAS,wDACTM,SAAU,kBACV77B,KACE,8FAEJ,CACEvC,KAAM,kBACN+9B,KAAM,GACNQ,QAAS,UACTV,KAAM,oCACNC,QAAS,oBACTM,SAAU,gBACV77B,KACE,8EAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,WAER,CACElF,KAAM,MACN69B,KACE,wLACF34B,KAAM,YAGVq5B,QAAS,GACTV,KAAM,wDACNC,QAAS,uBACTM,SAAU,YACV77B,KACE,wGAEJ,CACEvC,KAAM,cACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,8BACN34B,KAAM,WAGVq5B,QAAS,8BACTV,KAAM,qDACNC,QAAS,+BACTM,SAAU,gBACV77B,KACE,0EAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,2BACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,iOACFC,QAAS,wCACTM,SAAU,kBACV77B,KACE,2FAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,mDACNC,QAAS,yBACTM,SAAU,aACV77B,KACE,uGAEJ,CACEvC,KAAM,QACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,UAER,CACElF,KAAM,WACN69B,KAAM,yCACN34B,KAAM,aAGVq5B,QAAS,GACTV,KAAM,4CACNC,QAAS,sBACTM,SAAU,gBACV77B,KACE,kFAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,UACN69B,KACE,0HACF34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KAAM,wDACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,4KACFC,QAAS,yCACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,mJACFC,QAAS,2BACTM,SAAU,aACV77B,KACE,yGAEJ,CACEvC,KAAM,WACN+9B,KAAM,CACJ,CACE/9B,KAAM,aACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,iBACN69B,KACE,mHACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,6CACN34B,KAAM,WAGVq5B,QAAS,MACTV,KAAM,yCACNC,QACE,gIACFM,SAAU,SACV77B,KAAM,uEAER,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,aACN69B,KAAM,kDACN34B,KAAM,UAER,CACElF,KAAM,iBACN69B,KACE,mHACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,yBACN34B,KAAM,UAER,CACElF,KAAM,YACN69B,KACE,0GACF34B,KAAM,YAGVq5B,QAAS,MACTV,KAAM,iCACNC,QACE,iHACFM,SAAU,UACV77B,KAAM,qEAER,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KACE,+FACF34B,KAAM,YAER,CACElF,KAAM,SACN69B,KACE,yFACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,wGACFC,QAAS,mEACTM,SAAU,kBACV77B,KACE,kGAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KACE,+FACF34B,KAAM,YAER,CACElF,KAAM,SACN69B,KACE,wFACF34B,KAAM,UAER,CACElF,KAAM,OACN69B,KAAM,2DACN34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,mFACFC,QACE,yFACFM,SAAU,kBACV77B,KACE,qGAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0DACN34B,KAAM,UAER,CACElF,KAAM,OACN69B,KACE,8EACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,2EACFC,QAAS,2CACTM,SAAU,aACV77B,KACE,yGAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,sDAGVq5B,QAAS,GACTV,KAAM,uCACNC,QAAS,sBACTM,SAAU,mBACV77B,KACE,+GAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,qDACNC,QAAS,kCACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,sBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,8EACFC,QAAS,8CACTM,SAAU,QACV77B,KACE,kFAEJ,CACEvC,KAAM,sBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,2DACNC,QAAS,yDACTM,SAAU,QACV77B,KACE,kFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,uBACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,qFACFC,QAAS,6DACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,0EACFC,QAAS,sCACTM,SAAU,QACV77B,KACE,gFAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,wDACNC,QAAS,kDACTM,SAAU,QACV77B,KACE,gFAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,sDACNC,QAAS,kDACTM,SAAU,QACV77B,KACE,gFAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,wHACFC,QAAS,8CACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,+IACFC,QAAS,kDACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,uDACNC,QAAS,0BACTM,SAAU,QACV77B,KACE,8EAEJ,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,6DACNC,QAAS,2BACTM,SAAU,QACV77B,KACE,+EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mDACNC,QAAS,0BACTM,SAAU,QACV77B,KACE,8EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,uCACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mDACNC,QAAS,0BACTM,SAAU,QACV77B,KACE,8EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,uCACN34B,KAAM,oBAER,CACElF,KAAM,IACN69B,KAAM,kDACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,4FACFC,QAAS,gDACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,+HACFC,QAAS,kDACTM,SAAU,kBACV77B,KACE,gFAEJ,CACEvC,KAAM,uBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,4JACFC,QAAS,sDACTM,SAAU,kBACV77B,KACE,mFAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,qCACN34B,KAAM,YAGVq5B,QAAS,UACTV,KAAM,mEACNC,QAAS,gCACTM,SAAU,kBACV77B,KACE,6EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,wDACN34B,KAAM,YAGVq5B,QAAS,UACTV,KACE,gGACFC,QAAS,kEACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,4CACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,sFACFC,QAAS,+DACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,6BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,+CACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,+EACFC,QAAS,8CACTM,SAAU,kBACV77B,KACE,4EAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,6BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,+CACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,kFACFC,QAAS,mDACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,sBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,6BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,+CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,sCACN34B,KAAM,YAGVq5B,QAAS,UACTV,KACE,sFACFC,QAAS,0DACTM,SAAU,kBACV77B,KACE,kFAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,6BACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,+CACN34B,KAAM,UAER,CACElF,KAAM,IACN69B,KAAM,sCACN34B,KAAM,YAGVq5B,QAAS,UACTV,KACE,mFACFC,QAAS,qDACTM,SAAU,kBACV77B,KACE,6EAEJ,CACEvC,KAAM,iBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,kCACNC,QAAS,uCACTM,SAAU,kBACV77B,KACE,6EAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,8BACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,uCACN34B,KAAM,WAER,CACElF,KAAM,MACN69B,KAAM,qCACN34B,KAAM,YAGVq5B,QAAS,UACTV,KAAM,yDACNC,QAAS,mDACTM,SAAU,kBACV77B,KACE,gFA9jJ4C,CAChDvC,KAAM,gBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mCACNC,QAAS,6BACTM,SAAU,kBACV77B,KACE,4EAmjJF,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mCACNC,QAAS,+BACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,qDACNC,QAAS,wCACTM,SAAU,kBACV77B,KACE,8EAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,+BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mCACNC,QAAS,+BACTM,SAAU,kBACV77B,KACE,8EA9lJ2C,CAC/CvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KACE,qHACF34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,mEACNC,QAAS,yCACTM,SAAU,kBACV77B,KACE,2EA6kJF,CACEvC,KAAM,mBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wCACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,oDACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,sDACNC,QAAS,2CACTM,SAAU,kBACV77B,KACE,+EAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,wBACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,oGACFC,QAAS,kDACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wCACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,qDACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,uDACNC,QAAS,4CACTM,SAAU,kBACV77B,KACE,gFAEJ,CACEvC,KAAM,oBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,WAGVq5B,QAAS,UACTV,KAAM,qDACNC,QAAS,iCACTM,SAAU,kBACV77B,KACE,gFAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,UAER,CACElF,KAAM,SACN69B,KAAM,wBACN34B,KAAM,WAGVq5B,QAAS,UACTV,KACE,kGACFC,QAAS,kDACTM,SAAU,kBACV77B,KACE,iFAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0DACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,gEACNC,QAAS,wBACTM,SAAU,aACV77B,KACE,sGAEJ,CACEvC,KAAM,cACN+9B,KAAM,GACNQ,QAAS,SACTV,KAAM,mCACNC,QAAS,gBACTM,SAAU,gBACV77B,KACE,0EAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,KACN69B,KAAM,+DACN34B,KAAM,aAGVq5B,QAAS,GACTV,KACE,sIACFC,QAAS,oDACTM,SAAU,kBACV77B,KACE,8GAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,2CACN34B,KAAM,WAER,CACElF,KAAM,SACN69B,KACE,+FACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,0EACFC,QAAS,cACTM,SAAU,kBACV77B,KACE,4FAEJ,CACEvC,KAAM,sBACN+9B,KAAM,GACNQ,QAAS,UACTV,KAAM,qCACNC,QAAS,wBACTM,SAAU,QACV77B,KACE,kFAEJ,CACEvC,KAAM,uBACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,sCACN34B,KAAM,UAER,CACElF,KAAM,MACN69B,KAAM,sCACN34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KAAM,8DACN34B,KAAM,qBAGVq5B,QAAS,UACTV,KAAM,iDACNC,QAAS,6CACTM,SAAU,QACV77B,KACE,mFAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,MACN69B,KAAM,sCACN34B,KAAM,oBAER,CACElF,KAAM,OACN69B,KAAM,8DACN34B,KAAM,oBAER,CACElF,KAAM,UACN69B,KACE,gGACF34B,KAAM,UAGVq5B,QAAS,UACTV,KAAM,uCACNC,QAAS,6CACTM,SAAU,QACV77B,KACE,2EAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,8BAGVq5B,QAAS,GACTV,KAAM,qCACNC,QAAS,oBACTM,SAAU,mBACV77B,KACE,6GAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,iCACN34B,KAAM,YAER,CACElF,KAAM,SACN69B,KAAM,2CACN34B,KAAM,YAER,CACElF,KAAM,SACN69B,KACE,4EACF34B,KAAM,WAGVq5B,QAAS,GACTV,KACE,kFACFC,QAAS,4CACTM,SAAU,kBACV77B,KACE,0GAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,WACN69B,KACE,4EACF34B,KAAM,UAER,CACElF,KAAM,UACN69B,KACE,qFACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KACE,iGACFC,QAAS,kEACTM,SAAU,kBACV77B,KACE,6FAEJ,CACEvC,KAAM,KACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,2EACF34B,KAAM,UAER,CACElF,KAAM,WACN69B,KACE,mFACF34B,KAAM,UAER,CACElF,KAAM,MACN69B,KACE,iIACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KACE,6HACF34B,KAAM,UAER,CACElF,KAAM,OACN69B,KACE,mFACF34B,KAAM,UAER,CACElF,KAAM,QACN69B,KACE,qGACF34B,KAAM,UAER,CACElF,KAAM,aACN69B,KAAM,uDACN34B,KAAM,UAER,CACElF,KAAM,aACN69B,KACE,6IACF34B,KAAM,oBAER,CACElF,KAAM,UACN69B,KACE,gPACF34B,KAAM,aAGVq5B,QAAS,GACTV,KAAM,8DACNC,QAAS,mDACTM,SAAU,UACV77B,KACE,kFAEJ,CACEvC,KAAM,SACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,2DACNC,QAAS,WACTM,SAAU,mBACV77B,KACE,8GAEJ,CACEvC,KAAM,UACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,yDACNC,QAAS,YACTM,SAAU,mBACV77B,KACE,gHAEJ,CACEvC,KAAM,QACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,2DACNC,QAAS,UACTM,SAAU,mBACV77B,KACE,8GAEJ,CACEvC,KAAM,WACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,gCACNC,QAAS,aACTM,SAAU,mBACV77B,KACE,iHAEJ,CACEvC,KAAM,SACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,8BACNC,QAAS,WACTM,SAAU,mBACV77B,KACE,+GAEJ,CACEvC,KAAM,SACN+9B,KAAM,GACNQ,QAAS,GACTV,KAAM,2CACNC,QAAS,WACTM,SAAU,mBACV77B,KACE,+GAEJ,CACEvC,KAAM,MACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,4BACN34B,KAAM,WAER,CACElF,KAAM,UACN69B,KACE,0HACF34B,KAAM,qBAGVq5B,QAAS,GACTV,KAAM,0DACNC,QAAS,iCACTM,SAAU,YACV77B,KACE,qGAEJ,CACEvC,KAAM,YACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,mCACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,sMACFC,QAAS,kBACTM,SAAU,kBACV77B,KACE,iGAEJ,CACEvC,KAAM,8BACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,kDACN34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,oFACFC,QAAS,oCACTM,SAAU,kBACV77B,KACE,mHAEJ,CACEvC,KAAM,qBACN+9B,KAAM,CACJ,CACE/9B,KAAM,OACN69B,KAAM,mCACN34B,KAAM,aAGVq5B,QAAS,GACTV,KAAM,oDACNC,QAAS,+BACTM,SAAU,kBACV77B,KACE,0GAEJ,CACEvC,KAAM,OACN+9B,KAAM,CACJ,CACE/9B,KAAM,IACN69B,KAAM,wBACN34B,KAAM,6BAGVq5B,QAAS,GACTV,KAAM,yCACNC,QAAS,oBACTM,SAAU,mBACV77B,KACE,6GAEJi8B,GACA,CACEx+B,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,iEACN34B,KAAM,WAGVq5B,QAAS,GACTV,KAAM,mEACNC,QAAS,2BACTM,SAAU,YACV77B,KACE,wGAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,sCACN34B,KAAM,UAER,CACElF,KAAM,YACN69B,KACE,uEACF34B,KAAM,YAER,CACElF,KAAM,QACN69B,KAAM,6DACN34B,KAAM,oBAGVq5B,QAAS,yBACTV,KAAM,wCACNC,QAAS,yCACTM,SAAU,SACV77B,KACE,+FAEJ,CACEvC,KAAM,kBACN+9B,KAAM,GACNQ,QAAS,yBACTV,KAAM,sEACNC,QAAS,oBACTM,SAAU,kBACV77B,KACE,uFAEJ,CACEvC,KAAM,0BACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,sCACN34B,KAAM,UAER,CACElF,KAAM,cACN69B,KAAM,2CACN34B,KAAM,UAER,CACElF,KAAM,QACN69B,KAAM,6DACN34B,KAAM,oBAGVq5B,QAAS,yBACTV,KAAM,6CACNC,QACE,wFACFM,SAAU,SACV77B,KACE,+FAEJ,CACEvC,KAAM,wBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,uEACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KAAM,iDACN34B,KAAM,WAGVq5B,QAAS,yBACTV,KAAM,yDACNC,QACE,sEACFM,SAAU,SACV77B,KACE,6FAEJ,CACEvC,KAAM,0BACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KACE,uEACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KAAM,mDACN34B,KAAM,UAER,CACElF,KAAM,MACN69B,KAAM,kDACN34B,KAAM,WAGVq5B,QAAS,yBACTV,KAAM,2DACNC,QACE,qFACFM,SAAU,SACV77B,KACE,+FAEJ,CACEvC,KAAM,kBACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,8CACN34B,KAAM,WAGVq5B,QAAS,yBACTV,KAAM,uDACNC,QAAS,4CACTM,SAAU,SACV77B,KACE,uFAEJ,CACEvC,KAAM,aACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,0CACN34B,KAAM,UAER,CACElF,KAAM,YACN69B,KACE,2EACF34B,KAAM,YAER,CACElF,KAAM,QACN69B,KACE,+EACF34B,KAAM,oBAGVq5B,QAAS,yBACTV,KAAM,sEACNC,QAAS,uCACTM,SAAU,SACV77B,KACE,kFAEJ,CACEvC,KAAM,eACN+9B,KAAM,CACJ,CACE/9B,KAAM,SACN69B,KAAM,4CACN34B,KAAM,UAER,CACElF,KAAM,MACN69B,KAAM,6CACN34B,KAAM,UAER,CACElF,KAAM,YACN69B,KACE,6EACF34B,KAAM,YAER,CACElF,KAAM,QACN69B,KACE,+EACF34B,KAAM,oBAGVq5B,QAAS,yBACTV,KAAM,mDACNC,QAAS,6DACTM,SAAU,SACV77B,KACE,oFAEJ,CACEvC,KAAM,SACN+9B,KAAM,CACJ,CACE/9B,KAAM,QACN69B,KAAM,gEACN34B,KAAM,YAER,CACElF,KAAM,SACN69B,KACE,uKACF34B,KAAM,YAER,CACElF,KAAM,SACN69B,KACE,qLACF34B,KAAM,YAER,CACElF,KAAM,YACN69B,KACE,8GACF34B,KAAM,YAER,CACElF,KAAM,aACN69B,KAAM,qDACN34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,uEACF34B,KAAM,UAER,CACElF,KAAM,aACN69B,KACE,qEACF34B,KAAM,UAER,CACElF,KAAM,cACN69B,KACE,yEACF34B,KAAM,YAGVq5B,QAAS,GACTV,KACE,mRACFC,QAAS,gCACTM,SAAU,kBACV77B,KACE,8FAEJ,CACEvC,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CX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ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AAMA,GACd5I,EAAS,YAAO,oB,iCErIpB,IAAYk/J,EAAZ,2CAAYA,GACV,kBACA,kBAFF,CAAYA,MAAc,M,iCCW1B,sCA6CYC,EA7CZ,kBA6CA,SAAYA,GACV,kBACA,oBAFF,CAAYA,MAAc,M,iCCjE1B,IAAYC,EAAZ,2CAAYA,GACV,cACA,kBAFF,CAAYA,MAAY,M,iCCKxB,kCAAO,MAAMC,UAA0B97J,MACrC,eAAew2B,GACb1Y,SAAS0Y,GAETx9B,KAAKP,KAAO,uB,iCC6kBhB,kCAAO,MAAMm9J,EAAY,CACvB,QACA,MACA,iBACA,eACA,qBACA,iBACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,qBACA,mBACA,eACA,oBACA,eACA,iBACA,eACA,uBACA,kBACA,gBACA,kBACA,kBACA,kBACA,gBACA,sBACA,cACA,iBACA,kBACA,gBACA,kBACA,eACA,oBACA,cACA,gBACA,oBACA,gBACA,gBACA,gBACA,gBACA,iBACA,mBACA,kBACA,iBACA,kBACA,gBACA,oBACA,qBACA,oBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,mBACA,kBACA,oBACA,iCACA,8BACA,mCACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,gBACA,mBACA,mBACA,eACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,uBACA,wBACA,uBACA,iBACA,kBACA,oBACA,kBACA,iBACA,kBACA,oBACA,wBACA,kBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,mBACA,sBACA,mBACA,sBACA,qBACA,oBACA,oBACA,kBACA,oBACA,qBACA,kBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,uBACA,iBACA,kBACA,kBACA,gBACA,iBACA,8BACA,8BACA,kBACA,qBACA,iBACA,eACA,sBACA,qBACA,wBACA,iBACA,kBACA,iBACA,kBACA,qBACA,oBACA,mBACA,kBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,mBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,wBACA,yBACA,qBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,kBACA,uBACA,mBACA,mBACA,wBACA,oBACA,uBACA,mBACA,gBACA,wBACA,mBACA,mBACA,mBACA,oBACA,qBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,kBACA,oBACA,iBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,qBACA,oBACA,qBACA,wBACA,mBACA,mBACA,oBACA,sBACA,YACA,cACA,aACA,cACA,aACA,cACA,gBACA,iBACA,cACA,eACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,gBACA,aACA,kBACA,iBACA,iBACA,eACA,aACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,cACA,mBACA,iBACA,YACA,eACA,gBACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,eACA,iBACA,gBACA,gBACA,eACA,mBACA,oBACA,eACA,cACA,aACA,aACA,eACA,gBACA,cACA,cACA,oBACA,mBACA,YACA,YACA,kBACA,iBACA,iBACA,aACA,iBACA,eACA,cACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,gBACA,cACA,eACA,aACA,aACA,qBACA,mBACA,kBACA,cACA,gBACA,iBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,kBACA,iBACA,qBACA,mBACA,qBACA,yBACA,qBACA,mBACA,gBACA,qBACA,qBACA,wBACA,qBACA,mBACA,mBACA,kBACA,mBACA,gBACA,qBACA,sBACA,sBACA,kBACA,gBACA,kBACA,uBACA,kBACA,mBACA,qBACA,qBACA,iBACA,uBACA,cACA,mBACA,cACA,cACA,kBACA,iBACA,iBACA,kBACA,sBACA,iBACA,sBACA,eACA,MACA,oBACA,qBACA,UACA,OACA,MACA,QACA,OACA,MACA,UACA,UACA,YACA,YACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,aACA,aACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,gBACA,UACA,gBACA,UACA,WACA,mBACA,iBACA,mBACA,gBACA,iBACA,kBACA,gBACA,oBACA,kBACA,mBACA,kBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,kBACA,gBACA,qBACA,cACA,eACA,gBACA,mBACA,gBACA,oBACA,gBACA,eACA,mBACA,eACA,gBACA,gBACA,eACA,cACA,eACA,mBACA,gBACA,cACA,cACA,gBACA,oBACA,kBACA,iBACA,oBACA,gBACA,eACA,mBACA,iBACA,gBACA,kBACA,mBACA,kBACA,eACA,iBACA,gBACA,iBACA,mBACA,gBACA,gBACA,oBACA,gBACA,KACA,UACA,MACA,QACA,OACA,QACA,YACA,WACA,MACA,UACA,sBACA,gBACA,mBACA,eACA,gBACA,mBACA,cACA,kBACA,mBACA,iBACA,iBACA,OACA,SACA,UACA,QACA,YACA,QACA,MACA,mBACA,iBACA,iBACA,MACA,UACA,SACA,KACA,UACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,mBACA,qBACA,iBACA,oBACA,iBACA,oBACA,iBACA,gBACA,eACA,kBACA,iBACA,oBACA,gBACA,mBACA,kBACA,iBACA,uBACA,oBACA,iBACA,gBACA,iBACA,iBACA,oBACA,eACA,eACA,iBACA,cACA,SACA,WACA,MACA,UACA,MACA,MACA,YACA,SACA,MACA,YACA,YAC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yBACA,2BACA,qBACA,cACA,wBACA,kBACA,6BACA,gBACA,2BACA,uBACA,sBACA,+BACA,sBACA,cACA,6BACA,qBACA,0BACA,iBACA,iBACA,iBACA,gBACA,sBACA,wBACA,qBACA,qBACA,kBACA,YACA,yBACA,qBACA,kBACA,kBACA,0BACA,gBACA,kBACA,kBACA,kBACA,cACA,gBACA,oBACA,cACA,gBACA,kBACA,cACA,cACA,2BACA,kBACA,oBACA,kBACA,kBACA,mBACA,oBACA,kBACA,yBACA,gBACA,sBACA,cACA,qBACA,6BACA,2BACA,uBACA,yBACA,cACA,kBACA,cACA,cACA,YA/EF,CAAYA,MAAQ,KAkFpB,SAAYC,GACV,iBACA,iBACA,qBACA,mBACA,mBACA,iBACA,qBACA,qBACA,mBACA,kBACA,wBACA,wBAZF,CAAYA,MAAO,KAenB,SAAYC,GACV,cACA,kBACA,gBAHF,CAAYA,MAAS,KAMrB,SAAYC,GACV,oBACA,kBACA,cAHF,CAAYA,MAAI,KAMhB,SAAYC,GACV,cACA,oBAFF,CAAYA,MAAK,KAKjB,SAAYC,GACV,sBACA,kBACA,8BAHF,CAAYA,MAAW,KCxKvB,IAAM,EAAN,cAAsB,gBAQpB,YAAY92K,GACV6kB,MAAM7kB,GA4BA,KAAA+2K,kBAAqBC,IAC3Bj3K,KAAKoK,SAAS,CAAC6sK,iBA3Bfj3K,KAAKe,MAAQ,CACXk2K,aAAa,GAIV,SACL,MAAM,SAACl3K,GAAYC,KAAKC,MAExB,OACE,yBAAKX,UAAWU,KAAKV,WAClB,IAAM23E,SAASrxE,IAAI7F,EAAWm3E,GACzBA,EAAMvyE,OAAS,EAEf,kBAAC,EAAW,iBACNuyE,EAAMj3E,MAAK,CACf61K,cAAe91K,KAAKg3K,qBAIjB9/F,IAWjB,gBACE,MAAM,MAACxK,EAAK,UAAEptE,GAAaU,KAAKC,OAC1B,YAACg3K,GAAej3K,KAAKe,MAE3B,OAAO,IAAW,eAAgB,CAChC,CAAC,GAAGzB,KAAcA,EAClB,wBAAyB23K,EACzB,2BAA4BvqG,IAAUkqG,EAAUM,KAChD,4BAA6BxqG,IAAUkqG,EA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","file":"3.56e0098134.js","sourcesContent":["// Libraries\nimport React, {FC} from 'react'\nimport {FunnelPage, Button, ComponentColor} from '@influxdata/clockface'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps\n\nconst NoOrgsPage: FC = ({history, me}) => {\n const handleClick = () => {\n history.push('/signin')\n }\n\n return (\n \n
\n \n
\n

Whoops!

\n

\n You don't belong to an organization.\n
\n Add user {`\"${me.name}\"`} to an organization to\n continue\n

\n \n
\n )\n}\n\nconst mstp = ({me}: AppState) => {\n return {me}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(NoOrgsPage))\n","import {PureComponent} from 'react'\nimport {CLOUD} from 'src/shared/constants'\n\nexport default class extends PureComponent {\n render() {\n const {children} = this.props\n\n if (!CLOUD) {\n return children\n }\n\n return null\n }\n}\n","import {PureComponent} from 'react'\nimport {CLOUD} from 'src/shared/constants'\n\nexport default class extends PureComponent {\n render() {\n const {children} = this.props\n\n if (CLOUD) {\n return children\n }\n\n return null\n }\n}\n","// Constants\nimport {HOMEPAGE_PATHNAME} from 'src/shared/constants'\n\nexport const getNavItemActivation = (\n keywords: string[],\n location: string\n): boolean => {\n const ignoreOrgAndOrgID = 3\n const parentPath = location.split('/').slice(ignoreOrgAndOrgID)\n if (!parentPath.length) {\n parentPath.push(HOMEPAGE_PATHNAME)\n }\n return keywords.some(path => parentPath.includes(path))\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {TreeNav} from '@influxdata/clockface'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Constants\nimport {\n CLOUD_URL,\n CLOUD_USAGE_PATH,\n CLOUD_BILLING_PATH,\n CLOUD_USERS_PATH,\n} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getNavItemActivation} from '../utils'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst UserWidget: FC = ({\n org,\n me,\n handleShowOverlay,\n handleDismissOverlay,\n}) => {\n if (!org) {\n return null\n }\n\n const handleSwitchOrganizations = (): void => {\n handleShowOverlay('switch-organizations', {}, handleDismissOverlay)\n }\n\n const orgPrefix = `/orgs/${org.id}`\n\n return (\n \n \n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n (\n \n )}\n />\n \n \n (\n \n )}\n />\n (\n \n )}\n />\n \n (\n \n )}\n />\n \n }\n />\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n const me = state.me\n return {org, me}\n}\n\nconst mdtp = {\n handleShowOverlay: showOverlay,\n handleDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(UserWidget)\n","// Libraries\nimport React, {FC} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {\n TreeNav,\n IconFont,\n InfluxDBCloudLogo,\n Icon,\n ComponentColor,\n} from '@influxdata/clockface'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\ninterface Props {\n link: string\n}\n\nconst NavHeader: FC = ({link}) => {\n return (\n <>\n \n }\n label={}\n color={ComponentColor.Secondary}\n linkElement={className => }\n />\n \n \n }\n label={}\n color={ComponentColor.Primary}\n linkElement={className => }\n />\n \n \n )\n}\n\nexport default NavHeader\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get, find} from 'lodash'\n\n// Components\nimport {\n Panel,\n ComponentSize,\n Heading,\n HeadingElement,\n Gradients,\n JustifyContent,\n Icon,\n IconFont,\n} from '@influxdata/clockface'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Constants\nimport {CLOUD_URL, CLOUD_CHECKOUT_PATH} from 'src/shared/constants'\nimport {\n HIDE_UPGRADE_CTA_KEY,\n PAID_ORG_HIDE_UPGRADE_SETTING,\n} from 'src/cloud/constants'\n\n// Types\nimport {AppState, OrgSetting} from 'src/types'\n\ninterface StateProps {\n inView: boolean\n}\n\nconst CloudUpgradeNavBanner: FC = ({inView}) => {\n return (\n <>\n {inView && (\n \n \n \n \n Need more wiggle room?\n \n \n \n \n Upgrade Now\n \n \n \n \n \n Upgrade Now\n \n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const settings = get(state, 'cloud.orgSettings.settings', [])\n const hideUpgradeButtonSetting = find(\n settings,\n (setting: OrgSetting) => setting.key === HIDE_UPGRADE_CTA_KEY\n )\n if (\n !hideUpgradeButtonSetting ||\n hideUpgradeButtonSetting.value !== PAID_ORG_HIDE_UPGRADE_SETTING.value\n ) {\n return {inView: true}\n }\n return {inView: false}\n}\n\nexport default connect(mstp)(CloudUpgradeNavBanner)\n","import {AppState} from 'src/types'\nimport {get} from 'lodash'\n\nexport const getOrgSettings = (state: AppState) => {\n return get(state, 'cloud.orgSettings.settings', [])\n}\n","// Libraries\nimport {FC, useEffect, useState} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Actions\nimport {getOrgSettings as getOrgSettingsAction} from 'src/cloud/actions/orgsettings'\n\nimport {getOrg} from 'src/organizations/selectors'\nimport {getOrgSettings} from 'src/cloud/selectors/orgsettings'\nimport {updateReportingContext} from 'src/cloud/utils/reporting'\n\ninterface PassedInProps {\n children: React.ReactElement\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & PassedInProps\n\nconst OrgSettings: FC = ({org, settings, children}) => {\n const dispatch = useDispatch()\n const [hasFetchedOrgSettings, setHasFetchedOrgSettings] = useState(\n false\n )\n\n useEffect(() => {\n if (CLOUD && org && !hasFetchedOrgSettings) {\n setHasFetchedOrgSettings(true)\n dispatch(getOrgSettingsAction())\n }\n }, [dispatch, org, hasFetchedOrgSettings])\n\n useEffect(() => {\n updateReportingContext(\n settings.reduce((prev, curr) => {\n prev[`org (${curr.key})`] = curr.value\n return prev\n }, {})\n )\n }, [settings])\n\n return children\n}\n\nconst mstp = (state: AppState) => ({\n org: getOrg(state),\n settings: getOrgSettings(state),\n})\n\nconst mdtp = {\n getOrgSettings: getOrgSettingsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(OrgSettings)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {\n matchPath,\n withRouter,\n RouteComponentProps,\n Link,\n} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Icon, TreeNav} from '@influxdata/clockface'\nimport UserWidget from 'src/pageLayout/components/UserWidget'\nimport NavHeader from 'src/pageLayout/components/NavHeader'\nimport CloudUpgradeNavBanner from 'src/shared/components/CloudUpgradeNavBanner'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\nimport OrgSettings from 'src/cloud/components/OrgSettings'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Constants\nimport {generateNavItems} from 'src/pageLayout/constants/navigationHierarchy'\n\n// Utils\nimport {getNavItemActivation} from 'src/pageLayout/utils'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Actions\nimport {setNavBarState} from 'src/shared/actions/app'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass TreeSidebar extends PureComponent {\n public render() {\n const {isHidden, history, navBarState, handleSetNavBarState} = this.props\n\n if (isHidden) {\n return null\n }\n\n const match = matchPath<{orgID: string}>(history.location.pathname, {\n path: '/orgs/:orgID',\n exact: false,\n strict: false,\n })\n\n const orgID = match?.params?.orgID\n\n const isExpanded = navBarState === 'expanded'\n\n const handleToggleNavExpansion = (): void => {\n if (isExpanded) {\n handleSetNavBarState('collapsed')\n } else {\n handleSetNavBarState('expanded')\n }\n }\n\n const orgPrefix = `/orgs/${orgID}`\n const navItems = generateNavItems(orgID)\n\n return (\n \n }\n userElement={}\n onToggleClick={handleToggleNavExpansion}\n bannerElement={}\n >\n {navItems.map(item => {\n const linkElement = (className: string): JSX.Element => {\n if (item.link.type === 'href') {\n return \n }\n\n return \n }\n let navItemElement = (\n }\n label={item.label}\n shortLabel={item.shortLabel}\n active={getNavItemActivation(\n item.activeKeywords,\n location.pathname\n )}\n linkElement={linkElement}\n >\n {Boolean(item.menu) && (\n \n {item.menu.map(menuItem => {\n const linkElement = (className: string): JSX.Element => {\n if (menuItem.link.type === 'href') {\n return (\n \n )\n }\n\n return (\n \n )\n }\n\n let navSubItemElement = (\n \n )\n\n if (menuItem.cloudExclude) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n if (menuItem.cloudOnly) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n if (menuItem.featureFlag) {\n navSubItemElement = (\n \n {navSubItemElement}\n \n )\n }\n\n return navSubItemElement\n })}\n \n )}\n \n )\n\n if (item.cloudExclude) {\n navItemElement = (\n {navItemElement}\n )\n }\n\n if (item.cloudOnly) {\n navItemElement = (\n {navItemElement}\n )\n }\n\n if (item.featureFlag) {\n navItemElement = (\n \n {navItemElement}\n \n )\n }\n\n return navItemElement\n })}\n \n \n )\n }\n}\n\nconst mdtp = {\n handleSetNavBarState: setNavBarState,\n}\n\nconst mstp = (state: AppState) => {\n const isHidden = get(state, 'app.ephemeral.inPresentationMode', false)\n const navBarState = get(state, 'app.persisted.navBarState', 'collapsed')\n\n return {isHidden, navBarState}\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TreeSidebar))\n","import {IconFont} from '@influxdata/clockface'\n\nexport interface NavItemLink {\n type: 'link' | 'href'\n location: string\n}\n\nexport interface NavSubItem {\n id: string\n testID: string\n label: string\n link: NavItemLink\n cloudExclude?: boolean\n cloudOnly?: boolean\n featureFlag?: string\n featureFlagValue?: boolean\n}\n\nexport interface NavItem {\n id: string\n testID: string\n label: string\n shortLabel?: string\n link: NavItemLink\n icon: IconFont\n cloudExclude?: boolean\n cloudOnly?: boolean\n featureFlag?: string\n featureFlagValue?: boolean\n menu?: NavSubItem[]\n activeKeywords: string[]\n}\n\nexport const generateNavItems = (orgID: string): NavItem[] => {\n const orgPrefix = `/orgs/${orgID}`\n\n return [\n {\n id: 'load-data',\n testID: 'nav-item-load-data',\n icon: IconFont.DisksNav,\n label: 'Load Data',\n shortLabel: 'Data',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/buckets`,\n },\n activeKeywords: ['load-data'],\n menu: [\n {\n id: 'buckets',\n testID: 'nav-subitem-buckets',\n label: 'Buckets',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/buckets`,\n },\n },\n {\n id: 'telegrafs',\n testID: 'nav-subitem-telegrafs',\n label: 'Telegraf',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/telegrafs`,\n },\n },\n {\n id: 'scrapers',\n testID: 'nav-subitem-scrapers',\n label: 'Scrapers',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/scrapers`,\n },\n cloudExclude: true,\n },\n {\n id: 'tokens',\n testID: 'nav-subitem-tokens',\n label: 'Tokens',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/tokens`,\n },\n },\n {\n id: 'client-libraries',\n testID: 'nav-subitem-client-libraries',\n label: 'Client Libraries',\n link: {\n type: 'link',\n location: `${orgPrefix}/load-data/client-libraries`,\n },\n },\n ],\n },\n {\n id: 'data-explorer',\n testID: 'nav-item-data-explorer',\n icon: IconFont.GraphLine,\n label: 'Data Explorer',\n shortLabel: 'Explore',\n link: {\n type: 'link',\n location: `${orgPrefix}/data-explorer`,\n },\n activeKeywords: ['data-explorer'],\n },\n {\n id: 'notebooks',\n testID: 'nav-item-notebooks',\n icon: IconFont.Erlenmeyer,\n label: 'Flows',\n featureFlag: 'notebooks',\n shortLabel: 'Flows',\n link: {\n type: 'link',\n location: `${orgPrefix}/notebooks`,\n },\n activeKeywords: ['notebooks'],\n },\n {\n id: 'dashboards',\n testID: 'nav-item-dashboards',\n icon: IconFont.Dashboards,\n label: 'Dashboards',\n shortLabel: 'Boards',\n link: {\n type: 'link',\n location: `${orgPrefix}/dashboards-list`,\n },\n activeKeywords: ['dashboards'],\n },\n {\n id: 'tasks',\n testID: 'nav-item-tasks',\n icon: IconFont.Calendar,\n label: 'Tasks',\n link: {\n type: 'link',\n location: `${orgPrefix}/tasks`,\n },\n activeKeywords: ['tasks'],\n },\n {\n id: 'alerting',\n testID: 'nav-item-alerting',\n icon: IconFont.Bell,\n label: 'Alerts',\n link: {\n type: 'link',\n location: `${orgPrefix}/alerting`,\n },\n activeKeywords: ['alerting'],\n menu: [\n {\n id: 'history',\n testID: 'nav-subitem-history',\n label: 'Alert History',\n link: {\n type: 'link',\n location: `${orgPrefix}/alert-history`,\n },\n },\n ],\n },\n {\n id: 'settings',\n testID: 'nav-item-settings',\n icon: IconFont.WrenchNav,\n label: 'Settings',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/variables`,\n },\n activeKeywords: ['settings'],\n menu: [\n {\n id: 'variables',\n testID: 'nav-subitem-variables',\n label: 'Variables',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/variables`,\n },\n },\n {\n id: 'templates',\n testID: 'nav-subitem-templates',\n label: 'Templates',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/templates`,\n },\n },\n {\n id: 'labels',\n testID: 'nav-subitem-labels',\n label: 'Labels',\n link: {\n type: 'link',\n location: `${orgPrefix}/settings/labels`,\n },\n },\n ],\n },\n ]\n}\n","import React from 'react'\n\nexport const NOTES_PORTAL_ID = 'notes-portal'\n\nexport default function NotesPortal() {\n return
\n}\n","import React, {PureComponent} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n//Actions\nimport {dismissNotification as dismissNotificationAction} from 'src/shared/actions/notifications'\n\nimport {Notification, ComponentSize, Gradients} from '@influxdata/clockface'\n\n//Types\nimport {AppState, NotificationStyle} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst matchGradientToColor = (style: NotificationStyle): Gradients => {\n const converter = {\n [NotificationStyle.Primary]: Gradients.Primary,\n [NotificationStyle.Warning]: Gradients.WarningLight,\n [NotificationStyle.Success]: Gradients.HotelBreakfast,\n [NotificationStyle.Error]: Gradients.DangerDark,\n [NotificationStyle.Info]: Gradients.DefaultLight,\n }\n return get(converter, style, Gradients.DefaultLight)\n}\n\nclass Notifications extends PureComponent {\n public static defaultProps = {\n notifications: [],\n }\n\n public render() {\n const {notifications} = this.props\n\n return (\n <>\n {notifications.map(\n ({id, style, icon, duration, message, link, linkText}) => {\n const gradient = matchGradientToColor(style)\n\n let button\n\n if (link && linkText) {\n button = (\n \n {linkText}\n \n )\n }\n\n return (\n \n {message}\n {button}\n \n )\n }\n )}\n \n )\n }\n}\n\nconst mstp = ({notifications}: AppState) => ({\n notifications,\n})\n\nconst mdtp = {\n dismissNotification: dismissNotificationAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(Notifications)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {Controlled as ReactCodeMirror, IInstance} from 'react-codemirror2'\nimport {ScrollInfo} from 'codemirror'\n\n// Utils\nimport {humanizeNote} from 'src/dashboards/utils/notes'\n\nconst OPTIONS = {\n mode: 'markdown',\n theme: 'markdown',\n tabIndex: 1,\n readonly: false,\n lineNumbers: false,\n autoRefresh: true,\n completeSingle: false,\n lineWrapping: true,\n placeholder: 'You can use Markdown syntax to format your note',\n}\n\nconst noOp = () => {}\n\ninterface Props {\n note: string\n onChangeNote: (value: string) => void\n onScroll: (scrollTop: number) => void\n scrollTop: number\n}\n\nclass NoteEditorText extends PureComponent {\n private editor: IInstance\n\n public componentDidUpdate() {\n const currentScrollTop = this.editor.getScrollInfo().top\n if (this.props.scrollTop !== currentScrollTop) {\n this.editor.scrollTo(0, this.props.scrollTop)\n }\n }\n\n public render() {\n const {note} = this.props\n\n return (\n \n )\n }\n\n private handleMount = (instance: IInstance) => {\n instance.focus()\n this.editor = instance\n }\n\n private handleChange = (_, __, note: string) => {\n const {onChangeNote} = this.props\n\n onChangeNote(note)\n }\n\n private handleScroll = (__: IInstance, scrollInfo: ScrollInfo) => {\n const {onScroll} = this.props\n\n onScroll(scrollInfo.top)\n }\n}\n\nexport default NoteEditorText\n","import React, {SFC, MouseEvent} from 'react'\n\nimport {MarkdownRenderer} from 'src/shared/components/views/MarkdownRenderer'\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n note: string\n scrollTop: number\n onScroll: (e: MouseEvent) => void\n}\n\nconst cloudImageRenderer = (): any =>\n \"We don't support images in markdown for security purposes\"\n\nconst NoteEditorPreview: SFC = props => {\n return (\n
\n \n
\n \n
\n \n
\n )\n}\n\nexport default NoteEditorPreview\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n SlideToggle,\n InputLabel,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport NoteEditorText from 'src/dashboards/components/NoteEditorText'\nimport NoteEditorPreview from 'src/dashboards/components/NoteEditorPreview'\n\n// Actions\nimport {\n setIsPreviewing,\n toggleShowNoteWhenEmpty,\n setNote,\n} from 'src/dashboards/actions/notes'\n\n// Types\nimport {AppState, NoteEditorMode} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n scrollTop: number\n}\n\nclass NoteEditor extends PureComponent {\n public state = {scrollTop: 0}\n\n public render() {\n const {note, onSetNote} = this.props\n const {scrollTop} = this.state\n\n return (\n
\n )\n }\n\n private get visibilityToggle(): JSX.Element {\n const {hasQuery, showNoteWhenEmpty, onToggleShowNoteWhenEmpty} = this.props\n\n if (!hasQuery) {\n return null\n }\n\n return (\n \n Show note when query returns no data\n \n \n )\n }\n\n private handleEditorScroll = (scrollTop: number) => {\n this.setState({scrollTop})\n }\n\n private handlePreviewScroll = (e: MouseEvent) => {\n const target = e.target as HTMLElement\n const {scrollTop} = target\n\n this.setState({scrollTop})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {note, mode, viewID, isPreviewing, showNoteWhenEmpty} = state.noteEditor\n const hasQuery =\n mode === NoteEditorMode.Editing &&\n viewID &&\n state.resources.views.byID[viewID] &&\n state.resources.views.byID[viewID].properties.type !== 'markdown'\n\n return {note, hasQuery, isPreviewing, showNoteWhenEmpty}\n}\n\nconst mdtp = {\n onSetIsPreviewing: setIsPreviewing,\n onToggleShowNoteWhenEmpty: toggleShowNoteWhenEmpty,\n onSetNote: setNote,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(NoteEditor)\n","// Libraries\nimport {get} from 'lodash'\n\n// Actions\nimport {createCellWithView} from 'src/cells/actions/thunks'\nimport {updateView} from 'src/views/actions/thunks'\n\n// Utils\nimport {createView} from 'src/views/helpers'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {\n GetState,\n MarkdownViewProperties,\n NoteEditorMode,\n ResourceType,\n Dashboard,\n View,\n} from 'src/types'\nimport {NoteEditorState} from 'src/dashboards/reducers/notes'\nimport {Dispatch} from 'react'\n\nexport type Action =\n | CloseNoteEditorAction\n | SetIsPreviewingAction\n | ToggleShowNoteWhenEmptyAction\n | SetNoteAction\n | SetNoteStateAction\n | ResetNoteStateAction\n\ninterface CloseNoteEditorAction {\n type: 'CLOSE_NOTE_EDITOR'\n}\n\nexport const closeNoteEditor = (): CloseNoteEditorAction => ({\n type: 'CLOSE_NOTE_EDITOR',\n})\n\ninterface SetIsPreviewingAction {\n type: 'SET_IS_PREVIEWING'\n payload: {isPreviewing: boolean}\n}\n\nexport const setIsPreviewing = (\n isPreviewing: boolean\n): SetIsPreviewingAction => ({\n type: 'SET_IS_PREVIEWING',\n payload: {isPreviewing},\n})\n\ninterface ToggleShowNoteWhenEmptyAction {\n type: 'TOGGLE_SHOW_NOTE_WHEN_EMPTY'\n}\n\nexport const toggleShowNoteWhenEmpty = (): ToggleShowNoteWhenEmptyAction => ({\n type: 'TOGGLE_SHOW_NOTE_WHEN_EMPTY',\n})\n\ninterface SetNoteAction {\n type: 'SET_NOTE'\n payload: {note: string}\n}\n\nexport const setNote = (note: string): SetNoteAction => ({\n type: 'SET_NOTE',\n payload: {note},\n})\n\nexport const createNoteCell = (dashboardID: string) => (\n dispatch: Dispatch>,\n getState: GetState\n) => {\n const dashboard = getByID(\n getState(),\n ResourceType.Dashboards,\n dashboardID\n )\n\n if (!dashboard) {\n throw new Error(`could not find dashboard with id \"${dashboardID}\"`)\n }\n\n const {note} = getState().noteEditor\n const view = createView('markdown')\n\n view.properties.note = note\n\n return dispatch(createCellWithView(dashboard.id, view))\n}\n\nexport interface ResetNoteStateAction {\n type: 'RESET_NOTE_STATE'\n}\n\nexport const resetNoteState = (): ResetNoteStateAction => ({\n type: 'RESET_NOTE_STATE',\n})\n\nexport interface SetNoteStateAction {\n type: 'SET_NOTE_STATE'\n payload: Partial\n}\n\nexport const setNoteState = (\n noteState: Partial\n): SetNoteStateAction => ({\n type: 'SET_NOTE_STATE',\n payload: noteState,\n})\n\nexport const loadNote = (id: string) => (\n dispatch: Dispatch,\n getState: GetState\n) => {\n const state = getState()\n const currentViewState = getByID(state, ResourceType.Views, id)\n\n if (!currentViewState) {\n return\n }\n\n const view = currentViewState\n\n const note: string = get(view, 'properties.note', '')\n const showNoteWhenEmpty: boolean = get(\n view,\n 'properties.showNoteWhenEmpty',\n false\n )\n\n const initialState = {\n viewID: view.id,\n note,\n showNoteWhenEmpty,\n mode: NoteEditorMode.Editing,\n }\n\n dispatch(setNoteState(initialState))\n}\n\nexport const updateViewNote = (id: string) => (\n dispatch: Dispatch>,\n getState: GetState\n) => {\n const state = getState()\n const {note, showNoteWhenEmpty} = state.noteEditor\n const view = getByID(state, ResourceType.Views, id)\n\n if (view.properties.type === 'check') {\n throw new Error(\n `view type \"${view.properties.type}\" does not support notes`\n )\n }\n\n const updatedView = {\n ...view,\n properties: {...view.properties, note, showNoteWhenEmpty},\n }\n\n return dispatch(updateView(view.dashboardID, updatedView))\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport NoteEditor from 'src/dashboards/components/NoteEditor'\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n} from '@influxdata/clockface'\n\n// Actions\nimport {\n createNoteCell,\n updateViewNote,\n loadNote,\n resetNoteState,\n} from 'src/dashboards/actions/notes'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {savingNoteFailed} from 'src/shared/copy/notifications'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState, NoteEditorMode} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n savingStatus: RemoteDataState\n}\n\nclass NoteEditorOverlay extends PureComponent {\n public state: State = {\n savingStatus: RemoteDataState.NotStarted,\n }\n\n componentDidMount() {\n const {cellID} = this.props\n\n if (cellID) {\n this.props.loadNote(cellID)\n } else {\n this.props.resetNote()\n }\n }\n\n componentDidUpdate(prevProps: Props) {\n const {cellID, viewsStatus} = this.props\n\n if (\n prevProps.viewsStatus !== RemoteDataState.Done &&\n viewsStatus === RemoteDataState.Done\n ) {\n if (cellID) {\n this.props.loadNote(cellID)\n } else {\n this.props.resetNote()\n }\n }\n }\n\n public render() {\n const {dashboardID} = this.props\n\n if (!dashboardID) {\n return (\n \n \n \n
\n This page does not allow creation or editing of notes, better head{' '}\n to a dashboard to do that.\n
\n
\n
\n )\n }\n\n return (\n \n \n \n }\n >\n \n \n \n \n \n \n \n \n )\n }\n\n private handleDismiss = (): void => {\n const {onClose} = this.props\n\n onClose()\n }\n\n private get overlayTitle(): string {\n const {mode} = this.props\n\n let overlayTitle: string\n\n if (mode === NoteEditorMode.Editing) {\n overlayTitle = 'Edit Note'\n } else {\n overlayTitle = 'Add Note'\n }\n\n return overlayTitle\n }\n\n private get saveButtonStatus(): ComponentStatus {\n const {savingStatus} = this.state\n\n if (savingStatus === RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n private handleSave = () => {\n const {\n cellID,\n dashboardID,\n onCreateNoteCell,\n onUpdateViewNote,\n onNotify,\n } = this.props\n\n this.setState({savingStatus: RemoteDataState.Loading})\n\n try {\n if (cellID) {\n onUpdateViewNote(cellID)\n } else {\n onCreateNoteCell(dashboardID)\n }\n this.handleDismiss()\n } catch (error) {\n onNotify(savingNoteFailed(error.message))\n console.error(error)\n this.setState({savingStatus: RemoteDataState.Error})\n }\n }\n}\n\nconst mstp = ({noteEditor, resources, overlays}: AppState) => {\n const {params} = overlays\n const {mode} = noteEditor\n const {status} = resources.views\n\n const cellID = get(params, 'cellID', undefined)\n const dashboardID = get(params, 'dashboardID', undefined)\n\n return {mode, viewsStatus: status, cellID, dashboardID}\n}\n\nconst mdtp = {\n onNotify: notify,\n onCreateNoteCell: createNoteCell,\n onUpdateViewNote: updateViewNote,\n resetNote: resetNoteState,\n loadNote,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(NoteEditorOverlay)\n","import {Bucket, Permission} from 'src/types'\n\ntype PermissionTypes = Permission['resource']['type']\n\nfunction assertNever(x: never): never {\n throw new Error('Unexpected object: ' + x)\n}\n\nconst allPermissionTypes: PermissionTypes[] = [\n 'authorizations',\n 'buckets',\n 'checks',\n 'dashboards',\n 'dbrp',\n 'documents',\n 'labels',\n 'notificationRules',\n 'notificationEndpoints',\n 'orgs',\n 'secrets',\n 'scrapers',\n 'sources',\n 'tasks',\n 'telegrafs',\n 'users',\n 'variables',\n 'views',\n]\n\n// The switch statement below will cause a TS error\n// if all allowable PermissionTypes generated in the client\n// generatedRoutes are not included in the switch statement BUT\n// they will need to be added to both the switch statement AND the allPermissionTypes array.\nconst ensureT = (orgID: string, userID: string) => (\n t: PermissionTypes\n): Permission[] => {\n switch (t) {\n case 'authorizations':\n case 'buckets':\n case 'checks':\n case 'dashboards':\n case 'dbrp':\n case 'documents':\n case 'labels':\n case 'notificationRules':\n case 'notificationEndpoints':\n case 'secrets':\n case 'scrapers':\n case 'sources':\n case 'tasks':\n case 'telegrafs':\n case 'variables':\n case 'views':\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, orgID},\n },\n {\n action: 'write' as 'write',\n resource: {type: t, orgID},\n },\n ]\n case 'orgs':\n // 'orgs' used to only have read permissions so that's all we'll give again.\n // In production, orgs with an orgID returns a permissions error.\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, id: orgID},\n },\n ]\n case 'users':\n return [\n {\n action: 'read' as 'read',\n resource: {type: t, id: userID},\n },\n {\n action: 'write' as 'write',\n resource: {type: t, id: userID},\n },\n ]\n default:\n return assertNever(t)\n }\n}\n\nexport const allAccessPermissions = (\n orgID: string,\n userID: string\n): Permission[] => {\n const withOrgID = ensureT(orgID, userID)\n return allPermissionTypes.flatMap(withOrgID)\n}\n\nexport const specificBucketsPermissions = (\n buckets: Bucket[],\n permission: Permission['action']\n): Permission[] => {\n return buckets.map(b => {\n return {\n action: permission,\n resource: {\n type: 'buckets' as 'buckets',\n orgID: b.orgID,\n id: b.id,\n },\n }\n })\n}\n\nexport const allBucketsPermissions = (\n orgID: string,\n permission: Permission['action']\n): Permission[] => {\n return [\n {\n action: permission,\n resource: {type: 'buckets', orgID},\n },\n ]\n}\n\nexport const selectBucket = (\n bucketName: string,\n selectedBuckets: string[]\n): string[] => {\n const isSelected = selectedBuckets.find(n => n === bucketName)\n\n if (isSelected) {\n return selectedBuckets.filter(n => n !== bucketName)\n }\n\n return [...selectedBuckets, bucketName]\n}\n\nexport enum BucketTab {\n AllBuckets = 'All Buckets',\n Scoped = 'Scoped',\n}\n","// Types\nimport {AppState} from 'src/types'\nimport {MeState} from 'src/shared/reducers/me'\n\nexport const getMe = (state: AppState): MeState => {\n return state.me\n}\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Alert,\n IconFont,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n Button,\n ButtonType,\n Input,\n Overlay,\n Form,\n} from '@influxdata/clockface'\n\n// Actions\nimport {createAuthorization} from 'src/authorizations/actions/thunks'\n\n// Utils\nimport {allAccessPermissions} from 'src/authorizations/utils/permissions'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getMe} from 'src/me/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {AppState, Authorization} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface State {\n description: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass AllAccessTokenOverlay extends PureComponent {\n public state = {description: ''}\n\n render() {\n const {description} = this.state\n\n return (\n \n \n \n
\n \n \n This token will be able to create, update, delete, read, and\n write to anything in this organization\n \n \n \n \n\n \n \n\n \n \n \n \n
\n
\n )\n }\n\n private handleSave = () => {\n const {orgID, meID, onCreateAuthorization} = this.props\n\n const token: Authorization = {\n orgID,\n description: this.state.description,\n permissions: allAccessPermissions(orgID, meID),\n }\n\n onCreateAuthorization(token)\n\n this.handleDismiss()\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const {value} = e.target\n\n this.setState({description: value})\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n orgID: getOrg(state).id,\n meID: getMe(state).id,\n }\n}\n\nconst mdtp = {\n onCreateAuthorization: createAuthorization,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(AllAccessTokenOverlay)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n title: string\n testID: string\n onDelete?: () => void\n onDragStart?: () => void\n}\n\nexport default class SelectorListHeader extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--header',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n
\n {this.title}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get title(): JSX.Element {\n const {onDragStart, title} = this.props\n\n if (onDragStart) {\n return (\n
\n
\n

{title}

\n
\n )\n }\n\n return

{title}

\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class SelectorListMenu extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--menu',\n }\n\n public render() {\n const {testID, children} = this.props\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent, ReactNode} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n scrollable: boolean\n addPadding: boolean\n testID: string\n}\n\nexport default class SelectorListBody extends PureComponent {\n public static defaultProps = {\n scrollable: true,\n addPadding: true,\n testID: 'selector-list--body',\n }\n\n public render() {\n const {scrollable, testID} = this.props\n\n if (scrollable) {\n return (\n \n {this.children}\n \n )\n }\n\n return (\n
\n {this.children}\n
\n )\n }\n\n private get children(): JSX.Element | ReactNode {\n const {addPadding, children} = this.props\n\n if (addPadding) {\n return
{children}
\n }\n\n return children\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class SelectorListEmpty extends PureComponent {\n public static defaultProps = {\n testID: 'selector-list--empty',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n \n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport SelectorListHeader from 'src/shared/components/selectorList/SelectorListHeader'\nimport SelectorListMenu from 'src/shared/components/selectorList/SelectorListMenu'\nimport SelectorListBody from 'src/shared/components/selectorList/SelectorListBody'\nimport SelectorListEmpty from 'src/shared/components/selectorList/SelectorListEmpty'\n\ninterface Props {\n testID: string\n className?: string\n}\n\nexport default class SelectorList extends PureComponent {\n public static Header = SelectorListHeader\n public static Menu = SelectorListMenu\n public static Body = SelectorListBody\n public static Empty = SelectorListEmpty\n\n public static defaultProps = {\n testID: 'selector-list',\n }\n\n public render() {\n const {children, testID, className} = this.props\n\n const classname = classnames('selector-list', {[`${className}`]: className})\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n title: string\n testID: string\n onDelete?: () => void\n onDragStart?: () => void\n className?: string\n}\n\nexport default class BuilderCardHeader extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--header',\n }\n\n public render() {\n const {testID, children, className} = this.props\n\n const classname = classnames('builder-card--header', {\n [`${className}`]: className,\n })\n\n return (\n
\n {this.title}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get title(): JSX.Element {\n const {onDragStart, title} = this.props\n\n if (onDragStart) {\n return (\n
\n
\n

{title}

\n
\n )\n }\n\n return

{title}

\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport {ComponentStatus, Dropdown, SelectDropdown} from '@influxdata/clockface'\nimport {BuilderAggregateFunctionType} from 'src/types'\n\ninterface Props {\n options: string[]\n selectedOption: string\n testID: string\n onSelect?: (option: BuilderAggregateFunctionType) => void\n onDelete?: () => void\n isInCheckOverlay?: boolean\n}\n\nconst emptyFunction = () => {}\n\nexport default class BuilderCardDropdownHeader extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--header',\n }\n\n public render() {\n const {\n children,\n isInCheckOverlay,\n options,\n onSelect,\n selectedOption,\n testID,\n } = this.props\n const button = () => (\n {}}>\n {selectedOption}\n \n )\n\n const menu = () => null\n return (\n
\n {isInCheckOverlay ? (\n \n ) : (\n \n )}\n {children}\n {this.deleteButton}\n
\n )\n }\n\n private get deleteButton(): JSX.Element | undefined {\n const {onDelete} = this.props\n\n if (onDelete) {\n return
\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n testID: string\n className?: string\n}\n\nexport default class BuilderCardMenu extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--menu',\n }\n\n public render() {\n const {testID, children, className} = this.props\n const classname = classnames('builder-card--menu', {\n [`${className}`]: className,\n })\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent, ReactNode, CSSProperties} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\n\ninterface Props {\n scrollable: boolean\n addPadding: boolean\n testID: string\n autoHideScrollbars: boolean\n style?: CSSProperties\n className?: string\n}\n\nexport default class BuilderCardBody extends PureComponent {\n public static defaultProps = {\n scrollable: true,\n addPadding: true,\n testID: 'builder-card--body',\n autoHideScrollbars: false,\n }\n\n public render() {\n const {\n scrollable,\n testID,\n autoHideScrollbars,\n style,\n className,\n } = this.props\n\n if (scrollable) {\n const scrollbarStyles = {maxWidth: '100%', maxHeight: '100%', ...style}\n\n return (\n \n {this.children}\n \n )\n }\n\n const classname = classnames('builder-card--body', {\n [`${className}`]: className,\n })\n\n return (\n
\n {this.children}\n
\n )\n }\n\n private get children(): JSX.Element | ReactNode {\n const {addPadding, children} = this.props\n\n if (addPadding) {\n return
{children}
\n }\n\n return children\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\ninterface Props {\n testID: string\n}\n\nexport default class BuilderCardEmpty extends PureComponent {\n public static defaultProps = {\n testID: 'builder-card--empty',\n }\n\n public render() {\n const {testID, children} = this.props\n\n return (\n \n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport BuilderCardHeader from 'src/timeMachine/components/builderCard/BuilderCardHeader'\nimport BuilderCardDropdownHeader from 'src/timeMachine/components/builderCard/BuilderCardDropdownHeader'\nimport BuilderCardMenu from 'src/timeMachine/components/builderCard/BuilderCardMenu'\nimport BuilderCardBody from 'src/timeMachine/components/builderCard/BuilderCardBody'\nimport BuilderCardEmpty from 'src/timeMachine/components/builderCard/BuilderCardEmpty'\n\ninterface Props {\n testID: string\n className?: string\n widthPixels: number\n}\n\nexport default class BuilderCard extends PureComponent {\n public static Header = BuilderCardHeader\n public static DropdownHeader = BuilderCardDropdownHeader\n public static Menu = BuilderCardMenu\n public static Body = BuilderCardBody\n public static Empty = BuilderCardEmpty\n\n public static defaultProps = {\n testID: 'builder-card',\n widthPixels: 228,\n }\n\n public render() {\n const {children, testID, className, widthPixels} = this.props\n\n const classname = classnames('builder-card', {[`${className}`]: className})\n\n const style = {flex: `0 0 ${widthPixels}px`}\n\n return (\n
\n {children}\n
\n )\n }\n}\n","// Libraries\nimport React, {SFC} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\n\ninterface Props {\n items: string[]\n selectedItems: string[]\n onSelectItem: (item: string) => void\n multiSelect: boolean\n children?: JSX.Element | JSX.Element[]\n testID?: string\n}\n\nconst SelectorList: SFC = props => {\n const {\n items,\n selectedItems,\n onSelectItem,\n multiSelect,\n children,\n testID,\n } = props\n\n return (\n \n {items.map(item => {\n const className = classnames('selector-list--item', {\n selected: selectedItems.includes(item),\n 'selector-list--checkbox': multiSelect,\n })\n\n const title = selectedItems.includes(item)\n ? 'Click to remove this filter'\n : `Click to filter by ${item}`\n\n return (\n onSelectItem(item)}\n title={title}\n >\n {item}\n
\n )\n })}\n {children}\n \n )\n}\n\nexport default SelectorList\n","// Libraries\nimport {PureComponent} from 'react'\nimport {orderBy} from 'lodash'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\n\ninterface Props {\n list: T[]\n sortKey?: string\n direction?: Sort\n children: (sortedList: T[]) => JSX.Element\n}\n\nexport default class SortingHat extends PureComponent> {\n public render() {\n return this.props.children(this.sorted)\n }\n\n private get sorted(): T[] {\n const {list, sortKey, direction} = this.props\n\n return orderBy(list, [sortKey], [direction])\n }\n}\n","// Libraries\nimport {PureComponent} from 'react'\n\nimport {\n get,\n sortBy,\n isString,\n isArray,\n isEmpty,\n isObject,\n flatMap,\n sortedIndex,\n} from 'lodash'\n\n// Types\nimport {Label} from 'src/types'\n\n// searchKeys: the keys whose values you want to filter on\n// if the values are nested use dot notation i.e. tasks.org.name\n\nexport interface OwnProps {\n list: T[]\n searchTerm: string\n searchKeys: string[]\n sortByKey?: string\n children: (list: T[]) => any\n}\n\nexport interface StateProps {\n labels: {[uuid: string]: Label}\n}\n\nexport type Props = OwnProps & StateProps\n\nconst INEXACT_PATH = /\\w+\\[\\]/g\nconst EMPTY_ARRAY_BRACKETS = /\\[\\]?\\./\n/**\n * Filters a list using a searchTerm and searchKeys where\n * searchKeys is an array of strings represents either an\n * exact or inexact path to a property value(s):\n * \"user.name\" (exact) or \"authors[].name\" (inexact)\n *\n */\n\nexport default class FilterList extends PureComponent> {\n public render() {\n return this.props.children(this.sorted)\n }\n\n private get sorted(): T[] {\n return sortBy(this.filtered, [\n (item: T) => {\n const value = get(item, this.props.sortByKey)\n\n if (!!value && isString(value)) {\n return value.toLocaleLowerCase()\n }\n\n return value\n },\n ])\n }\n\n private get filtered(): T[] {\n const {list, labels, searchKeys} = this.props\n const {formattedSearchTerm} = this\n\n if (isEmpty(formattedSearchTerm)) {\n return list\n }\n\n const filtered = list.filter(listItem => {\n const item = {\n ...listItem,\n labels: get(listItem, 'labels', []).map(labelID => labels[labelID]),\n }\n\n const isInList = searchKeys.some(key => {\n const value = this.getKey(item, key)\n\n const isStringArray = this.isStringArray(value)\n\n if (!isStringArray && isObject(value)) {\n throw new Error(\n `The value at key \"${key}\" is an object. Take a look at \"searchKeys\" and\n make sure you're indexing onto a primitive value`\n )\n }\n\n if (isStringArray) {\n const searchIndex = this.createIndex(value)\n return this.checkIndex(searchIndex, formattedSearchTerm)\n }\n\n return String(value)\n .toLocaleLowerCase()\n .includes(formattedSearchTerm)\n })\n\n return isInList\n })\n\n return filtered\n }\n\n private isStringArray(value: any): boolean {\n if (!isArray(value)) {\n return false\n }\n\n if (isEmpty(value) || isString(value[0])) {\n return true\n }\n\n return false\n }\n\n private get formattedSearchTerm(): string {\n return this.props.searchTerm.trimLeft().toLocaleLowerCase()\n }\n\n private getKey(item: T, key: string) {\n const isInexact = key.match(INEXACT_PATH)\n\n if (!isInexact) {\n return get(item, key, '')\n } else {\n return this.getInExactKey(item, key)\n }\n }\n\n private getInExactKey(item: T, key: string) {\n const paths = key.split(EMPTY_ARRAY_BRACKETS)\n // flattens nested arrays into one large array\n const values = paths.reduce(\n (results, path) => flatMap(results, r => get(r, path, [])),\n [item]\n )\n\n return values\n }\n\n private createIndex = (terms: string[]) => {\n return flatMap(terms, this.extractSuffixes).sort()\n }\n\n private checkIndex = (sortedSuffixes: string[], searchTerm) => {\n const index = sortedIndex(sortedSuffixes, searchTerm)\n const nearestSuffix = sortedSuffixes[index]\n\n if (!!nearestSuffix && nearestSuffix.includes(searchTerm)) {\n return true\n }\n\n return false\n }\n\n private extractSuffixes = (term: string) => {\n const suffixes = new Array(term.length)\n const lowerTerm = term.toLocaleLowerCase()\n\n for (let i = 0; i < suffixes.length; i++) {\n suffixes[i] = lowerTerm.slice(i)\n }\n\n return suffixes\n }\n}\n","// Libraries\nimport {connect} from 'react-redux'\n\n// Components\nimport FilterList, {StateProps, OwnProps} from 'src/shared/components/Filter'\n\nimport {AppState} from 'src/types'\n\nconst mstp = (state: AppState) => {\n return {labels: state.resources.labels.byID}\n}\n\n// Typing a generic connected component proved to be tricky:\n// https://github.com/piotrwitek/react-redux-typescript-guide/issues/55\nexport default function FilterListContainer() {\n return connect(mstp)(\n FilterList as new (props: OwnProps) => FilterList\n )\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Libraries\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport SelectorList from 'src/timeMachine/components/SelectorList'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {Input} from '@influxdata/clockface'\nimport SortingHat from 'src/shared/components/sorting_hat/SortingHat'\nimport FilterList from 'src/shared/components/FilterList'\n\ninterface Props {\n buckets: Bucket[]\n onSelect: (id: string) => void\n selectedBuckets: string[]\n}\n\ninterface State {\n searchTerm: string\n}\n\nconst FilterBuckets = FilterList()\n\nclass BucketsTabBody extends PureComponent {\n public state: State = {searchTerm: ''}\n\n public render() {\n const {selectedBuckets, onSelect, buckets} = this.props\n const {searchTerm} = this.state\n\n return (\n <>\n \n \n \n \n {filteredBuckets => (\n \n {sortedBuckets => (\n b.name)}\n selectedItems={selectedBuckets}\n onSelectItem={onSelect}\n multiSelect={false}\n />\n )}\n \n )}\n \n \n )\n }\n\n private handleSetSearchTerm = (e: ChangeEvent) => {\n this.setState({searchTerm: e.target.value})\n }\n}\n\nexport default BucketsTabBody\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\n\nimport {BucketTab} from 'src/authorizations/utils/permissions'\n\ninterface Props {\n tabs: BucketTab[]\n activeTab: BucketTab\n onClick: (tab: string) => void\n}\n\nexport default class BucketsTabSelector extends PureComponent {\n public render() {\n const {tabs, activeTab} = this.props\n return (\n \n {tabs.map(tab => (\n \n {tab}\n \n ))}\n \n )\n }\n\n private handleTabClick = (tab: BucketTab) => {\n const {activeTab, onClick} = this.props\n if (tab !== activeTab) {\n onClick(tab)\n }\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport SelectorList from 'src/shared/components/selectorList/SelectorList'\nimport BucketsTabBody from 'src/authorizations/components/BucketsTabBody'\nimport {BucketTab} from 'src/authorizations/utils/permissions'\nimport BucketsTabSelector from 'src/authorizations/components/BucketsTabSelector'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {\n FlexBox,\n AlignItems,\n FlexDirection,\n Button,\n EmptyState,\n ComponentSize,\n} from '@influxdata/clockface'\n\ninterface Props {\n buckets: Bucket[]\n onSelect: (id: string) => void\n onSelectAll: () => void\n onDeselectAll: () => void\n selectedBuckets: string[]\n title: string\n activeTab: BucketTab\n onTabClick: (tab: BucketTab) => void\n}\n\nclass BucketsSelector extends PureComponent {\n render() {\n const {title, activeTab, onTabClick} = this.props\n\n return (\n \n
{title}
\n \n {this.builderCard}\n \n )\n }\n\n private get titlePreposition(): string {\n const {title} = this.props\n switch (title.toLowerCase()) {\n case 'read':\n return 'from'\n case 'write':\n return 'to'\n default:\n return 'on'\n }\n }\n\n private get bucketTabs(): BucketTab[] {\n return [BucketTab.AllBuckets, BucketTab.Scoped]\n }\n\n private get builderCard(): JSX.Element {\n const {\n selectedBuckets,\n onSelect,\n onSelectAll,\n onDeselectAll,\n buckets,\n activeTab,\n title,\n } = this.props\n\n switch (activeTab) {\n case BucketTab.AllBuckets:\n return (\n <>\n \n \n This token will be able to {title.toLowerCase()}{' '}\n {this.titlePreposition} all existing buckets as well as{' '}\n {this.titlePreposition} any bucket created in the future\n \n \n \n )\n case BucketTab.Scoped:\n return (\n \n \n
\n \n \n \n \n
\n
\n \n
\n )\n }\n }\n}\n\nexport default BucketsSelector\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n IconFont,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n Button,\n ButtonType,\n Grid,\n Columns,\n Input,\n Overlay,\n Form,\n} from '@influxdata/clockface'\nimport BucketsSelector from 'src/authorizations/components/BucketsSelector'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Utils\nimport {\n specificBucketsPermissions,\n selectBucket,\n allBucketsPermissions,\n BucketTab,\n} from 'src/authorizations/utils/permissions'\nimport {isSystemBucket} from 'src/buckets/constants/index'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\n// Actions\nimport {createAuthorization} from 'src/authorizations/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {\n AppState,\n Bucket,\n Permission,\n Authorization,\n ResourceType,\n} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface State {\n description: string\n readBuckets: string[]\n writeBuckets: string[]\n activeTabRead: BucketTab\n activeTabWrite: BucketTab\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass BucketsTokenOverlay extends PureComponent {\n public state = {\n description: '',\n readBuckets: [],\n writeBuckets: [],\n activeTabRead: BucketTab.Scoped,\n activeTabWrite: BucketTab.Scoped,\n }\n\n render() {\n const {\n description,\n readBuckets,\n writeBuckets,\n activeTabRead,\n activeTabWrite,\n } = this.state\n\n return (\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
\n
\n )\n }\n\n private handleReadTabClick = (tab: BucketTab) => {\n this.setState({activeTabRead: tab})\n }\n\n private handleWriteTabClick = (tab: BucketTab) => {\n this.setState({activeTabWrite: tab})\n }\n\n private handleSelectReadBucket = (bucketName: string): void => {\n const readBuckets = selectBucket(bucketName, this.state.readBuckets)\n\n this.setState({readBuckets})\n }\n\n private handleSelectWriteBucket = (bucketName: string): void => {\n const writeBuckets = selectBucket(bucketName, this.state.writeBuckets)\n\n this.setState({writeBuckets})\n }\n\n private handleReadSelectAllBuckets = () => {\n const readBuckets = this.props.buckets.map(b => b.name)\n this.setState({readBuckets})\n }\n\n private handleReadDeselectAllBuckets = () => {\n this.setState({readBuckets: []})\n }\n j\n private handleWriteSelectAllBuckets = () => {\n const writeBuckets = this.props.buckets.map(b => b.name)\n this.setState({writeBuckets})\n }\n\n private handleWriteDeselectAllBuckets = () => {\n this.setState({writeBuckets: []})\n }\n\n private handleSave = () => {\n const {orgID, onCreateAuthorization} = this.props\n const {activeTabRead, activeTabWrite} = this.state\n\n let permissions = []\n\n if (activeTabRead === BucketTab.Scoped) {\n permissions = [...this.readBucketPermissions]\n } else {\n permissions = [...this.allReadBucketPermissions]\n }\n\n if (activeTabWrite === BucketTab.Scoped) {\n permissions = [...permissions, ...this.writeBucketPermissions]\n } else {\n permissions = [...permissions, ...this.allWriteBucketPermissions]\n }\n\n const token: Authorization = {\n orgID,\n description: this.state.description,\n permissions,\n }\n\n onCreateAuthorization(token)\n\n this.handleDismiss()\n }\n\n private get writeBucketPermissions(): Permission[] {\n const {buckets} = this.props\n\n const writeBuckets = this.state.writeBuckets.map(bucketName => {\n return buckets.find(b => b.name === bucketName)\n })\n\n return specificBucketsPermissions(writeBuckets, 'write')\n }\n\n private get readBucketPermissions(): Permission[] {\n const {buckets} = this.props\n\n const readBuckets = this.state.readBuckets.map(bucketName => {\n return buckets.find(b => b.name === bucketName)\n })\n\n return specificBucketsPermissions(readBuckets, 'read')\n }\n\n private get allReadBucketPermissions(): Permission[] {\n const {orgID} = this.props\n\n return allBucketsPermissions(orgID, 'read')\n }\n\n private get allWriteBucketPermissions(): Permission[] {\n const {orgID} = this.props\n\n return allBucketsPermissions(orgID, 'write')\n }\n\n private get nonSystemBuckets(): Bucket[] {\n const {buckets} = this.props\n\n return buckets.filter(bucket => !isSystemBucket(bucket.name))\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const {value} = e.target\n\n this.setState({description: value})\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n orgID: getOrg(state).id,\n buckets: getAll(state, ResourceType.Buckets),\n }\n}\n\nconst mdtp = {\n onCreateAuthorization: createAuthorization,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BucketsTokenOverlay)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps, matchPath} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport Editor from 'src/shared/components/TomlMonacoEditor'\n\n// Actions\nimport {getTelegrafConfigToml} from 'src/telegrafs/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype Params = {orgID: string; id: string}\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nexport class TelegrafConfig extends PureComponent {\n public componentDidMount() {\n const match = matchPath(this.props.history.location.pathname, {\n path: '/orgs/:orgID/load-data/telegrafs/:id/view',\n exact: true,\n strict: false,\n })\n const id = match.params.id\n this.props.getTelegrafConfigToml(id)\n }\n\n public render() {\n return <>{this.overlayBody}\n }\n\n private get overlayBody(): JSX.Element {\n const {telegrafConfig} = this.props\n return \n }\n}\n\nconst mstp = ({resources}: AppState) => ({\n telegrafConfig: resources.telegrafs.currentConfig.item,\n status: resources.telegrafs.currentConfig.status,\n})\n\nconst mdtp = {\n getTelegrafConfigToml,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TelegrafConfig))\n","export const formatDownloadName = (filename: string, extension: string) => {\n return `${filename\n .trim()\n .toLowerCase()\n .replace(/\\s/g, '_')}${extension}`\n}\n\nexport const downloadTextFile = (\n text: string,\n filename: string,\n extension: string,\n mimeType: string = 'text/plain'\n) => {\n const formattedName = formatDownloadName(filename, extension)\n\n const blob = new Blob([text], {type: mimeType})\n const a = document.createElement('a')\n\n a.href = window.URL.createObjectURL(blob)\n a.target = '_blank'\n a.download = formattedName\n\n document.body.appendChild(a)\n a.click()\n a.parentNode.removeChild(a)\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TelegrafConfig from 'src/telegrafs/components/TelegrafConfig'\nimport {\n ComponentColor,\n Button,\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Telegraf, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n telegraf: Telegraf\n status: RemoteDataState\n telegrafConfig: string\n configStatus: RemoteDataState\n}\n\ntype Props = OwnProps & StateProps\n\n@ErrorHandling\nclass TelegrafConfigOverlay extends PureComponent {\n public render() {\n return <>{this.overlay}\n }\n\n private get overlay(): JSX.Element {\n const {telegraf, status} = this.props\n\n return (\n \n \n \n }\n >\n
\n \n
\n \n
\n \n \n \n
\n )\n }\n private get buttonStatus(): ComponentStatus {\n const {configStatus} = this.props\n if (configStatus === RemoteDataState.Done) {\n return ComponentStatus.Default\n }\n return ComponentStatus.Disabled\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n\n private handleDownloadConfig = () => {\n const {\n telegrafConfig,\n telegraf: {name},\n } = this.props\n downloadTextFile(telegrafConfig, name || 'telegraf', '.conf')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {overlays, resources} = state\n const {status, currentConfig} = resources.telegrafs\n const {id} = overlays.params\n\n return {\n telegraf: getByID(state, ResourceType.Telegrafs, id),\n status,\n telegrafConfig: currentConfig.item,\n configStatus: currentConfig.status,\n }\n}\n\nexport default connect(mstp)(TelegrafConfigOverlay)\n","import React, {PureComponent} from 'react'\n\n// Decorator\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Components\nimport CodeSnippet from 'src/shared/components/CodeSnippet'\n\ninterface StringMap {\n [key: string]: string\n}\n\nexport interface Props {\n template: string\n label: string\n testID?: string\n values?: StringMap\n defaults?: StringMap\n}\n\n// NOTE: this is just a simplified form of the resig classic:\n// https://johnresig.com/blog/javascript-micro-templating/\nfunction transform(template, vars) {\n const output = new Function(\n 'vars',\n 'var output=' +\n JSON.stringify(template).replace(\n /<%=(.+?)%>/g,\n '\"+(vars[\"$1\".trim()])+\"'\n ) +\n ';return output;'\n )\n return output(vars)\n}\n\n@ErrorHandling\nclass TemplatedCodeSnippet extends PureComponent {\n public transform() {\n const text = this.props.template\n const vars = Object.assign({}, this.props.defaults, this.props.values)\n\n return transform(text, vars)\n }\n\n render() {\n const {label, testID} = this.props\n const props = {\n label,\n testID,\n copyText: this.transform(),\n }\n\n return \n }\n}\n\nexport {transform}\nexport default TemplatedCodeSnippet\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TemplatedCodeSnippet, {\n transform,\n} from 'src/shared/components/TemplatedCodeSnippet'\nimport BucketDropdown from 'src/dataLoaders/components/BucketsDropdown'\nimport {ComponentColor, Button, Overlay} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n org: string\n orgID: string\n server: string\n buckets: Bucket[]\n}\n\ntype Props = OwnProps & StateProps\n\nconst TELEGRAF_OUTPUT = ` [[outputs.influxdb_v2]]\n ## The URLs of the InfluxDB cluster nodes.\n ##\n ## Multiple URLs can be specified for a single cluster, only ONE of the\n ## urls will be written to each interval.\n ## urls exp: http://127.0.0.1:9999\n urls = [\"<%= server %>\"]\n\n ## Token for authentication.\n token = \"<%= token %>\"\n\n ## Organization is the name of the organization you wish to write to; must exist.\n organization = \"<%= org %>\"\n\n ## Destination bucket to write into.\n bucket = \"<%= bucket %>\"\n`\n\nconst OUTPUT_DEFAULTS = {\n server: 'http://127.0.0.1:9999',\n token: '$INFLUX_TOKEN',\n org: 'orgID',\n bucket: 'bucketID',\n}\n\n@ErrorHandling\nclass TelegrafOutputOverlay extends PureComponent {\n state = {\n selectedBucket: null,\n }\n\n public render() {\n return <>{this.overlay}\n }\n\n private get buckets() {\n const {buckets} = this.props\n return (buckets || [])\n .filter(item => item.type !== 'system')\n .sort((a, b) => {\n const _a = a.name.toLowerCase()\n const _b = b.name.toLowerCase()\n return _a > _b ? 1 : _a < _b ? -1 : 0\n })\n }\n\n private get currentBucket() {\n const _buckets = this.buckets\n const {selectedBucket} = this.state\n\n if (_buckets.length) {\n return selectedBucket ? selectedBucket : _buckets[0]\n }\n\n return null\n }\n\n private get overlay(): JSX.Element {\n const {server, org, orgID} = this.props\n const _buckets = this.buckets\n const bucket = this.currentBucket\n let bucket_dd = null\n\n if (_buckets.length) {\n bucket_dd = (\n \n )\n }\n\n return (\n \n \n \n

\n The $INFLUX_TOKEN can be generated on the\n  Tokens tab\n .\n

\n {bucket_dd}\n
\n \n
\n
\n \n \n \n
\n )\n }\n\n private handleDismiss = () => {\n this.props.onClose()\n }\n\n private handleSelectBucket = bucket => {\n this.setState({\n selectedBucket: bucket,\n })\n }\n\n private handleDownloadConfig = () => {\n const {server, org} = this.props\n const bucket = this.currentBucket\n const config = transform(\n TELEGRAF_OUTPUT,\n Object.assign({}, OUTPUT_DEFAULTS, {\n server,\n org,\n bucket: bucket ? bucket.name : OUTPUT_DEFAULTS.bucket,\n })\n )\n downloadTextFile(config, 'outputs.influxdb_v2', '.conf')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {name, id} = getOrg(state)\n const server = window.location.origin\n const buckets = getAll(state, ResourceType.Buckets)\n\n return {\n org: name,\n orgID: id,\n server,\n buckets,\n }\n}\n\nexport {TelegrafOutputOverlay}\nexport default connect(mstp)(TelegrafOutputOverlay)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\nimport {RouteComponentProps, withRouter} from 'react-router-dom'\n\n// Components\nimport {IconFont, Icon} from '@influxdata/clockface'\n\ninterface ComponentProps {\n orgName: string\n orgID: string\n selected: boolean\n onDismiss: () => void\n}\n\ntype Props = ComponentProps & RouteComponentProps\n\nconst OrgSwitcherItem: FC = ({\n orgName,\n selected,\n onDismiss,\n orgID,\n history,\n}) => {\n const orgSwitcherItemClass = classnames('org-switcher--item', {\n 'org-switcher--item__selected': selected,\n })\n\n const orgSwitcherIcon = selected ? IconFont.Checkmark : IconFont.CaretRight\n\n const handleClick = (): void => {\n onDismiss()\n history.push(`/orgs/${orgID}`)\n }\n\n const currentOrgIndicator = selected ? Current : null\n\n return (\n
  • \n
    \n \n
    \n \n {orgName}\n {currentOrgIndicator}\n \n
  • \n )\n}\n\nexport default withRouter(OrgSwitcherItem)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Overlay, Sort} from '@influxdata/clockface'\nimport OrgSwitcherItem from 'src/pageLayout/components/OrgSwitcherItem'\nimport SortingHat from 'src/shared/components/sorting_hat/SortingHat'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ninterface ComponentProps {\n onClose: () => void\n}\n\ninterface StateProps {\n orgs: Organization[]\n currentOrg: Organization\n}\n\ntype Props = ComponentProps & StateProps\n\nconst OrgSwitcherOverlay: FC = ({orgs, onClose, currentOrg}) => {\n return (\n \n \n \n

    Choose an organization

    \n \n {sortedOrgs => (\n
    \n {sortedOrgs.map(org => (\n \n ))}\n
    \n )}\n
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const orgs = getAll(state, ResourceType.Orgs)\n const currentOrg = getOrg(state)\n\n return {\n orgs,\n currentOrg,\n }\n}\n\nexport default connect(\n mstp,\n null\n)(OrgSwitcherOverlay)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {areDurationsEqual} from 'src/shared/utils/duration'\n\nexport interface DurationOption {\n duration: string\n displayText: string\n}\n\ninterface Props {\n selectedDuration: string\n onSelectDuration: (duration: string) => any\n durations: DurationOption[]\n disabled?: boolean\n}\n\nconst DurationSelector: FunctionComponent = ({\n selectedDuration,\n onSelectDuration,\n durations,\n disabled = false,\n}) => {\n let resolvedDurations = durations\n let selected: DurationOption = durations.find(\n d =>\n selectedDuration === d.duration ||\n areDurationsEqual(selectedDuration, d.duration)\n )\n\n if (!selected) {\n selected = {duration: selectedDuration, displayText: selectedDuration}\n resolvedDurations = [selected, ...resolvedDurations]\n }\n\n return (\n (\n \n {selected.displayText}\n \n )}\n menu={onCollapse => (\n \n {resolvedDurations.map(({duration, displayText}) => (\n \n {displayText}\n \n ))}\n \n )}\n />\n )\n}\n\nconst getStatus = (disabled: boolean): ComponentStatus => {\n if (disabled) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n}\n\nexport default DurationSelector\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport DurationSelector, {\n DurationOption,\n} from 'src/shared/components/DurationSelector'\n\n// Utils\nimport {parseDuration, durationToMilliseconds} from 'src/shared/utils/duration'\nimport {extractBucketMaxRetentionSeconds} from 'src/cloud/utils/limits'\nimport {ruleToString} from 'src/utils/formatting'\n\n// Types\nimport {AppState} from 'src/types'\n\nexport const DEFAULT_SECONDS = 30 * 24 * 60 * 60 // 30 days\nexport const READABLE_DEFAULT_SECONDS = ruleToString(DEFAULT_SECONDS)\n\nexport const DURATION_OPTIONS: DurationOption[] = [\n {duration: '1h', displayText: '1 hour'},\n {duration: '6h', displayText: '6 hours'},\n {duration: '12h', displayText: '12 hours'},\n {duration: '24h', displayText: '24 hours'},\n {duration: '48h', displayText: '48 hours'},\n {duration: '72h', displayText: '72 hours'},\n {duration: '7d', displayText: '7 days'},\n {duration: '14d', displayText: '14 days'},\n {duration: '30d', displayText: '30 days'},\n {duration: '90d', displayText: '90 days'},\n {duration: '1y', displayText: '1 year'},\n]\n\ninterface StateProps {\n maxRetentionSeconds: number\n}\n\ninterface OwnProps {\n retentionSeconds: number\n type: 'expire'\n onChangeRetentionRule: (seconds: number) => void\n onChangeRuleType: (type: 'expire' | null) => void\n}\n\ntype Props = OwnProps & StateProps\n\nclass Retention extends PureComponent {\n public render() {\n const {retentionSeconds, maxRetentionSeconds, type} = this.props\n\n return (\n <>\n \n \n Never\n \n \n Older Than\n \n \n {type === 'expire' && (\n \n )}\n \n )\n }\n\n private get durations() {\n const {maxRetentionSeconds} = this.props\n\n if (!maxRetentionSeconds) {\n return DURATION_OPTIONS\n }\n\n return DURATION_OPTIONS.filter(\n ({duration}) =>\n durationToMilliseconds(parseDuration(duration)) <=\n maxRetentionSeconds * 1000\n )\n }\n\n private handleRadioClick = (type: 'expire' | null) => {\n this.props.onChangeRuleType(type)\n }\n\n private handleSelectDuration = (durationStr: string) => {\n const durationSeconds =\n durationToMilliseconds(parseDuration(durationStr)) / 1000\n\n this.props.onChangeRetentionRule(durationSeconds)\n }\n}\n\nconst mstp = (state: AppState) => ({\n maxRetentionSeconds: extractBucketMaxRetentionSeconds(state.cloud.limits),\n})\n\nexport default connect(mstp)(Retention)\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport moment from 'moment'\n\n// Components\nimport {Form, Input, Button, Grid} from '@influxdata/clockface'\nimport Retention from 'src/buckets/components/Retention'\n\n// Constants\nimport {MIN_RETENTION_SECONDS} from 'src/buckets/constants'\nimport {isSystemBucket} from 'src/buckets/constants/index'\n\n// Types\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {RuleType} from 'src/buckets/reducers/createBucket'\n\ninterface Props {\n name: string\n retentionSeconds: number\n ruleType: 'expire'\n onSubmit: (e: FormEvent) => void\n onClose: () => void\n onChangeRetentionRule: (seconds: number) => void\n onChangeRuleType: (t: RuleType) => void\n onChangeInput: (e: ChangeEvent) => void\n disableRenaming: boolean\n buttonText: string\n onClickRename?: () => void\n}\n\nexport default class BucketOverlayForm extends PureComponent {\n public render() {\n const {\n name,\n onSubmit,\n ruleType,\n buttonText,\n retentionSeconds,\n disableRenaming,\n onClose,\n onChangeInput,\n onChangeRuleType,\n onChangeRetentionRule,\n onClickRename,\n } = this.props\n\n const nameInputStatus = disableRenaming && ComponentStatus.Disabled\n\n return (\n
    \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n {buttonText === 'Save Changes' && (\n \n )}\n \n \n \n \n \n
    \n )\n }\n\n private handleNameValidation = (name: string): string | null => {\n if (isSystemBucket(name)) {\n return 'Only system bucket names can begin with _'\n }\n\n if (!name) {\n return 'This bucket needs a name'\n }\n\n return null\n }\n\n private get nameHelpText(): string {\n if (this.props.disableRenaming) {\n return 'To rename bucket use the RENAME button below'\n }\n\n return ''\n }\n\n private get submitButtonColor(): ComponentColor {\n const {buttonText} = this.props\n\n if (buttonText === 'Save Changes') {\n return ComponentColor.Success\n }\n\n return ComponentColor.Primary\n }\n\n private get submitButtonStatus(): ComponentStatus {\n const {name} = this.props\n const nameHasErrors = this.handleNameValidation(name)\n\n if (nameHasErrors || this.retentionIsTooShort) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private get retentionIsTooShort(): boolean {\n const {retentionSeconds, ruleType} = this.props\n\n return ruleType === 'expire' && retentionSeconds < MIN_RETENTION_SECONDS\n }\n\n private get ruleErrorMessage(): string {\n if (this.retentionIsTooShort) {\n const humanDuration = moment\n .duration(MIN_RETENTION_SECONDS, 'seconds')\n .humanize()\n\n return `Retention period must be at least ${humanDuration}`\n }\n\n return ''\n }\n}\n","import {\n DEFAULT_SECONDS,\n READABLE_DEFAULT_SECONDS,\n} from 'src/buckets/components/Retention'\n\nexport type RuleType = 'expire' | null\n\nexport interface RetentionRule {\n type: RuleType\n everySeconds: number\n}\n\nexport interface ReducerState {\n name: string\n retentionRules: RetentionRule[]\n ruleType: RuleType\n readableRetention: string\n orgID: string\n type: 'user'\n}\n\nexport type ReducerActionType =\n | 'updateName'\n | 'updateRuleType'\n | 'updateRetentionRules'\n | 'updateReadableRetention'\n\nexport interface Action {\n type: ReducerActionType\n payload: any\n}\n\nexport const DEFAULT_RULES: RetentionRule[] = [\n {type: 'expire' as 'expire', everySeconds: DEFAULT_SECONDS},\n]\n\nexport const initialBucketState = (\n isRetentionLimitEnforced: boolean,\n orgID: string\n) => ({\n name: '',\n retentionRules: isRetentionLimitEnforced ? DEFAULT_RULES : [],\n ruleType: isRetentionLimitEnforced ? ('expire' as 'expire') : null,\n readableRetention: isRetentionLimitEnforced\n ? READABLE_DEFAULT_SECONDS\n : 'forever',\n orgID,\n type: 'user' as 'user',\n})\n\nexport const createBucketReducer = (state: ReducerState, action: Action) => {\n switch (action.type) {\n case 'updateName':\n return {...state, name: action.payload}\n case 'updateRuleType':\n return {...state, ruleType: action.payload}\n case 'updateRetentionRules':\n return {...state, retentionRules: action.payload}\n case 'updateReadableRetention':\n return {...state, readableRetention: action.payload}\n }\n}\n","// Libraries\nimport React, {FC, ChangeEvent, FormEvent, useReducer} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport BucketOverlayForm from 'src/buckets/components/BucketOverlayForm'\n\n// Utils\nimport {extractBucketMaxRetentionSeconds} from 'src/cloud/utils/limits'\n\n// Actions\nimport {createBucket} from 'src/buckets/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\nimport {\n createBucketReducer,\n RuleType,\n initialBucketState,\n DEFAULT_RULES,\n} from 'src/buckets/reducers/createBucket'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst CreateBucketOverlay: FC = ({\n org,\n isRetentionLimitEnforced,\n createBucket,\n onClose,\n}) => {\n const [state, dispatch] = useReducer(\n createBucketReducer,\n initialBucketState(isRetentionLimitEnforced, org.id)\n )\n\n const retentionRule = state.retentionRules.find(r => r.type === 'expire')\n const retentionSeconds = retentionRule ? retentionRule.everySeconds : 3600\n\n const handleChangeRuleType = (ruleType: RuleType): void => {\n if (ruleType === 'expire') {\n dispatch({type: 'updateRetentionRules', payload: DEFAULT_RULES})\n } else {\n dispatch({type: 'updateRetentionRules', payload: []})\n }\n dispatch({type: 'updateRuleType', payload: ruleType})\n }\n\n const handleChangeRetentionRule = (everySeconds: number): void => {\n const retentionRules = [\n {\n type: 'expire',\n everySeconds,\n },\n ]\n\n dispatch({type: 'updateRetentionRules', payload: retentionRules})\n }\n\n const handleSubmit = (e: FormEvent): void => {\n e.preventDefault()\n\n createBucket(state)\n onClose()\n }\n\n const handleChangeInput = (e: ChangeEvent): void => {\n const value = e.target.value\n\n if (e.target.name === 'name') {\n dispatch({type: 'updateName', payload: value})\n }\n }\n\n return (\n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n const isRetentionLimitEnforced = !!extractBucketMaxRetentionSeconds(\n state.cloud.limits\n )\n\n return {\n org,\n isRetentionLimitEnforced,\n }\n}\n\nconst mdtp = {\n createBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CreateBucketOverlay)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get, find} from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {\n LinkButton,\n ComponentColor,\n ComponentSize,\n ButtonShape,\n} from '@influxdata/clockface'\nimport CloudOnly from 'src/shared/components/cloud/CloudOnly'\n\n// Constants\nimport {CLOUD_URL, CLOUD_CHECKOUT_PATH} from 'src/shared/constants'\nimport {\n HIDE_UPGRADE_CTA_KEY,\n PAID_ORG_HIDE_UPGRADE_SETTING,\n} from 'src/cloud/constants'\n\n// Types\nimport {AppState, OrgSetting} from 'src/types'\n\ninterface StateProps {\n inView: boolean\n}\n\ninterface OwnProps {\n className?: string\n buttonText?: string\n size?: ComponentSize\n}\n\nconst CloudUpgradeButton: FC = ({\n inView,\n size = ComponentSize.Small,\n className,\n buttonText = 'Upgrade Now',\n}) => {\n const cloudUpgradeButtonClass = classnames('upgrade-payg--button', {\n [`${className}`]: className,\n })\n\n return (\n \n {inView && (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const settings = get(state, 'cloud.orgSettings.settings', [])\n const hideUpgradeButtonSetting = find(\n settings,\n (setting: OrgSetting) => setting.key === HIDE_UPGRADE_CTA_KEY\n )\n if (\n !hideUpgradeButtonSetting ||\n hideUpgradeButtonSetting.value !== PAID_ORG_HIDE_UPGRADE_SETTING.value\n ) {\n return {inView: true}\n }\n return {inView: false}\n}\n\nexport default connect(mstp)(CloudUpgradeButton)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n OverlayContainer,\n Overlay,\n ComponentSize,\n GradientBox,\n Gradients,\n InfluxColors,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onClose: () => void\n}\n\ninterface StateProps {\n assetName: string\n}\n\nconst AssetLimitOverlay: FC = ({assetName, onClose}) => {\n return (\n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n

    \n You’ve reached the maximum allotted {assetName} on your current\n plan. Upgrade to Pay as you go to create more {assetName}.\n

    \n \n \n \n \n
    \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n assetName: get(state, 'overlays.params.asset', ''),\n }\n}\n\nexport default connect(mstp)(AssetLimitOverlay)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport NoteEditorOverlay from 'src/dashboards/components/NoteEditorOverlay'\nimport AllAccessTokenOverlay from 'src/authorizations/components/AllAccessTokenOverlay'\nimport BucketsTokenOverlay from 'src/authorizations/components/BucketsTokenOverlay'\nimport TelegrafConfigOverlay from 'src/telegrafs/components/TelegrafConfigOverlay'\nimport TelegrafOutputOverlay from 'src/telegrafs/components/TelegrafOutputOverlay'\nimport OrgSwitcherOverlay from 'src/pageLayout/components/OrgSwitcherOverlay'\nimport CreateBucketOverlay from 'src/buckets/components/CreateBucketOverlay'\nimport AssetLimitOverlay from 'src/cloud/components/AssetLimitOverlay'\n\n// Actions\nimport {dismissOverlay} from 'src/overlays/actions/overlays'\n\ntype ReduxProps = ConnectedProps\ntype OverlayControllerProps = ReduxProps\n\nconst OverlayController: FunctionComponent = props => {\n let activeOverlay = <>\n let visibility = true\n\n const {overlayID, onClose, clearOverlayControllerState} = props\n\n const closer = () => {\n clearOverlayControllerState()\n if (onClose) {\n onClose()\n }\n }\n\n switch (overlayID) {\n case 'add-note':\n case 'edit-note':\n activeOverlay = \n break\n case 'add-master-token':\n activeOverlay = \n break\n case 'add-token':\n activeOverlay = \n break\n case 'telegraf-config':\n activeOverlay = \n break\n case 'telegraf-output':\n activeOverlay = \n break\n case 'switch-organizations':\n activeOverlay = \n break\n case 'create-bucket':\n activeOverlay = \n break\n case 'asset-limit':\n activeOverlay = \n break\n default:\n visibility = false\n }\n\n return {activeOverlay}\n}\n\nconst mstp = (state: AppState) => {\n const id = state.overlays.id\n const onClose = state.overlays.onClose\n\n return {\n overlayID: id,\n onClose,\n }\n}\n\nconst mdtp = {\n clearOverlayControllerState: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(OverlayController)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nconst supportLinks = [\n {link: 'https://v2.docs.influxdata.com/v2.0/', title: '📜 Documentation'},\n {link: 'https://community.influxdata.com', title: '💭 Community Forum'},\n {\n link:\n 'https://github.com/influxdata/influxdb/issues/new?template=feature_request.md',\n title: '✨ Feature Requests',\n },\n {\n link:\n 'https://github.com/influxdata/influxdb/issues/new?template=bug_report.md',\n title: '🐛 Report a bug',\n },\n]\n\nexport default class SupportLinks extends PureComponent {\n public render() {\n return (\n
      \n {supportLinks.map(({link, title}) => (\n
    • \n \n {title}\n \n
    • \n ))}\n
    \n )\n }\n}\n","// Libraries\nimport React, {SFC} from 'react'\nimport {Link} from 'react-router-dom'\n\n// Components\nimport {Button, ComponentSize} from '@influxdata/clockface'\n\nconst LogoutButton: SFC = () => (\n <>\n \n \n \n \n)\n\nexport default LogoutButton\n","import _ from 'lodash'\nimport {Dashboard} from 'src/types'\n\ninterface Greeting {\n text: string\n language: string\n}\n\nconst randomGreetings: Greeting[] = [\n {\n text: 'Greetings',\n language: 'English',\n },\n {\n text: 'Ahoy',\n language: 'Pirate',\n },\n {\n text: 'Howdy',\n language: 'Texas',\n },\n {\n text: 'Bonjour',\n language: 'French',\n },\n {\n text: 'Hola',\n language: 'Spanish',\n },\n {\n text: 'Ciao',\n language: 'Italian',\n },\n {\n text: 'Hallo',\n language: 'German',\n },\n {\n text: 'Guten Tag',\n language: 'German',\n },\n {\n text: 'Olà',\n language: 'Portuguese',\n },\n {\n text: 'Namaste',\n language: 'Hindi',\n },\n {\n text: 'Salaam',\n language: 'Farsi',\n },\n {\n text: 'Ohayo',\n language: 'Japanese',\n },\n {\n text: 'こんにちは',\n language: 'Japanese',\n },\n {\n text: 'Merhaba',\n language: 'Turkish',\n },\n {\n text: 'Szia',\n language: 'Hungarian',\n },\n {\n text: 'Jambo',\n language: 'Swahili',\n },\n {\n text: '你好',\n language: 'Chinese (Simplified)',\n },\n {\n text: 'مرحبا',\n language: 'Arabic',\n },\n {\n text: 'Բարեւ',\n language: 'Armenian',\n },\n {\n text: 'Zdravo',\n language: 'Croatian',\n },\n {\n text: 'Привет',\n language: 'Russian',\n },\n {\n text: 'Xin chào',\n language: 'Vietnamese',\n },\n {\n text: 'สวัสดี',\n language: 'Thai',\n },\n {\n text: 'สวัสดี',\n language: 'Thai',\n },\n {\n text: 'Dzień dobry',\n language: 'Polish',\n },\n {\n text: 'Hei',\n language: 'Finnish',\n },\n {\n text: 'γεια σας',\n language: 'Greek',\n },\n {\n text: '인사말',\n language: 'Korean',\n },\n {\n text: 'Salve',\n language: 'Latin',\n },\n {\n text: 'Cyfarchion',\n language: 'Welsh',\n },\n {\n text: 'Ukubingelela',\n language: 'Zulu',\n },\n {\n text: 'Beannachtaí',\n language: 'Irish',\n },\n {\n text: '01001000 01100101 01101100 01101100 01101111',\n language: 'Binary',\n },\n {\n text: '.... . .-.. .-.. ---',\n language: 'Morse Code',\n },\n {\n text: 'nuqneH',\n language: 'Klingon',\n },\n {\n text: 'Saluton',\n language: 'Esperanto',\n },\n {\n text: 'გამარჯობა',\n language: 'Georgian',\n },\n]\n\nexport const generateRandomGreeting = (): Greeting => {\n return _.sample(randomGreetings)\n}\n\nconst sortFunc = (a: Dashboard, b: Dashboard) => {\n const firstDashboard = `${a.name || ''}`.toLowerCase()\n const secondDashboard = `${b.name || ''}`.toLowerCase()\n return firstDashboard.localeCompare(secondDashboard)\n}\n\nexport const getSortedDashboardNames = (dashboards: Dashboard[]) => {\n return dashboards.sort(sortFunc)\n}\n","// Libraries\nimport React, {FC, useState, ChangeEvent} from 'react'\nimport {Link} from 'react-router-dom'\nimport {connect} from 'react-redux'\nimport {sortBy} from 'lodash'\n\n// Components\nimport {\n EmptyState,\n DapperScrollbars,\n Input,\n IconFont,\n InputRef,\n} from '@influxdata/clockface'\n\n// Types\nimport {Dashboard, Organization, AppState, ResourceType} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\nimport {getSortedDashboardNames} from 'src/me/constants'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ninterface StateProps {\n dashboards: Dashboard[]\n org: Organization\n}\n\ntype Props = StateProps\n\nconst DashboardList: FC = ({dashboards, org}) => {\n const [searchTerm, setSearchTerm] = useState('')\n\n const handleInputChange = (e: ChangeEvent): void => {\n setSearchTerm(e.target.value)\n }\n\n let dashboardsList = (\n \n You don't have any Dashboards\n \n )\n\n if (dashboards && dashboards.length) {\n let recentlyModifiedDashboards = sortBy(dashboards, [\n 'meta.updatedAt',\n ]).reverse()\n\n if (searchTerm.length) {\n recentlyModifiedDashboards = recentlyModifiedDashboards.filter(\n dashboard =>\n dashboard.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n }\n\n dashboardsList = (\n \n
    \n {recentlyModifiedDashboards.map(({id, name}) => (\n \n {name}\n \n ))}\n
    \n
    \n )\n\n if (searchTerm && !recentlyModifiedDashboards.length) {\n dashboardsList = (\n \n \n No dashboards match {searchTerm}\n \n \n )\n }\n }\n\n return (\n <>\n \n {dashboardsList}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n // map names and sort via a selector\n const dashboards = getSortedDashboardNames(\n getAll(state, ResourceType.Dashboards)\n )\n\n return {\n dashboards: dashboards,\n org: getOrg(state),\n }\n}\n\nexport default connect(mstp)(DashboardList)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Constants\nimport {VERSION, GIT_SHA} from 'src/shared/constants'\n\ninterface Props {\n widthPixels?: number\n}\n\nclass VersionInfo extends PureComponent {\n public render() {\n return (\n
    \n

    \n Version {VERSION} {GIT_SHA && ({GIT_SHA.slice(0, 7)})}\n

    \n
    \n )\n }\n\n private get style() {\n if (this.props.widthPixels) {\n return {width: `${this.props.widthPixels}px`}\n }\n }\n}\n\nexport default VersionInfo\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport Support from 'src/me/components/Support'\nimport LogoutButton from 'src/me/components/LogoutButton'\nimport DashboardsList from 'src/me/components/DashboardsList'\nimport GetResources from 'src/resources/components/GetResources'\nimport {\n Panel,\n FlexBox,\n FlexDirection,\n ComponentSize,\n AlignItems,\n} from '@influxdata/clockface'\nimport VersionInfo from 'src/shared/components/VersionInfo'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\ninterface Props {\n me: AppState['me']\n}\n\nclass ResourceLists extends PureComponent {\n public render() {\n return (\n \n \n \n

    Account

    \n \n
    \n
    \n \n \n

    Recent Dashboards

    \n
    \n \n \n \n \n \n
    \n \n \n

    Useful Links

    \n
    \n \n \n \n \n \n \n
    \n \n )\n }\n}\n\nexport default ResourceLists\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Panel} from '@influxdata/clockface'\n\nconst supportLinks = [\n {\n link: 'https://v2.docs.influxdata.com/v2.0/query-data/get-started/',\n title: 'Get Started with Flux',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/visualize-data/explore-metrics/',\n title: 'Explore Metrics',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/visualize-data/dashboards/',\n title: 'Build a Dashboard',\n },\n {\n link: 'https://v2.docs.influxdata.com/v2.0/process-data/write-a-task/',\n title: 'Write a Task',\n },\n]\n\nexport default class SupportLinks extends PureComponent {\n public render() {\n return (\n \n \n

    Some Handy Guides and Tutorials

    \n
    \n \n
      \n {supportLinks.map(({link, title}) => (\n
    • \n \n {title}\n \n
    • \n ))}\n
    \n
    \n
    \n )\n }\n}\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst CollectorGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image collector-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default CollectorGraphic\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst DashboardingGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image dashboarding-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default DashboardingGraphic\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n animate: boolean\n}\n\nconst ExploreGraphic: FunctionComponent = ({animate}) => {\n const className = classnames('getting-started--image explore-graphic', {\n 'getting-started--image__animating': animate,\n })\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default ExploreGraphic\n","// Libraries\nimport React, {FunctionComponent, useState} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Panel,\n Button,\n Gradients,\n InfluxColors,\n ComponentColor,\n ComponentSize,\n} from '@influxdata/clockface'\nimport CollectorGraphic from 'src/me/graphics/CollectorGraphic'\nimport DashboardingGraphic from 'src/me/graphics/DashboardingGraphic'\nimport ExploreGraphic from 'src/me/graphics/ExploreGraphic'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps & ReduxProps\n\nconst GettingStarted: FunctionComponent = ({orgID, history}) => {\n const [loadDataAnimating, setLoadDataAnimation] = useState(false)\n const handleLoadDataClick = (): void => {\n history.push(`/orgs/${orgID}/load-data/telegrafs`)\n }\n const handleLoadDataMouseOver = (): void => {\n setLoadDataAnimation(true)\n }\n const handleLoadDataMouseOut = (): void => {\n setLoadDataAnimation(false)\n }\n\n const [dashboardingAnimating, setDashboardingAnimation] = useState(\n false\n )\n const handleDashboardsClick = (): void => {\n history.push(`/orgs/${orgID}/dashboards`)\n }\n const handleDashboardsMouseOver = (): void => {\n setDashboardingAnimation(true)\n }\n const handleDashboardsMouseOut = (): void => {\n setDashboardingAnimation(false)\n }\n\n const [alertsAnimating, setAlertsAnimation] = useState(false)\n const handleAlertsClick = (): void => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n const handleAlertsMouseOver = (): void => {\n setAlertsAnimation(true)\n }\n const handleAlertsMouseOut = (): void => {\n setAlertsAnimation(false)\n }\n\n return (\n
    \n \n
    1
    \n \n \n \n \n \n \n \n \n
    2
    \n \n \n \n \n \n \n \n \n
    3
    \n \n \n \n \n \n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {id} = getOrg(state)\n return {\n orgID: id,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default withRouter(connector(GettingStarted))\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\nimport classnames from 'classnames'\n\n// Components\nimport {\n FlexBox,\n FlexDirection,\n AlignItems,\n ComponentSize,\n IconFont,\n JustifyContent,\n Gradients,\n InfluxColors,\n BannerPanel,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Utils\nimport {\n extractRateLimitResources,\n extractRateLimitStatus,\n} from 'src/cloud/utils/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {AppState} from 'src/types'\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\ninterface StateProps {\n resources: string[]\n status: LimitStatus\n}\ninterface OwnProps {\n alertOnly?: boolean\n className?: string\n}\ntype Props = StateProps & OwnProps\n\nconst RateLimitAlert: FC = ({\n status,\n alertOnly,\n className,\n resources,\n}) => {\n const rateLimitAlertClass = classnames('rate-alert', {\n [`${className}`]: className,\n })\n\n if (\n CLOUD &&\n status === LimitStatus.EXCEEDED &&\n resources.includes('cardinality')\n ) {\n return (\n \n \n
    \n \n You've reached the maximum{' '}\n \n series cardinality\n {' '}\n available in your plan. Need to write more data?\n \n \n \n \n
    \n \n \n )\n }\n\n if (CLOUD && !alertOnly) {\n return \n }\n\n return null\n}\n\nconst mstp = (state: AppState) => {\n const {\n cloud: {limits},\n } = state\n\n const resources = extractRateLimitResources(limits)\n const status = extractRateLimitStatus(limits)\n\n return {\n status,\n resources,\n }\n}\n\nexport default connect(mstp)(RateLimitAlert)\n","import {getOrg} from 'src/organizations/selectors'\nimport {store} from 'src/index'\nimport {CLOUD} from 'src/shared/constants'\n\nexport const pageTitleSuffixer = (pageTitles: string[]): string => {\n const state = store.getState()\n const {name} = getOrg(state) || null\n const title = CLOUD ? 'InfluxDB Cloud' : 'InfluxDB'\n const titles = [...pageTitles, name, title]\n\n return titles.join(' | ')\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Panel,\n FlexBox,\n FlexDirection,\n ComponentSize,\n AlignItems,\n Grid,\n Columns,\n Page,\n} from '@influxdata/clockface'\nimport Resources from 'src/me/components/Resources'\nimport Docs from 'src/me/components/Docs'\nimport GettingStarted from 'src/me/components/GettingStarted'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nexport class MePage extends PureComponent {\n public render() {\n const {me} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {me} = state\n\n return {me}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(MePage)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n IconFont,\n ComponentColor,\n ComponentSize,\n Dropdown,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n onSelectNew: () => void\n onSelectImport: () => void\n onSelectTemplate?: () => void\n resourceName: string\n limitStatus?: LimitStatus\n}\n\ninterface DefaultProps {\n canImportFromTemplate: boolean\n status: ComponentStatus\n titleText: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = OwnProps & DefaultProps & ReduxProps\n\nclass AddResourceDropdown extends PureComponent {\n public static defaultProps: DefaultProps = {\n canImportFromTemplate: false,\n status: ComponentStatus.Default,\n titleText: null,\n }\n\n public render() {\n const {titleText, status} = this.props\n return (\n (\n \n {titleText || `Create ${this.props.resourceName}`}\n \n )}\n menu={onCollapse => (\n \n {this.optionItems}\n \n )}\n >\n {this.optionItems}\n \n )\n }\n\n private get optionItems(): JSX.Element[] {\n const importOption = this.importOption\n const newOption = this.newOption\n const templateOption = this.templateOption\n\n const items = [\n \n {newOption}\n ,\n \n {importOption}\n ,\n ]\n\n if (!!this.props.canImportFromTemplate) {\n items.push(\n \n {templateOption}\n \n )\n }\n\n return items\n }\n\n private get newOption(): string {\n return `New ${this.props.resourceName}`\n }\n\n private get importOption(): string {\n return `Import ${this.props.resourceName}`\n }\n\n private get templateOption(): string {\n return `From a Template`\n }\n\n private handleLimit = (): void => {\n const {resourceName, onShowOverlay, onDismissOverlay} = this.props\n onShowOverlay('asset-limit', {asset: `${resourceName}s`}, onDismissOverlay)\n }\n\n private handleSelect = (selection: string): void => {\n const {\n onSelectNew,\n onSelectImport,\n onSelectTemplate,\n limitStatus = LimitStatus.OK,\n } = this.props\n\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n this.handleLimit()\n return\n }\n\n if (selection === this.newOption) {\n onSelectNew()\n }\n if (selection === this.importOption) {\n onSelectImport()\n }\n if (selection == this.templateOption) {\n onSelectTemplate()\n }\n }\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(AddResourceDropdown)\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport {debounce} from 'lodash'\n\n// Components\nimport {Input} from '@influxdata/clockface'\n\n// Types\nimport {IconFont} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n onSearch: (searchTerm: string) => void\n placeholderText: string\n searchTerm: string\n testID: string\n}\n\ninterface State {\n searchTerm: string\n}\n\n@ErrorHandling\nclass SearchWidget extends Component {\n public static defaultProps = {\n widthPixels: 440,\n placeholderText: 'Search...',\n searchTerm: '',\n testID: 'search-widget',\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (this.props.searchTerm !== prevProps.searchTerm) {\n this.setState({searchTerm: this.props.searchTerm})\n }\n }\n\n constructor(props: Props) {\n super(props)\n this.state = {\n searchTerm: this.props.searchTerm,\n }\n }\n\n public UNSAFE_componentWillMount() {\n this.handleSearch = debounce(this.handleSearch, 50)\n }\n\n public render() {\n const {placeholderText, testID} = this.props\n const {searchTerm} = this.state\n\n return (\n \n )\n }\n\n private handleSearch = (): void => {\n this.props.onSearch(this.state.searchTerm)\n }\n\n private handleBlur = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n}\n\nexport default SearchWidget\n","import {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {\n ResourceType,\n Dashboard,\n Task,\n Variable,\n Label,\n Template,\n Bucket,\n Telegraf,\n Scraper,\n Authorization,\n} from 'src/types'\n\nexport type DashboardSortKey = keyof Dashboard | 'meta.updatedAt'\nexport type TaskSortKey = keyof Task\nexport type VariableSortKey = keyof Variable | 'arguments.type'\nexport type LabelSortKey = keyof Label | 'properties.description'\nexport type TemplateSortKey = keyof Template | 'meta.name' | 'meta.description'\nexport type BucketSortKey = keyof Bucket | 'retentionRules[0].everySeconds'\nexport type TelegrafSortKey = keyof Telegraf\nexport type ScraperSortKey = keyof Scraper\nexport type AuthorizationSortKey = keyof Authorization\n\nexport type SortKey =\n | DashboardSortKey\n | TaskSortKey\n | VariableSortKey\n | LabelSortKey\n | TemplateSortKey\n | BucketSortKey\n | TelegrafSortKey\n | ScraperSortKey\n | AuthorizationSortKey\n\nexport interface SortDropdownItem {\n label: string\n sortKey: SortKey\n sortType: SortTypes\n sortDirection: Sort\n}\n\nexport const generateSortItems = (\n resourceType: ResourceType\n): SortDropdownItem[] => {\n switch (resourceType) {\n case ResourceType.Dashboards:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Modified (Oldest)',\n sortKey: 'meta.updatedAt',\n sortType: SortTypes.Date,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Modified (Newest)',\n sortKey: 'meta.updatedAt',\n sortType: SortTypes.Date,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Tasks:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Active',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Inactive',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Completed (Oldest)',\n sortKey: 'latestCompleted',\n sortType: SortTypes.Date,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Completed (Newest)',\n sortKey: 'latestCompleted',\n sortType: SortTypes.Date,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Schedule (Most Often)',\n sortKey: 'every',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Schedule (Least Often)',\n sortKey: 'every',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Variables:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Type (A → Z)',\n sortKey: 'arguments.type',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Type (Z → A)',\n sortKey: 'arguments.type',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Labels:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (A → Z)',\n sortKey: 'properties.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'properties.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Templates:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'meta.name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'meta.name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (A → Z)',\n sortKey: 'meta.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'meta.description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Buckets:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Retention (Ascending)',\n sortKey: 'retentionRules[0].everySeconds',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Retention (Descending)',\n sortKey: 'retentionRules[0].everySeconds',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Telegrafs:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Description (Ascending)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Descending)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Scrapers:\n return [\n {\n label: 'Name (A → Z)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Name (Z → A)',\n sortKey: 'name',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'URL (Ascending)',\n sortKey: 'url',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'URL (Descending)',\n sortKey: 'url',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Bucket (Ascending)',\n sortKey: 'bucket',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Bucket (Descending)',\n sortKey: 'bucket',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n case ResourceType.Authorizations:\n return [\n {\n label: 'Description (A → Z)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Description (Z → A)',\n sortKey: 'description',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Status (Active)',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Status (Inactive)',\n sortKey: 'status',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n {\n label: 'Date Created (Oldest)',\n sortKey: 'createdAt',\n sortType: SortTypes.String,\n sortDirection: Sort.Ascending,\n },\n {\n label: 'Date Created (Newest)',\n sortKey: 'createdAt',\n sortType: SortTypes.String,\n sortDirection: Sort.Descending,\n },\n ]\n }\n}\n","// Libraries\nimport React from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Utilities\nimport {generateSortItems} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\nimport {\n SortKey,\n SortDropdownItem,\n} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {ResourceType} from 'src/types'\n\ninterface ComponentProps {\n resourceType: ResourceType\n sortDirection: Sort\n sortKey: SortKey\n sortType: SortTypes\n onSelect: (sortKey: SortKey, sortDirection: Sort, sortType: SortTypes) => void\n width?: number\n}\n\nfunction ResourceSortDropdown({\n sortDirection,\n sortKey,\n sortType,\n onSelect,\n resourceType,\n width = 210,\n}: ComponentProps) {\n const sortDropdownItems = generateSortItems(resourceType)\n\n const {label} = sortDropdownItems.find(\n item =>\n item.sortKey === sortKey &&\n item.sortDirection === sortDirection &&\n item.sortType === sortType\n )\n\n const handleItemClick = (item: SortDropdownItem): void => {\n const {sortKey, sortDirection, sortType} = item\n onSelect(sortKey, sortDirection, sortType)\n }\n\n const button = (active, onClick) => (\n \n {`Sort by ${label}`}\n \n )\n\n const menu = onCollapse => (\n \n {sortDropdownItems.map(item => (\n \n {item.label}\n \n ))}\n \n )\n\n return (\n \n )\n}\n\nexport default ResourceSortDropdown\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {\n InputLabel,\n SlideToggle,\n ComponentSize,\n Page,\n Sort,\n FlexBox,\n FlexDirection,\n} from '@influxdata/clockface'\nimport AddResourceDropdown from 'src/shared/components/AddResourceDropdown'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\nimport {setSearchTerm as setSearchTermAction} from 'src/tasks/actions/creators'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {ResourceType} from 'src/types'\n\ninterface Props {\n onCreateTask: () => void\n setShowInactive: () => void\n showInactive: boolean\n onImportTask: () => void\n limitStatus: LimitStatus\n onImportFromTemplate: () => void\n searchTerm: string\n setSearchTerm: typeof setSearchTermAction\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n onSort: (\n sortKey: TaskSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ) => void\n}\n\nexport default class TasksHeader extends PureComponent {\n public render() {\n const {\n onCreateTask,\n setShowInactive,\n showInactive,\n onImportTask,\n onImportFromTemplate,\n setSearchTerm,\n searchTerm,\n sortKey,\n sortType,\n sortDirection,\n onSort,\n limitStatus,\n } = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n Show Inactive\n \n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {Component, MouseEvent} from 'react'\nimport classnames from 'classnames'\nimport _ from 'lodash'\n\n// Components\nimport {Label} from '@influxdata/clockface'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n active: boolean\n id: string\n name: string\n colorHex: string\n description: string\n onClick: (labelID: string) => void\n onMouseOver: (labelID: string) => void\n}\n\n@ErrorHandling\nclass InlineLabelsListItem extends Component {\n public render() {\n const {name, colorHex, description, id} = this.props\n\n return (\n \n
    \n )\n }\n\n private handleMouseOver = (): void => {\n const {onMouseOver, id} = this.props\n\n onMouseOver(id)\n }\n\n private handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n const {onClick, id} = this.props\n\n onClick(id)\n }\n\n private get className(): string {\n const {active} = this.props\n\n return classnames('inline-labels--list-item', {active})\n }\n}\n\nexport default InlineLabelsListItem\n","// Libraries\nimport React, {Component, MouseEvent} from 'react'\nimport classnames from 'classnames'\nimport _ from 'lodash'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n active: boolean\n id: string\n name: string\n onClick: () => void\n onMouseOver: (labelID: string) => void\n}\n\n@ErrorHandling\nclass InlineLabelsCreateLabelButton extends Component {\n public render() {\n const {name} = this.props\n\n return (\n \n Create \"{`${name}`}\"\n
    \n )\n }\n\n private handleMouseOver = (): void => {\n const {onMouseOver, id} = this.props\n\n onMouseOver(id)\n }\n\n private handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n this.props.onClick()\n }\n\n private get className(): string {\n const {active} = this.props\n\n return classnames('inline-labels--list-item inline-labels--create-new', {\n active,\n })\n }\n}\n\nexport default InlineLabelsCreateLabelButton\n","// Libraries\nimport React, {Component} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {EmptyState, DapperScrollbars} from '@influxdata/clockface'\nimport InlineLabelsListItem from 'src/shared/components/inlineLabels/InlineLabelsListItem'\nimport InlineLabelsCreateLabelButton from 'src/shared/components/inlineLabels/InlineLabelsCreateLabelButton'\n\n// Constants\nimport {ADD_NEW_LABEL_ITEM_ID} from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {Label} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n searchTerm: string\n selectedItemID: string\n onUpdateSelectedItemID: (labelID: string) => void\n filteredLabels: Label[]\n onItemClick: (labelID: string) => void\n allLabelsUsed: boolean\n onStartCreatingLabel: () => void\n}\n\n@ErrorHandling\nclass InlineLabelsList extends Component {\n public render() {\n return (\n
    \n \n \n {this.menuItems}\n
    \n \n
    \n )\n }\n\n private get menuItems(): JSX.Element[] | JSX.Element {\n const {\n filteredLabels,\n onItemClick,\n onUpdateSelectedItemID,\n selectedItemID,\n allLabelsUsed,\n searchTerm,\n onStartCreatingLabel,\n } = this.props\n\n if (filteredLabels.length) {\n return filteredLabels.map(label => {\n if (label.id === ADD_NEW_LABEL_ITEM_ID) {\n return (\n \n )\n }\n\n return (\n \n )\n })\n }\n\n if (allLabelsUsed) {\n return (\n \n \n This resource has all available labels,\n
    \n start typing to create a new label\n
    \n \n )\n }\n\n if (!searchTerm) {\n return (\n \n Start typing to create a new label\n \n )\n }\n }\n}\n\nexport default InlineLabelsList\n","// Libraries\nimport React, {\n PureComponent,\n ChangeEvent,\n KeyboardEvent,\n RefObject,\n} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Input, ButtonBaseRef} from '@influxdata/clockface'\nimport InlineLabelsList from 'src/shared/components/inlineLabels/InlineLabelsList'\n\n// Constants\nimport {ADD_NEW_LABEL_ITEM_ID} from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Types\nimport {Label} from 'src/types'\nimport {\n Appearance,\n IconFont,\n Popover,\n PopoverPosition,\n PopoverInteraction,\n} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\nenum ArrowDirection {\n Up = -1,\n Down = 1,\n}\n\ninterface Props {\n searchTerm: string\n triggerRef: RefObject\n selectedItemID: string\n onUpdateSelectedItemID: (highlightedID: string) => void\n allLabelsUsed: boolean\n onStartCreatingLabel: () => void\n onInputChange: (e: ChangeEvent) => void\n filteredLabels: Label[]\n onAddLabel: (labelID: string) => void\n visible: boolean\n}\n\n@ErrorHandling\nexport default class InlineLabelPopover extends PureComponent {\n public render() {\n const {\n searchTerm,\n allLabelsUsed,\n selectedItemID,\n onAddLabel,\n triggerRef,\n onStartCreatingLabel,\n onUpdateSelectedItemID,\n onInputChange,\n filteredLabels,\n visible,\n } = this.props\n\n return (\n (\n <>\n
    Add Labels
    \n \n \n \n )}\n />\n )\n }\n\n private handleKeyDown = (e: KeyboardEvent): void => {\n const {selectedItemID, onAddLabel, onStartCreatingLabel} = this.props\n\n switch (e.key) {\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n if (selectedItemID === ADD_NEW_LABEL_ITEM_ID) {\n onStartCreatingLabel()\n break\n }\n\n if (selectedItemID) {\n onAddLabel(selectedItemID)\n break\n }\n case 'ArrowUp':\n this.handleHighlightAdjacentItem(ArrowDirection.Up)\n break\n case 'ArrowDown':\n this.handleHighlightAdjacentItem(ArrowDirection.Down)\n break\n default:\n break\n }\n }\n\n private handleHighlightAdjacentItem = (direction: ArrowDirection): void => {\n const {selectedItemID, filteredLabels, onUpdateSelectedItemID} = this.props\n\n if (!filteredLabels.length || !selectedItemID) {\n return null\n }\n\n const selectedItemIndex = _.findIndex(\n filteredLabels,\n label => label.id === selectedItemID\n )\n\n const adjacentIndex = Math.min(\n Math.max(selectedItemIndex + direction, 0),\n filteredLabels.length - 1\n )\n\n const adjacentID = filteredLabels[adjacentIndex].id\n\n onUpdateSelectedItemID(adjacentID)\n }\n\n private handleRefocusInput = (e: ChangeEvent): void => {\n e.target.focus()\n }\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Input,\n Button,\n ColorPicker,\n Grid,\n Label,\n Form,\n} from '@influxdata/clockface'\n\n// Types\nimport {\n Columns,\n InputType,\n ButtonType,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Constants\nimport {INPUT_ERROR_COLOR} from 'src/labels/constants'\nconst MAX_LABEL_CHARS = 50\n\n// Utils\nimport {validateHexCode} from 'src/labels/utils/'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n id: string\n name: string\n description: string\n color: string\n onColorChange: (color: string, status?: ComponentStatus) => void\n onSubmit: () => void\n onCloseModal: () => void\n onInputChange: (e: ChangeEvent) => void\n onLabelPropertyChange: (e: ChangeEvent) => void\n onNameValidation: (name: string) => string | null\n buttonText: string\n isFormValid: boolean\n}\n\n@ErrorHandling\nexport default class LabelOverlayForm extends PureComponent {\n public render() {\n const {\n id,\n name,\n color,\n onSubmit,\n buttonText,\n description,\n onCloseModal,\n onInputChange,\n onLabelPropertyChange,\n onColorChange,\n isFormValid,\n } = this.props\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get placeholderLabelName(): string {\n const {name} = this.props\n\n if (!name) {\n return 'Name this Label'\n }\n\n return name\n }\n\n private get validatedColor(): string {\n const {color} = this.props\n\n if (validateHexCode(color)) {\n return INPUT_ERROR_COLOR\n }\n\n return color\n }\n\n private handleNameValidation = (name: string): string | null => {\n return this.props.onNameValidation(name)\n }\n}\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport LabelOverlayForm from 'src/labels/components/LabelOverlayForm'\nimport {Overlay, ComponentStatus} from '@influxdata/clockface'\n\n// Types\nimport {Label} from 'src/types'\n\n// Constants\nimport {EMPTY_LABEL} from 'src/labels/constants'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n isVisible: boolean\n onDismiss: () => void\n onCreateLabel: (label: Label) => void\n onNameValidation: (name: string) => string | null\n overrideDefaultName?: string\n}\ninterface State {\n label: Label\n colorStatus: ComponentStatus\n}\n\n@ErrorHandling\nclass CreateLabelOverlay extends Component {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n label: {...EMPTY_LABEL, name: this.props.overrideDefaultName},\n colorStatus: ComponentStatus.Default,\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.overrideDefaultName !== this.props.overrideDefaultName &&\n this.props.isVisible === false\n ) {\n const name = this.props.overrideDefaultName\n const label = {...this.state.label, name}\n\n this.setState({label})\n }\n }\n\n public render() {\n const {isVisible, onDismiss, onNameValidation} = this.props\n const {label} = this.state\n\n return (\n \n \n \n \n \n \n \n \n )\n }\n\n private get isFormValid(): boolean {\n const {label, colorStatus} = this.state\n const {onNameValidation} = this.props\n\n const nameIsValid = onNameValidation(label.name) === null && !!label.name\n const colorIsValid =\n colorStatus === ComponentStatus.Default ||\n colorStatus === ComponentStatus.Valid\n\n return nameIsValid && colorIsValid\n }\n\n private handleSubmit = () => {\n const {onCreateLabel, onDismiss} = this.props\n\n try {\n onCreateLabel(this.state.label)\n } finally {\n onDismiss()\n this.resetForm()\n }\n }\n\n private resetForm() {\n this.setState({\n label: EMPTY_LABEL,\n })\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {...prevState.label, [name]: value},\n }))\n }\n\n private handleLabelPropertyChange = (\n e: ChangeEvent\n ): void => {\n const {value, name} = e.target\n\n this.setState(prevState => ({\n label: {\n ...prevState.label,\n properties: {...prevState.label.properties, [name]: value},\n },\n }))\n }\n\n private handleColorChange = (\n color: string,\n colorStatus: ComponentStatus\n ): void => {\n const properties = {...this.state.label.properties, color}\n const label = {...this.state.label, properties}\n\n this.setState({label, colorStatus})\n }\n}\n\nexport default CreateLabelOverlay\n","// Libraries\nimport React, {Component, ChangeEvent, createRef} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n ButtonBase,\n ButtonShape,\n ButtonBaseRef,\n ComponentColor,\n ClickOutside,\n} from '@influxdata/clockface'\nimport InlineLabelPopover from 'src/shared/components/inlineLabels/InlineLabelPopover'\nimport CreateLabelOverlay from 'src/labels/components/CreateLabelOverlay'\n\n// Utils\nimport {validateLabelUniqueness} from 'src/labels/utils'\n\n// Types\nimport {Label, RemoteDataState} from 'src/types'\nimport {OverlayState} from 'src/types/overlay'\nimport {createLabel} from 'src/labels/actions/thunks'\n\n// Constants\nexport const ADD_NEW_LABEL_ITEM_ID = 'add-new-label'\nexport const ADD_NEW_LABEL_LABEL: Label = {\n id: ADD_NEW_LABEL_ITEM_ID,\n name: '',\n properties: {\n color: '#000000',\n description: '',\n },\n status: RemoteDataState.NotStarted,\n}\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface OwnProps {\n selectedLabels: Label[]\n labels: Label[]\n onAddLabel: (label: Label) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\ninterface State {\n searchTerm: string\n selectedItemID: string\n isCreatingLabel: OverlayState\n isPopoverVisible: boolean\n}\n\n@ErrorHandling\nclass InlineLabelsEditor extends Component {\n private popoverTrigger = createRef()\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n selectedItemID: null,\n searchTerm: '',\n isCreatingLabel: OverlayState.Closed,\n isPopoverVisible: false,\n }\n }\n\n public componentDidMount() {\n this.handleAddPopoverEventListener()\n }\n\n public render() {\n const {isCreatingLabel, searchTerm} = this.state\n\n return (\n <>\n {this.popover}\n
    \n \n
    \n \n {this.noLabelsIndicator}\n
    \n \n \n )\n }\n\n private get popover(): JSX.Element {\n const {labels, selectedLabels} = this.props\n const {searchTerm, selectedItemID, isPopoverVisible} = this.state\n\n const labelsUsed =\n labels.length > 0 && labels.length === selectedLabels.length\n\n return (\n \n \n \n )\n }\n\n private get noLabelsIndicator(): JSX.Element {\n const {selectedLabels} = this.props\n\n if (selectedLabels.length) {\n return\n }\n\n const handleClick = (): void => {\n if (this.popoverTrigger.current) {\n this.popoverTrigger.current.click()\n }\n }\n\n return (\n \n Add a label\n
    \n )\n }\n\n private handleAddPopoverEventListener = (): void => {\n if (!this.popoverTrigger.current) {\n return\n }\n this.popoverTrigger.current.addEventListener('click', () => {\n this.setState({\n isPopoverVisible: true,\n })\n })\n }\n\n private onClickOutside = (e: MouseEvent): void => {\n if (e.target === this.popoverTrigger.current) {\n return\n }\n\n this.setState({\n isPopoverVisible: false,\n })\n }\n\n private handleAddLabel = async (labelID: string) => {\n const {onAddLabel, labels} = this.props\n\n const label = labels.find(label => label.id === labelID)\n\n if (label) {\n this.selectAvailableItem()\n await onAddLabel(label)\n }\n }\n\n private selectAvailableItem = (): void => {\n const {searchTerm} = this.state\n\n const filteredLabels = this.filterLabels(searchTerm)\n\n if (filteredLabels.length) {\n this.handleUpdateSelectedItemID(filteredLabels[0].id)\n }\n }\n\n private handleUpdateSelectedItemID = (selectedItemID: string): void => {\n this.setState({selectedItemID})\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n const searchTerm = e.target.value\n const filteredLabels = this.filterLabels(searchTerm)\n if (filteredLabels.length) {\n const selectedItemID = filteredLabels[0].id\n this.setState({searchTerm, selectedItemID})\n } else {\n this.setState({searchTerm})\n }\n }\n\n private filterLabels = (searchTerm: string): Label[] => {\n const filteredLabels = this.availableLabels.filter(label => {\n const lowercaseName = label.name.toLowerCase()\n const lowercaseSearchTerm = searchTerm.toLowerCase()\n\n return lowercaseName.includes(lowercaseSearchTerm)\n })\n\n const searchTermHasExactMatch = filteredLabels.reduce(\n (acc: boolean, current: Label) => {\n return acc === true || current.name === searchTerm\n },\n false\n )\n\n if (!searchTermHasExactMatch && searchTerm) {\n return this.filteredLabelsWithAddButton(filteredLabels)\n }\n\n return this.filteredLabelsWithoutAddButton(filteredLabels)\n }\n\n private filteredLabelsWithAddButton = (filteredLabels: Label[]): Label[] => {\n const {searchTerm} = this.state\n\n const updatedAddButton = {...ADD_NEW_LABEL_LABEL, name: searchTerm}\n\n const addButton = filteredLabels.find(\n label => label.id === updatedAddButton.id\n )\n\n if (addButton) {\n return filteredLabels.map(fl => {\n return fl.id === updatedAddButton.id ? updatedAddButton : fl\n })\n }\n\n return [updatedAddButton, ...filteredLabels]\n }\n\n private filteredLabelsWithoutAddButton = (\n filteredLabels: Label[]\n ): Label[] => {\n return filteredLabels.filter(label => label.id !== ADD_NEW_LABEL_ITEM_ID)\n }\n\n private get availableLabels(): Label[] {\n const {selectedLabels, labels} = this.props\n\n return _.differenceBy(labels, selectedLabels, label => label.name)\n }\n\n private handleCreateLabel = async (label: Label) => {\n const {onCreateLabel, onAddLabel} = this.props\n const {name, properties} = label\n\n await onCreateLabel(name, properties)\n const newLabel = this.props.labels.find(l => l.name === label.name)\n onAddLabel(newLabel)\n }\n\n private handleStartCreatingLabel = (): void => {\n this.setState({isCreatingLabel: OverlayState.Open, isPopoverVisible: false})\n }\n\n private handleStopCreatingLabel = (): void => {\n this.setState({isCreatingLabel: OverlayState.Closed, searchTerm: ''})\n }\n\n private handleEnsureUniqueLabelName = (name: string): string | null => {\n const {labels} = this.props\n const names = labels.map(label => label.name)\n\n return validateLabelUniqueness(names, name)\n }\n}\n\nconst mdtp = {\n onCreateLabel: createLabel,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(InlineLabelsEditor)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Label as LabelComponent} from '@influxdata/clockface'\nimport InlineLabelsEditor from 'src/shared/components/inlineLabels/InlineLabelsEditor'\n\n// Types\nimport {Label, ResourceType, AppState} from 'src/types'\n\n// Selectors\nimport {getAll, getLabels} from 'src/resources/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\nexport enum LabelsEditMode {\n Editable = 'editable',\n Readonly = 'readonly',\n}\n\ninterface OwnProps {\n editMode?: LabelsEditMode // temporary for displaying labels\n selectedLabelIDs: string[]\n onRemoveLabel?: (label: Label) => void\n onAddLabel?: (label: Label) => void\n onFilterChange?: (searchTerm: string) => void\n}\n\ninterface StateProps {\n labels: Label[]\n selectedLabels: Label[]\n}\n\ntype Props = StateProps & OwnProps\n\n@ErrorHandling\nclass InlineLabels extends Component {\n public static defaultProps = {\n editMode: LabelsEditMode.Editable,\n }\n\n public render() {\n return
    {this.selectedLabels}
    \n }\n\n private get selectedLabels(): JSX.Element {\n const {selectedLabels, labels, onAddLabel} = this.props\n\n return (\n
    \n {this.isEditable && (\n \n )}\n {this.currentLabels}\n
    \n )\n }\n\n private get currentLabels(): JSX.Element[] {\n const {selectedLabels} = this.props\n const onDelete = this.isEditable ? this.handleDeleteLabel : null\n\n if (selectedLabels.length) {\n return selectedLabels.map(_label => {\n const label = {..._label}\n\n // TODO: clean this up during normalization effort at\n // the service layer and not in the view (alex)\n if (!label.hasOwnProperty('properties')) {\n label.properties = {\n color: '#FF0000',\n description: '',\n }\n }\n\n return (\n \n )\n })\n }\n }\n\n private get isEditable(): boolean {\n return this.props.editMode === LabelsEditMode.Editable\n }\n\n private handleLabelClick = (labelName: string) => {\n const {onFilterChange} = this.props\n\n onFilterChange(labelName)\n }\n\n private handleDeleteLabel = (labelID: string) => {\n const {onRemoveLabel, selectedLabels} = this.props\n const label = selectedLabels.find(label => label.id === labelID)\n\n onRemoveLabel(label)\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const labels = getAll
    \n setHighlight(true)}\n onHide={() => setHighlight(false)}\n />\n \n )\n}\n\nexport default LastRunTaskStatus\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n SlideToggle,\n ComponentSize,\n ResourceCard,\n IconFont,\n InputLabel,\n FlexBox,\n AlignItems,\n FlexDirection,\n} from '@influxdata/clockface'\nimport {Context} from 'src/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport LastRunTaskStatus from 'src/shared/components/lastRunTaskStatus/LastRunTaskStatus'\n\n// Actions\nimport {addTaskLabel, deleteTaskLabel} from 'src/tasks/actions/thunks'\n\n// Types\nimport {ComponentColor} from '@influxdata/clockface'\nimport {Task, Label} from 'src/types'\n\n// Constants\nimport {DEFAULT_TASK_NAME} from 'src/dashboards/constants'\n\ninterface PassedProps {\n task: Task\n onActivate: (task: Task) => void\n onDelete: (task: Task) => void\n onClone: (task: Task) => void\n onRunTask: (taskID: string) => void\n onUpdate: (name: string, taskID: string) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = PassedProps & ReduxProps\n\nexport class TaskCard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {task} = this.props\n\n return (\n \n \n \n \n \n {this.activeToggle}\n <>Last completed at {task.latestCompleted}\n <>{`Scheduled to run ${this.schedule}`}\n \n {this.labels}\n \n \n )\n }\n\n private get activeToggle(): JSX.Element {\n const labelText = this.isTaskActive ? 'Active' : 'Inactive'\n return (\n \n \n {labelText}\n \n )\n }\n\n private get contextMenu(): JSX.Element {\n const {task, onClone, onDelete, onRunTask} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleNameClick = (event: MouseEvent) => {\n const {\n match: {\n params: {orgID},\n },\n history,\n task,\n } = this.props\n const url = `/orgs/${orgID}/tasks/${task.id}/edit`\n\n if (event.metaKey) {\n window.open(url, '_blank')\n } else {\n history.push(url)\n }\n }\n\n private handleViewRuns = () => {\n const {\n history,\n task,\n match: {\n params: {orgID},\n },\n } = this.props\n history.push(`/orgs/${orgID}/tasks/${task.id}/runs`)\n }\n\n private handleRenameTask = (name: string) => {\n const {\n onUpdate,\n task: {id},\n } = this.props\n onUpdate(name, id)\n }\n\n private handleExport = () => {\n const {\n history,\n task,\n location: {pathname},\n } = this.props\n history.push(`${pathname}/${task.id}/export`)\n }\n\n private get labels(): JSX.Element {\n const {task, onFilterChange} = this.props\n\n return (\n \n )\n }\n\n private handleAddLabel = (label: Label) => {\n const {task, onAddTaskLabel} = this.props\n\n onAddTaskLabel(task.id, label)\n }\n\n private handleRemoveLabel = (label: Label) => {\n const {task, onDeleteTaskLabel} = this.props\n\n onDeleteTaskLabel(task.id, label)\n }\n\n private get isTaskActive(): boolean {\n const {task} = this.props\n if (task.status === 'active') {\n return true\n }\n return false\n }\n\n private changeToggle = () => {\n const {task, onActivate} = this.props\n if (task.status === 'active') {\n task.status = 'inactive'\n } else {\n task.status = 'active'\n }\n onActivate(task)\n }\n\n private get schedule(): string {\n const {task} = this.props\n if (task.every && task.offset) {\n return `every ${task.every}, offset ${task.offset}`\n }\n if (task.every) {\n return `every ${task.every}`\n }\n if (task.cron) {\n return task.cron\n }\n return ''\n }\n}\n\nconst mdtp = {\n onAddTaskLabel: addTaskLabel,\n onDeleteTaskLabel: deleteTaskLabel,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(TaskCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {EmptyState} from '@influxdata/clockface'\nimport AddResourceDropdown from 'src/shared/components/AddResourceDropdown'\n\n// Types\nimport {ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n searchTerm: string\n onCreate: () => void\n totalCount: number\n onImportTask: () => void\n onImportFromTemplate: () => void\n}\n\nexport default class EmptyTasksLists extends PureComponent {\n public render() {\n const {\n searchTerm,\n onCreate,\n totalCount,\n onImportTask,\n onImportFromTemplate,\n } = this.props\n\n if (totalCount && searchTerm === '') {\n return (\n \n {`All ${totalCount} of your Tasks are inactive`}\n \n )\n }\n\n if (searchTerm === '') {\n return (\n \n \n Looks like you don't have any Tasks, why not create one?\"\n \n \n \n )\n }\n\n return (\n \n No Tasks match your search term\n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport TaskCard from 'src/tasks/components/TaskCard'\n\n// Types\nimport EmptyTasksList from 'src/tasks/components/EmptyTasksList'\nimport {Task} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n tasks: Task[]\n searchTerm: string\n onActivate: (task: Task) => void\n onDelete: (task: Task) => void\n onCreate: () => void\n onClone: (task: Task) => void\n onFilterChange: (searchTerm: string) => void\n totalCount: number\n onAddTaskLabel: any\n onRunTask: any\n onUpdate: (name: string, taskID: string) => void\n filterComponent?: JSX.Element\n onImportTask: () => void\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n checkTaskLimits: any\n onImportFromTemplate: () => void\n}\n\ninterface State {\n taskLabelsEdit: Task\n isEditingTaskLabels: boolean\n}\n\nexport default class TasksList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n constructor(props) {\n super(props)\n this.state = {\n taskLabelsEdit: null,\n isEditingTaskLabels: false,\n }\n }\n\n public componentDidMount() {\n this.props.checkTaskLimits()\n }\n\n public render() {\n const {\n searchTerm,\n onCreate,\n totalCount,\n onImportTask,\n onImportFromTemplate,\n } = this.props\n\n return (\n <>\n \n \n }\n >\n {this.rows}\n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {\n tasks,\n sortKey,\n sortDirection,\n sortType,\n onActivate,\n onDelete,\n onClone,\n onUpdate,\n onRunTask,\n onFilterChange,\n } = this.props\n\n const sortedTasks = this.memGetSortedResources(\n tasks,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedTasks.map(task => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {getAssetLimits as getAssetLimitsAction} from 'src/cloud/actions/limits'\n\n// Components\nimport {TechnoSpinner, SpinnerContainer} from '@influxdata/clockface'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nclass GetAssetLimits extends PureComponent {\n public componentDidMount() {\n if (CLOUD) {\n this.props.getAssetLimits()\n }\n }\n\n public render() {\n const {status} = this.props\n if (CLOUD) {\n return (\n }>\n {this.props.children}\n \n )\n }\n return this.props.children\n }\n}\n\nconst mstp = ({\n cloud: {\n limits: {status},\n },\n}: AppState) => ({status})\n\nconst mdtp = {getAssetLimits: getAssetLimitsAction}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(GetAssetLimits)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n FlexBox,\n JustifyContent,\n Gradients,\n InfluxColors,\n GradientBox,\n Panel,\n Heading,\n HeadingElement,\n AlignItems,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Types\nimport {LimitStatus} from 'src/cloud/actions/limits'\n\ninterface Props {\n limitStatus: LimitStatus\n resourceName: string\n className?: string\n}\n\nconst AssetLimitAlert: FC = ({limitStatus, resourceName, className}) => {\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n return (\n \n \n \n \n Need more {resourceName}?\n \n \n \n \n \n \n \n \n \n )\n }\n\n return null\n}\n\nexport default AssetLimitAlert\n","import React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n Form,\n Button,\n SpinnerContainer,\n TechnoSpinner,\n Overlay,\n} from '@influxdata/clockface'\nimport {Controlled as ReactCodeMirror} from 'react-codemirror2'\nimport CopyButton from 'src/shared/components/CopyButton'\n\n// Actions\nimport {createTemplateFromResource} from 'src/templates/actions/thunks'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\n\n// Types\nimport {DocumentCreate} from '@influxdata/influx'\nimport {ComponentColor, ComponentSize} from '@influxdata/clockface'\nimport {RemoteDataState, Notification} from 'src/types'\n\ninterface OwnProps {\n onDismissOverlay: () => void\n resource: DocumentCreate\n resourceName: string\n onCopyText?: (text: string, status: boolean) => Notification\n status: RemoteDataState\n isVisible: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass ExportOverlay extends PureComponent {\n public static defaultProps = {\n isVisible: true,\n }\n\n public render() {\n const {isVisible, resourceName, onDismissOverlay, status} = this.props\n\n return (\n \n \n
    \n \n \n }\n >\n {this.overlayBody}\n \n \n \n {this.downloadButton}\n {this.toTemplateButton}\n {this.copyButton}\n \n \n
    \n
    \n )\n }\n\n private doNothing = () => {}\n\n private get overlayBody(): JSX.Element {\n const options = {\n tabIndex: 1,\n mode: 'json',\n readonly: true,\n lineNumbers: true,\n autoRefresh: true,\n theme: 'time-machine',\n completeSingle: false,\n }\n return (\n \n \n \n )\n }\n\n private get resourceText(): string {\n return JSON.stringify(this.props.resource, null, 1)\n }\n\n private get copyButton(): JSX.Element {\n return (\n \n )\n }\n\n private get downloadButton(): JSX.Element {\n return (\n \n )\n }\n\n private get toTemplateButton(): JSX.Element {\n return (\n \n )\n }\n\n private handleExport = (): void => {\n const {resource, resourceName, onDismissOverlay} = this.props\n const name = get(resource, 'content.data.attributes.name', resourceName)\n downloadTextFile(JSON.stringify(resource, null, 1), name, '.json')\n onDismissOverlay()\n }\n\n private handleConvertToTemplate = () => {\n const {\n resource,\n onDismissOverlay,\n resourceName,\n onCreateTemplateFromResource,\n } = this.props\n\n onCreateTemplateFromResource(resource, resourceName)\n onDismissOverlay()\n }\n}\n\nconst mdtp = {\n onCreateTemplateFromResource: createTemplateFromResource,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(ExportOverlay)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ExportOverlay from 'src/shared/components/ExportOverlay'\n\n// Actions\nimport {convertToTemplate as convertToTemplateAction} from 'src/tasks/actions/thunks'\nimport {clearExportTemplate as clearExportTemplateAction} from 'src/templates/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string; id: string}>\n\nclass TaskExportOverlay extends PureComponent {\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n convertToTemplate,\n } = this.props\n\n convertToTemplate(id)\n }\n\n public render() {\n const {taskTemplate, status} = this.props\n\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history, clearExportTemplate} = this.props\n\n history.goBack()\n clearExportTemplate()\n }\n}\n\nconst mstp = (state: AppState) => ({\n taskTemplate: state.resources.templates.exportTemplate.item,\n status: state.resources.templates.exportTemplate.status,\n})\n\nconst mdtp = {\n convertToTemplate: convertToTemplateAction,\n clearExportTemplate: clearExportTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskExportOverlay))\n","import React, {PureComponent} from 'react'\nimport classnames from 'classnames'\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ButtonType,\n} from '@influxdata/clockface'\n\ninterface Props {\n fileTypesToAccept?: string\n containerClass?: string\n handleSubmit: (uploadContent: string) => void\n submitText: string\n submitOnDrop: boolean\n submitOnUpload: boolean\n compact: boolean\n onCancel?: () => void\n className?: string\n}\n\ninterface State {\n inputContent: string\n uploadContent: string | ArrayBuffer\n fileName: string\n dragClass: string\n}\n\nlet dragCounter = 0\nclass DragAndDrop extends PureComponent {\n public static defaultProps = {\n submitText: 'Write this File',\n submitOnDrop: false,\n submitOnUpload: false,\n compact: false,\n className: '',\n }\n\n private fileInput: HTMLInputElement\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n inputContent: null,\n uploadContent: '',\n fileName: '',\n dragClass: 'drag-none',\n }\n }\n\n public componentDidMount() {\n window.addEventListener('dragover', this.handleWindowDragOver)\n window.addEventListener('drop', this.handleFileDrop)\n window.addEventListener('dragenter', this.handleDragEnter)\n window.addEventListener('dragleave', this.handleDragLeave)\n }\n\n public componentWillUnmount() {\n window.removeEventListener('dragover', this.handleWindowDragOver)\n window.removeEventListener('drop', this.handleFileDrop)\n window.removeEventListener('dragenter', this.handleDragEnter)\n window.removeEventListener('dragleave', this.handleDragLeave)\n }\n\n public render() {\n return (\n
    \n
    \n {this.dragAreaHeader}\n
    \n (this.fileInput = r)}\n className=\"drag-and-drop--input\"\n accept={this.fileTypesToAccept}\n onChange={this.handleFileClick}\n />\n {this.buttons}\n
    \n
    \n )\n }\n\n private handleWindowDragOver = (event: DragEvent) => {\n event.preventDefault()\n }\n\n private get fileTypesToAccept(): string {\n const {fileTypesToAccept} = this.props\n\n if (!fileTypesToAccept) {\n return '*'\n }\n\n return fileTypesToAccept\n }\n\n private get containerClass(): string {\n const {dragClass} = this.state\n const {compact, className} = this.props\n\n return classnames('drag-and-drop', {\n compact,\n [dragClass]: true,\n [className]: className,\n })\n }\n\n private get infoClass(): string {\n const {uploadContent} = this.state\n\n return classnames('drag-and-drop--graphic', {success: uploadContent})\n }\n\n private get dragAreaClass(): string {\n const {uploadContent} = this.state\n\n return classnames('drag-and-drop--form', {active: !uploadContent})\n }\n\n private get dragAreaHeader(): JSX.Element {\n const {uploadContent, fileName} = this.state\n\n if (uploadContent) {\n return
    {fileName}
    \n }\n\n return (\n
    \n Drop a file here or click to upload\n
    \n )\n }\n\n private get buttons(): JSX.Element | null {\n const {uploadContent} = this.state\n const {submitText, submitOnDrop} = this.props\n\n if (!uploadContent) {\n return null\n }\n\n if (submitOnDrop) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n \n )\n }\n\n private handleSubmit = () => {\n const {handleSubmit} = this.props\n const {uploadContent} = this.state\n\n handleSubmit(uploadContent as string)\n }\n\n private handleFileClick = (e: any): void => {\n const file = e.currentTarget.files[0]\n\n if (!file) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n const reader = new FileReader()\n reader.readAsText(file)\n reader.onload = () => {\n this.setState(\n {\n uploadContent: reader.result,\n fileName: file.name,\n },\n () => this.submitOnUpload()\n )\n }\n }\n\n private handleFileDrop = (e: any): void => {\n const file = e.dataTransfer.files[0]\n this.setState({\n dragClass: 'drag-none',\n })\n\n if (!file) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n const reader = new FileReader()\n reader.readAsText(file)\n reader.onload = () => {\n this.setState(\n {\n uploadContent: reader.result,\n fileName: file.name,\n },\n () => this.submitOnDrop()\n )\n }\n }\n\n private submitOnDrop() {\n const {submitOnDrop} = this.props\n if (submitOnDrop) {\n this.handleSubmit()\n }\n }\n\n private submitOnUpload() {\n const {submitOnUpload} = this.props\n if (submitOnUpload) {\n this.handleSubmit()\n }\n }\n\n private handleFileOpen = (): void => {\n const {uploadContent} = this.state\n if (uploadContent === '') {\n this.fileInput.click()\n }\n }\n\n private handleCancelFile = (): void => {\n const {onCancel} = this.props\n this.setState({uploadContent: ''})\n this.fileInput.value = ''\n if (onCancel) {\n onCancel()\n }\n }\n\n private handleDragEnter = (e: DragEvent): void => {\n dragCounter += 1\n e.preventDefault()\n this.setState({dragClass: 'drag-over'})\n }\n\n private handleDragLeave = (e: DragEvent): void => {\n dragCounter -= 1\n e.preventDefault()\n if (dragCounter === 0) {\n this.setState({dragClass: 'drag-none'})\n }\n }\n}\n\nexport default DragAndDrop\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n Form,\n SelectGroup,\n Button,\n TextArea,\n Overlay,\n} from '@influxdata/clockface'\nimport DragAndDrop from 'src/shared/components/DragAndDrop'\n\n// Types\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\nenum ImportOption {\n Upload = 'upload',\n Paste = 'paste',\n}\n\ninterface OwnProps {\n onDismissOverlay: () => void\n resourceName: string\n onSubmit: (importString: string, orgID: string) => void\n isVisible?: boolean\n status?: ComponentStatus\n updateStatus?: (status: ComponentStatus) => void\n}\n\ninterface State {\n selectedImportOption: ImportOption\n importContent: string\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\nclass ImportOverlay extends PureComponent {\n public static defaultProps: {isVisible: boolean} = {\n isVisible: true,\n }\n\n public state: State = {\n selectedImportOption: ImportOption.Upload,\n importContent: '',\n }\n\n public render() {\n const {isVisible, resourceName} = this.props\n const {selectedImportOption} = this.state\n\n return (\n \n \n
    \n \n \n
    \n \n \n Upload File\n \n \n Paste JSON\n \n \n
    \n {this.importBody}\n
    \n {this.submitButton}\n \n
    \n
    \n )\n }\n\n private get importBody(): JSX.Element {\n const {selectedImportOption, importContent} = this.state\n const {status = ComponentStatus.Default} = this.props\n\n if (selectedImportOption === ImportOption.Upload) {\n return (\n \n )\n }\n if (selectedImportOption === ImportOption.Paste) {\n return (\n \n )\n }\n }\n\n private handleChangeTextArea = (\n e: ChangeEvent\n ): void => {\n const {updateStatus = () => {}} = this.props\n const importContent = e.target.value\n this.handleSetImportContent(importContent)\n updateStatus(ComponentStatus.Default)\n }\n\n private get submitButton(): JSX.Element {\n const {resourceName} = this.props\n const {selectedImportOption, importContent} = this.state\n const isEnabled =\n selectedImportOption === ImportOption.Paste ||\n (selectedImportOption === ImportOption.Upload && importContent)\n const status = isEnabled\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n return (\n \n )\n }\n\n private submit = () => {\n const {importContent} = this.state\n const {\n onSubmit,\n match: {\n params: {orgID},\n },\n } = this.props\n\n onSubmit(importContent, orgID)\n this.clearImportContent()\n }\n\n private clearImportContent = () => {\n this.setState((state, props) => {\n const {status = ComponentStatus.Default} = props\n return status === ComponentStatus.Error ? {...state} : {importContent: ''}\n })\n }\n\n private onDismiss = () => {\n const {onDismissOverlay} = this.props\n this.clearImportContent()\n onDismissOverlay()\n }\n\n private handleSetImportOption = (selectedImportOption: ImportOption) => {\n this.clearImportContent()\n this.setState({selectedImportOption})\n }\n\n private handleSetImportContent = (importContent: string) => {\n this.setState({importContent})\n }\n}\n\nexport default withRouter(ImportOverlay)\n","import React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport ImportOverlay from 'src/shared/components/ImportOverlay'\n\n// Copy\nimport {invalidJSON} from 'src/shared/copy/notifications'\n\n// Actions\nimport {createTaskFromTemplate as createTaskFromTemplateAction} from 'src/tasks/actions/thunks'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport jsonlint from 'jsonlint-mod'\n\ninterface State {\n status: ComponentStatus\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\nclass TaskImportOverlay extends PureComponent {\n public state: State = {\n status: ComponentStatus.Default,\n }\n\n public render() {\n return (\n \n )\n }\n\n private onDismiss = () => {\n const {history} = this.props\n\n history.goBack()\n }\n\n private updateOverlayStatus = (status: ComponentStatus) =>\n this.setState(() => ({status}))\n\n private handleImportTask = (importString: string) => {\n const {createTaskFromTemplate, notify} = this.props\n\n let template\n this.updateOverlayStatus(ComponentStatus.Default)\n try {\n template = jsonlint.parse(importString)\n } catch (error) {\n this.updateOverlayStatus(ComponentStatus.Error)\n notify(invalidJSON(error.message))\n return\n }\n\n createTaskFromTemplate(template)\n this.onDismiss()\n }\n}\n\nconst mdtp = {\n createTaskFromTemplate: createTaskFromTemplateAction,\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(TaskImportOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {\n Panel,\n EmptyState,\n ComponentSize,\n Grid,\n Columns,\n DapperScrollbars,\n} from '@influxdata/clockface'\nimport {TemplateSummary, Template} from 'src/types'\n\ninterface Props {\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n variables: string[]\n cells: string[]\n}\n\nclass TemplateBrowserDetails extends PureComponent {\n public render() {\n return (\n \n \n \n {this.panelContents}\n \n \n \n )\n }\n\n private get panelContents(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n\n if (!selectedTemplateSummary) {\n return (\n \n Select a Template from the left\n \n )\n }\n\n return (\n \n \n \n {this.templateName}\n {this.templateDescription}\n \n {this.props.variables && (\n \n
    Variables
    \n {this.variablesList}\n
    \n )}\n {this.props.cells && (\n \n
    Cells
    \n {this.cellsList}\n
    \n )}\n
    \n
    \n )\n }\n\n private get variablesList(): JSX.Element | JSX.Element[] {\n const {variables} = this.props\n\n if (!variables.length) {\n return (\n

    \n No included variables\n

    \n )\n }\n\n return variables.map((variable, i) => (\n \n {variable}\n

    \n ))\n }\n\n private get cellsList(): JSX.Element | JSX.Element[] {\n const {cells} = this.props\n\n if (!cells.length) {\n return (\n

    \n No included cells\n

    \n )\n }\n\n return cells.map((cell, i) => (\n

    \n {cell}\n

    \n ))\n }\n\n private get templateDescription(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n const description = _.get(selectedTemplateSummary, 'meta.description')\n\n if (description) {\n return (\n

    {description}

    \n )\n }\n\n return (\n

    \n No description\n

    \n )\n }\n\n private get templateName(): JSX.Element {\n const {selectedTemplateSummary} = this.props\n const name = _.get(selectedTemplateSummary, 'meta.name')\n\n const templateName = name || 'Untitled'\n const className = name\n ? 'import-template-overlay--name'\n : 'import-template-overlay--name missing'\n\n return

    {templateName}

    \n }\n}\n\nexport default TemplateBrowserDetails\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\nimport {TemplateSummary} from 'src/types'\n\n// Components\nimport {Icon, IconFont} from '@influxdata/clockface'\n\ninterface Props {\n onClick: (template: TemplateSummary) => void\n template: TemplateSummary\n label: string\n selected: boolean\n testID: string\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {testID, label} = this.props\n\n return (\n \n \n {label}\n
    \n )\n }\n\n private get className(): string {\n const {selected} = this.props\n\n return classnames('import-template-overlay--template', {active: selected})\n }\n\n private handleClick = (): void => {\n const {onClick, template} = this.props\n\n onClick(template)\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get, orderBy} from 'lodash'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport {TemplateSummary} from 'src/types'\nimport TemplateBrowserListItem from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserListItem'\n\ninterface Props {\n templates: TemplateSummary[]\n selectedTemplateSummary: TemplateSummary\n onSelectTemplate: (selectedTemplateSummary: TemplateSummary) => void\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {selectedTemplateSummary, templates, onSelectTemplate} = this.props\n\n return (\n \n {orderBy(templates, [({meta: {name}}) => name.toLocaleLowerCase()]).map(\n t => (\n \n )\n )}\n \n )\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {TemplateSummary, Template} from 'src/types'\nimport TemplateBrowserDetails from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserDetails'\nimport TemplateBrowserList from 'src/templates/components/createFromTemplateOverlay/TemplateBrowserList'\n\ninterface Props {\n templates: TemplateSummary[]\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n variables?: string[]\n cells?: string[]\n onSelectTemplate: (selectedTemplateSummary: TemplateSummary) => void\n}\n\nclass TemplateBrowser extends PureComponent {\n public render() {\n const {\n selectedTemplateSummary,\n cells,\n variables,\n selectedTemplate,\n templates,\n onSelectTemplate,\n } = this.props\n\n return (\n
    \n \n \n
    \n )\n }\n}\n\nexport default TemplateBrowser\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect} from 'react-redux'\n\n// Components\nimport {\n EmptyState,\n ComponentSize,\n Button,\n IconFont,\n} from '@influxdata/clockface'\n\n// Types\nimport {AppState, Organization} from 'src/types'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ninterface StateProps {\n org: Organization\n}\n\ntype Props = StateProps & RouteComponentProps<{orgID: string}>\n\nclass TemplateBrowserEmpty extends PureComponent {\n public render() {\n return (\n
    \n \n \n Looks like you don't have any Templates yet, why not import\n one?\n \n \n \n
    \n )\n }\n\n private handleButtonClick = (): void => {\n const {history, org} = this.props\n\n history.push(`/orgs/${org.id}/settings/templates/import`)\n }\n}\n\nconst mstp = (state: AppState) => ({\n org: getOrg(state),\n})\n\nexport default connect(\n mstp,\n null\n)(withRouter(TemplateBrowserEmpty))\n","// Types\nimport {AppState, ResourceType} from 'src/types'\n\nexport const getAll = (state: AppState, resource: ResourceType) => {\n const {resources} = state\n const allIDs: string[] = resources[resource].allIDs\n const byID = resources[resource].byID\n return allIDs.map(id => byID[id])\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {sortBy} from 'lodash'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n Overlay,\n} from '@influxdata/clockface'\nimport TemplateBrowser from 'src/templates/components/createFromTemplateOverlay/TemplateBrowser'\nimport TemplateBrowserEmpty from 'src/tasks/components/TemplateBrowserEmpty'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Actions\nimport {createTaskFromTemplate as createTaskFromTemplateAction} from 'src/tasks/actions/thunks'\nimport {getTemplateByID} from 'src/templates/actions/thunks'\n\n// Types\nimport {\n TemplateSummary,\n Template,\n TemplateType,\n AppState,\n TaskTemplate,\n ResourceType,\n} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors/getAll'\n\ninterface State {\n selectedTemplateSummary: TemplateSummary\n selectedTemplate: Template\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TaskImportFromTemplateOverlay extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>,\n State\n> {\n constructor(props) {\n super(props)\n this.state = {\n selectedTemplateSummary: null,\n selectedTemplate: null,\n }\n }\n\n render() {\n return (\n \n \n \n \n {this.overlayBody}\n \n \n \n \n \n \n \n )\n }\n\n private get overlayBody(): JSX.Element {\n const {selectedTemplateSummary, selectedTemplate} = this.state\n const {templates} = this.props\n\n if (!templates.length) {\n return \n }\n\n return (\n \n )\n }\n\n private get submitStatus(): ComponentStatus {\n const {selectedTemplate} = this.state\n\n return selectedTemplate ? ComponentStatus.Default : ComponentStatus.Disabled\n }\n\n private handleSelectTemplate = async (\n selectedTemplateSummary: TemplateSummary\n ): Promise => {\n const selectedTemplate = await getTemplateByID(selectedTemplateSummary.id)\n\n this.setState({\n selectedTemplateSummary,\n selectedTemplate,\n })\n }\n\n private onDismiss = () => {\n const {history, match} = this.props\n history.push(`/orgs/${match.params.orgID}/tasks`)\n }\n\n private onSubmit = () => {\n const {createTaskFromTemplate} = this.props\n const taskTemplate = this.state.selectedTemplate as TaskTemplate\n\n createTaskFromTemplate(taskTemplate)\n this.onDismiss()\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n resources: {\n templates: {status},\n },\n } = state\n const items = getAll(state, ResourceType.Templates)\n const filteredTemplates = items.filter(\n t => !t.meta.type || t.meta.type === TemplateType.Task\n )\n\n const templates = sortBy(filteredTemplates, item =>\n item.meta.name.toLocaleLowerCase()\n )\n\n return {\n templates,\n templateStatus: status,\n }\n}\n\nconst mdtp = {\n createTaskFromTemplate: createTaskFromTemplateAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskImportFromTemplateOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport TasksHeader from 'src/tasks/components/TasksHeader'\nimport TasksList from 'src/tasks/components/TasksList'\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport FilterList from 'src/shared/components/FilterList'\nimport GetResources from 'src/resources/components/GetResources'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport AssetLimitAlert from 'src/cloud/components/AssetLimitAlert'\nimport TaskExportOverlay from 'src/tasks/components/TaskExportOverlay'\nimport TaskImportOverlay from 'src/tasks/components/TaskImportOverlay'\nimport TaskImportFromTemplateOverlay from 'src/tasks/components/TaskImportFromTemplateOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Actions\nimport {\n updateTaskStatus,\n updateTaskName,\n deleteTask,\n cloneTask,\n addTaskLabel,\n runTask,\n} from 'src/tasks/actions/thunks'\n\nimport {\n setSearchTerm as setSearchTermAction,\n setShowInactive as setShowInactiveAction,\n} from 'src/tasks/actions/creators'\n\nimport {checkTaskLimits as checkTasksLimitsAction} from 'src/cloud/actions/limits'\n\n// Types\nimport {AppState, Task, ResourceType} from 'src/types'\nimport {RouteComponentProps} from 'react-router-dom'\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {extractTaskLimits} from 'src/cloud/utils/limits'\nimport {TaskSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n isImporting: boolean\n taskLabelsEdit: Task\n sortKey: TaskSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\nconst Filter = FilterList()\n\n@ErrorHandling\nclass TasksPage extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n props.setSearchTerm('')\n if (!props.showInactive) {\n props.setShowInactive()\n }\n\n this.state = {\n isImporting: false,\n taskLabelsEdit: null,\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render(): JSX.Element {\n const {sortKey, sortDirection, sortType} = this.state\n const {\n setSearchTerm,\n updateTaskName,\n searchTerm,\n setShowInactive,\n showInactive,\n onAddTaskLabel,\n onRunTask,\n checkTaskLimits,\n limitStatus,\n } = this.props\n\n return (\n <>\n \n \n \n \n \n \n {ts => (\n \n )}\n \n {this.hiddenTaskAlert}\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleSort = (\n sortKey: TaskSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ) => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleActivate = (task: Task) => {\n this.props.updateTaskStatus(task)\n }\n\n private handleDelete = (task: Task) => {\n this.props.deleteTask(task.id)\n }\n\n private handleClone = (task: Task) => {\n this.props.cloneTask(task)\n }\n\n private handleCreateTask = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/new`)\n }\n\n private summonImportFromTemplateOverlay = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/import-template`)\n }\n\n private summonImportOverlay = (): void => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/import`)\n }\n\n private get filteredTasks(): Task[] {\n const {tasks, showInactive} = this.props\n const matchingTasks = tasks.filter(t => {\n let activeFilter = true\n if (!showInactive) {\n activeFilter = t.status === 'active'\n }\n\n return activeFilter\n })\n\n return matchingTasks\n }\n\n private get totalTaskCount(): number {\n return this.props.tasks.length\n }\n\n private get hiddenTaskAlert(): JSX.Element {\n const {showInactive, tasks} = this.props\n\n const hiddenCount = tasks.filter(t => t.status === 'inactive').length\n\n const allTasksAreHidden = hiddenCount === tasks.length\n\n if (allTasksAreHidden || showInactive) {\n return null\n }\n\n if (hiddenCount) {\n const pluralizer = hiddenCount === 1 ? '' : 's'\n const verb = hiddenCount === 1 ? 'is' : 'are'\n\n return (\n
    {`${hiddenCount} inactive task${pluralizer} ${verb} hidden from view`}
    \n )\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n resources,\n cloud: {limits},\n } = state\n const {status, searchTerm, showInactive} = resources.tasks\n\n return {\n tasks: getAll(state, ResourceType.Tasks),\n status: status,\n searchTerm,\n showInactive,\n limitStatus: extractTaskLimits(limits),\n }\n}\n\nconst mdtp = {\n updateTaskStatus,\n updateTaskName,\n deleteTask,\n cloneTask,\n setSearchTerm: setSearchTermAction,\n setShowInactive: setShowInactiveAction,\n onAddTaskLabel: addTaskLabel,\n onRunTask: runTask,\n checkTaskLimits: checkTasksLimitsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TasksPage)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Form, Input, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns, InputType} from '@influxdata/clockface'\nimport {TaskSchedule} from 'src/types'\n\ninterface Props {\n schedule: TaskSchedule\n cron: string\n offset: string\n interval: string\n onChangeInput: (e: ChangeEvent) => void\n}\n\nexport default class TaskScheduleFormFields extends PureComponent {\n public render() {\n const {offset, onChangeInput, interval, cron, schedule} = this.props\n\n return (\n <>\n \n \n \n \n \n\n \n \n \n \n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get} from 'lodash'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {isSystemBucket} from 'src/buckets/constants/index'\nimport {getAll, getStatus} from 'src/resources/selectors'\n\n// Types\nimport {RemoteDataState, AppState, Bucket, ResourceType} from 'src/types'\n\ninterface OwnProps {\n onChangeBucketName: (selectedBucketName: string) => void\n selectedBucketName: string\n}\n\ninterface StateProps {\n buckets: Bucket[]\n status: RemoteDataState\n}\n\ntype Props = OwnProps & StateProps\n\nclass TaskOptionsBucketDropdown extends PureComponent {\n public componentDidMount() {\n this.setSelectedToFirst()\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (this.props.buckets !== prevProps.buckets) {\n this.setSelectedToFirst()\n }\n }\n\n public render() {\n const {selectedBucketName} = this.props\n\n return (\n (\n \n {selectedBucketName}\n \n )}\n menu={onCollapse => (\n \n {this.dropdownItems}\n \n )}\n />\n )\n }\n\n private get dropdownItems(): JSX.Element[] {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return [\n \n No Buckets found in Org\n ,\n ]\n }\n\n const nonSystemBuckets = buckets.filter(\n bucket => !isSystemBucket(bucket.name)\n )\n\n return nonSystemBuckets.map(bucket => {\n return (\n \n {bucket.name}\n \n )\n })\n }\n\n private get status(): ComponentStatus {\n const {status, buckets} = this.props\n if (status === RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n if (!buckets || !buckets.length) {\n return ComponentStatus.Disabled\n }\n return ComponentStatus.Default\n }\n\n private get selectedName(): string {\n const {selectedBucketName, buckets} = this.props\n\n if (buckets && buckets.length) {\n if (selectedBucketName) {\n return selectedBucketName\n }\n return get(buckets, '0.name', '')\n }\n return 'no-buckets'\n }\n\n private setSelectedToFirst() {\n const {buckets, selectedBucketName, onChangeBucketName} = this.props\n const firstBucketNameInList = get(buckets, '0.name', '')\n\n if (selectedBucketName) {\n return\n }\n\n onChangeBucketName(firstBucketNameInList)\n }\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets).filter(\n (bucket: Bucket): boolean => bucket.type !== 'system'\n )\n const status = getStatus(state, ResourceType.Buckets)\n\n return {\n buckets,\n status,\n }\n}\n\nexport default connect(\n mstp,\n null\n)(TaskOptionsBucketDropdown)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n SelectGroup,\n Input,\n Button,\n FlexBox,\n Grid,\n} from '@influxdata/clockface'\nimport TaskScheduleFormField from 'src/tasks/components/TaskScheduleFormField'\nimport TaskOptionsBucketDropdown from 'src/tasks/components/TasksOptionsBucketDropdown'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {\n Columns,\n ButtonType,\n ButtonShape,\n ComponentColor,\n ComponentStatus,\n FlexDirection,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\nimport {ResourceType, TaskOptions, TaskSchedule} from 'src/types'\n\ninterface Props {\n taskOptions: TaskOptions\n isInOverlay: boolean\n canSubmit: boolean\n onSubmit: () => void\n dismiss: () => void\n onChangeScheduleType: (schedule: TaskSchedule) => void\n onChangeInput: (e: ChangeEvent) => void\n onChangeToBucketName: (bucketName: string) => void\n}\n\ninterface State {\n schedule: TaskSchedule\n}\n\nexport default class TaskForm extends PureComponent {\n public static defaultProps = {\n isInOverlay: false,\n canSubmit: true,\n onSubmit: () => {},\n dismiss: () => {},\n onChangeToBucketName: () => {},\n }\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n schedule: props.taskOptions.taskScheduleType,\n }\n }\n\n public render() {\n const {\n onChangeInput,\n onChangeToBucketName,\n taskOptions: {\n name,\n taskScheduleType,\n interval,\n offset,\n cron,\n toBucketName,\n },\n isInOverlay,\n } = this.props\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n Every\n \n \n Cron\n \n \n {this.cronHelper}\n \n \n \n \n {isInOverlay && (\n \n \n \n \n \n \n \n )}\n {isInOverlay && this.buttons}\n \n \n
    \n )\n }\n\n private get buttons(): JSX.Element {\n const {onSubmit, canSubmit, dismiss} = this.props\n return (\n \n \n \n \n \n \n )\n }\n\n private get cronHelper(): JSX.Element {\n const {taskOptions} = this.props\n\n if (taskOptions.taskScheduleType === TaskSchedule.cron) {\n return (\n \n

    \n For more information on cron syntax,{' '}\n \n click here\n \n

    \n
    \n )\n }\n }\n\n private handleChangeScheduleType = (schedule: TaskSchedule): void => {\n this.props.onChangeScheduleType(schedule)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {\n ComponentColor,\n Button,\n ComponentStatus,\n Page,\n} from '@influxdata/clockface'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\ninterface Props {\n title: string\n canSubmit: boolean\n onCancel: () => void\n onSave: () => void\n}\n\nexport default class TaskHeader extends PureComponent {\n public render() {\n const {onCancel, onSave, title} = this.props\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get status() {\n return this.props.canSubmit\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n }\n}\n","// Libraries\nimport {trimEnd} from 'lodash'\n\n// Types\nimport {TaskOptions, TaskSchedule} from 'src/types'\n\nexport const taskOptionsToFluxScript = (options: TaskOptions): string => {\n let fluxScript = `option task = { \\n name: \"${options.name}\",\\n`\n\n if (options.taskScheduleType === TaskSchedule.interval) {\n fluxScript = `${fluxScript} every: ${options.interval},\\n`\n } else if (options.taskScheduleType === TaskSchedule.cron) {\n fluxScript = `${fluxScript} cron: \"${options.cron}\",\\n`\n }\n\n if (options.offset) {\n fluxScript = `${fluxScript} offset: ${options.offset}\\n`\n }\n\n fluxScript = `${fluxScript}}`\n return fluxScript\n}\n\nexport const addDestinationToFluxScript = (\n script: string,\n options: TaskOptions\n): string => {\n const {toOrgName, toBucketName} = options\n\n if (toOrgName && toBucketName) {\n const trimmedScript = trimEnd(script)\n const trimmedOrgName = toOrgName.trim()\n const trimmedBucketName = toBucketName.trim()\n return `${trimmedScript}\\n |> to(bucket: \"${trimmedBucketName}\", org: \"${trimmedOrgName}\")`\n }\n\n return script\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\nimport TaskHeader from 'src/tasks/components/TaskHeader'\nimport {Page} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Actions\nimport {\n setNewScript,\n setTaskOption,\n clearTask,\n} from 'src/tasks/actions/creators'\nimport {saveNewScript, cancel} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {\n taskOptionsToFluxScript,\n addDestinationToFluxScript,\n} from 'src/utils/taskOptionsToFluxScript'\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState, TaskOptionKeys, TaskSchedule} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TaskPage extends PureComponent {\n constructor(props) {\n super(props)\n }\n\n public componentDidMount() {\n this.props.setTaskOption({\n key: 'taskScheduleType',\n value: TaskSchedule.interval,\n })\n }\n\n public componentWillUnmount() {\n this.props.clearTask()\n }\n\n public render(): JSX.Element {\n const {newScript, taskOptions} = this.props\n\n return (\n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n newScript,\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n return hasSchedule && !!name && !!newScript\n }\n\n private handleChangeScript = (script: string) => {\n this.props.setNewScript(script)\n }\n\n private handleChangeScheduleType = (value: TaskSchedule) => {\n this.props.setTaskOption({key: 'taskScheduleType', value})\n }\n\n private handleSave = () => {\n const {newScript, taskOptions} = this.props\n\n const taskOption: string = taskOptionsToFluxScript(taskOptions)\n const script: string = addDestinationToFluxScript(newScript, taskOptions)\n const preamble = `${taskOption}`\n\n this.props.saveNewScript(script, preamble)\n }\n\n private handleCancel = () => {\n this.props.cancel()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {name, value} = e.target\n const key = name as TaskOptionKeys\n\n this.props.setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {tasks} = state.resources\n const {taskOptions, newScript} = tasks\n\n return {\n taskOptions,\n newScript,\n }\n}\n\nconst mdtp = {\n setNewScript,\n saveNewScript,\n setTaskOption,\n clearTask,\n cancel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TaskPage)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport moment from 'moment'\n\n// Components\nimport {IndexList} from '@influxdata/clockface'\n\n// Types\nimport {LogEvent} from 'src/types'\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\ninterface Props {\n log: LogEvent\n}\n\nclass RunLogRow extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {log} = this.props\n\n return (\n \n \n \n {this.dateTimeString(log.time)}\n \n \n \n {log.message}\n \n \n )\n }\n\n private dateTimeString(dt: string): string {\n if (!dt) {\n return ''\n }\n\n const newdate = new Date(dt)\n const formatted = moment(newdate).format(DEFAULT_TIME_FORMAT)\n\n return formatted\n }\n}\n\nexport default RunLogRow\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n//Components\nimport {Overlay, IndexList, DapperScrollbars} from '@influxdata/clockface'\nimport RunLogRow from 'src/tasks/components/RunLogRow'\n\n// Types\nimport {LogEvent} from 'src/types'\n\ninterface Props {\n onDismissOverlay: () => void\n logs: LogEvent[]\n}\n\nclass RunLogsOverlay extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {onDismissOverlay} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n } columnCount={2}>\n {this.listLogs}\n \n \n \n \n \n )\n }\n\n public get listLogs(): JSX.Element[] {\n const logs = this.props.logs.map(rl => (\n \n ))\n\n return logs\n }\n}\n\nexport default RunLogsOverlay\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport moment from 'moment'\n\n// Components\nimport {Overlay, IndexList} from '@influxdata/clockface'\nimport RunLogsOverlay from 'src/tasks/components/RunLogsList'\n\n// Actions\nimport {getLogs} from 'src/tasks/actions/thunks'\n\n// Types\nimport {ComponentSize, ComponentColor, Button} from '@influxdata/clockface'\nimport {AppState, Run} from 'src/types'\nimport {DEFAULT_TIME_FORMAT} from 'src/shared/constants'\n\ninterface OwnProps {\n taskID: string\n run: Run\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n isImportOverlayVisible: boolean\n}\n\nclass TaskRunsRow extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n isImportOverlayVisible: false,\n }\n }\n\n public render() {\n const {run} = this.props\n return (\n <>\n \n {run.status}\n \n {this.dateTimeString(run.scheduledFor)}\n \n {this.dateTimeString(run.startedAt)}\n {run.duration}\n \n \n {this.renderLogOverlay}\n \n \n \n )\n }\n\n private dateTimeString(dt: string): string {\n if (!dt) {\n return ''\n }\n const newdate = new Date(dt)\n const formatted = moment(newdate).format(DEFAULT_TIME_FORMAT)\n\n return formatted\n }\n\n private handleToggleOverlay = () => {\n const {taskID, run, getLogs} = this.props\n getLogs(taskID, run.id)\n\n this.setState({isImportOverlayVisible: !this.state.isImportOverlayVisible})\n }\n\n private get renderLogOverlay(): JSX.Element {\n const {isImportOverlayVisible} = this.state\n const {logs} = this.props\n\n return (\n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {logs} = state.resources.tasks\n\n return {logs}\n}\n\nconst mdtp = {getLogs: getLogs}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(TaskRunsRow)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {EmptyState, IndexList} from '@influxdata/clockface'\nimport TaskRunsRow from 'src/tasks/components/TaskRunsRow'\n\n// Types\nimport {Sort, ComponentSize} from '@influxdata/clockface'\nimport {Run} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Utils\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n taskID: string\n runs: Run[]\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\ntype SortKey = keyof Run\n\nexport default class TaskRunsList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {sortKey, sortDirection, onClickColumn} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n Looks like this Task doesn't have any Runs\n \n \n }\n columnCount={5}\n >\n {this.sortedRuns}\n \n \n )\n }\n private get headerKeys(): SortKey[] {\n return ['status', 'scheduledFor', 'startedAt', 'duration']\n }\n\n private get sortedRuns(): JSX.Element[] {\n const {runs, sortKey, sortDirection, sortType, taskID} = this.props\n\n const sortedRuns = this.memGetSortedResources(\n runs,\n sortKey,\n sortDirection,\n sortType\n )\n\n const mostRecentRuns = sortedRuns.slice(0, 20)\n\n return mostRecentRuns.map(run => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Page, IconFont, Sort} from '@influxdata/clockface'\nimport TaskRunsList from 'src/tasks/components/TaskRunsList'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n// Types\nimport {AppState, Run} from 'src/types'\nimport {\n SpinnerContainer,\n TechnoSpinner,\n Button,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Actions\nimport {getRuns, runTask} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {SortTypes} from 'src/shared/utils/sort'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{id: string; orgID: string}>\n\ninterface State {\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype SortKey = keyof Run\n\nclass TaskRunsPage extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n sortKey: 'scheduledFor',\n sortDirection: Sort.Descending,\n sortType: SortTypes.Date,\n }\n }\n\n public render() {\n const {match, runs} = this.props\n const {sortKey, sortDirection, sortType} = this.state\n\n return (\n }\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n public componentDidMount() {\n this.props.getRuns(this.props.match.params.id)\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n let sortType = SortTypes.String\n\n if (sortKey !== 'status') {\n sortType = SortTypes.Date\n }\n\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private get title() {\n const {currentTask} = this.props\n\n if (currentTask) {\n return `${currentTask.name} - Runs`\n }\n return 'Runs'\n }\n\n private handleRunTask = () => {\n const {onRunTask, match, getRuns} = this.props\n onRunTask(match.params.id)\n getRuns(match.params.id)\n }\n\n private handleEditTask = () => {\n const {\n history,\n currentTask,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/tasks/${currentTask.id}/edit`)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {runs, runStatus, currentTask} = state.resources.tasks\n\n return {\n runs,\n runStatus,\n currentTask,\n }\n}\n\nconst mdtp = {\n getRuns: getRuns,\n onRunTask: runTask,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TaskRunsPage))\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\nimport TaskHeader from 'src/tasks/components/TaskHeader'\nimport {Page} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Actions\nimport {\n setCurrentScript,\n setTaskOption,\n clearTask,\n} from 'src/tasks/actions/creators'\nimport {\n updateScript,\n selectTaskByID,\n cancel,\n setAllTaskOptionsByID,\n} from 'src/tasks/actions/thunks'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {AppState, TaskOptionKeys, TaskSchedule} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{id: string}>\n\nclass TaskEditPage extends PureComponent {\n constructor(props) {\n super(props)\n }\n\n public componentDidMount() {\n const {\n match: {\n params: {id},\n },\n } = this.props\n this.props.selectTaskByID(id)\n this.props.setAllTaskOptionsByID(id)\n }\n\n public componentWillUnmount() {\n this.props.clearTask()\n }\n\n public render(): JSX.Element {\n const {currentScript, taskOptions} = this.props\n\n return (\n \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n currentScript,\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n return hasSchedule && !!name && !!currentScript\n }\n\n private handleChangeScript = (script: string) => {\n this.props.setCurrentScript(script)\n }\n\n private handleChangeScheduleType = (schedule: TaskSchedule) => {\n this.props.setTaskOption({key: 'taskScheduleType', value: schedule})\n }\n\n private handleSave = () => {\n this.props.updateScript()\n }\n\n private handleCancel = () => {\n this.props.cancel()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {name, value} = e.target\n const key = name as TaskOptionKeys\n\n this.props.setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {taskOptions, currentScript, currentTask} = state.resources.tasks\n\n return {\n taskOptions,\n currentScript,\n currentTask,\n }\n}\n\nconst mdtp = {\n setTaskOption,\n setCurrentScript,\n updateScript,\n cancel,\n selectTaskByID,\n setAllTaskOptionsByID,\n clearTask,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(TaskEditPage)\n","// Libraries\nimport React, {SFC, ReactElement} from 'react'\nimport {groupBy} from 'lodash'\n\n// Components\nimport {EmptyState, ComponentSize} from '@influxdata/clockface'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n funcs: FluxToolbarFunction[]\n searchTerm?: string\n children: (funcs: {\n [category: string]: FluxToolbarFunction[]\n }) => JSX.Element | JSX.Element[]\n}\n\nconst TransformToolbarFunctions: SFC = props => {\n const {searchTerm, funcs, children} = props\n\n const filteredFunctions = funcs.filter(func =>\n func.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n\n const groupedFunctions = groupBy(filteredFunctions, 'category')\n\n if (filteredFunctions.length === 0) {\n return (\n \n No functions match your search\n \n )\n }\n\n return children(groupedFunctions) as ReactElement\n}\n\nexport default TransformToolbarFunctions\n","import React, {SFC} from 'react'\n\ninterface Props {\n description: string\n}\n\nconst TooltipDescription: SFC = ({description}) => (\n
    \n
    Description
    \n {description}\n
    \n)\n\nexport default TooltipDescription\n","import React, {PureComponent} from 'react'\n\ninterface Args {\n name: string\n type: string\n desc: string\n}\n\ninterface Props {\n argsList?: Args[]\n}\n\nclass TooltipArguments extends PureComponent {\n public render() {\n return (\n
    \n
    Arguments
    \n
    {this.arguments}
    \n
    \n )\n }\n\n private get arguments(): JSX.Element | JSX.Element[] {\n const {argsList} = this.props\n\n if (argsList.length > 0) {\n return argsList.map(a => {\n return (\n
    \n {a.name}:\n {a.type}\n
    {a.desc}
    \n
    \n )\n })\n }\n\n return
    None
    \n }\n}\n\nexport default TooltipArguments\n","import React, {SFC} from 'react'\n\ninterface Props {\n example: string\n}\n\nconst TooltipExample: SFC = ({example}) => (\n
    \n
    Example
    \n
    {example}
    \n
    \n)\n\nexport default TooltipExample\n","import React, {SFC} from 'react'\n\ninterface Props {\n link: string\n}\n\nconst TooltipLink: SFC = ({link}) => (\n

    \n Still have questions? Check out the{' '}\n \n Flux Docs\n \n .\n

    \n)\n\nexport default TooltipLink\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport TooltipDescription from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipDescription'\nimport TooltipArguments from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipArguments'\nimport TooltipExample from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipExample'\nimport TooltipLink from 'src/timeMachine/components/fluxFunctionsToolbar/TooltipLink'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n func: FluxToolbarFunction\n}\n\nconst FunctionTooltipContents: FunctionComponent = ({\n func: {desc, args, example, link, name},\n}) => {\n return (\n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n )\n}\n\nexport default FunctionTooltipContents\n","// Libraries\nimport React, {FC, createRef} from 'react'\n\n// Component\nimport FunctionTooltipContents from 'src/timeMachine/components/fluxFunctionsToolbar/FunctionTooltipContents'\nimport {\n Popover,\n PopoverPosition,\n PopoverInteraction,\n Appearance,\n Button,\n ComponentSize,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n func: FluxToolbarFunction\n onClickFunction: (func: FluxToolbarFunction) => void\n testID: string\n}\n\nconst defaultProps = {\n testID: 'flux-function',\n}\n\nconst ToolbarFunction: FC = ({func, onClickFunction, testID}) => {\n const functionRef = createRef()\n const handleClickFunction = () => {\n onClickFunction(func)\n }\n return (\n <>\n }\n />\n \n {func.name}\n \n \n \n )\n}\n\nToolbarFunction.defaultProps = defaultProps\n\nexport default ToolbarFunction\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport ToolbarFunction from 'src/timeMachine/components/fluxFunctionsToolbar/ToolbarFunction'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types/shared'\n\ninterface Props {\n category: string\n funcs: FluxToolbarFunction[]\n onClickFunction: (func: FluxToolbarFunction) => void\n}\n\nconst FunctionCategory: SFC = props => {\n const {category, funcs, onClickFunction} = props\n\n return (\n
    \n
    {category}
    \n {funcs.map(func => (\n \n ))}\n
    \n )\n}\n\nexport default FunctionCategory\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {debounce} from 'lodash'\n\n// Components\nimport {Input} from '@influxdata/clockface'\n\n// Types\nimport {InputType, IconFont} from '@influxdata/clockface'\n\ninterface Props {\n onSearch: (s: string) => void\n resourceName: string\n}\n\ninterface State {\n searchTerm: string\n}\n\nconst DEBOUNCE_MS = 100\n\nclass FluxToolbarSearch extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n }\n\n this.handleSearch = debounce(this.handleSearch, DEBOUNCE_MS)\n }\n\n public render() {\n return (\n
    \n \n
    \n )\n }\n\n private handleSearch = (): void => {\n this.props.onSearch(this.state.searchTerm)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value}, this.handleSearch)\n }\n}\n\nexport default FluxToolbarSearch\n","import {FluxToolbarFunction} from 'src/types/shared'\n\nexport const FROM: FluxToolbarFunction = {\n name: 'from',\n args: [\n {\n name: 'bucket',\n desc: 'The name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc: 'The string-encoded ID of the bucket to query.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Used to retrieve data from an InfluxDB data source. It returns a stream of tables from the specified bucket. Each unique series is contained within its own table. Each record in the table represents a single point in the series.',\n example: 'from(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/inputs/from/',\n}\n\nexport const RANGE: FluxToolbarFunction = {\n name: 'range',\n args: [\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time',\n },\n ],\n package: '',\n desc:\n \"Filters records based on time bounds. Each input table's records are filtered to contain only records that exist within the time bounds. Each input table's group key value is modified to fit within the time bounds. Tables where all records exists outside the time bounds are filtered entirely.\",\n example: 'range(start: -15m, stop: now())',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/range/',\n}\n\nexport const MEAN: FluxToolbarFunction = {\n name: 'mean',\n args: [\n {\n name: 'column',\n desc: 'The column on which to compute the mean. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the mean or average of non-null records in the input table.',\n example: 'mean(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/mean/',\n}\n\nexport const UNION: FluxToolbarFunction = {\n name: 'union',\n args: [\n {\n name: 'tables',\n desc:\n 'Specifies the streams to union together. There must be at least two streams.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Concatenates two or more input streams into a single output stream. The output schemas of the `union()` function is the union of all input schemas. A sort operation may be added if a specific sort order is needed.',\n example: 'union(tables: [table1, table2])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/union/',\n}\n\nexport const MATH_ABS: FluxToolbarFunction = {\n name: 'math.abs',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the absolute value of x.',\n example: 'math.abs(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/abs/',\n}\n\nexport const MATH_FLOOR: FluxToolbarFunction = {\n name: 'math.floor',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the greatest integer value less than or equal to x.',\n example: 'math.floor(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/floor/',\n}\n\nexport const STRINGS_TITLE: FluxToolbarFunction = {\n name: 'strings.title',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to title case.',\n example: 'strings.title(v: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/title/',\n}\n\nexport const STRINGS_TRIM: FluxToolbarFunction = {\n name: 'strings.trim',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc:\n 'The leading and trailing characters to trim from the string value. Only characters that match exactly are trimmed.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified leading and trailing characters from a string.',\n example: 'strings.trim(v: r._value, cutset: \"_\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trim/',\n}\n\nexport const FLUX_FUNCTIONS: FluxToolbarFunction[] = [\n {\n name: 'aggregate.rate',\n args: [\n {\n name: 'every',\n desc: 'Duration of windows.',\n type: 'Duration',\n },\n {\n name: 'groupColumns',\n desc: 'List of columns to group by. Defaults to [].',\n type: 'Array of Strings',\n },\n {\n name: 'unit',\n desc:\n 'Time duration to use when calculating the rate. Defaults to `1s`.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/aggregate',\n desc: 'Calculates the rate of change per windows of time.',\n example: 'aggregate.rate(every: 1m, unit: 1s)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/aggregate/rate/',\n },\n {\n name: 'aggregateWindow',\n args: [\n {\n name: 'every',\n desc: 'The duration of windows.',\n type: 'Duration',\n },\n {\n name: 'fn',\n desc: 'The aggregate function used in the operation.',\n type: 'Unquoted String',\n },\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'timeSrc',\n desc:\n 'The \"time source\" column from which time is copied for the aggregate record. Defaults to `\"_stop\"`.',\n type: 'String',\n },\n {\n name: 'timeDst',\n desc:\n 'The \"time destination\" column to which time is copied for the aggregate record. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'createEmpty',\n desc:\n 'For windows without data, this will create an empty window and fill it with a `null` aggregate value.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Applies an aggregate function to fixed windows of time.',\n example: 'aggregateWindow(every: v.windowPeriod, fn: mean)',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/aggregatewindow/',\n },\n {\n name: 'bigtable.from',\n args: [\n {\n name: 'token',\n desc:\n 'The Google Cloud IAM token to use to access the Cloud Bigtable database.',\n type: 'String',\n },\n {\n name: 'project',\n desc:\n 'The project ID of the Cloud Bigtable project to retrieve data from.',\n type: 'String',\n },\n {\n name: 'instance',\n desc:\n 'The instance ID of the Cloud Bigtable instance to retrieve data from.',\n type: 'String',\n },\n {\n name: 'table',\n desc: 'The name of the Cloud Bigtable table to retrieve data from.',\n type: 'String',\n },\n ],\n package: 'experimental/bigtable',\n desc: 'Retrieves data from a Google Cloud Bigtable data source.',\n example:\n 'bigtable.from(token: \"mySuPeRseCretTokEn\", project: \"exampleProjectID\", instance: \"exampleInstanceID\", table: \"example-table\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/bigtable/from/',\n },\n {\n name: 'bool',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float',\n },\n ],\n package: '',\n desc: 'Converts a single value to a boolean.',\n example: 'bool(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/bool/',\n },\n {\n name: 'bottom',\n args: [\n {\n name: 'n',\n desc: 'The number of rows to return.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right) .Default is `[\"_value\"]`',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc: 'Sorts a table by columns and keeps only the bottom n rows.',\n example: 'bottom(n:10, columns: [\"_value\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/bottom/',\n },\n {\n name: 'buckets',\n args: [],\n package: '',\n desc: 'Returns a list of buckets in the organization.',\n example: 'buckets()',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/inputs/buckets/',\n },\n {\n name: 'bytes',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to bytes.',\n example: 'bytes(t: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/bytes/',\n },\n {\n name: 'chandeMomentumOscillator',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc: 'Columns to operate on. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings`',\n },\n ],\n package: '',\n desc:\n 'Applies the technical momentum indicator developed by Tushar Chande.',\n example: 'chandeMomentumOscillator(n: 10)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/chandemomentumoscillator/',\n },\n {\n name: 'columns',\n args: [\n {\n name: 'column',\n desc:\n 'The name of the output column in which to store the column labels.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Lists the column labels of input tables.',\n example: 'columns(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/columns/',\n },\n {\n name: 'contains',\n args: [\n {\n name: 'value',\n desc: 'The value to search for.',\n type: 'Boolean, Integer, UInteger, Float, String, Time',\n },\n {\n name: 'set',\n desc: 'The set of values in which to search.',\n type: 'Boolean, Integer, UInteger, Float, String, Time',\n },\n ],\n package: '',\n desc: 'Tests whether a value is a member of a set.',\n example: 'contains(value: 1, set: [1,2,3])',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/tests/contains/',\n },\n {\n name: 'count',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Outputs the number of records in the specified column.',\n example: 'count(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/count/',\n },\n {\n name: 'cov',\n args: [\n {\n name: 'x',\n desc: 'One input stream used to calculate the covariance.',\n type: 'Object',\n },\n {\n name: 'y',\n desc: 'The other input table used to calculate the covariance.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'The list of columns on which to join.',\n type: 'Array of Strings',\n },\n {\n name: 'pearsonr',\n desc:\n 'Indicates whether the result should be normalized to be the Pearson R coefficient',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Computes the covariance between two streams by first joining the streams, then performing the covariance operation.',\n example:\n 'cov(x: table1, y: table2, on: [\"_time\", \"_field\"], pearsonr: false)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/cov/',\n },\n {\n name: 'covariance',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Exactly two columns must be provided.',\n type: 'Array of Strings',\n },\n {\n name: 'pearsonr',\n desc:\n 'Indicates whether the result should be normalized to be the Pearson R coefficient',\n type: 'Boolean',\n },\n {\n name: 'valueDst',\n desc:\n 'The column into which the result will be placed. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the covariance between two columns.',\n example:\n 'covariance(columns: [\"column_x\", \"column_y\"], pearsonr: false, valueDst: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/covariance/',\n },\n {\n name: 'csv.from',\n args: [\n {\n name: 'file',\n desc: 'The file path of the CSV file to query.',\n type: 'String',\n },\n {\n name: 'csv',\n desc:\n 'Raw CSV-formatted text. CSV data must be in the CSV format produced by the Flux HTTP response standard.',\n type: 'String',\n },\n ],\n package: 'csv',\n desc: 'Retrieves data from a comma-separated value (CSV) data source.',\n example: 'csv.from(csv: csvData)',\n category: 'Inputs',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/csv/from/',\n },\n {\n name: 'csv.from',\n args: [\n {\n name: 'url',\n desc: 'The URL to retrieve annotated CSV from.',\n type: 'String',\n },\n ],\n package: 'experimental/csv',\n desc: 'Retrieves annotated CSV data from a URL.',\n example: 'csv.from(url: \"http://example.com/data.csv\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/csv/from/',\n },\n {\n name: 'cumulativeSum',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes a running sum for non-null records in the table. The output table schema will be the same as the input table.',\n example: 'cumulativeSum(columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/cumulativesum/',\n },\n {\n name: 'date.hour',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc: 'Returns the hour of a specified time. Results range from `[0-23]`.',\n example: 'date.hour(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/hour/',\n },\n {\n name: 'date.microsecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the microsecond of a specified time. Results range from `[1-999999]`.',\n example: 'date.microsecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/microsecond/',\n },\n {\n name: 'date.millisecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the millisecond of a specified time. Results range from `[1-999]`.',\n example: 'date.millisecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/millisecond/',\n },\n {\n name: 'date.minute',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the minute of a specified time. Results range from `[0-59]`.',\n example: 'date.minute(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/minute/',\n },\n {\n name: 'date.month',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc: 'Returns the month of a specified time. Results range from `[1-12]`.',\n example: 'date.month(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/month/',\n },\n {\n name: 'date.monthDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the month for a specified time. Results range from `[1-31]`.',\n example: 'date.monthDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/monthday/',\n },\n {\n name: 'date.nanosecond',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the nanosecond of a specified time. Results range from `[1-999999999]`.',\n example: 'date.nanosecond(t: 2019-07-17T12:05:21.012934584Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/nanosecond/',\n },\n {\n name: 'date.quarter',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the quarter of the year for a specified time. Results range from `[1-4]`.',\n example: 'date.quarter(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/quarter/',\n },\n {\n name: 'date.second',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the second of a specified time. Results range from `[0-59]`.',\n example: 'date.second(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/second/',\n },\n {\n name: 'date.truncate',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n {\n name: 'unit',\n desc:\n 'The unit time to truncate to. Only use `1` and the unit of time to specify the `unit`. For example, `1s`, `1m`, `1h`.',\n type: 'Duration',\n },\n ],\n package: 'date',\n desc:\n 'Truncates the time to a specified unit. Results range from `[0-59]`.',\n example: 'date.truncate(t: 2019-07-17T12:05:21.012Z, unit: 1s)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/truncate/',\n },\n {\n name: 'date.week',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the ISO week of the year for a specified time. Results range from `[1-53]`.',\n example: 'date.week(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/week/',\n },\n {\n name: 'date.weekDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the week for a specified time. Results range from `[0-6]`.',\n example: 'date.weekDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/weekday/',\n },\n {\n name: 'date.year',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc: 'Returns the year of a specified time.',\n example: 'date.year(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/year/',\n },\n {\n name: 'date.yearDay',\n args: [\n {\n name: 't',\n desc: 'The time to operate on.',\n type: 'Time | Duration | Integer',\n },\n ],\n package: 'date',\n desc:\n 'Returns the day of the year for a specified time. Results include leap days and range from `[1-366]`.',\n example: 'date.yearDay(t: 2019-07-17T12:05:21.012Z)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/date/yearday/',\n },\n {\n name: 'derivative',\n args: [\n {\n name: 'unit',\n desc: 'The time duration used when creating the derivative.',\n type: 'Duration',\n },\n {\n name: 'nonNegative',\n desc:\n 'Indicates if the derivative is allowed to be negative. When set to `true`, if a value is less than the previous value, it is assumed the previous value should have been a zero.',\n type: 'Boolean',\n },\n {\n name: 'columns',\n desc:\n 'A list of columns on which to operate. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n {\n name: 'timeColumn',\n desc: 'The column name for the time values. Defaults to `\"_time\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the rate of change per unit of time between subsequent non-null records. The output table schema will be the same as the input table.',\n example:\n 'derivative(unit: 1s, nonNegative: true, columns: [\"_value\"], timeColumn: \"_time\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/derivative/',\n },\n {\n name: 'difference',\n args: [\n {\n name: 'nonNegative',\n desc:\n 'Indicates if the derivative is allowed to be negative. When set to `true`, if a value is less than the previous value, it is assumed the previous value should have been a zero.',\n type: 'Boolean',\n },\n {\n name: 'columns',\n desc:\n 'The columns to use to compute the difference. Defaults to `\"_value\"`.',\n type: 'Array of Strings',\n },\n {\n name: 'keepFirst',\n desc:\n 'Indicates the first row should be kept. If `true`, the difference will be `null`. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Computes the difference between subsequent non-null records in the specified columns.',\n example: 'difference(nonNegative: false, columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/difference/',\n },\n {\n name: 'distinct',\n args: [\n {\n name: 'column',\n desc: 'Column on which to track unique values.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns the unique values for a given column.',\n example: 'distinct(column: \"host\")',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/distinct/',\n },\n {\n name: 'doubleEMA',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data at double the rate of `exponentialMovingAverage()`.',\n example: 'doubleEMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/doubleema/',\n },\n {\n name: 'drop',\n args: [\n {\n name: 'columns',\n desc:\n 'A list of columns to be removed from the table. Cannot be used with `fn`.',\n type: 'Array of Strings',\n },\n {\n name: 'fn',\n desc:\n 'A function which takes a column name as a parameter and returns a boolean indicating whether or not the column should be removed from the table. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Removes specified columns from a table. Columns can be specified either through a list or a predicate function. When a dropped column is part of the group key, it will be removed from the key.',\n example: 'drop(columns: [\"col1\", \"col2\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/drop/',\n },\n {\n name: 'duplicate',\n args: [\n {\n name: 'column',\n desc: 'The column name to duplicate.',\n type: 'String',\n },\n {\n name: 'as',\n desc: 'The name assigned to the duplicate column.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Duplicates a specified column in a table.',\n example: 'duplicate(column: \"column-name\", as: \"duplicate-name\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/duplicate/',\n },\n {\n name: 'duration',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Converts a single value to a duration.',\n example: 'duration(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/duration/',\n },\n {\n name: 'experimental.addDuration',\n args: [\n {\n name: 'd',\n desc: 'The duration to add.',\n type: 'Duration',\n },\n {\n name: 'to',\n desc: 'The time to add the duration to.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc:\n 'Adds a duration to a time value and returns the resulting time value.',\n example: 'experimental.addDuration(d: 12h, to: now())',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/addduration/',\n },\n {\n name: 'experimental.alignTime',\n args: [\n {\n name: 'alignTo',\n desc: 'UTC time to align tables to. Default is 1970-01-01T00:00:00Z.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc: 'Aligns input tables to a common start time.',\n example: 'experimental.alignTime(alignTo: v.timeRangeStart)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/aligntime/',\n },\n {\n name: 'experimental.chain',\n args: [\n {\n name: 'first',\n desc: 'The first query to execute.',\n type: 'Stream of Tables',\n },\n {\n name: 'second',\n desc: 'The second query to execute.',\n type: 'Stream of Tables',\n },\n ],\n package: 'experimental',\n desc:\n 'Executes two queries sequentially rather than in parallel and outputs the results of the second query.',\n example: 'experimental.chain(first: query1, second: query2)',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/chain/',\n },\n {\n name: 'experimental.group',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the grouping operation. Defaults to `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'mode',\n desc:\n 'The mode used to group columns. Only the `extend` mode is available with this function.',\n type: 'String',\n },\n ],\n package: 'experimental',\n desc: 'Introduces an extend mode to the existing `group()` function.',\n example:\n 'experimental.group(columns: [\"host\", \"_measurement\"], mode: \"extend\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/group/',\n },\n {\n name: 'experimental.join',\n args: [\n {\n name: 'left',\n desc: 'First of two streams of tables to join.',\n type: 'Stream of tables',\n },\n {\n name: 'right',\n desc: 'Second of two streams of tables to join.',\n type: 'Stream of tables',\n },\n {\n name: 'fn',\n desc:\n 'A function that maps new output rows using left and right input rows.',\n type: 'Function',\n },\n ],\n package: 'experimental',\n desc:\n 'Joins two streams of tables on the group key and _time column. Use the fn parameter to map output tables.',\n example:\n 'experimental.join(left: left, right: right, fn: (left, right) => ({left with lv: left._value, rv: right._value }))',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/join/',\n },\n {\n name: 'experimental.objectKeys',\n args: [\n {\n name: 'o',\n desc: 'The object to return keys from.',\n type: 'Object',\n },\n ],\n package: 'experimental',\n desc: 'Returns an array of keys in a specified object.',\n example: 'experimental.objectKeys(o: {key1: \"value1\", key2: \"value2\"})',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/objectkeys/',\n },\n {\n name: 'experimental.set',\n args: [\n {\n name: 'o',\n desc: 'An object that defines the columns and values to set.',\n type: 'Object',\n },\n ],\n package: 'experimental',\n desc: 'Sets multiple static column values on all records.',\n example: 'experimental.set(o: {column1: \"value1\", column2: \"value2\"})',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/set/',\n },\n {\n name: 'experimental.subDuration',\n args: [\n {\n name: 'd',\n desc: 'The duration to subtract.',\n type: 'Duration',\n },\n {\n name: 'from',\n desc: 'The time to subtract the duration from.',\n type: 'Time',\n },\n ],\n package: 'experimental',\n desc:\n 'Subtracts a duration from a time value and returns the resulting time value.',\n example: 'experimental.subDuration(d: 12h, from: now())',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/subduration/',\n },\n {\n name: 'experimental.to',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket to write data to. `bucket` and `bucketID` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc:\n 'The ID of the bucket to write data to. `bucketID` and `bucket` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'org',\n desc:\n 'The organization name of the specified bucket. `org` and `orgID` are mutually exclusive.',\n type: 'String',\n },\n {\n name: 'orgID',\n desc:\n 'The organization ID of the specified bucket. `orgID` and `org` are mutually exclusive.',\n type: 'String',\n },\n ],\n package: 'experimental',\n desc:\n 'Writes data to an InfluxDB v2.0 bucket, but in a different structure than the built-in `to()` function.',\n example: 'experimental.to(bucket: \"example-bucket\", org: \"example-org\")',\n category: 'Outputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/to/',\n },\n {\n name: 'elapsed',\n args: [\n {\n name: 'unit',\n desc: 'The unit time to return. Defaults to `1s`.',\n type: 'Duration',\n },\n {\n name: 'timeColumn',\n desc:\n 'The column to use to compute the elapsed time. Defaults to `\"_time\"`.',\n type: 'String`',\n },\n {\n name: 'columnName',\n desc: 'The column to store elapsed times. Defaults to `\"elapsed\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns the time between subsequent records.',\n example: 'elapsed(unit: 1s)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/elapsed/',\n },\n {\n name: 'exponentialMovingAverage',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data.',\n example: 'exponentialMovingAverage(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/exponentialmovingaverage/',\n },\n {\n name: 'fill',\n args: [\n {\n name: 'column',\n desc:\n 'The column in which to replace null values. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'value',\n desc: 'The constant value to use in place of nulls.',\n type: 'Value type of `column`',\n },\n {\n name: 'usePrevious',\n desc:\n 'When `true`, assigns the value set in the previous non-null row.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Replaces all null values in an input stream and replace them with a non-null value.',\n example: 'fill(column: \"_value\", usePrevious: true)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/fill/',\n },\n {\n name: 'filter',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false. Records are passed to the function. Those that evaluate to true are included in the output tables.',\n type: 'Function',\n },\n {\n name: 'onEmpty',\n desc:\n 'Defines the behavior for empty tables. Potential values are `keep` and `drop`. Defaults to `drop`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Filters data based on conditions defined in the function. The output tables have the same schema as the corresponding input tables.',\n example: 'filter(fn: (r) => r._measurement == \"cpu\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/filter/',\n },\n {\n name: 'findColumn',\n args: [\n {\n name: 'fn',\n desc: 'Predicate function for matching keys in a table’s group key.',\n type: 'Function',\n },\n {\n name: 'column',\n desc: 'Name of the column to extract.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Returns an array of values in a specified column from the first table in a stream of tables where the group key values match the specified predicate.',\n example: 'findColumn(fn: (key) => key.host == \"host1\", column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findcolumn/',\n },\n {\n name: 'findRecord',\n args: [\n {\n name: 'fn',\n desc: 'Predicate function for matching keys in a table’s group key.',\n type: 'Function',\n },\n {\n name: 'idx',\n desc: 'Index of the record to extract.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Returns a record at a specified index from the first table in a stream of tables where the group key values match the specified predicate.',\n example: 'findRecord(fn: (key) => key.host == \"host1\", idx: 0)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findrecord/',\n },\n {\n name: 'first',\n args: [],\n package: '',\n desc: 'Selects the first non-null record from an input table.',\n example: 'first()',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/first/',\n },\n {\n name: 'float',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a float.',\n example: 'float(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/float/',\n },\n FROM,\n {\n name: 'geo.asTracks',\n args: [\n {\n name: 'groupBy',\n desc: 'Columns to group by. They should uniquely identify each track.',\n type: 'Array of Strings',\n },\n {\n name: 'orderBy',\n desc: 'Columns to order results by.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Groups geo-temporal data into tracks (sequential, related data points).',\n example: 'geo.asTracks(groupBy: [\"id\",\"tid\"], orderBy: [\"_time\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/astracks/',\n },\n {\n name: 'geo.filterRows',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n {\n name: 'minSize',\n desc:\n 'Minimum number of cells that cover the specified region. Default is `24`',\n type: 'Integer',\n },\n {\n name: 'maxSize',\n desc:\n 'Maximum number of cells that cover the specified region. Default is `-1`.',\n type: 'Object',\n },\n {\n name: 'level',\n desc: 'S2 cell level of grid cells. Default is `-1`',\n type: 'Integer',\n },\n {\n name: 's2CellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n {\n name: 'correlationKey',\n desc:\n 'List of columns used to uniquely identify a row for output. Default is `[\"_time\"]`.',\n type: 'Array of Strings',\n },\n {\n name: 'strict',\n desc: 'Enable strict geographic data filtering. Default is `true`',\n type: 'Boolean',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Filters data by a specified geographic region with the option of strict filtering.',\n example:\n 'geo.filterRows(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0}, strict: true)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/filterrows/',\n },\n {\n name: 'geo.gridFilter',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n {\n name: 'minSize',\n desc:\n 'Minimum number of cells that cover the specified region. Default is `24`',\n type: 'Integer',\n },\n {\n name: 'maxSize',\n desc:\n 'Maximum number of cells that cover the specified region. Default is `-1`.',\n type: 'Object',\n },\n {\n name: 'level',\n desc: 'S2 cell level of grid cells. Default is `-1`',\n type: 'Integer',\n },\n {\n name: 's2CellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Filters data by a specified geographic region using S2 geometry grid cells.',\n example:\n 'geo.gridFilter(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0})',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/gridfilter/',\n },\n {\n name: 'geo.groupByArea',\n args: [\n {\n name: 'newColumn',\n desc:\n 'Name of the new column that stores the unique identifier for a geographic area.',\n type: 'String',\n },\n {\n name: 'level',\n desc:\n 'S2 Cell level used to determine the size of each geographic area.',\n type: 'Integer',\n },\n {\n name: 's2cellIDLevel',\n desc: 'S2 Cell level used in `s2_cell_id` tag. Default is `-1`.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc: 'Groups rows by geographic area using S2 geometry grid cells.',\n example: 'geo.groupByArea(newColumn: \"geoArea\", level: 10)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/groupbyarea/',\n },\n {\n name: 'geo.s2CellIDToken',\n args: [\n {\n name: 'point',\n desc:\n 'Longitude and latitude in decimal degrees (WGS 84) to use when generating the S2 cell ID token. Object must contain `lat` and `lon` properties.',\n type: 'Object',\n },\n {\n name: 'token',\n desc: 'S2 cell ID token to update.',\n type: 'String',\n },\n {\n name: 'level',\n desc: 'S2 cell level to use when generating the S2 cell ID token.',\n type: 'Integer',\n },\n ],\n package: 'experimental/geo',\n desc: 'Returns an S2 cell ID token.',\n example:\n 'geo.s2CellIDToken(point: {lat: 37.7858229, lon: -122.4058124}, level: 10)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken/',\n },\n {\n name: 'geo.shapeData',\n args: [\n {\n name: 'latField',\n desc: 'Name of existing latitude field.',\n type: 'String',\n },\n {\n name: 'lonField',\n desc: 'Name of existing longitude field.',\n type: 'String',\n },\n {\n name: 'level',\n desc: 'S2 cell level to use when generating the S2 cell ID token.',\n type: 'Integer',\n },\n {\n name: 'correlationKey',\n desc:\n 'List of columns used to uniquely identify a row for output. Default is `[\"_time\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Renames existing latitude and longitude fields to `lat` and `lon` and adds an `s2_cell_id` tag.',\n example:\n 'geo.shapeData(latField: \"latitude\", lonField: \"longitude\", level: 10)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/shapedata/',\n },\n {\n name: 'geo.strictFilter',\n args: [\n {\n name: 'region',\n desc: 'Region containing the desired data points.',\n type: 'Object',\n },\n ],\n package: 'experimental/geo',\n desc: 'Filters data by latitude and longitude in a specified region.',\n example:\n 'geo.strictFilter(region: {lat: 37.7858229, lon: -122.4058124, radius: 20.0})',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/strictfilter/',\n },\n {\n name: 'geo.toRows',\n args: [\n {\n name: 'correlationKey',\n desc:\n 'List of columns used to uniquely identify a row for output. Default is `[\"_time\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/geo',\n desc:\n 'Pivots geo-temporal data into row-wise sets based on time and other correlation columns.',\n example: 'geo.toRows(correlationKey: [\"_time\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/geo/torows/',\n },\n {\n name: 'getColumn',\n args: [\n {\n name: 'column',\n desc: 'The name of the column to extract.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Extracts a column from a table given its label. If the label is not present in the set of columns, the function errors.',\n example: 'getColumn(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/getcolumn/',\n },\n {\n name: 'getRecord',\n args: [\n {\n name: 'idx',\n desc: 'The index of the record to extract.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Extracts a record from a table given the record’s index. If the index is out of bounds, the function errors.',\n example: 'getRecord(idx: 0)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/getrecord/',\n },\n {\n name: 'group',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the grouping operation. Defaults to `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'mode',\n desc:\n 'The mode used to group columns. The following options are available: by, except. Defaults to `\"by\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Groups records based on their values for specific columns. It produces tables with new group keys based on provided properties.',\n example: 'group(columns: [\"host\", \"_measurement\"], mode:\"by\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/group/',\n },\n {\n name: 'highestAverage',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the average of each group.',\n example: 'highestAverage(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestaverage/',\n },\n {\n name: 'highestCurrent',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the last value of each group.',\n example: 'highestCurrent(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestcurrent/',\n },\n {\n name: 'highestMax',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the top `n` records from all groups using the maximum of each group.',\n example: 'highestMax(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/highestmax/',\n },\n {\n name: 'histogram',\n args: [\n {\n name: 'column',\n desc:\n 'The name of a column containing input data values. The column type must be float. Defaults to `\"_value\"`.',\n type: 'Strings',\n },\n {\n name: 'upperBoundColumn',\n desc:\n 'The name of the column in which to store the histogram\\'s upper bounds. Defaults to `\"le\"`.',\n type: 'String',\n },\n {\n name: 'countColumn',\n desc:\n 'The name of the column in which to store the histogram counts. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'bins',\n desc:\n 'A list of upper bounds to use when computing the histogram frequencies. Each element in the array should contain a float value that represents the maximum value for a bin.',\n type: 'Array of Floats',\n },\n {\n name: 'normalize',\n desc:\n 'When `true`, will convert the counts into frequency values between 0 and 1. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Approximates the cumulative distribution function of a dataset by counting data frequencies for a list of buckets.',\n example:\n 'histogram(column: \"_value\", upperBoundColumn: \"le\", countColumn: \"_value\", bins: [50.0, 75.0, 90.0], normalize: false)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/histogram/',\n },\n {\n name: 'histogramQuantile',\n args: [\n {\n name: 'quantile',\n desc:\n 'A value between 0 and 1 indicating the desired quantile to compute.',\n type: 'Float',\n },\n {\n name: 'countColumn',\n desc:\n 'The name of the column in which to store the histogram counts. The count column type must be float. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'upperBoundColumn',\n desc:\n 'The name of the column in which to store the histogram\\'s upper bounds. The count column type must be float. Defaults to `\"le\"`.',\n type: 'String',\n },\n {\n name: 'valueColumn',\n desc:\n 'The name of the output column which will contain the computed quantile. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'minValue',\n desc:\n 'The assumed minimum value of the dataset. When the quantile falls below the lowest upper bound, interpolation is performed between `minValue` and the lowest upper bound. When `minValue` is equal to negative infinity, the lowest upper bound is used. Defaults to `0`.',\n type: 'Float',\n },\n ],\n package: '',\n desc:\n 'Approximates a quantile given a histogram that approximates the cumulative distribution of the dataset.',\n example:\n 'histogramQuantile(quantile: 0.5, countColumn: \"_value\", upperBoundColumn: \"le\", valueColumn: \"_value\", minValue: 0.0)',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/histogramquantile/',\n },\n {\n name: 'holtWinters',\n args: [\n {\n name: 'n',\n desc: 'Number of values to predict.',\n type: 'Integer',\n },\n {\n name: 'seasonality',\n desc: 'Number of points in a season. Defaults to `0`.',\n type: 'Integer',\n },\n {\n name: 'interval',\n desc: 'The interval between two data points.',\n type: 'Duration',\n },\n {\n name: 'withFit',\n desc:\n 'Returns \"fitted\" data points in results when `withFit` is set to `true`. Defaults to `false`.',\n type: 'Boolean',\n },\n {\n name: 'timeColumn',\n desc: 'The time column to use. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'column',\n desc: 'The column to operate on. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Applies the Holt-Winters forecasting method to input tables. The Holt-Winters method predicts `n` seasonally-adjusted values for the specified `column` at the specified `interval`.',\n example: 'holtWinters(n: 10, interval: 1d)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/holtwinters/',\n },\n {\n name: 'hourSelection',\n args: [\n {\n name: 'start',\n desc:\n 'The first hour of the hour range (inclusive). Hours range from `[0-23]`',\n type: 'Integer',\n },\n {\n name: 'stop',\n desc:\n 'The last hour of the hour range (inclusive). Hours range from `[0-23]`.',\n type: 'Integer`',\n },\n {\n name: 'timeColumn',\n desc: 'The column that contains the time value. Default is `\"_time\"`.',\n type: 'String`',\n },\n ],\n package: '',\n desc:\n 'Retains all rows with time values in a specified hour range. Hours are specified in military time.',\n example: 'hourSelection(start: 9, stop: 17)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/hourselection/',\n },\n {\n name: 'http.get',\n args: [\n {\n name: 'url',\n desc: 'The URL to send the GET request to.',\n type: 'String',\n },\n {\n name: 'headers',\n desc: 'Headers to include with the GET request.',\n type: 'Object',\n },\n {\n name: 'timeout',\n desc: 'Timeout for the GET request. Default is `30s`.',\n type: 'Duration',\n },\n ],\n package: 'experimental/http',\n desc:\n 'Submits an HTTP GET request to the specified URL and returns the HTTP status code, response body, and response headers.',\n example:\n 'http.get(url: \"https://v2.docs.influxdata.com/v2.0/\", headers: {foo: \"bar\"})',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/http/get/',\n },\n {\n name: 'http.pathEscape',\n args: [\n {\n name: 'inputString',\n desc: 'The string to escape.',\n type: 'String',\n },\n ],\n package: 'http',\n desc:\n 'Escapes special characters in a string and replaces non-ASCII characters with hexadecimal representations (%XX).',\n example: 'http.pathEscape(inputString: \"/this/is/an/example-path.html\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/http/pathescape/',\n },\n {\n name: 'http.post',\n args: [\n {\n name: 'url',\n desc: 'The URL to POST to.',\n type: 'String',\n },\n {\n name: 'headers',\n desc: 'Headers to include with the POST request.',\n type: 'Object',\n },\n {\n name: 'data',\n desc: 'The data body to include with the POST request.',\n type: 'Bytes',\n },\n ],\n package: 'http',\n desc:\n 'Submits an HTTP POST request to the specified URL with headers and data and returns the HTTP status code.',\n example:\n 'http.post(url: \"http://localhost:9999/\", headers: {x:\"a\", y:\"b\"}, data: bytes(v: \"body\"))',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/http/post/',\n },\n {\n name: 'increase',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns to use in the operation. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes the total non-negative difference between values in a table.',\n example: 'increase(columns: [\"_value\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/increase/',\n },\n {\n name: 'int',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger, Float, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a integer.',\n example: 'int(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/int/',\n },\n {\n name: 'integral',\n args: [\n {\n name: 'unit',\n desc: 'The time duration used when computing the integral.',\n type: 'Duration',\n },\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the area under the curve per unit of time of subsequent non-null records. The curve is defined using `_time` as the domain and record values as the range.',\n example: 'integral(unit: 10s, column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/integral/',\n },\n {\n name: 'join',\n args: [\n {\n name: 'tables',\n desc: 'The map of streams to be joined.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'The list of columns on which to join.',\n type: 'Array of Strings',\n },\n {\n name: 'method',\n desc:\n 'The method used to join. Possible values are: `inner`, `cross`, `left`, `right`, or `full`. Defaults to `\"inner\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Merges two or more input streams, whose values are equal on a set of common columns, into a single output stream. The resulting schema is the union of the input schemas. The resulting group key is the union of the input group keys.',\n example:\n 'join(tables: {key1: table1, key2: table2}, on: [\"_time\", \"_field\"], method: \"inner\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/join/',\n },\n {\n name: 'json.encode',\n args: [\n {\n name: 'v',\n desc: 'The value to encode.',\n type: 'Boolean, Duration, Float, Integer, String, Time, UInteger',\n },\n ],\n package: 'json',\n desc: 'Converts a value into JSON bytes.',\n example: 'json.encode(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/json/encode/',\n },\n {\n name: 'kaufmansAMA',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'The column to operate on. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Calculates Kaufman’s Adaptive Moving Average (KAMA) using values in an input table.',\n example: 'kaufmansAMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/kaufmansama/',\n },\n {\n name: 'kaufmansER',\n args: [\n {\n name: 'n',\n desc: 'The period or number of points to use in the calculation.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the Kaufman’s Efficiency Ratio (KER) using values in an input table.',\n example: 'kaufmansER(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/kaufmanser/',\n },\n {\n name: 'keep',\n args: [\n {\n name: 'columns',\n desc:\n 'Columns that should be included in the resulting table. Cannot be used with `fn`.',\n type: 'Array of Strings',\n },\n {\n name: 'fn',\n desc:\n 'A predicate function which takes a column name as a parameter and returns a boolean indicating whether or not the column should be removed from the table. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Returns a table containing only the specified columns, ignoring all others. Only columns in the group key that are also specified in the `keep()` function will be kept in the resulting group key. It is the inverse of `drop`.',\n example: 'keep(columns: [\"col1\", \"col2\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/keep/',\n },\n {\n name: 'keys',\n args: [\n {\n name: 'column',\n desc:\n 'Column is the name of the output column to store the group key labels. Defaults to `_value`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n \"Outputs the group key of input tables. For each input table, it outputs a table with the same group key columns, plus a _value column containing the labels of the input table's group key.\",\n example: 'keys(column: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/keys/',\n },\n {\n name: 'keyValues',\n args: [\n {\n name: 'keyColumns',\n desc:\n 'A list of columns from which values are extracted. All columns indicated must be of the same type.',\n type: 'Array of Strings',\n },\n {\n name: 'fn',\n desc:\n 'Function used to identify a set of columns. All columns indicated must be of the same type.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n \"Returns a table with the input table's group key plus two columns, `_key` and `_value`, that correspond to unique column + value pairs from the input table.\",\n example: 'keyValues(keyColumns: [\"usage_idle\", \"usage_user\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/keyvalues/',\n },\n {\n name: 'last',\n args: [],\n package: '',\n desc: 'Selects the last non-null record from an input table.',\n example: 'last()',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/last/',\n },\n {\n name: 'length',\n args: [\n {\n name: 'arr',\n desc: 'The array to evaluate.',\n type: 'Array',\n },\n ],\n package: '',\n desc: 'Returns the number of items in an array.',\n example: 'length(arr: [\"john\"])',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/misc/length/',\n },\n {\n name: 'limit',\n args: [\n {\n name: 'n',\n desc: 'The maximum number of records to output.',\n type: 'Integer',\n },\n {\n name: 'offset',\n desc:\n 'The number of records to skip at the beginning of a table before limiting to `n`. Defaults to `0`.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Limits each output table to the first `n` records, excluding the offset.',\n example: 'limit(n:10, offset: 0)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/limit/',\n },\n {\n name: 'linearBins',\n args: [\n {\n name: 'start',\n desc: 'The first value in the returned list.',\n type: 'Float',\n },\n {\n name: 'width',\n desc: 'The distance between subsequent bin values.',\n type: 'Float',\n },\n {\n name: 'count',\n desc: 'The number of bins to create.',\n type: 'Integer',\n },\n {\n name: 'infinity',\n desc:\n 'When `true`, adds an additional bin with a value of positive infinity. Defaults to `true`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Generates a list of linearly separated floats.',\n example: 'linearBins(start: 0.0, width: 5.0, count: 20, infinity: true)',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/misc/linearbins/',\n },\n {\n name: 'logarithmicBins',\n args: [\n {\n name: 'start',\n desc: 'The first value in the returned list.',\n type: 'Float',\n },\n {\n name: 'factor',\n desc: 'The multiplier applied to each subsequent bin.',\n type: 'Float',\n },\n {\n name: 'count',\n desc: 'The number of bins to create.',\n type: 'Integer',\n },\n {\n name: 'infinity',\n desc:\n 'When `true`, adds an additional bin with a value of positive infinity. Defaults to `true`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc: 'Generates a list of exponentially separated floats.',\n example:\n 'logarithmicBins(start: 1.0, factor: 2.0, count: 10, infinity: true)',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/misc/logarithmicbins/',\n },\n {\n name: 'lowestAverage',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the average of each group.',\n example: 'lowestAverage(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestaverage/',\n },\n {\n name: 'lowestCurrent',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the last value of each group.',\n example: 'lowestCurrent(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestcurrent/',\n },\n {\n name: 'lowestMin',\n args: [\n {\n name: 'n',\n desc: 'Number of records to return.',\n type: 'Integer',\n },\n {\n name: 'column',\n desc: 'Column by which to sort. Default is `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'groupColumns',\n desc:\n 'The columns on which to group before performing the aggregation. Default is `[]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Returns the bottom `n` records from all groups using the maximum of each group.',\n example: 'lowestMin(n:10, groupColumns: [\"host\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/lowestmin/',\n },\n {\n name: 'map',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that to apply to each record. The return value must be an object.',\n type: 'Function',\n },\n ],\n package: '',\n desc: 'Applies a function to each record in the input tables.',\n example: 'map(fn: (r) => ({ r with _value: r._value * r._value }))',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/map/',\n },\n MATH_ABS,\n {\n name: 'math.acos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arccosine of x in radians.',\n example: 'math.acos(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/acos/',\n },\n {\n name: 'math.acosh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation. Should be greater than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic cosine of x.',\n example: 'math.acosh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/acosh/',\n },\n {\n name: 'math.asin',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arcsine of x in radians.',\n example: 'math.asin(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/asin/',\n },\n {\n name: 'math.asinh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic sine of x.',\n example: 'math.asinh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/asinh/',\n },\n {\n name: 'math.atan',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the arctangent of x in radians.',\n example: 'math.atan(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/atan/',\n },\n {\n name: 'math.atan2',\n args: [\n {\n name: 'y',\n desc: 'The y coordinate used in the operation.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The x coordinate used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the arc tangent of y/x, using the signs of the two to determine the quadrant of the return value.',\n example: 'math.atan2(y: r.y_coord, x: r.x_coord)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/atan2/',\n },\n {\n name: 'math.atanh',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse hyperbolic tangent of x.',\n example: 'math.atanh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/atanh/',\n },\n {\n name: 'math.cbrt',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the cube root of x.',\n example: 'math.cbrt(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/cbrt/',\n },\n {\n name: 'math.ceil',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the least integer value greater than or equal to x.',\n example: 'math.ceil(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/ceil/',\n },\n {\n name: 'math.copysign',\n args: [\n {\n name: 'x',\n desc: 'The magnitude used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The sign used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns a value with the magnitude of x and the sign of y.',\n example: 'math.copysign(x: r._magnitude, r._sign)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/copysign/',\n },\n {\n name: 'math.cos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the cosine of the radian argument x.',\n example: 'math.cos(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/cos/',\n },\n {\n name: 'math.cosh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic cosine of x.',\n example: 'math.cosh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/cosh/',\n },\n {\n name: 'math.dim',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the maximum of (x - y) or 0.',\n example: 'math.dim(x: r._value1, y: r._value2)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/dim/',\n },\n {\n name: 'math.erf',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the error function of x.',\n example: 'math.erf(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/erf/',\n },\n {\n name: 'math.erfc',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the complementary error function of x.',\n example: 'math.erfc(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/erfc/',\n },\n {\n name: 'math.erfcinv',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than 0 and less than 2.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse of `math.erfc()`.',\n example: 'math.erfcinv(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/erfcinv/',\n },\n {\n name: 'math.erfinv',\n args: [\n {\n name: 'x',\n desc:\n 'The value used in the operation. Should be greater than -1 and less than 1.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the inverse error function of x.',\n example: 'math.erfinv(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/erfinv/',\n },\n {\n name: 'math.exp',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-e exponential of x (`e**x`).',\n example: 'math.exp(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/exp/',\n },\n {\n name: 'math.exp2',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-2 exponential of x (`2**x`).',\n example: 'math.exp2(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/exp2/',\n },\n {\n name: 'math.expm1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-e exponential of x minus 1 (`e**x - 1`).',\n example: 'math.expm1(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/expm1/',\n },\n {\n name: 'math.float64bits',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the IEEE 754 binary representation of f, with the sign bit of f and the result in the same bit position.',\n example: 'math.float64bits(f: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/float64bits/',\n },\n MATH_FLOOR,\n {\n name: 'math.frexp',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Breaks f into a normalized fraction and an integral power of two.',\n example: 'math.frexp(f: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/frexp/',\n },\n {\n name: 'math.gamma',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the Gamma function of x.',\n example: 'math.gamma(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/gamma/',\n },\n {\n name: 'math.hypot',\n args: [\n {\n name: 'p',\n desc: 'The p value used in the operation.',\n type: 'Float',\n },\n {\n name: 'q',\n desc: 'The q value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the square root of `p*p + q*q`, taking care to avoid overflow and underflow.',\n example: 'math.hypot(p: r.opp, p: r.adj)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/hypot/',\n },\n {\n name: 'math.ilogb',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary exponent of x as an integer.',\n example: 'math.ilogb(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/ilogb/',\n },\n {\n name: 'math.isInf',\n args: [\n {\n name: 'f',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n {\n name: 'sign',\n desc: 'The sign used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether f is an infinity, according to sign.',\n example: 'math.isInf(f: r._value, sign: r.sign)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/isinf/',\n },\n {\n name: 'math.isNaN',\n args: [\n {\n name: 'f',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether f is an IEEE 754 NaN value.',\n example: 'math.isNaN(f: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/isnan/',\n },\n {\n name: 'math.j0',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-zero Bessel function of the first kind.',\n example: 'math.j0(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/j0/',\n },\n {\n name: 'math.j1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-one Bessel function of the first kind.',\n example: 'math.j1(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/j1/',\n },\n {\n name: 'math.jn',\n args: [\n {\n name: 'n',\n desc: 'The order number.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-n Bessel function of the first kind.',\n example: 'math.jn(n: 2, x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/jn/',\n },\n {\n name: 'math.ldexp',\n args: [\n {\n name: 'frac',\n desc: 'The fraction used in the operation.',\n type: 'Float',\n },\n {\n name: 'exp',\n desc: 'The exponent used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns `frac × 2**exp`. It is the inverse of `math.frexp()`.',\n example: 'math.ldexp(frac: r.frac, exp: r.exp)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/ldexp/',\n },\n {\n name: 'math.lgamma',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns the natural logarithm and sign (-1 or +1) of `math.gamma(x:x)`.',\n example: 'math.lgamma(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/lgamma/',\n },\n {\n name: 'math.log',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the natural logarithm of x.',\n example: 'math.log(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/log/',\n },\n {\n name: 'math.log1p',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the natural logarithm of 1 plus its argument x.',\n example: 'math.log1p(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/log1p/',\n },\n {\n name: 'math.log2',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary logarithm of x.',\n example: 'math.log2(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/log2/',\n },\n {\n name: 'math.logb',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the binary exponent of x.',\n example: 'math.logb(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/logb/',\n },\n {\n name: 'math.mInf',\n args: [\n {\n name: 'sign',\n desc: 'The sign value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns positive infinity if `sign >= 0`, negative infinity if `sign < 0`.',\n example: 'math.mInf(sign: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/minf/',\n },\n {\n name: 'math.mMax',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the larger of x or y.',\n example: 'math.mMax(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/mmax/',\n },\n {\n name: 'math.mMin',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the smaller of x or y.',\n example: 'math.mMin(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/mmin/',\n },\n {\n name: 'math.mod',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the floating-point remainder of x/y.',\n example: 'math.mod(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/mod/',\n },\n {\n name: 'math.modf',\n args: [\n {\n name: 'f',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc:\n 'Returns integer and fractional floating-point numbers that sum to f. Both values have the same sign as f.',\n example: 'math.modf(f: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/modf/',\n },\n {\n name: 'math.NaN',\n args: [],\n package: 'math',\n desc: 'Returns an IEEE 754 NaN value.',\n example: 'math.NaN()',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/nan/',\n },\n {\n name: 'math.nextafter',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the next representable float value after x towards y.',\n example: 'math.nextafter(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/nextafter/',\n },\n {\n name: 'math.pow',\n args: [\n {\n name: 'x',\n desc: 'The X value used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The Y value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-x exponential of y, `x**y`.',\n example: 'math.pow(x: r.x_value, y: r.y_value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/pow/',\n },\n {\n name: 'math.pow10',\n args: [\n {\n name: 'n',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the base-10 exponential of n, `10**n`.',\n example: 'math.pow10(n: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/pow10/',\n },\n {\n name: 'math.remainder',\n args: [\n {\n name: 'x',\n desc: 'The numerator used in the operation.',\n type: 'Float',\n },\n {\n name: 'y',\n desc: 'The denominator used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the IEEE 754 floating-point remainder of `x / y`.',\n example: 'math.remainder(x: r.numerator, y: r.denominator)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/remainder/',\n },\n {\n name: 'math.round',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the nearest integer, rounding half away from zero.',\n example: 'math.round(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/round/',\n },\n {\n name: 'math.roundtoeven',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the nearest integer, rounding ties to even.',\n example: 'math.roundtoeven(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/roundtoeven/',\n },\n {\n name: 'math.signbit',\n args: [\n {\n name: 'x',\n desc: 'The value used in the evaluation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Reports whether x is negative or negative zero.',\n example: 'math.signbit(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/signbit/',\n },\n {\n name: 'math.sin',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the sine of the radian argument x.',\n example: 'math.sin(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/sin/',\n },\n {\n name: 'math.sincos',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the values of `math.sin(x:x)` and `math.cos(x:x)`.',\n example: 'math.sincos(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/sincos/',\n },\n {\n name: 'math.sinh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic sine of x.',\n example: 'math.sinh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/sinh/',\n },\n {\n name: 'math.sqrt',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the square root of x.',\n example: 'math.sqrt(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/sqrt/',\n },\n {\n name: 'math.tan',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the tangent of the radian argument x.',\n example: 'math.tan(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/tan/',\n },\n {\n name: 'math.tanh',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the hyperbolic tangent of x.',\n example: 'math.tanh(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/tanh/',\n },\n {\n name: 'math.trunc',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the integer value of x.',\n example: 'math.trunc(x: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/trunc/',\n },\n {\n name: 'math.y0',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-zero Bessel function of the second kind.',\n example: 'math.y0(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/y0/',\n },\n {\n name: 'math.y1',\n args: [\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-one Bessel function of the second kind.',\n example: 'math.y1(x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/y1/',\n },\n {\n name: 'math.yn',\n args: [\n {\n name: 'n',\n desc: 'The order number used in the operation.',\n type: 'Float',\n },\n {\n name: 'x',\n desc: 'The value used in the operation.',\n type: 'Float',\n },\n ],\n package: 'math',\n desc: 'Returns the order-n Bessel function of the second kind.',\n example: 'math.yn(n: 3, x: r._value)',\n category: 'Transformations',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/math/yn/',\n },\n {\n name: 'max',\n args: [],\n package: '',\n desc: 'Selects record with the highest `_value` from the input table.',\n example: 'max()',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/max/',\n },\n MEAN,\n {\n name: 'median',\n args: [\n {\n name: 'column',\n desc: 'The column on which to compute the mean. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Returns the median `_value` of an input table. The `median()` function can only be used with float value types.',\n example: 'median(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/median/',\n },\n {\n name: 'min',\n args: [],\n package: '',\n desc: 'Selects record with the lowest `_value` from the input table.',\n example: 'min()',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/min/',\n },\n {\n name: 'mode',\n args: [\n {\n name: 'column',\n desc: 'The column to use to compute the mode. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the mode or value that occurs most often in a specified column.',\n example: 'mode(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/mode/',\n },\n {\n name: 'movingAverage',\n args: [\n {\n name: 'n',\n desc: 'The frequency of time windows.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Calculates the mean of values grouped into `n` number of points.',\n example: 'movingAverage(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/movingaverage/',\n },\n {\n name: 'mqtt.to',\n args: [\n {\n name: 'broker',\n desc: 'The MQTT broker connection string.',\n type: 'String',\n },\n {\n name: 'topic',\n desc: 'The MQTT topic to send data to.',\n type: 'String',\n },\n {\n name: 'message',\n desc:\n 'The message or payload to send to the MQTT broker. The default payload is an output table.',\n type: 'String',\n },\n {\n name: 'qos',\n desc:\n 'The MQTT Quality of Service (QoS) level. Values range from 0-2. Default is 0.',\n type: 'Integer',\n },\n {\n name: 'clientid',\n desc: 'The MQTT client ID.',\n type: 'String',\n },\n {\n name: 'username',\n desc: 'The username to send to the MQTT broker.',\n type: 'String',\n },\n {\n name: 'password',\n desc: 'The password to send to the MQTT broker.',\n type: 'String',\n },\n {\n name: 'name',\n desc: 'The name for the MQTT message.',\n type: 'String',\n },\n {\n name: 'timeout',\n desc: 'The MQTT connection timeout. Default is 1s.',\n type: 'Duration',\n },\n {\n name: 'timeColumn',\n desc:\n 'The column to use as time values in the output line protocol. Default is `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'tagColumns',\n desc:\n 'The columns to use as tag sets in the output line protocol. Default is `[]`.',\n type: 'Array of Strings',\n },\n {\n name: 'valueColumns',\n desc:\n 'The columns to use as field values in the output line protocol. Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/mqtt',\n desc: 'Outputs data to an MQTT broker using MQTT protocol.',\n example:\n 'mqtt.to(broker: \"tcp://localhost:8883\", topic: \"example-topic\", clientid: \"exampleID\", tagColumns: [\"exampleTagKey\"], valueColumns: [\"_value\"])',\n category: 'Outputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/mqtt/to/',\n },\n {\n name: 'pearsonr',\n args: [\n {\n name: 'x',\n desc: 'First input stream used in the operation.',\n type: 'Object',\n },\n {\n name: 'y',\n desc: 'Second input stream used in the operation.',\n type: 'Object',\n },\n {\n name: 'on',\n desc: 'List of columns on which to join.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Computes the Pearson R correlation coefficient between two streams by first joining the streams, then performing the covariance operation normalized to compute R.',\n example: 'pearsonr(x: table1, y: table2, on: [\"_time\", \"_field\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/pearsonr/',\n },\n {\n name: 'pivot',\n args: [\n {\n name: 'rowKey',\n desc: 'List of columns used to uniquely identify a row for the output.',\n type: 'Array of Strings',\n },\n {\n name: 'columnKey',\n desc:\n 'List of columns used to pivot values onto each row identified by the rowKey.',\n type: 'Array of Strings',\n },\n {\n name: 'valueColumn',\n desc:\n 'The single column that contains the value to be moved around the pivot.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Collects values stored vertically (column-wise) in a table and aligns them horizontally (row-wise) into logical sets.',\n example:\n 'pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/pivot/',\n },\n {\n name: 'prometheus.histogramQuantile',\n args: [\n {\n name: 'quantile',\n desc: 'A value between 0.0 and 1.0 indicating the desired quantile.',\n type: 'Float',\n },\n ],\n package: 'experimental/prometheus',\n desc:\n 'Calculates quantiles on a set of values assuming the histogram data is scraped or read from a Prometheus data source.',\n example: 'prometheus.histogramQuantile(quantile: 0.99)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/prometheus/histogramquantile/',\n },\n {\n name: 'prometheus.scrape',\n args: [\n {\n name: 'url',\n desc: 'The URL to scrape Prometheus-formatted metrics from.',\n type: 'String',\n },\n ],\n package: 'experimental/prometheus',\n desc: 'Retrieves Prometheus-formatted metrics from a specified URL.',\n example: 'prometheus.scrape(url: \"http://localhost:9999/metrics\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/prometheus/scrape/',\n },\n {\n name: 'quantile',\n args: [\n {\n name: 'column',\n desc:\n 'The column on which to compute the quantile. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'q',\n desc: 'A value between 0 and 1 indicating the desired quantile.',\n type: 'Float',\n },\n {\n name: 'method',\n desc:\n 'Defines the method of computation. The available options are: `estimate_tdigest`, `exact_mean`, or `exact_selector`.',\n type: 'String',\n },\n {\n name: 'compression',\n desc:\n 'Indicates how many centroids to use when compressing the dataset. A larger number produces a more accurate result at the cost of increased memory requirements. Defaults to 1000.',\n type: 'Float',\n },\n ],\n package: '',\n desc:\n 'This is both an aggregate and selector function depending on the `method` used. When using the `estimate_tdigest` or `exact_mean` methods, it outputs non-null records with values that fall within the specified quantile. When using the `exact_selector` method, it outputs the non-null record with the value that represents the specified quantile.',\n example:\n 'quantile(column: \"_value\", q: 0.99, method: \"estimate_tdigest\", compression: 1000.0)',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/quantile/',\n },\n {\n name: 'query.filterFields',\n args: [\n {\n name: 'fields',\n desc: 'Fields to filter by.',\n type: 'Array of Strings',\n },\n ],\n package: 'experimental/query',\n desc: 'Filters input data by field.',\n example: 'query.filterFields(fields: [\"field_name\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/query/filterfields/',\n },\n {\n name: 'query.filterMeasurement',\n args: [\n {\n name: 'measurement',\n desc: 'Measurement to filter by.',\n type: 'String',\n },\n ],\n package: 'experimental/query',\n desc: 'Filters input data by measurement.',\n example: 'query.filterMeasurement(measurement: \"measurement_name\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/query/filtermeasurement/',\n },\n {\n name: 'query.fromRange',\n args: [\n {\n name: 'bucket',\n desc: 'Name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time',\n },\n ],\n package: 'experimental/query',\n desc: 'Returns all data from a specified bucket within given time bounds.',\n example:\n 'query.fromRange(bucket: \"example-bucket\", start: v.timeRangeStart)',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/query/fromrange/',\n },\n {\n name: 'query.inBucket',\n args: [\n {\n name: 'bucket',\n desc: 'Name of the bucket to query.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The earliest time to include in results.',\n type: 'Duration | Time',\n },\n {\n name: 'stop',\n desc: 'The latest time to include in results. Defaults to `now()`.',\n type: 'Duration | Time',\n },\n {\n name: 'measurement',\n desc: 'Measurement to filter by.',\n type: 'String',\n },\n {\n name: 'fields',\n desc: 'Fields to filter by.',\n type: 'Array of Strings',\n },\n {\n name: 'predicate',\n desc: 'A single argument function that evaluates true or false.',\n type: 'Function',\n },\n ],\n package: 'experimental/query',\n desc:\n 'Queries data from a specified bucket within given time bounds, filters data by measurement, field, and optional predicate expressions.',\n example:\n 'query.inBucket(bucket: \"example-bucket\", start: v.timeRangeStart, measurement: \"measurement_name\", fields: [\"field_name\"], predicate: (r) => r.host == \"host1\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/experimental/query/inbucket/',\n },\n RANGE,\n {\n name: 'reduce',\n args: [\n {\n name: 'fn',\n desc:\n 'Function to apply to each record with a reducer object. The function expects two objects: `r` and `accumulator`.',\n type: 'Function',\n },\n {\n name: 'identity',\n desc:\n 'Defines the reducer object and provides initial values to use when creating a reducer.',\n type: 'Object',\n },\n ],\n package: '',\n desc: 'Aggregates records in each table according to the reducer, `fn`',\n example:\n 'reduce(fn: (r, accumulator) => ({ sum: r._value + accumulator.sum }), identity: {sum: 0.0})',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/reduce/',\n },\n {\n name: 'regexp.compile',\n args: [\n {\n name: 'v',\n desc: 'The string value to parse into a regular expression.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Parses a string into a regular expression and returns a regexp object.',\n example: 'regexp.compile(v: \"[a-zA-Z]\")',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/compile/',\n },\n {\n name: 'regexp.findString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Returns the left-most regular expression match in a string.',\n example: 'regexp.findString(r: /foo.?/, v: \"seafood fool\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/findstring/',\n },\n {\n name: 'regexp.findStringIndex',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Returns a two-element array of integers defining the beginning and ending indexes of the left-most regular expression match in a string.',\n example: 'regexp.findStringIndex(r: /ab?/, v: \"tablet\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/findstringindex/',\n },\n {\n name: 'regexp.getString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression object to convert to a string.',\n type: 'Regexp',\n },\n ],\n package: 'regexp',\n desc: 'Returns the source string used to compile a regular expression.',\n example: 'regexp.getString(r: /[a-zA-Z]/)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/getstring/',\n },\n {\n name: 'regexp.matchRegexpString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Tests if a string contains any match to a regular expression.',\n example: 'regexp.matchRegexpString(r: /(go){2}/, v: \"gogogopher\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/matchregexpstring/',\n },\n {\n name: 'regexp.quoteMeta',\n args: [\n {\n name: 'v',\n desc:\n 'String value containing regular expression metacharacters to escape.',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc: 'Escapes all regular expression metacharacters inside of a string.',\n example: 'regexp.quoteMeta(v: \".+*?()|[]{}^$\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/quotemeta/',\n },\n {\n name: 'regexp.replaceAllString',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The replacement for matches to `r`',\n type: 'String',\n },\n ],\n package: 'regexp',\n desc:\n 'Replaces all regular expression matches in a string with a specified replacement.',\n example: 'regexp.replaceAllString(r: /a(x*)b/, v: \"-ab-axxb-\", t: \"T\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/replaceallstring/',\n },\n {\n name: 'regexp.splitRegexp',\n args: [\n {\n name: 'r',\n desc: 'The regular expression used to search `v`',\n type: 'Regexp',\n },\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'regexp',\n desc:\n 'Splits a string into substrings separated by regular expression matches and returns an array of `i` substrings between matches.',\n example: 'regexp.splitRegexp(r: /a*/, v: \"abaabaccadaaae\", i: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/regexp/splitregexp/',\n },\n {\n name: 'relativeStrengthIndex',\n args: [\n {\n name: 'n',\n desc:\n 'The number of values to use to calculate the relative strength index (RSI).',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc: 'Columns to operate on. Defaults to `[\"_value\"]`.',\n type: 'Array of Strings`',\n },\n ],\n package: '',\n desc: 'Measures the relative speed and change of values in an input table.',\n example: 'relativeStrengthIndex(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/relativestrengthindex/',\n },\n {\n name: 'rename',\n args: [\n {\n name: 'columns',\n desc:\n 'A map of columns to rename and their corresponding new names. Cannot be used with `fn`.',\n type: 'Object',\n },\n {\n name: 'fn',\n desc:\n 'A function mapping between old and new column names. Cannot be used with `columns`.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Renames specified columns in a table. If a column is renamed and is part of the group key, the column name in the group key will be updated.',\n example: 'rename(columns: {host: \"server\", _field: \"my_field\"})',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/rename/',\n },\n {\n name: 'runtime.version',\n args: [],\n package: 'runtime',\n desc: 'Returns the current Flux version.',\n example: 'runtime.version()',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/runtime/version/',\n },\n {\n name: 'sample',\n args: [\n {\n name: 'n',\n desc: 'Sample every Nth element.',\n type: 'Integer',\n },\n {\n name: 'pos',\n desc:\n 'The position offset from the start of results where sampling begins. `pos` must be less than `n`. If `pos` is less than 0, a random offset is used. Defaults to `-1` (random offset).',\n type: 'Integer',\n },\n ],\n package: '',\n desc: 'Selects a subset of the records from the input table.',\n example: 'sample(n:5, pos: -1)',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/sample/',\n },\n {\n name: 'secrets.get',\n args: [\n {\n name: 'key',\n desc: 'The secret key to retrieve.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/secrets',\n desc: 'Retrieves a secret from the InfluxDB secret store.',\n example: 'secrets.get(key: \"KEY_NAME\")',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/secrets/get/',\n },\n {\n name: 'set',\n args: [\n {\n name: 'key',\n desc: 'The label of the column to modify or set.',\n type: 'String',\n },\n {\n name: 'value',\n desc: 'The string value to set.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Assigns a static value to each record in the input table. The key may modify an existing column or add a new column to the tables. If the modified column is part of the group key, the output tables are regrouped as needed.',\n example: 'set(key: \"_field\", value: \"my_field\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/set/',\n },\n {\n name: 'skew',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Outputs the skew of non-null records as a float.',\n example: 'skew(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/skew/',\n },\n {\n name: 'sleep',\n args: [\n {\n name: 'v',\n desc: 'Defines input tables.',\n type: 'Object',\n },\n {\n name: 'duration',\n desc: 'The length of time to delay execution.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Delays execution by a specified duration.',\n example: 'sleep(duration: 5s)',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/misc/sleep/',\n },\n {\n name: 'sort',\n args: [\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right). Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n {\n name: 'desc',\n desc: 'Sort results in descending order. Default is `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Orders the records within each table. One output table is produced for each input table. The output tables will have the same schema as their corresponding input tables.',\n example: 'sort(columns: [\"_value\"], desc: false)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/sort/',\n },\n {\n name: 'spread',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Outputs the difference between the minimum and maximum values in the specified column. Only `uint`, `int`, and `float` column types can be used.',\n example: 'spread(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/spread/',\n },\n {\n name: 'sql.from',\n args: [\n {\n name: 'driverName',\n desc: 'The driver used to connect to the SQL database.',\n type: 'String',\n },\n {\n name: 'dataSourceName',\n desc:\n 'The connection string used to connect to the SQL database. The string’s form and structure depend on the driver.',\n type: 'String',\n },\n {\n name: 'query',\n desc: 'The query to run against the SQL database.',\n type: 'String',\n },\n ],\n package: 'sql',\n desc: 'Retrieves data from a SQL data source.',\n example:\n 'sql.from(driverName: \"postgres\", dataSourceName: \"postgresql://user:password@localhost\", query:\"SELECT * FROM example_table\")',\n category: 'Inputs',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/sql/from/',\n },\n {\n name: 'sql.to',\n args: [\n {\n name: 'driverName',\n desc: 'The driver used to connect to the SQL database.',\n type: 'String',\n },\n {\n name: 'dataSourceName',\n desc:\n 'The connection string used to connect to the SQL database. The string’s form and structure depend on the driver.',\n type: 'String',\n },\n {\n name: 'table',\n desc: 'The destination table.',\n type: 'String',\n },\n {\n name: 'batchSize',\n desc:\n 'The number of parameters or columns that can be queued within each call to `Exec`. Defaults to `10000`.',\n type: 'Integer',\n },\n ],\n package: 'sql',\n desc: 'Writes data to a SQL database.',\n example:\n 'sql.to(driverName: \"postgres\", dataSourceName: \"postgresql://user:password@localhost\", table: \"example_table\")',\n category: 'Outputs',\n link: 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/sql/to/',\n },\n {\n name: 'stateCount',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false to identify the state of the record.',\n type: 'Function',\n },\n {\n name: 'column',\n desc:\n 'The name of the column added to each record that contains the incremented state count.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the number of consecutive records in a given state and stores the increment in a new column.',\n example: 'stateCount(fn: (r) => r._field == \"state\", column: \"stateCount\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/statecount/',\n },\n {\n name: 'stateDuration',\n args: [\n {\n name: 'fn',\n desc:\n 'A single argument function that evaluates true or false to identify the state of the record.',\n type: 'Function',\n },\n {\n name: 'column',\n desc:\n 'Name of the column added to each record that contains the incremented state duration.',\n type: 'String',\n },\n {\n name: 'unit',\n desc: 'Unit of time in which the state duration is incremented.',\n type: 'Duration',\n },\n ],\n package: '',\n desc:\n 'Computes the duration of a given state and stores the increment in a new column.',\n example:\n 'stateDuration(fn: (r) => r._measurement == \"state\", column: \"stateDuration\", unit: 1s)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stateduration/',\n },\n {\n name: 'stddev',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n {\n name: 'mode',\n desc:\n 'The standard deviation mode (sample or population). Defaults to `\"sample\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Computes the standard deviation of non-null records in specified column.',\n example: 'stddev(column: \"_value\", mode: \"sample\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/stddev/',\n },\n {\n name: 'string',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'Integer, UInteger, Float, Boolean, Duration, Time',\n },\n ],\n package: '',\n desc: 'Converts a single value to a string.',\n example: 'string(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/string/',\n },\n {\n name: 'strings.compare',\n args: [\n {\n name: 'v',\n desc: 'The string value to compare.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value to compare against.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Compares the lexicographical order of two strings.',\n example: 'strings.compare(v: \"a\", t: \"b\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/compare/',\n },\n {\n name: 'strings.containsAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Reports whether a specified string contains characters from another string.',\n example: 'strings.containsAny(v: \"abc\", chars: \"and\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/containsany/',\n },\n {\n name: 'strings.containsStr',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Reports whether a string contains a specified substring.',\n example: 'strings.containsStr(v: \"This and that\", substr: \"and\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/containsstr/',\n },\n {\n name: 'strings.countStr',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring count.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Counts the number of non-overlapping instances of a substring appears in a string.',\n example: 'strings.countStr(v: \"Hello mellow fellow\", substr: \"ello\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/countstr/',\n },\n {\n name: 'strings.equalFold',\n args: [\n {\n name: 'v',\n desc: 'The string value to compare.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value to compare against.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Reports whether two UTF-8 strings are equal under Unicode case-folding.',\n example: 'strings.equalFold(v: \"Go\", t: \"go\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/equalfold/',\n },\n {\n name: 'strings.hasPrefix',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'prefix',\n desc: 'The prefix to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Indicates if a string begins with a specified prefix.',\n example: 'strings.hasPrefix(v: \"go gopher\", prefix: \"go\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/hasprefix/',\n },\n {\n name: 'strings.hasSuffix',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'suffix',\n desc: 'The suffix to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Indicates if a string ends with a specified suffix.',\n example: 'strings.hasSuffix(v: \"gopher go\", suffix: \"go\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/hassuffix/',\n },\n {\n name: 'strings.index',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the first instance of a substring in a string. If the substring is not present, it returns `-1`.',\n example: 'strings.index(v: \"go gopher\", substr: \"go\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/index-func/',\n },\n {\n name: 'strings.indexAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the first instance of specified characters in a string. If none of the specified characters are present, it returns -1.',\n example: 'strings.indexAny(v: \"chicken\", chars: \"aeiouy\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/indexany/',\n },\n {\n name: 'strings.isDigit',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is a digit (0-9).',\n example: 'strings.isDigit(v: \"7\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/isdigit/',\n },\n {\n name: 'strings.isLetter',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is a letter (a-z, A-Z).',\n example: 'strings.isLetter(v: \"A\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/isletter/',\n },\n {\n name: 'strings.isLower',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is lowercase.',\n example: 'strings.isLower(v: \"a\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/islower/',\n },\n {\n name: 'strings.isUpper',\n args: [\n {\n name: 'v',\n desc: 'The single-character string to test.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Tests if a single-character string is uppercase.',\n example: 'strings.isUpper(v: \"A\")',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/isupper/',\n },\n {\n name: 'strings.joinStr',\n args: [\n {\n name: 'arr',\n desc: 'The array of strings to concatenate.',\n type: 'Array of Strings',\n },\n {\n name: 'v',\n desc: 'The separator to use in the concatenated value.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Concatenates elements of a string array into a single string using a specified separator.',\n example: 'strings.joinStr(arr: [\"a\", \"b\", \"c\"], v: \",\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/joinstr/',\n },\n {\n name: 'strings.lastIndex',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'substr',\n desc: 'The substring to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the last instance of a substring in a string. If the substring is not present, the function returns -1.',\n example: 'strings.lastIndex(v: \"go gopher\", substr: \"go\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/lastindex/',\n },\n {\n name: 'strings.lastIndexAny',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'chars',\n desc: 'Characters to search for.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Returns the index of the last instance of any specified characters in a string. If none of the specified characters are present, the function returns -1.',\n example: 'strings.lastIndexAny(v: \"chicken\", chars: \"aeiouy\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/lastindexany/',\n },\n {\n name: 'strings.repeat',\n args: [\n {\n name: 'v',\n desc: 'The string value to repeat.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of times to repeat `v`.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc: 'Returns a string consisting of `i` copies of a specified string.',\n example: 'strings.repeat(v: \"ha\", i: 3)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/repeat/',\n },\n {\n name: 'strings.replace',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The substring to replace.',\n type: 'String',\n },\n {\n name: 'u',\n desc: 'The replacement for `i` instances of `t`.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of non-overlapping `t` matches to replace.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Replaces the first `i` non-overlapping instances of a substring with a specified replacement.',\n example: 'strings.replace(v: \"oink oink oink\", t: \"oink\", u: \"moo\", i: 2)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/replace/',\n },\n {\n name: 'strings.replaceAll',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The substring to replace.',\n type: 'String',\n },\n {\n name: 'u',\n desc: 'The replacement for all instances of `t`.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Replaces all non-overlapping instances of a substring with a specified replacement.',\n example: 'strings.replaceAll(v: \"oink oink oink\", t: \"oink\", u: \"moo\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/replaceall/',\n },\n {\n name: 'strings.split',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string on a specified separator and returns an array of substrings.',\n example: 'strings.split(v: \"a flux of foxes\", t: \" \")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/split/',\n },\n {\n name: 'strings.splitAfter',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string after a specified separator and returns an array of substrings.',\n example: 'strings.splitAfter(v: \"a flux of foxes\", t: \" \")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/splitafter/',\n },\n {\n name: 'strings.splitAfterN',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string after a specified separator and returns an array of `i` substrings.',\n example: 'strings.splitAfterN(v: \"a flux of foxes\", t: \" \", i: 2)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/splitaftern/',\n },\n {\n name: 'strings.splitN',\n args: [\n {\n name: 'v',\n desc: 'The string value to split.',\n type: 'String',\n },\n {\n name: 't',\n desc: 'The string value that acts as the separator.',\n type: 'String',\n },\n {\n name: 'i',\n desc: 'The number of substrings to return.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc:\n 'Splits a string on a specified separator and returns an array of `i` substrings.',\n example: 'strings.splitN(v: \"a flux of foxes\", t: \" \", i: 2)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/splitn/',\n },\n {\n name: 'strings.strlen',\n args: [\n {\n name: 'v',\n desc: 'The string value to measure.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Returns the length of a string.',\n example: 'strings.strlen(v: \"a flux of foxes\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/strlen/',\n },\n {\n name: 'strings.substring',\n args: [\n {\n name: 'v',\n desc: 'The string value to search.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The starting index of the substring.',\n type: 'Integer',\n },\n {\n name: 'end',\n desc: 'The ending index of the substring.',\n type: 'Integer',\n },\n ],\n package: 'strings',\n desc: 'Returns a substring based on start and end parameters.',\n example: 'strings.substring(v: \"influx\", start: 0, end: 3)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/substring/',\n },\n STRINGS_TITLE,\n {\n name: 'strings.toLower',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to lower case.',\n example: 'strings.toLower(v: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/tolower/',\n },\n {\n name: 'strings.toTitle',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts all characters in a string to title case.',\n example: 'strings.toTitle(v: \"a flux of foxes\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/totitle/',\n },\n {\n name: 'strings.toUpper',\n args: [\n {\n name: 'v',\n desc: 'The string value to convert.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Converts a string to upper case.',\n example: 'strings.toUpper(v: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/toupper/',\n },\n STRINGS_TRIM,\n {\n name: 'strings.trimLeft',\n args: [\n {\n name: 'v',\n desc: 'The string to remove characters from.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc: 'The leading characters to remove from the string.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified leading characters from a string.',\n example: 'strings.trimLeft(v: \".abc\", cutset: \".\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trimleft/',\n },\n {\n name: 'strings.trimPrefix',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'prefix',\n desc: 'The prefix to remove.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Removes a prefix from a string. Strings that do not start with the prefix are returned unchanged.',\n example: 'strings.trimPrefix(v: r._value, prefix: \"abc_\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trimprefix/',\n },\n {\n name: 'strings.trimRight',\n args: [\n {\n name: 'v',\n desc: 'The string to remove characters from.',\n type: 'String',\n },\n {\n name: 'cutset',\n desc: 'The trailing characters to remove from the string.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes specified trailing characters from a string.',\n example: 'strings.trimRight(v: \"abc.\", cutset: \".\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trimright/',\n },\n {\n name: 'strings.trimSpace',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc: 'Removes leading and trailing spaces from a string.',\n example: 'strings.trimSpace(v: r._value)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trimspace/',\n },\n {\n name: 'strings.trimSuffix',\n args: [\n {\n name: 'v',\n desc: 'The string value to trim.',\n type: 'String',\n },\n {\n name: 'suffix',\n desc: 'The suffix to remove.',\n type: 'String',\n },\n ],\n package: 'strings',\n desc:\n 'Removes a suffix from a string. Strings that do not end with the suffix are returned unchanged.',\n example: 'strings.trimSuffix(v: r._value, suffix: \"_123\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/strings/trimsuffix/',\n },\n {\n name: 'sum',\n args: [\n {\n name: 'column',\n desc: 'The column on which to operate. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Computes the sum of non-null records in the specified column.',\n example: 'sum(column: \"_value\")',\n category: 'Aggregates',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/sum/',\n },\n {\n name: 'system.time',\n args: [],\n package: 'system',\n desc: 'Returns the current system time.',\n example: 'system.time()',\n category: 'Miscellaneous',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/system/time/',\n },\n {\n name: 'tableFind',\n args: [\n {\n name: 'fn',\n desc: 'A predicate function for matching keys in a table group key.',\n type: 'Function',\n },\n ],\n package: '',\n desc:\n 'Extracts the first table in a stream of tables whose group key values match a predicate. If no table is found, the function errors.',\n example: 'tableFind(fn: (key) => key._field == \"fieldName\")',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/tablefind/',\n },\n {\n name: 'tail',\n args: [\n {\n name: 'n',\n desc: 'The maximum number of records to output.',\n type: 'Integer',\n },\n {\n name: 'offset',\n desc:\n 'The number of records to skip at the end of a table before limiting to `n`. Defaults to `0`.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Limits each output table to the last `n` records, excluding the offset.',\n example: 'tail(n: 10)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/tail/',\n },\n {\n name: 'testing.assertEmpty',\n args: [],\n package: 'testing',\n desc: 'Tests if an input stream is empty.',\n example: 'testing.assertEmpty()',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/testing/assertempty/',\n },\n {\n name: 'testing.assertEquals',\n args: [\n {\n name: 'name',\n desc: 'Unique name given to the assertion.',\n type: 'String',\n },\n {\n name: 'got',\n desc: 'The stream containing data to test.',\n type: 'Stream of tables',\n },\n {\n name: 'want',\n desc: 'The stream that contains the expected data to test against.',\n type: 'Stream of tables',\n },\n ],\n package: 'testing',\n desc: 'Tests whether two streams have identical data.',\n example: 'testing.assertEquals(got: got, want: want)',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/testing/assertequals/',\n },\n {\n name: 'testing.diff',\n args: [\n {\n name: 'got',\n desc: 'The stream containing data to test.',\n type: 'Stream of tables',\n },\n {\n name: 'want',\n desc: 'The stream that contains the expected data to test against.',\n type: 'Stream of tables',\n },\n {\n name: 'epsilon',\n desc:\n 'How far apart two float values can be, but still considered equal. Defaults to `0.000000001`.',\n type: 'Float',\n },\n ],\n package: 'testing',\n desc: 'Produces a diff between two streams.',\n example: 'testing.assertEquals(got: got, want: want)',\n category: 'Tests',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/testing/diff/',\n },\n {\n name: 'time',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, UInteger',\n },\n ],\n package: '',\n desc: 'Converts a single value to a time.',\n example: 'time(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/time/',\n },\n {\n name: 'timedMovingAverage',\n args: [\n {\n name: 'every',\n desc: 'The frequency of time windows.',\n type: 'Duration',\n },\n {\n name: 'period',\n desc: 'The length of each averaged time window.',\n type: 'Duration',\n },\n {\n name: 'column',\n desc:\n 'The column on which to compute the moving average. Defaults to `\"_value\"`',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Calculates the mean of values in a defined time range at a specified frequency.',\n example: 'timedMovingAverage(every: 1d, period: 5d)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/timedmovingaverage/',\n },\n {\n name: 'timeShift',\n args: [\n {\n name: 'duration',\n desc:\n 'The amount of time to add to each time value. May be a negative duration.',\n type: 'String',\n },\n {\n name: 'columns',\n desc:\n 'The list of all columns to be shifted. Defaults to `[\"_start\", \"_stop\", \"_time\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc:\n 'Adds a fixed duration to time columns. The output table schema is the same as the input table.',\n example: 'timeShift(duration: 10h, columns: [\"_start\", \"_stop\", \"_time\"])',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/shift/',\n },\n {\n name: 'to',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket to which data is written. Mutually exclusive with `bucketID`.',\n type: 'String',\n },\n {\n name: 'bucketID',\n desc:\n 'The ID of the bucket to which data is written. Mutually exclusive with `bucket`.',\n type: 'String',\n },\n {\n name: 'org',\n desc:\n 'The organization name of the specified `bucket`. Only required when writing to a remote host. Mutually exclusive with `orgID`.',\n type: 'String',\n },\n {\n name: 'orgID',\n desc:\n 'The organization ID of the specified `bucket`. Only required when writing to a remote host. Mutually exclusive with `org`.',\n type: 'String',\n },\n {\n name: 'host',\n desc:\n 'The remote InfluxDB host to which to write. If specified, a `token` is required.',\n type: 'String',\n },\n {\n name: 'token',\n desc:\n 'The authorization token to use when writing to a remote host. Required when a `host` is specified.',\n type: 'String',\n },\n {\n name: 'timeColumn',\n desc: 'The time column of the output. Default is `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'tagColumns',\n desc:\n 'The tag columns of the output. Defaults to all columns with type `string`, excluding all value columns and the `_field` column if present.',\n type: 'Array of Strings',\n },\n {\n name: 'fieldFn',\n desc:\n 'Function that takes a record from the input table and returns an object. For each record from the input table, `fieldFn` returns an object that maps output the field key to the output value. Default is `(r) => ({ [r._field]: r._value })`',\n type: 'Function',\n },\n ],\n package: '',\n desc: 'The `to()` function writes data to an InfluxDB v2.0 bucket.',\n example: 'to(bucket: \"example-bucket\", org: \"example-org\")',\n category: 'Outputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/outputs/to/',\n },\n {\n name: 'toBool',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a boolean.',\n example: 'toBool()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tobool',\n },\n {\n name: 'toFloat',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a float.',\n example: 'toFloat()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tofloat/',\n },\n {\n name: 'toInt',\n args: [],\n package: '',\n desc: 'Converts all values in the `_value` column to a integer.',\n example: 'toInt()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/toint/',\n },\n {\n name: 'toString',\n args: [],\n package: '',\n desc: 'Converts a value to a string.',\n example: 'toString()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/tostring/',\n },\n {\n name: 'toTime',\n args: [],\n package: '',\n desc: 'Converts a value to a time.',\n example: 'toTime()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/totime/',\n },\n {\n name: 'toUInt',\n args: [],\n package: '',\n desc: 'Converts a value to an unsigned integer.',\n example: 'toUInt()',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/touint/',\n },\n {\n name: 'top',\n args: [\n {\n name: 'n',\n desc: 'Number of rows to return.',\n type: 'Integer',\n },\n {\n name: 'columns',\n desc:\n 'List of columns by which to sort. Sort precedence is determined by list order (left to right). Default is `[\"_value\"]`.',\n type: 'Array of Strings',\n },\n ],\n package: '',\n desc: 'Sorts a table by columns and keeps only the top n rows.',\n example: 'top(n:10, columns: [\"_value\"])',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/top/',\n },\n {\n name: 'tripleEMA',\n args: [\n {\n name: 'n',\n desc: 'The number of points to average.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates the exponential moving average of values in the `_value` column grouped into `n` number of points, giving more weight to recent data at triple the rate of `exponentialMovingAverage()`.',\n example: 'tripleEMA(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/tripleema/',\n },\n {\n name: 'tripleExponentialDerivative',\n args: [\n {\n name: 'n',\n desc: 'The number of points to use in the calculation.',\n type: 'Integer',\n },\n ],\n package: '',\n desc:\n 'Calculates a triple exponential derivative (TRIX) of input tables using n points.',\n example: 'tripleExponentialDerivative(n: 5)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/tripleexponentialderivative/',\n },\n {\n name: 'truncateTimeColumn',\n args: [\n {\n name: 'unit',\n desc: 'The unit of time to truncate to.',\n type: 'Duration',\n },\n ],\n package: '',\n desc: 'Truncates all `_time` values to a specified unit.',\n example: 'truncateTimeColumn(unit: 1m)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/truncatetimecolumn/',\n },\n {\n name: 'uint',\n args: [\n {\n name: 'v',\n desc: 'The value to convert.',\n type: 'String, Integer, Boolean',\n },\n ],\n package: '',\n desc: 'Converts a single value to a uinteger.',\n example: 'uint(v: r._value)',\n category: 'Type Conversions',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/uint/',\n },\n UNION,\n {\n name: 'unique',\n args: [\n {\n name: 'column',\n desc: 'The column searched for unique values. Defaults to `\"_value\"`.',\n type: 'String',\n },\n ],\n package: '',\n desc: 'Returns all rows containing unique values in a specified column.',\n example: 'unique(column: \"_value\")',\n category: 'Selectors',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/selectors/unique/',\n },\n {\n name: 'v1.fieldKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket to list field keys from.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'Predicate function that filters field keys. Defaults is (r) => true.',\n type: 'Function',\n },\n {\n name: 'start',\n desc: 'The oldest time to include in results. Defaults is `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of fields in a bucket.',\n example: 'v1.fieldKeys(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/measurementfieldkeys/',\n },\n {\n name: 'v1.fieldsAsCols',\n args: [],\n package: 'influxdata/influxdb/v1',\n desc: 'Aligns fields within each input table that have the same timestamp.',\n example: 'v1.fieldsAsCols()',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/fieldsascols/',\n },\n {\n name: 'v1.measurementFieldKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket to list field keys from.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement to list field keys from.',\n type: 'String',\n },\n {\n name: 'start',\n desc: 'The oldest time to include in results. Defaults is `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of fields in a measurement.',\n example:\n 'v1.measurementFieldKeys(bucket: \"example-bucket\", measurement: \"example-measurement\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/measurementfieldkeys/',\n },\n {\n name: 'v1.measurementTagKeys',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket from which to return tag keys for a specific measurement.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement from which to return tag keys.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of tag keys for a specific measurement.',\n example:\n 'v1.measurementTagKeys(bucket: \"example-bucket\", measurement: \"mem\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/measurementtagkeys/',\n },\n {\n name: 'v1.measurementTagValues',\n args: [\n {\n name: 'bucket',\n desc:\n 'The bucket from which to return tag keys for a specific measurement.',\n type: 'String',\n },\n {\n name: 'measurement',\n desc: 'The measurement from which to return tag values.',\n type: 'String',\n },\n {\n name: 'tag',\n desc: 'The tag from which to return all unique values.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of tag values for a specific measurement.',\n example:\n 'v1.measurementTagValues(bucket: \"example-bucket\", measurement: \"mem\", tag: \"host\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/measurementtagvalues/',\n },\n {\n name: 'v1.measurements',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list measurements.',\n type: 'String',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of measurements in a specific bucket.',\n example: 'v1.measurements(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/measurements/',\n },\n {\n name: 'v1.tagKeys',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list tag keys.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'The predicate function that filters tag keys. Defaults to `(r) => true.`',\n type: 'Function',\n },\n {\n name: 'start',\n desc:\n 'Specifies the oldest time to be included in the results. Defaults to `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of tag keys for all series that match the predicate.',\n example: 'v1.tagKeys(bucket: \"example-bucket\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/tagkeys/',\n },\n {\n name: 'v1.tagValues',\n args: [\n {\n name: 'bucket',\n desc: 'The bucket from which to list tag values.',\n type: 'String',\n },\n {\n name: 'tag',\n desc: 'The tag for which to return unique values.',\n type: 'String',\n },\n {\n name: 'predicate',\n desc:\n 'The predicate function that filters tag values. Defaults to `(r) => true.`',\n type: 'Function',\n },\n {\n name: 'start',\n desc:\n 'Specifies the oldest time to be included in the results. Defaults to `-30d`.',\n type: 'Duration | Time',\n },\n ],\n package: 'influxdata/influxdb/v1',\n desc: 'Returns a list of unique values for a given tag.',\n example: 'v1.tagValues(bucket: \"example-bucket\", tag: \"example-tag\")',\n category: 'Inputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/influxdb-v1/tagvalues/',\n },\n {\n name: 'window',\n args: [\n {\n name: 'every',\n desc: 'Duration of time between windows. Defaults to `period` value.',\n type: 'Duration',\n },\n {\n name: 'period',\n desc:\n 'Duration of the window. Period is the length of each interval. It can be negative, indicating the start and stop boundaries are reversed. Defaults to `every` value.',\n type: 'Duration',\n },\n {\n name: 'offset',\n desc:\n 'The offset duration relative to the `location` offset. It can be negative, indicating that the offset goes backwards in time. The default aligns the window boundaries with `now`.',\n type: 'Duration',\n },\n {\n name: 'intervals',\n desc:\n 'A function that returns an interval generator, a set of intervals used as windows. See docs for an example.',\n type: 'Function',\n },\n {\n name: 'timeColumn',\n desc: 'The column containing time. Defaults to `\"_time\"`.',\n type: 'String',\n },\n {\n name: 'startColumn',\n desc:\n 'The column containing the window start time. Defaults to `\"_start\"`.',\n type: 'String',\n },\n {\n name: 'stopColumn',\n desc:\n 'The column containing the window stop time. Defaults to `\"_stop\"`.',\n type: 'String',\n },\n {\n name: 'createEmpty',\n desc:\n 'Specifies whether empty tables should be created. Defaults to `false`.',\n type: 'Boolean',\n },\n ],\n package: '',\n desc:\n 'Groups records based on a time value. New columns are added to uniquely identify each window. Those columns are added to the group key of the output tables. A single input record will be placed into zero or more output tables, depending on the specific windowing function.',\n example: 'window(every: v.windowPeriod)',\n category: 'Transformations',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/window/',\n },\n {\n name: 'yield',\n args: [\n {\n name: 'name',\n desc: 'A unique name for the yielded results.',\n type: 'String',\n },\n ],\n package: '',\n desc:\n 'Indicates the input tables received should be delivered as a result of the query. Yield outputs the input stream unmodified. A query may have multiple results, each identified by the name provided to the `yield()` function.',\n example: 'yield(name: \"custom-name\")',\n category: 'Outputs',\n link:\n 'https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/outputs/yield/',\n },\n]\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport TransformToolbarFunctions from 'src/timeMachine/components/fluxFunctionsToolbar/TransformToolbarFunctions'\nimport FunctionCategory from 'src/timeMachine/components/fluxFunctionsToolbar/FunctionCategory'\nimport FluxToolbarSearch from 'src/timeMachine/components/FluxToolbarSearch'\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Actions\nimport {setActiveQueryText} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\n\n// Constants\nimport {FLUX_FUNCTIONS} from 'src/shared/constants/fluxFunctions'\n\n// Types\nimport {AppState, FluxToolbarFunction} from 'src/types'\n\ninterface OwnProps {\n onInsertFluxFunction: (func: FluxToolbarFunction) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n searchTerm: string\n}\n\nclass FluxFunctionsToolbar extends PureComponent {\n public state: State = {searchTerm: ''}\n\n public render() {\n const {searchTerm} = this.state\n\n return (\n <>\n \n \n
    \n \n {sortedFunctions =>\n Object.entries(sortedFunctions).map(([category, funcs]) => (\n \n ))\n }\n \n
    \n
    \n \n )\n }\n\n private handleSearch = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private handleClickFunction = (func: FluxToolbarFunction) => {\n this.props.onInsertFluxFunction(func)\n }\n}\n\nconst mstp = (state: AppState) => {\n const activeQueryText = getActiveQuery(state).text\n\n return {activeQueryText}\n}\n\nconst mdtp = {\n onSetActiveQueryText: setActiveQueryText,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ErrorHandling(FluxFunctionsToolbar))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Dropdown,\n DropdownMenuTheme,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {selectValue} from 'src/variables/actions/thunks'\n\n// Utils\nimport {getVariable, normalizeValues} from 'src/variables/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ninterface OwnProps {\n variableID: string\n testID?: string\n onSelect?: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass VariableDropdown extends PureComponent {\n render() {\n const {selectedValue, values} = this.props\n\n const dropdownStatus =\n values.length === 0 ? ComponentStatus.Disabled : ComponentStatus.Default\n\n const longestItemWidth = Math.floor(\n values.reduce(function(a, b) {\n return a.length > b.length ? a : b\n }, '').length * 9.5\n )\n\n const widthLength = Math.max(140, longestItemWidth)\n\n return (\n
    \n {/* TODO: Add variable description to title attribute when it is ready */}\n (\n \n {this.selectedText}\n \n )}\n menu={onCollapse => (\n \n {values.map(val => {\n return (\n \n {val}\n \n )\n })}\n \n )}\n />\n
    \n )\n }\n\n private handleSelect = (selectedValue: string) => {\n const {\n variableID,\n onSelectValue,\n onSelect,\n selectedValue: prevSelectedValue,\n } = this.props\n\n if (prevSelectedValue !== selectedValue) {\n onSelectValue(variableID, selectedValue)\n }\n\n if (onSelect) {\n onSelect()\n }\n }\n\n private get selectedText() {\n const {selectedValue, status} = this.props\n if (status === RemoteDataState.Loading) {\n return 'Loading'\n }\n\n if (selectedValue) {\n return selectedValue\n }\n\n return 'No Values'\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const {variableID} = props\n const variable = getVariable(state, variableID)\n const selected =\n variable.selected && variable.selected.length ? variable.selected[0] : null\n\n return {\n status: variable.status,\n values: normalizeValues(variable),\n selectedValue: selected,\n }\n}\n\nconst mdtp = {\n onSelectValue: selectValue,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(VariableDropdown)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {executeQueries} from 'src/timeMachine/actions/queries'\n\n// Components\nimport {Form} from '@influxdata/clockface'\nimport VariableDropdown from 'src/variables/components/VariableDropdown'\n\ninterface OwnProps {\n variableID: string\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ReduxProps & OwnProps\n\nconst VariableTooltipContents: FunctionComponent = ({\n variableID,\n execute,\n}) => {\n const refresh = () => {\n execute()\n }\n return (\n \n \n \n \n \n )\n}\n\nconst mdtp = {\n execute: executeQueries,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(VariableTooltipContents)\n","// Libraries\nimport React, {FC, useRef} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport VariableTooltipContents from 'src/timeMachine/components/variableToolbar/VariableTooltipContents'\nimport {\n Button,\n Popover,\n PopoverPosition,\n PopoverInteraction,\n Appearance,\n ComponentColor,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Types\nimport {Variable} from 'src/types'\n\ninterface Props {\n variable: Variable\n onClickVariable: (variableName: string) => void\n testID?: string\n}\n\nfunction shouldShowTooltip(variable: Variable): boolean {\n // a system variable isn't selectable in this manor\n if (variable.arguments.type === 'system') {\n return false\n }\n\n // if a static list is empty or has a single component, we dont want to show the tooltip,\n // as it would have nothing for the user to do on it\n if (\n variable.arguments.type === 'constant' &&\n variable.arguments.values.length <= 1\n ) {\n return false\n }\n\n // if a static map object is empty or has a single component, we dont want to show the tooltip,\n // as it would have nothing for the user to do on it\n if (\n variable.arguments.type === 'map' &&\n Object.keys(variable.arguments.values).length <= 1\n ) {\n return false\n }\n\n if (\n variable.arguments.type === 'query' &&\n (!(variable.arguments.values as any).results ||\n (variable.arguments.values as any).results.length <= 1)\n ) {\n return false\n }\n\n return true\n}\n\nconst VariableItem: FC = ({\n variable,\n onClickVariable,\n testID = 'variable',\n}) => {\n const trigger = useRef(null)\n\n const handleClick = (): void => {\n const variableName = get(variable, 'name', 'variableName')\n onClickVariable(variableName)\n }\n\n if (!shouldShowTooltip(variable)) {\n return (\n \n {variable.name}\n \n \n )\n }\n\n return (\n <>\n \n {variable.name}\n \n \n }\n />\n \n )\n}\n\nexport default VariableItem\n","// Libraries\nimport React, {useState, useEffect, FunctionComponent} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport FluxToolbarSearch from 'src/timeMachine/components/FluxToolbarSearch'\nimport {\n DapperScrollbars,\n EmptyState,\n ComponentSize,\n} from '@influxdata/clockface'\nimport VariableItem from 'src/timeMachine/components/variableToolbar/VariableItem'\n\n// Actions\nimport {hydrateVariables} from 'src/variables/actions/thunks'\n\n// Utils\nimport {getAllVariables, sortVariablesByName} from 'src/variables/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onClickVariable: (variableName: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst VariableToolbar: FunctionComponent = ({\n variables,\n onClickVariable,\n}) => {\n const dispatch = useDispatch()\n const [searchTerm, setSearchTerm] = useState('')\n const filteredVariables = variables.filter(v => v.name.includes(searchTerm))\n\n useEffect(() => {\n dispatch(hydrateVariables())\n }, [dispatch])\n\n let content: JSX.Element | JSX.Element[] = (\n \n No variables match your search\n \n )\n\n if (Boolean(filteredVariables.length)) {\n content = filteredVariables.map(v => (\n \n ))\n }\n\n return (\n <>\n \n \n
    {content}
    \n
    \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const variables = getAllVariables(state)\n\n return {variables: sortVariablesByName(variables)}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(VariableToolbar)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n onClick: (id: string) => void\n id: string\n name: string\n active: boolean\n testID?: string\n}\n\nconst ToolbarTab: FC = ({\n onClick,\n name,\n active,\n testID = 'toolbar-tab',\n id,\n}) => {\n const toolbarTabClass = classnames('flux-toolbar--tab', {\n 'flux-toolbar--tab__active': active,\n })\n\n const handleClick = (): void => {\n if (active) {\n onClick('none')\n } else {\n onClick(id)\n }\n }\n\n return (\n \n
    {name}
    \n \n )\n}\n\nexport default ToolbarTab\n","// Libraries\nimport React, {FC, useState} from 'react'\n\n// Components\nimport FluxFunctionsToolbar from 'src/timeMachine/components/fluxFunctionsToolbar/FluxFunctionsToolbar'\nimport VariableToolbar from 'src/timeMachine/components/variableToolbar/VariableToolbar'\nimport FluxToolbarTab from 'src/timeMachine/components/FluxToolbarTab'\n\n// Types\nimport {FluxToolbarFunction} from 'src/types'\n\ninterface Props {\n activeQueryBuilderTab: string\n onInsertFluxFunction: (func: FluxToolbarFunction) => void\n onInsertVariable: (variableName: string) => void\n}\n\ntype FluxToolbarTabs = 'functions' | 'variables' | 'none'\n\nconst FluxToolbar: FC = ({\n activeQueryBuilderTab,\n onInsertFluxFunction,\n onInsertVariable,\n}) => {\n const [activeTab, setActiveTab] = useState('functions')\n\n const handleTabClick = (id: FluxToolbarTabs): void => {\n setActiveTab(id)\n }\n\n let activeToolbar\n\n if (activeTab === 'functions') {\n activeToolbar = (\n \n )\n }\n\n if (activeTab === 'variables') {\n activeToolbar = \n }\n\n const toolbarExpanded = activeTab === 'functions' || activeTab === 'variables'\n\n return (\n
    \n {toolbarExpanded && (\n \n {activeToolbar}\n
    \n )}\n
    \n \n {activeQueryBuilderTab !== 'customCheckQuery' && (\n \n )}\n
    \n \n )\n}\n\nexport default FluxToolbar\n","// Constants\nimport {FROM, UNION} from 'src/shared/constants/fluxFunctions'\n\nexport const functionRequiresNewLine = (funcName: string): boolean => {\n switch (funcName) {\n case FROM.name:\n case UNION.name: {\n return true\n }\n default:\n return false\n }\n}\n\nexport const generateImport = (\n funcPackage: string,\n script: string\n): false | string => {\n const importStatement = `import \"${funcPackage}\"`\n\n if (!funcPackage || script.includes(importStatement)) {\n return false\n }\n\n return importStatement\n}\n","// Libraries\nimport React, {FC, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\nimport FluxToolbar from 'src/timeMachine/components/FluxToolbar'\n\n// Actions\nimport {setActiveQueryText} from 'src/timeMachine/actions'\nimport {saveAndExecuteQueries} from 'src/timeMachine/actions/queries'\n\n// Utils\nimport {getActiveQuery, getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {\n functionRequiresNewLine,\n generateImport,\n} from 'src/timeMachine/utils/insertFunction'\n\n// Types\nimport {AppState, FluxToolbarFunction, EditorType} from 'src/types'\nimport * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeMachineFluxEditor: FC = ({\n activeQueryText,\n onSubmitQueries,\n onSetActiveQueryText,\n activeTab,\n}) => {\n const [editorInstance, setEditorInstance] = useState(null)\n\n const handleInsertVariable = (variableName: string): void => {\n const p = editorInstance.getPosition()\n editorInstance.executeEdits('', [\n {\n range: new window.monaco.Range(\n p.lineNumber,\n p.column,\n p.lineNumber,\n p.column\n ),\n text: `v.${variableName}`,\n },\n ])\n onSetActiveQueryText(editorInstance.getValue())\n }\n\n const getInsertLineNumber = (currentLineNumber: number): number => {\n const scriptLines = activeQueryText.split('\\n')\n\n const currentLine =\n scriptLines[currentLineNumber] || scriptLines[scriptLines.length - 1]\n\n // Insert on the current line if its an empty line\n if (!currentLine.trim()) {\n return currentLineNumber\n }\n\n return currentLineNumber + 1\n }\n\n const defaultColumnPosition = 1 // beginning column of the row\n\n const getFluxTextAndRange = (\n func: FluxToolbarFunction\n ): {text: string; range: monacoEditor.Range} => {\n const p = editorInstance.getPosition()\n const insertLineNumber = getInsertLineNumber(p.lineNumber)\n\n let row = insertLineNumber\n\n const [currentRange] = editorInstance.getVisibleRanges()\n // Determines whether the new insert line is beyond the current range\n let shouldInsertOnLastLine = insertLineNumber > currentRange.endLineNumber\n // edge case for when user toggles to the script editor\n // this defaults the cursor to the initial position (top-left, 1:1 position)\n if (p.lineNumber === 1 && p.column === defaultColumnPosition) {\n // adds the function to the end of the query\n shouldInsertOnLastLine = true\n row = currentRange.endLineNumber + 1\n }\n\n let text = ''\n if (shouldInsertOnLastLine) {\n text = `\\n |> ${func.example}`\n } else {\n text = ` |> ${func.example}\\n`\n }\n\n if (functionRequiresNewLine(func.name)) {\n text = `\\n${func.example}\\n`\n }\n\n const range = new window.monaco.Range(\n row,\n defaultColumnPosition,\n row,\n defaultColumnPosition\n )\n\n return {text, range}\n }\n\n const handleInsertFluxFunction = (func: FluxToolbarFunction): void => {\n const {text, range} = getFluxTextAndRange(func)\n\n const edits = [\n {\n range,\n text,\n },\n ]\n const importStatement = generateImport(\n func.package,\n editorInstance.getValue()\n )\n if (importStatement) {\n edits.unshift({\n range: new window.monaco.Range(1, 1, 1, 1),\n text: `${importStatement}\\n`,\n })\n }\n editorInstance.executeEdits('', edits)\n onSetActiveQueryText(editorInstance.getValue())\n }\n\n return (\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport {TimeMachineFluxEditor}\n\nconst mstp = (state: AppState) => {\n const activeQueryText = getActiveQuery(state).text\n const {activeTab} = getActiveTimeMachine(state)\n\n return {activeQueryText, activeTab}\n}\n\nconst mdtp = {\n onSetActiveQueryText: setActiveQueryText,\n onSubmitQueries: saveAndExecuteQueries,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineFluxEditor)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment'\n\n// Components\nimport {Button, ComponentStatus, IconFont} from '@influxdata/clockface'\n\n// Utils\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n files: string[] | null\n}\n\nclass CSVExportButton extends PureComponent {\n public render() {\n return (\n \n )\n }\n\n private get buttonStatus(): ComponentStatus {\n const {files} = this.props\n\n if (files) {\n return ComponentStatus.Default\n }\n\n return ComponentStatus.Disabled\n }\n\n private get titleText(): string {\n const {files} = this.props\n\n if (files) {\n return 'Download query results as a .CSV file'\n }\n\n return 'Create a query in order to download results as .CSV'\n }\n\n private handleClick = () => {\n const {files} = this.props\n const csv = files.join('\\n\\n')\n const now = moment().format('YYYY-MM-DD-HH-mm')\n const filename = `${now} Chronograf Data`\n\n downloadTextFile(csv, filename, '.csv', 'text/csv')\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n queryResults: {files},\n } = getActiveTimeMachine(state)\n\n return {files}\n}\n\nexport default connect(mstp)(CSVExportButton)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n ConfirmationButton,\n Appearance,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Actions\nimport {\n editActiveQueryWithBuilder,\n editActiveQueryAsFlux,\n resetActiveQuerySwitchToBuilder,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\nimport {\n confirmationState,\n ConfirmationState,\n} from 'src/timeMachine/utils/queryBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TimeMachineQueriesSwitcher extends PureComponent {\n public render() {\n const {\n onEditAsFlux,\n onEditWithBuilder,\n onResetAndEditWithBuilder,\n } = this.props\n const {editMode, text, builderConfig} = this.props.activeQuery\n const scriptMode = editMode !== 'builder'\n\n let button = (\n \n )\n\n if (scriptMode) {\n button = (\n \n )\n }\n\n if (\n scriptMode &&\n confirmationState(text, builderConfig) === ConfirmationState.Required\n ) {\n button = (\n \n )\n }\n\n return button\n }\n}\n\nconst mstp = (state: AppState) => {\n const activeQuery = getActiveQuery(state)\n\n return {activeQuery}\n}\n\nconst mdtp = {\n onEditWithBuilder: editActiveQueryWithBuilder,\n onResetAndEditWithBuilder: resetActiveQuerySwitchToBuilder,\n onEditAsFlux: editActiveQueryAsFlux,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineQueriesSwitcher)\n","export enum AutoRefreshOptionType {\n Option = 'option',\n Header = 'header',\n}\n\nexport interface AutoRefreshOption {\n id: string\n milliseconds: number\n label: string\n type: AutoRefreshOptionType\n}\n\nconst autoRefreshOptions: AutoRefreshOption[] = [\n {\n id: 'auto-refresh-header',\n milliseconds: 1,\n label: 'Refresh',\n type: AutoRefreshOptionType.Header,\n },\n {\n id: 'auto-refresh-paused',\n milliseconds: 0,\n label: 'Paused',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-5s',\n milliseconds: 5000,\n label: '5s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-10s',\n milliseconds: 10000,\n label: '10s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-15s',\n milliseconds: 15000,\n label: '15s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-30s',\n milliseconds: 30000,\n label: '30s',\n type: AutoRefreshOptionType.Option,\n },\n {\n id: 'auto-refresh-60s',\n milliseconds: 60000,\n label: '60s',\n type: AutoRefreshOptionType.Option,\n },\n]\n\nexport default autoRefreshOptions\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n SquareButton,\n IconFont,\n ComponentStatus,\n Dropdown,\n} from '@influxdata/clockface'\n\n// Constants\nimport autoRefreshOptions, {\n AutoRefreshOption,\n AutoRefreshOptionType,\n} from 'src/shared/data/autoRefreshes'\n\n// Types\nimport {AutoRefresh, AutoRefreshStatus} from 'src/types'\nimport {CLOUD} from 'src/shared/constants'\n\nconst DROPDOWN_WIDTH_COLLAPSED = 50\nconst DROPDOWN_WIDTH_FULL = 84\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n selected: AutoRefresh\n onChoose: (milliseconds: number) => void\n showManualRefresh: boolean\n onManualRefresh?: () => void\n}\n\n@ErrorHandling\nexport default class AutoRefreshDropdown extends Component {\n public static defaultProps = {\n showManualRefresh: true,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n isOpen: false,\n }\n }\n\n public render() {\n if (CLOUD) {\n return
    {this.manualRefreshButton}
    \n }\n return (\n
    \n (\n \n {this.selectedOptionLabel}\n \n )}\n menu={onCollapse => (\n \n {autoRefreshOptions.map(option => {\n if (option.type === AutoRefreshOptionType.Header) {\n return (\n \n )\n }\n\n return (\n \n {option.label}\n \n )\n })}\n \n )}\n />\n {this.manualRefreshButton}\n
    \n )\n }\n\n public handleDropdownChange = (\n autoRefreshOption: AutoRefreshOption\n ): void => {\n this.props.onChoose(autoRefreshOption.milliseconds)\n }\n\n private get dropdownStatus(): ComponentStatus {\n if (this.isDisabled) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private get isDisabled(): boolean {\n const {selected} = this.props\n\n return selected.status === AutoRefreshStatus.Disabled\n }\n\n private get isPaused(): boolean {\n const {selected} = this.props\n\n return selected.status === AutoRefreshStatus.Paused || this.isDisabled\n }\n\n private get className(): string {\n return classnames('autorefresh-dropdown', {paused: this.isPaused})\n }\n\n private get dropdownIcon(): IconFont {\n if (this.isPaused) {\n return IconFont.Pause\n }\n\n return IconFont.Refresh\n }\n\n private get dropdownWidthPixels(): number {\n if (this.isPaused) {\n return DROPDOWN_WIDTH_COLLAPSED\n }\n\n return DROPDOWN_WIDTH_FULL\n }\n\n private get selectedOptionID(): string {\n const {selected} = this.props\n\n const selectedOption = autoRefreshOptions.find(\n option => option.milliseconds === selected.interval\n )\n\n return selectedOption.id\n }\n\n private get selectedOptionLabel(): string {\n const {selected} = this.props\n\n const selectedOption = autoRefreshOptions.find(\n option => option.milliseconds === selected.interval\n )\n\n return selectedOption.label\n }\n\n private get manualRefreshButton(): JSX.Element {\n const {showManualRefresh, onManualRefresh} = this.props\n\n if (!showManualRefresh) {\n return\n }\n\n if (this.isPaused) {\n return (\n \n )\n }\n\n return null\n }\n}\n","import {CLOUD} from 'src/shared/constants'\n\ntype func = (...args: any[]) => any\n\nexport class AutoRefresher {\n public subscribers: func[] = []\n\n private intervalID: NodeJS.Timer\n\n public subscribe(fn: func) {\n this.subscribers = [...this.subscribers, fn]\n }\n\n public unsubscribe(fn: func) {\n this.subscribers = this.subscribers.filter(f => f !== fn)\n }\n\n public poll(refreshMs: number) {\n this.clearInterval()\n\n if (refreshMs) {\n this.intervalID = setInterval(this.refresh, refreshMs)\n }\n }\n\n public stopPolling() {\n this.clearInterval()\n }\n\n private clearInterval() {\n if (!this.intervalID) {\n return\n }\n\n clearInterval(this.intervalID)\n this.intervalID = null\n }\n\n private refresh = () => {\n if (CLOUD) {\n return\n }\n this.subscribers.forEach(fn => fn())\n }\n}\n\nexport const GlobalAutoRefresher = new AutoRefresher()\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEqual} from 'lodash'\n\n// Components\nimport AutoRefreshDropdown from 'src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown'\n\n// Utils\nimport {AutoRefresher} from 'src/utils/AutoRefresher'\n\n// Actions\nimport {executeQueries} from 'src/timeMachine/actions/queries'\nimport {AutoRefreshStatus, AppState} from 'src/types'\nimport {setAutoRefresh} from 'src/timeMachine/actions'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TimeMachineRefreshDropdown extends PureComponent {\n private autoRefresher = new AutoRefresher()\n\n public componentDidMount() {\n const {autoRefresh} = this.props\n if (autoRefresh.status === AutoRefreshStatus.Active) {\n this.autoRefresher.poll(autoRefresh.interval)\n }\n\n this.autoRefresher.subscribe(this.executeQueries)\n }\n\n public componentDidUpdate(prevProps) {\n const {autoRefresh} = this.props\n\n if (!isEqual(autoRefresh, prevProps.autoRefresh)) {\n if (autoRefresh.status === AutoRefreshStatus.Active) {\n this.autoRefresher.poll(autoRefresh.interval)\n return\n }\n\n this.autoRefresher.stopPolling()\n }\n }\n\n public componentWillUnmount() {\n this.autoRefresher.unsubscribe(this.executeQueries)\n this.autoRefresher.stopPolling()\n }\n\n public render() {\n const {autoRefresh} = this.props\n\n return (\n \n )\n }\n\n private handleChooseAutoRefresh = (interval: number) => {\n const {onSetAutoRefresh, autoRefresh} = this.props\n\n if (interval === 0) {\n onSetAutoRefresh({\n ...autoRefresh,\n status: AutoRefreshStatus.Paused,\n interval,\n })\n return\n }\n\n onSetAutoRefresh({\n ...autoRefresh,\n interval,\n status: AutoRefreshStatus.Active,\n })\n }\n\n private executeQueries = () => {\n this.props.onExecuteQueries()\n }\n}\n\nconst mstp = (state: AppState) => {\n const {autoRefresh} = getActiveTimeMachine(state)\n\n return {autoRefresh}\n}\n\nconst mdtp = {\n onExecuteQueries: executeQueries,\n onSetAutoRefresh: setAutoRefresh,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineRefreshDropdown)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport ReactDatePicker from 'react-datepicker'\nimport moment from 'moment'\n\n// Components\nimport {Input, Grid, Form} from '@influxdata/clockface'\n\n// Styles\nimport 'react-datepicker/dist/react-datepicker.css'\n\n// Types\nimport {Columns, ComponentSize, ComponentStatus} from '@influxdata/clockface'\n\ninterface Props {\n label: string\n dateTime: string\n maxDate?: string\n minDate?: string\n onSelectDate: (date: string) => void\n}\n\ninterface State {\n inputValue: string\n inputFormat: string\n}\n\nconst isValidRTC3339 = (d: string): boolean => {\n return (\n moment(d, 'YYYY-MM-DD HH:mm', true).isValid() ||\n moment(d, 'YYYY-MM-DD HH:mm:ss', true).isValid() ||\n moment(d, 'YYYY-MM-DD HH:mm:ss.SSS', true).isValid() ||\n moment(d, 'YYYY-MM-DD', true).isValid()\n )\n}\n\nconst getFormat = (d: string): string => {\n if (moment(d, 'YYYY-MM-DD', true).isValid()) {\n return 'YYYY-MM-DD'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm', true).isValid()) {\n return 'YYYY-MM-DD HH:mm'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm:ss', true).isValid()) {\n return 'YYYY-MM-DD HH:mm:ss'\n }\n if (moment(d, 'YYYY-MM-DD HH:mm:ss.SSS', true).isValid()) {\n return 'YYYY-MM-DD HH:mm:ss.SSS'\n }\n return null\n}\n\nexport default class DatePicker extends PureComponent {\n private inCurrentMonth: boolean = false\n state = {\n inputValue: null,\n inputFormat: null,\n }\n\n public render() {\n const {dateTime, label, maxDate, minDate} = this.props\n\n const date = new Date(dateTime)\n\n return (\n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n\n private get inputValue(): string {\n const {dateTime} = this.props\n const {inputValue, inputFormat} = this.state\n\n if (this.isInputValueInvalid) {\n return inputValue\n }\n\n if (inputFormat) {\n return moment(dateTime).format(inputFormat)\n }\n\n return moment(dateTime).format('YYYY-MM-DD HH:mm:ss.SSS')\n }\n\n private get isInputValueInvalid(): boolean {\n const {inputValue} = this.state\n if (inputValue === null) {\n return false\n }\n\n return !isValidRTC3339(inputValue)\n }\n\n private get inputErrorMessage(): string | undefined {\n if (this.isInputValueInvalid) {\n return 'Format must be YYYY-MM-DD [HH:mm:ss.SSS]'\n }\n\n return '\\u00a0\\u00a0'\n }\n\n private get inputStatus(): ComponentStatus {\n if (this.isInputValueInvalid) {\n return ComponentStatus.Error\n }\n return ComponentStatus.Default\n }\n\n private dayClassName = (date: Date) => {\n const day = date.getDate()\n\n if (day === 1) {\n this.inCurrentMonth = !this.inCurrentMonth\n }\n\n if (this.inCurrentMonth) {\n return 'range-picker--day-in-month'\n }\n\n return 'range-picker--day'\n }\n\n private handleSelectDate = (date: Date): void => {\n const {onSelectDate} = this.props\n onSelectDate(date.toISOString())\n }\n\n private handleChangeInput = (e: ChangeEvent): void => {\n const {onSelectDate} = this.props\n const value = e.target.value\n\n if (isValidRTC3339(value)) {\n onSelectDate(moment(value).toISOString())\n this.setState({inputValue: value, inputFormat: getFormat(value)})\n return\n }\n\n this.setState({inputValue: value, inputFormat: null})\n }\n}\n","// Libraries\nimport React, {PureComponent, CSSProperties} from 'react'\n\n// Components\nimport DatePicker from 'src/shared/components/dateRangePicker/DatePicker'\nimport {ClickOutside} from 'src/shared/components/ClickOutside'\n\n// Types\nimport {TimeRange} from 'src/types'\nimport {Button, ComponentColor, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n timeRange: TimeRange\n onSetTimeRange: (timeRange: TimeRange) => void\n onClose: () => void\n position?: {\n top?: number\n right?: number\n bottom?: number\n left?: number\n position?: string\n }\n}\n\ninterface State {\n lower: string\n upper: string\n}\n\nclass DateRangePicker extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n const {\n timeRange: {lower, upper},\n } = props\n\n this.state = {lower, upper}\n }\n\n public render() {\n const {onClose} = this.props\n const {upper, lower} = this.state\n\n return (\n \n \n \n (\n \n )}\n />\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n const isRetentionLimitEnforced = !!extractBucketMaxRetentionSeconds(\n state.cloud.limits\n )\n const limitStatus = extractBucketLimits(state.cloud.limits)\n\n return {\n org,\n isRetentionLimitEnforced,\n limitStatus,\n }\n}\n\nconst mdtp = {\n createBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SelectorListCreateBucket)\n","// Libraries\nimport React, {FunctionComponent, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport WaitingText from 'src/shared/components/WaitingText'\nimport SelectorList from 'src/timeMachine/components/SelectorList'\nimport SelectorListCreateBucket from 'src/timeMachine/components/SelectorListCreateBucket'\nimport {Input} from '@influxdata/clockface'\n\n// Actions\nimport {selectBucket} from 'src/timeMachine/actions/queryBuilder'\n\n// Utils\nimport {getActiveQuery} from 'src/timeMachine/selectors'\nimport {getAll, getStatus} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\nimport {RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst fb = term => bucket =>\n bucket.toLocaleLowerCase().includes(term.toLocaleLowerCase())\n\nconst BucketSelector: FunctionComponent = ({\n selectedBucket,\n bucketNames,\n bucketsStatus,\n onSelectBucket,\n}) => {\n const [searchTerm, setSearchTerm] = useState('')\n const list = bucketNames.filter(fb(searchTerm))\n\n const onSelect = (bucket: string) => {\n onSelectBucket(bucket, true)\n }\n\n if (bucketsStatus === RemoteDataState.Error) {\n return Failed to load buckets\n }\n\n if (bucketsStatus === RemoteDataState.Loading) {\n return (\n \n \n \n )\n }\n\n if (bucketsStatus === RemoteDataState.Done && !bucketNames.length) {\n return No buckets found\n }\n\n return (\n <>\n \n setSearchTerm(e.target.value)}\n />\n \n \n \n )\n}\n\ninterface SelectorProps {\n list: string[]\n selected: string\n onSelect: (bucket: string) => void\n}\n\nconst Selector: FunctionComponent = ({\n list,\n selected,\n onSelect,\n}) => {\n if (!list.length) {\n return No buckets matched your search\n }\n\n return (\n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets)\n const bucketNames = buckets.map(bucket => bucket.name || '')\n const bucketsStatus = getStatus(state, ResourceType.Buckets)\n const selectedBucket =\n getActiveQuery(state).builderConfig.buckets[0] || bucketNames[0]\n\n return {selectedBucket, bucketNames, bucketsStatus}\n}\n\nconst mdtp = {\n onSelectBucket: selectBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BucketSelector)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {range} from 'lodash'\n\n// Components\nimport TagSelector from 'src/timeMachine/components/TagSelector'\nimport AggregationSelector from 'src/timeMachine/components/AggregationSelector'\nimport AddCardButton from 'src/timeMachine/components/AddCardButton'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport BucketsSelector from 'src/timeMachine/components/queryBuilder/BucketsSelector'\nimport {DapperScrollbars} from '@influxdata/clockface'\n\n// Actions\nimport {loadBuckets, addTagSelector} from 'src/timeMachine/actions/queryBuilder'\n\n// Utils\nimport {getActiveQuery, getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState} from 'src/types'\nimport {RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {}\n\nclass TimeMachineQueryBuilder extends PureComponent {\n constructor(props) {\n super(props)\n event('TimeMachineQueryBuilder load start')\n }\n\n public componentDidMount() {\n this.props.onLoadBuckets()\n }\n\n public render() {\n const {tagFiltersLength} = this.props\n\n return (\n
    \n
    \n \n
    \n \n \n \n \n {tagFiltersLength &&\n range(tagFiltersLength).map(i => (\n \n ))}\n {this.addButton}\n
    \n
    \n {this.functionSelector}\n
    \n
    \n )\n }\n\n private get functionSelector(): JSX.Element {\n const {checkType} = this.props\n\n if (checkType === 'deadman') {\n return\n }\n\n return \n }\n\n private get addButton(): JSX.Element {\n const {moreTags, onAddTagSelector} = this.props\n\n if (!moreTags) {\n return null\n }\n\n return \n }\n}\n\nconst mstp = (state: AppState) => {\n const tagFiltersLength = getActiveQuery(state).builderConfig.tags.length\n const {\n queryBuilder: {tags},\n } = getActiveTimeMachine(state)\n\n const {\n alertBuilder: {type: checkType},\n } = state\n\n if (!tags.length) {\n return {\n tagFiltersLength,\n moreTags: false,\n checkType,\n }\n }\n\n const {keys, keysStatus} = tags[tags.length - 1]\n\n return {\n tagFiltersLength,\n moreTags: !(keys.length === 0 && keysStatus === RemoteDataState.Done),\n checkType,\n }\n}\n\nconst mdtp = {\n onLoadBuckets: loadBuckets,\n onAddTagSelector: addTagSelector,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineQueryBuilder)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n IconFont,\n} from '@influxdata/clockface'\n\n// Actions\nimport {saveAndExecuteQueries} from 'src/timeMachine/actions/queries'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {getActiveTimeMachine, getActiveQuery} from 'src/timeMachine/selectors'\nimport {event} from 'src/cloud/utils/reporting'\nimport {queryCancelRequest} from 'src/shared/copy/notifications'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ninterface OwnProps {\n text?: string\n icon?: IconFont\n testID?: string\n className?: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst DELAYTIME = 2000\n\nclass SubmitQueryButton extends PureComponent {\n public static defaultProps = {\n text: 'Submit',\n testID: 'time-machine-submit-button',\n }\n\n public state = {\n timer: false,\n }\n\n private timer\n\n public componentDidUpdate(prevProps) {\n if (\n this.props.queryStatus !== prevProps.queryStatus &&\n prevProps.queryStatus === RemoteDataState.Loading\n ) {\n if (this.timer) {\n clearTimeout(this.timer)\n delete this.timer\n }\n\n this.setState({timer: false})\n }\n }\n\n public render() {\n const {text, queryStatus, icon, testID, className} = this.props\n\n if (queryStatus === RemoteDataState.Loading && this.state.timer === true) {\n return (\n \n )\n }\n return (\n \n )\n }\n\n private get buttonStatus(): ComponentStatus {\n const {queryStatus, submitButtonDisabled} = this.props\n\n if (submitButtonDisabled) {\n return ComponentStatus.Disabled\n }\n\n if (queryStatus === RemoteDataState.Loading) {\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n private abortController: AbortController\n\n private handleClick = (): void => {\n event('SubmitQueryButton click')\n // We need to instantiate a new AbortController per request\n // In order to allow for requests after cancellations:\n // https://stackoverflow.com/a/56548348/7963795\n\n this.timer = setTimeout(() => {\n this.setState({timer: true})\n }, DELAYTIME)\n this.abortController = new AbortController()\n this.props.onSubmit(this.abortController)\n }\n\n private handleCancelClick = (): void => {\n if (this.props.onNotify) {\n this.props.onNotify(queryCancelRequest())\n }\n if (this.abortController) {\n this.abortController.abort()\n this.abortController = null\n }\n }\n}\n\nexport {SubmitQueryButton}\n\nconst mstp = (state: AppState) => {\n const submitButtonDisabled = getActiveQuery(state).text === ''\n const queryStatus = getActiveTimeMachine(state).queryResults.status\n\n return {submitButtonDisabled, queryStatus}\n}\n\nconst mdtp = {\n onSubmit: saveAndExecuteQueries,\n onNotify: notify,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SubmitQueryButton)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {SlideToggle, InputLabel, ComponentSize} from '@influxdata/clockface'\n\n// Actions\nimport {setIsViewingRawData} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass TimeMachineQueries extends PureComponent {\n public render() {\n const {isViewingRawData} = this.props\n\n return (\n
    \n View Raw Data\n \n
    \n )\n }\n\n private handleToggleIsViewingRawData = () => {\n const {isViewingRawData, onSetIsViewingRawData} = this.props\n\n onSetIsViewingRawData(!isViewingRawData)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {isViewingRawData} = getActiveTimeMachine(state)\n\n return {isViewingRawData}\n}\n\nconst mdtp = {\n onSetIsViewingRawData: setIsViewingRawData,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeMachineQueries)\n","// Libraries\nimport React, {PureComponent, KeyboardEvent, ChangeEvent} from 'react'\n\n// Components\nimport {Input} from '@influxdata/clockface'\n\n// Types\nimport {InputType, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n isActive: boolean\n isEditing: boolean\n queryIndex: number\n name?: string\n onEdit: () => void\n onCancelEdit: () => void\n onUpdate: (newName: string) => void\n}\n\ninterface State {\n newName?: string\n}\n\nclass TimeMachineQueryTabName extends PureComponent {\n public state: State = {newName: null}\n\n public render() {\n const {queryIndex, name, isEditing, onCancelEdit} = this.props\n const queryName = !!name ? name : `Query ${queryIndex + 1}`\n\n if (isEditing) {\n return (\n \n )\n }\n\n return (\n \n {queryName}\n \n )\n }\n\n private handleDoubleClick = () => {\n if (this.props.isActive) {\n this.props.onEdit()\n\n this.setState({newName: this.props.name || ''})\n }\n }\n\n private handleChange = (e: ChangeEvent) => {\n this.setState({newName: e.target.value})\n }\n\n private handleEnterKey = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'Enter':\n return this.handleUpdate()\n case 'Escape':\n return this.props.onCancelEdit()\n }\n }\n\n private handleUpdate() {\n const {onUpdate, onCancelEdit} = this.props\n const {newName} = this.state\n\n if (newName !== null) {\n onUpdate(newName)\n onCancelEdit()\n }\n\n this.setState({newName: null})\n }\n}\n\nexport default TimeMachineQueryTabName\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect} from 'react-redux'\nimport classnames from 'classnames'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n status: RemoteDataState\n duration: number\n}\n\nconst TimeMachineQueriesTimer: SFC = ({duration, status}) => {\n const queriesTimerClass = classnames('query-tab--timer', {\n 'query-tab--timer__visible': status === RemoteDataState.Done,\n })\n\n return (\n
    \n {`(${(duration / 1000).toFixed(2)}s)`}\n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {status, fetchDuration} = getActiveTimeMachine(state).queryResults\n\n return {status, duration: fetchDuration}\n}\n\nexport default connect(mstp)(TimeMachineQueriesTimer)\n","// Libraries\nimport React, {PureComponent, MouseEvent, RefObject, createRef} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport classnames from 'classnames'\n\n// Components\nimport TimeMachineQueryTabName from 'src/timeMachine/components/QueryTabName'\nimport TimeMachineQueriesTimer from 'src/timeMachine/components/QueriesTimer'\nimport {RightClick, ComponentColor, Icon, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {\n setActiveQueryIndex,\n removeQuery,\n updateActiveQueryName,\n toggleQuery,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\nimport {DashboardDraftQuery} from 'src/types/dashboards'\n\ninterface OwnProps {\n queryIndex: number\n query: DashboardDraftQuery\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\ninterface State {\n isEditingName: boolean\n}\n\nclass TimeMachineQueryTab extends PureComponent {\n private triggerRef: RefObject = createRef()\n\n public static getDerivedStateFromProps(props: Props): Partial {\n if (props.queryIndex !== props.activeQueryIndex) {\n return {isEditingName: false}\n }\n\n return null\n }\n\n public state: State = {isEditingName: false}\n\n public render() {\n const {queryIndex, activeQueryIndex, query} = this.props\n const isActive = queryIndex === activeQueryIndex\n const queryTabClass = classnames('query-tab', {\n 'query-tab__active': queryIndex === activeQueryIndex,\n 'query-tab__hidden': query.hidden,\n })\n\n return (\n <>\n \n {this.showHideButton}\n \n {this.queriesTimer}\n {this.removeButton}\n \n \n \n Edit\n \n \n Remove\n \n \n \n )\n }\n\n private handleEditActiveQueryName = () => {\n this.handleSetActive()\n this.handleEditName()\n }\n\n private handleUpdateName = (queryName: string) => {\n this.props.onUpdateActiveQueryName(queryName)\n }\n\n private handleSetActive = (): void => {\n const {queryIndex, activeQueryIndex, onSetActiveQueryIndex} = this.props\n\n if (queryIndex === activeQueryIndex) {\n return\n }\n\n onSetActiveQueryIndex(queryIndex)\n }\n\n private handleCancelEditName = () => {\n this.setState({isEditingName: false})\n }\n\n private handleEditName = (): void => {\n this.setState({isEditingName: true})\n }\n\n private get queriesTimer(): JSX.Element {\n const {queryIndex, activeQueryIndex} = this.props\n\n if (queryIndex === activeQueryIndex) {\n return \n }\n }\n\n private get removeButton(): JSX.Element {\n if (this.state.isEditingName || !this.isRemovable) {\n return null\n }\n\n return (\n
    \n \n
    \n )\n }\n\n private get showHideButton(): JSX.Element {\n const {query} = this.props\n if (this.state.isEditingName || !this.isRemovable) {\n return null\n }\n\n const icon = query.hidden ? IconFont.EyeClosed : IconFont.EyeOpen\n\n return (\n
    \n \n
    \n )\n }\n\n private get isRemovable(): boolean {\n return this.props.queryCount > 1\n }\n\n private handleRemove = (): void => {\n const {queryIndex, onRemoveQuery} = this.props\n\n onRemoveQuery(queryIndex)\n }\n\n private handleToggleView = (e: MouseEvent): void => {\n const {queryIndex, onToggleQuery} = this.props\n\n e.stopPropagation()\n onToggleQuery(queryIndex)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {activeQueryIndex, draftQueries} = getActiveTimeMachine(state)\n\n return {activeQueryIndex, queryCount: draftQueries.length}\n}\n\nconst mdtp = {\n onSetActiveQueryIndex: setActiveQueryIndex,\n onRemoveQuery: removeQuery,\n onUpdateActiveQueryName: updateActiveQueryName,\n onToggleQuery: toggleQuery,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(TimeMachineQueryTab)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport TimeMachineQueryTab from 'src/timeMachine/components/QueryTab'\nimport {\n SquareButton,\n IconFont,\n ComponentSize,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Actions\nimport {addQuery} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getActiveTimeMachine,\n getIsInCheckOverlay,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst QueryTabs: FC = ({draftQueries, isInCheckOverlay, onAddQuery}) => {\n return (\n
    \n {draftQueries.map((query, queryIndex) => (\n \n ))}\n {!isInCheckOverlay && (\n \n )}\n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {draftQueries} = getActiveTimeMachine(state)\n const isInCheckOverlay = getIsInCheckOverlay(state)\n\n return {draftQueries, isInCheckOverlay}\n}\n\nconst mdtp = {\n onAddQuery: addQuery,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(QueryTabs)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {QuestionMarkTooltip} from '@influxdata/clockface'\n\nconst EditorShortcutsTooltip: FC = () => {\n return (\n \n
    Shortcuts
    \n
    \n
    [Ctl or ⌘] + /:
    \n
    Toggle comment for line or lines
    \n
    [Ctl or ⌘] + [Enter]:
    \n
    Submit Script
    \n
    \n \n }\n />\n )\n}\n\nexport default EditorShortcutsTooltip\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router'\n\n// Components\nimport TimeMachineFluxEditor from 'src/timeMachine/components/TimeMachineFluxEditor'\nimport CSVExportButton from 'src/shared/components/CSVExportButton'\nimport TimeMachineQueriesSwitcher from 'src/timeMachine/components/QueriesSwitcher'\nimport TimeMachineRefreshDropdown from 'src/timeMachine/components/RefreshDropdown'\nimport TimeRangeDropdown from 'src/shared/components/TimeRangeDropdown'\nimport TimeMachineQueryBuilder from 'src/timeMachine/components/QueryBuilder'\nimport SubmitQueryButton from 'src/timeMachine/components/SubmitQueryButton'\nimport RawDataToggle from 'src/timeMachine/components/RawDataToggle'\nimport QueryTabs from 'src/timeMachine/components/QueryTabs'\nimport EditorShortcutsToolTip from 'src/timeMachine/components/EditorShortcutsTooltip'\nimport {\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\n\n// Actions\nimport {setAutoRefresh} from 'src/timeMachine/actions'\nimport {setTimeRange} from 'src/timeMachine/actions'\nimport {enableUpdatedTimeRangeInVEO} from 'src/shared/actions/app'\n\n// Utils\nimport {\n getActiveTimeMachine,\n getIsInCheckOverlay,\n getActiveQuery,\n} from 'src/timeMachine/selectors'\nimport {getTimeRange} from 'src/dashboards/selectors'\n\n// Types\nimport {AppState, TimeRange, AutoRefreshStatus} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{\n cellID: string\n dashboardID: string\n orgID: string\n}>\ntype Props = ReduxProps & RouterProps\n\nclass TimeMachineQueries extends PureComponent {\n public render() {\n const {timeRange, isInCheckOverlay, activeQuery} = this.props\n\n return (\n
    \n
    \n \n \n {activeQuery.editMode === 'advanced' && }\n \n {!isInCheckOverlay && (\n <>\n \n \n \n \n \n )}\n \n \n
    \n
    {this.queryEditor}
    \n
    \n )\n }\n\n private handleSetTimeRange = (timeRange: TimeRange) => {\n const {\n autoRefresh,\n location: {pathname},\n onEnableUpdatedTimeRangeInVEO,\n onSetAutoRefresh,\n onSetTimeRange,\n match: {\n params: {cellID, dashboardID, orgID},\n },\n } = this.props\n\n const inVEOMode =\n pathname === `orgs/${orgID}/dashboards/${dashboardID}/cell/${cellID}/edit`\n if (inVEOMode) {\n onEnableUpdatedTimeRangeInVEO()\n }\n onSetTimeRange(timeRange)\n\n if (timeRange.type === 'custom') {\n onSetAutoRefresh({...autoRefresh, status: AutoRefreshStatus.Disabled})\n return\n }\n\n if (autoRefresh.status === AutoRefreshStatus.Disabled) {\n if (autoRefresh.interval === 0) {\n onSetAutoRefresh({...autoRefresh, status: AutoRefreshStatus.Paused})\n return\n }\n\n onSetAutoRefresh({...autoRefresh, status: AutoRefreshStatus.Active})\n }\n }\n\n private get queryEditor(): JSX.Element {\n const {activeQuery} = this.props\n\n if (activeQuery.editMode === 'builder') {\n return \n } else if (activeQuery.editMode === 'advanced') {\n return \n } else {\n return null\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const timeRange = getTimeRange(state)\n const {autoRefresh} = getActiveTimeMachine(state)\n\n const activeQuery = getActiveQuery(state)\n\n return {\n timeRange,\n activeQuery,\n autoRefresh,\n isInCheckOverlay: getIsInCheckOverlay(state),\n }\n}\n\nconst mdtp = {\n onSetTimeRange: setTimeRange,\n onEnableUpdatedTimeRangeInVEO: enableUpdatedTimeRangeInVEO,\n onSetAutoRefresh: setAutoRefresh,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TimeMachineQueries))\n","// Libraries\nimport React, {FC, MouseEvent} from 'react'\nimport classnames from 'classnames'\n\n// Types\nimport {ComponentColor, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n text: string\n onClick: (e: MouseEvent) => void\n color?: ComponentColor\n size?: ComponentSize\n testID?: string\n}\n\nconst DashedButton: FC = ({\n text,\n onClick,\n color = ComponentColor.Primary,\n size = ComponentSize.Medium,\n testID = 'dashed-button',\n}) => {\n const classname = classnames('dashed-button', {\n [`dashed-button__${color}`]: color,\n [`dashed-button__${size}`]: size,\n })\n\n return (\n \n {text}\n \n )\n}\n\nexport default DashedButton\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Input,\n Panel,\n DismissButton,\n TextBlock,\n FlexBox,\n ComponentSize,\n FlexDirection,\n ComponentColor,\n} from '@influxdata/clockface'\n\n// Types\nimport {CheckTagSet} from 'src/types'\n\ninterface Props {\n index: number\n tagSet: CheckTagSet\n handleChangeTagRow: (i: number, tags: CheckTagSet) => void\n handleRemoveTagRow: (i: number) => void\n}\n\nconst CheckTagRow: FC = ({\n tagSet,\n index,\n handleChangeTagRow,\n handleRemoveTagRow,\n}) => {\n const handleChange = (e: React.ChangeEvent) => {\n handleChangeTagRow(index, {...tagSet, [e.target.name]: e.target.value})\n }\n\n return (\n \n {\n handleRemoveTagRow(index)\n }}\n color={ComponentColor.Default}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default CheckTagRow\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, ComponentSize, ComponentColor, Grid} from '@influxdata/clockface'\nimport DashedButton from 'src/shared/components/dashed_button/DashedButton'\nimport CheckTagRow from 'src/checks/components/CheckTagRow'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport DurationInput from 'src/shared/components/DurationInput'\n\n// Actions\nimport {\n setOffset,\n removeTagSet,\n selectCheckEvery,\n editTagSetByIndex,\n} from 'src/alerting/actions/alertBuilder'\n\n// Constants\nimport {CHECK_OFFSET_OPTIONS} from 'src/alerting/constants'\nimport {DURATIONS} from 'src/timeMachine/constants/queryBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst EMPTY_TAG_SET = {\n key: '',\n value: '',\n}\n\nconst CheckMetaCard: FC = ({\n tags,\n offset,\n every,\n onSelectCheckEvery,\n onSetOffset,\n onRemoveTagSet,\n onEditTagSetByIndex,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {tags.map((t, i) => (\n \n ))}\n onEditTagSetByIndex(tags.length, EMPTY_TAG_SET)}\n color={ComponentColor.Primary}\n size={ComponentSize.Small}\n />\n \n \n )\n}\n\nconst mstp = ({alertBuilder: {tags, offset, every}}: AppState) => {\n return {\n tags: tags || [],\n offset,\n every,\n }\n}\n\nconst mdtp = {\n onSelectCheckEvery: selectCheckEvery,\n onSetOffset: setOffset,\n onRemoveTagSet: removeTagSet,\n onEditTagSetByIndex: editTagSetByIndex,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CheckMetaCard)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n ComponentSize,\n TextArea,\n AutoComplete,\n Wrap,\n} from '@influxdata/clockface'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\n\n// Actions & Selectors\nimport {setStatusMessageTemplate} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst CheckMessageCard: FC = ({\n statusMessageTemplate,\n onSetStatusMessageTemplate,\n}) => {\n const handleChange = (\n e: React.ChangeEvent\n ) => {\n onSetStatusMessageTemplate(e.target.value)\n }\n\n return (\n \n \n \n \n
    \n

    \n You can use any columns from your query as well as the following:\n

    \n

    \n {'${r._check_name}'} The name of this check\n

    \n

    \n {'${r._level}'} Indicates the level of the check\n

    \n

    \n {'${string(v: r.numericColumn)}'} Functions can be used{' '}\n as well\n

    \n

    \n Need help? Check out the Status Message Template{' '}\n \n Documentation\n \n

    \n
    \n
    \n \n )\n}\n\nconst mstp = ({alertBuilder: {statusMessageTemplate}}: AppState) => ({\n statusMessageTemplate,\n})\n\nconst mdtp = {\n onSetStatusMessageTemplate: setStatusMessageTemplate,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CheckMessageCard)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n FlexBox,\n Panel,\n ComponentSize,\n PanelBody,\n TextBlock,\n SelectDropdown,\n DismissButton,\n ButtonType,\n FlexDirection,\n ComponentColor,\n InfluxColors,\n} from '@influxdata/clockface'\n\n// Types\nimport {Threshold, ThresholdType} from 'src/types'\nimport {LEVEL_COLORS} from 'src/alerting/constants'\n\ninterface Props {\n threshold: Threshold\n removeLevel: () => void\n changeThresholdType: (toType: ThresholdType, within?: boolean) => void\n}\n\nconst OptionSelector = (threshold: Threshold) => {\n if (threshold.type == 'greater') {\n return 'is above'\n }\n if (threshold.type == 'lesser') {\n return 'is below'\n }\n if (threshold.within) {\n return 'is inside range'\n }\n return 'is outside range'\n}\n\nconst ThresholdStatement: FC = ({\n threshold,\n children,\n removeLevel,\n changeThresholdType,\n}) => {\n const dropdownOptions = {\n ['is above']: 'greater',\n ['is below']: 'lesser',\n ['is inside range']: 'range',\n ['is outside range']: 'range',\n }\n\n const levelColor: string = LEVEL_COLORS[threshold.level]\n const selectedOption = OptionSelector(threshold)\n\n const onChangeThresholdType = (option: string) => {\n changeThresholdType(dropdownOptions[option], option === 'is inside range')\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n )\n}\n\nexport default ThresholdStatement\n","import React from 'react'\n\nexport const convertUserInputToNumOrNaN = (\n e: React.ChangeEvent\n) => (e.target.value === '' ? NaN : Number(e.target.value))\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {FlexBox, Input, InputType} from '@influxdata/clockface'\nimport {GreaterThreshold, LesserThreshold} from 'src/types'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Types\ninterface Props {\n threshold: GreaterThreshold | LesserThreshold\n changeValue: (value: number) => void\n}\n\nconst ThresholdValueStatement: FC = ({threshold, changeValue}) => {\n const onChangeValue = (e: React.ChangeEvent) => {\n changeValue(convertUserInputToNumOrNaN(e))\n }\n return (\n \n \n \n )\n}\n\nexport default ThresholdValueStatement\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {FlexBox, TextBlock, Input, InputType} from '@influxdata/clockface'\nimport {RangeThreshold} from 'src/types'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Types\ninterface Props {\n threshold: RangeThreshold\n changeRange: (min: number, max: number) => void\n}\n\nconst ThresholdRangeStatement: FC = ({threshold, changeRange}) => {\n const onChangeMin = (e: React.ChangeEvent) => {\n const min = convertUserInputToNumOrNaN(e)\n\n changeRange(min, threshold.max)\n }\n\n const onChangeMax = (e: React.ChangeEvent) => {\n const max = convertUserInputToNumOrNaN(e)\n changeRange(threshold.min, max)\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n )\n}\n\nexport default ThresholdRangeStatement\n","// Libraries\nimport React, {FC, useState, useEffect} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport DashedButton from 'src/shared/components/dashed_button/DashedButton'\nimport ThresholdStatement from 'src/alerting/components/builder/ThresholdStatement'\nimport ThresholdValueInput from 'src/alerting/components/builder/ThresholdValueInput'\nimport ThresholdRangeInput from 'src/alerting/components/builder/ThresholdRangeInput'\n\n// Actions\nimport {useCheckYDomain} from 'src/alerting/utils/vis'\nimport {getVisTable} from 'src/timeMachine/selectors'\nimport {\n removeThreshold,\n updateThreshold,\n} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {\n AppState,\n Threshold,\n ThresholdType,\n GreaterThreshold,\n LesserThreshold,\n RangeThreshold,\n CheckStatusLevel,\n} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\n// Constants\nimport {LEVEL_COMPONENT_COLORS} from 'src/alerting/constants'\n\ninterface OwnProps {\n threshold: Threshold\n level: CheckStatusLevel\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nconst defaultThreshold = {\n type: 'greater' as 'greater',\n}\n\nconst ThresholdCondition: FC = ({\n level,\n table,\n threshold,\n onUpdateThreshold,\n onRemoveThreshold,\n}) => {\n const [inputs, changeInputs] = useState([\n get(threshold, 'value') || get(threshold, 'min', 0),\n get(threshold, 'max', 100),\n ])\n\n const min = get(threshold, 'value') || get(threshold, 'min', inputs[0])\n const max = get(threshold, 'max', inputs[1])\n\n useEffect(() => {\n changeInputs([min, max])\n }, [min, max])\n\n const [yDomain] = useCheckYDomain(table.getColumn('_value', 'number'), [])\n\n const addLevel = () => {\n const low = yDomain[0] || 0\n const high = yDomain[1] || 40\n const newThreshold = {\n ...defaultThreshold,\n value: (high - low) / 2 + low,\n level,\n }\n onUpdateThreshold(newThreshold)\n }\n\n const removeLevel = () => {\n onRemoveThreshold(level)\n }\n\n const changeValue = (value: number) => {\n const newThreshold = {...threshold, value} as\n | GreaterThreshold\n | LesserThreshold\n\n onUpdateThreshold(newThreshold)\n }\n\n const changeRange = (min: number, max: number) => {\n const newThreshold = {...threshold, min, max} as RangeThreshold\n\n onUpdateThreshold(newThreshold)\n }\n\n const changeThresholdType = (toType: ThresholdType, within?: boolean) => {\n if (toType === 'greater' || toType === 'lesser') {\n const valueThreshold = {\n type: toType,\n level: threshold.level,\n value: inputs[0],\n } as GreaterThreshold | LesserThreshold\n onUpdateThreshold(valueThreshold)\n }\n if (toType === 'range') {\n const rangeThreshold = {\n type: toType,\n level: threshold.level,\n min: inputs[0],\n max: inputs[1],\n within,\n } as RangeThreshold\n onUpdateThreshold(rangeThreshold)\n }\n }\n\n if (!threshold) {\n return (\n \n )\n }\n return (\n \n {threshold.type === 'range' ? (\n \n ) : (\n \n )}\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const giraffeResult = getVisTable(state)\n\n return {\n table: giraffeResult.table,\n }\n}\n\nconst mdtp = {\n onUpdateThreshold: updateThreshold,\n onRemoveThreshold: removeThreshold,\n}\n\nexport {ThresholdCondition}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ThresholdCondition)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport ThresholdCondition from 'src/alerting/components/builder/ThresholdCondition'\n\n// Types\nimport {Threshold, AppState} from 'src/types'\n\ninterface StateProps {\n thresholds: {[k: string]: Threshold}\n}\n\nconst ThresholdConditions: FC = ({thresholds}) => {\n return (\n <>\n \n \n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {thresholds: thresholdsArray}}: AppState) => {\n const thresholds = {}\n thresholdsArray.forEach(t => {\n thresholds[t.level] = t\n })\n return {thresholds}\n}\n\nexport default connect(mstp)(ThresholdConditions)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Dropdown,\n ComponentColor,\n InfluxColors,\n DropdownMenuTheme,\n} from '@influxdata/clockface'\n\n// Types\nimport {CheckStatusLevel} from 'src/types'\n\ntype ColorLevel = {hex: InfluxColors; display: string; value: CheckStatusLevel}\n\nconst levels: ColorLevel[] = [\n {display: 'CRIT', hex: InfluxColors.Fire, value: 'CRIT'},\n {display: 'INFO', hex: InfluxColors.Ocean, value: 'INFO'},\n {display: 'WARN', hex: InfluxColors.Thunder, value: 'WARN'},\n {display: 'OK', hex: InfluxColors.Viridian, value: 'OK'},\n]\n\ninterface Props {\n selectedLevel: CheckStatusLevel\n onClickLevel: (level: CheckStatusLevel) => void\n}\n\nconst CheckLevelsDropdown: FC = ({selectedLevel, onClickLevel}) => {\n const selected = levels.find(l => l.value === selectedLevel)\n\n if (!selected) {\n throw new Error('Unknown level type provided to ')\n }\n\n const button = (active: boolean, onClick) => (\n \n
    \n \n
    {selected.value}
    \n
    \n \n )\n\n const items = levels.map(({value, display, hex}) => (\n onClickLevel(value)}\n testID={`check-levels--dropdown-item ${value}`}\n >\n
    \n \n
    {display}
    \n
    \n \n ))\n\n const menu = (onCollapse: () => void) => (\n \n {items}\n \n )\n\n return (\n \n )\n}\n\nexport default CheckLevelsDropdown\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n FlexBox,\n Panel,\n ComponentSize,\n PanelBody,\n TextBlock,\n FlexDirection,\n InfluxColors,\n} from '@influxdata/clockface'\nimport CheckLevelsDropdown from 'src/checks/components/CheckLevelsDropdown'\n\n// Actions\nimport {\n setStaleTime,\n setTimeSince,\n setLevel,\n} from 'src/alerting/actions/alertBuilder'\n\n// Types\nimport {AppState} from 'src/types'\nimport DurationInput from 'src/shared/components/DurationInput'\nimport {CHECK_OFFSET_OPTIONS} from 'src/alerting/constants'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DeadmanConditions: FC = ({\n staleTime,\n timeSince,\n level,\n onSetStaleTime,\n onSetTimeSince,\n onSetLevel,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {staleTime, timeSince, level}}: AppState) => ({\n staleTime,\n timeSince,\n level,\n})\n\nconst mdtp = {\n onSetStaleTime: setStaleTime,\n onSetTimeSince: setTimeSince,\n onSetLevel: setLevel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(DeadmanConditions)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {\n FlexBox,\n FlexDirection,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\nimport ThresholdConditions from 'src/alerting/components/builder/ThresholdConditions'\nimport DeadmanConditions from 'src/alerting/components/builder/DeadmanConditions'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\n\n// Types\nimport {CheckType, AppState} from 'src/types'\n\ninterface StateProps {\n checkType: CheckType\n}\n\ntype Props = StateProps\n\nconst CheckConditionsCard: FC = ({checkType}) => {\n let cardTitle: string\n let conditionsComponent: JSX.Element\n\n if (checkType === 'deadman') {\n cardTitle = 'Deadman'\n conditionsComponent = \n } else if (checkType === 'threshold') {\n cardTitle = 'Thresholds'\n conditionsComponent = \n } else {\n throw new Error('Incorrect check type provided to ')\n }\n\n return (\n \n \n \n \n {conditionsComponent}\n \n \n \n )\n}\n\nconst mstp = ({alertBuilder: {type}}: AppState) => {\n return {checkType: type}\n}\n\nexport default connect(mstp, null)(CheckConditionsCard)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\n// Types\nimport {\n NotificationRuleDraft,\n AppState,\n NotificationEndpoint,\n ResourceType,\n} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n rule: NotificationRuleDraft\n}\n\ninterface StateProps {\n endpoints: NotificationEndpoint[]\n}\n\ntype Props = OwnProps & StateProps\n\nconst MatchingRuleCard: FC = ({rule, endpoints}) => {\n const endpoint = endpoints.find(e => e.id === rule.endpointID)\n\n return (\n \n \n \n \n <>{`Checks every: ${rule.every}`}\n <>{`Sends notifications to: ${endpoint.name}`}\n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {\n endpoints,\n }\n}\n\nexport default connect(mstp)(MatchingRuleCard)\n","// Libraries\nimport React, {FC, useState, useEffect} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {uniq} from 'lodash'\nimport {fromFlux} from '@influxdata/giraffe'\n\n// Components\nimport MatchingRuleCard from 'src/alerting/components/builder/MatchingRuleCard'\nimport {\n SpinnerContainer,\n TechnoSpinner,\n FlexBox,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\n\n// Selectors & Utils\nimport {getOrg} from 'src/organizations/selectors'\nimport {ruleToDraftRule} from 'src/notifications/rules/utils'\n\n// API\nimport {getNotificationRules as apiGetNotificationRules} from 'src/client'\n\n//Types\nimport {\n NotificationRule,\n AppState,\n GenRule,\n NotificationRuleDraft,\n} from 'src/types'\nimport {EmptyState, ComponentSize, RemoteDataState} from '@influxdata/clockface'\nimport BuilderCard from 'src/timeMachine/components/builderCard/BuilderCard'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst CheckMatchingRulesCard: FC = ({orgID, tags, queryResults}) => {\n const getMatchingRules = async (): Promise => {\n const checkTags = tags\n .filter(t => t.key && t.value)\n .map(t => [t.key, t.value])\n\n const queryTags = []\n\n if (queryResults) {\n const joined = queryResults.join('\\n\\n')\n const table = fromFlux(joined).table\n const fluxGroupKeyUnion = fromFlux(joined).fluxGroupKeyUnion.filter(\n v => v !== '_start' && v !== '_stop'\n )\n\n fluxGroupKeyUnion.forEach(gk => {\n const values = uniq(table.getColumn(gk, 'string'))\n values.forEach(v => {\n queryTags.push([gk, v])\n })\n })\n }\n\n const tagsList = [...checkTags, ...queryTags].map(t => [\n 'tag',\n `${t[0].trim()}:${t[1].trim()}`,\n ])\n\n const resp = await apiGetNotificationRules({\n query: [['orgID', orgID], ...tagsList] as any,\n })\n\n if (resp.status !== 200) {\n setMatchingRules({matchingRules: [], status: RemoteDataState.Error})\n return\n }\n\n const matchingRules: NotificationRuleDraft[] = resp.data.notificationRules.map(\n (r: GenRule) => ruleToDraftRule(r)\n )\n\n setMatchingRules({\n matchingRules,\n status: RemoteDataState.Done,\n })\n }\n\n const [{matchingRules, status}, setMatchingRules] = useState<{\n matchingRules: NotificationRuleDraft[]\n status: RemoteDataState\n }>({matchingRules: [], status: RemoteDataState.NotStarted})\n\n useEffect(() => {\n setMatchingRules({\n matchingRules,\n status: RemoteDataState.Loading,\n })\n\n getMatchingRules()\n }, [tags, queryResults]) // eslint-disable-line react-hooks/exhaustive-deps\n\n let contents: JSX.Element\n\n if (\n status === RemoteDataState.NotStarted ||\n status === RemoteDataState.Loading\n ) {\n contents = (\n } loading={status} />\n )\n } else if (!matchingRules.length) {\n contents = (\n \n \n Notification Rules configured to act on tag sets matching this Alert\n Check will show up here\n \n \n Looks like no notification rules match the tag set defined in this\n Alert Check\n \n \n )\n } else {\n contents = (\n <>\n {matchingRules.map(r => (\n \n ))}\n \n )\n }\n\n return (\n \n \n \n \n {contents}\n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n alertBuilder: {tags},\n } = state\n const {id: orgID} = getOrg(state)\n\n const {\n queryResults: {files},\n } = getActiveTimeMachine(state)\n\n return {tags, orgID, queryResults: files}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(CheckMatchingRulesCard)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport CheckMetaCard from 'src/checks/components/CheckMetaCard'\nimport CheckMessageCard from 'src/checks/components/CheckMessageCard'\nimport CheckConditionsCard from 'src/checks/components/CheckConditionsCard'\nimport CheckMatchingRulesCard from 'src/checks/components/CheckMatchingRulesCard'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nconst AlertBuilder: FC = () => {\n return (\n
    \n \n \n \n {isFlagEnabled('matchingNotificationRules') && }\n
    \n )\n}\n\nexport default AlertBuilder\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Button} from '@influxdata/clockface'\n\n// Actions\nimport {loadCustomCheckQueryState} from 'src/timeMachine/actions'\n\ninterface DispatchProps {\n onLoadCustomCheckQueryState: typeof loadCustomCheckQueryState\n}\n\nconst CustomizeCheckQueryButton: FC = ({\n onLoadCustomCheckQueryState,\n}) => {\n const switchToEditor = () => {\n onLoadCustomCheckQueryState()\n }\n return (\n \n )\n}\n\nconst mdtp = {\n onLoadCustomCheckQueryState: loadCustomCheckQueryState,\n}\n\nexport default connect<{}, DispatchProps>(null, mdtp)(CustomizeCheckQueryButton)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Button} from '@influxdata/clockface'\n\nconst HelpButton: FunctionComponent = () => {\n const handleClick = () => {\n const newTab = window.open(\n 'https://v2.docs.influxdata.com/v2.0/monitor-alert/checks/create/#configure-the-check'\n )\n newTab.focus()\n }\n\n return (\n \n )\n}\n\nexport default HelpButton\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport TimeMachineAlertBuilder from 'src/alerting/components/builder/AlertBuilder'\nimport {\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport CustomizeCheckQueryButton from 'src/timeMachine/components/CustomizeCheckQueryButton'\nimport HelpButton from 'src/alerting/components/builder/HelpButton'\nimport RawDataToggle from 'src/timeMachine/components/RawDataToggle'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nconst TimeMachineAlerting: FunctionComponent = () => {\n return (\n
    \n
    \n
    Configure a Check
    \n
    \n \n {isFlagEnabled('customCheckQuery') && }\n \n \n \n
    \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport default TimeMachineAlerting\n","// Libraries\nimport React, {FunctionComponent, useState, useEffect} from 'react'\nimport {round} from 'lodash'\nimport classnames from 'classnames'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\n// Components\nimport {TechnoSpinner, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n loading: RemoteDataState\n}\n\nconst ViewLoadingSpinner: FunctionComponent = ({loading}) => {\n const [timerActive, setTimerActive] = useState(false)\n const [seconds, setSeconds] = useState(0)\n\n const timerElementClass = classnames('view-loading-spinner--timer', {\n visible: seconds > 5,\n })\n\n const resetTimer = (): void => {\n setSeconds(0)\n setTimerActive(false)\n }\n\n useEffect(() => {\n if (loading === RemoteDataState.Done || RemoteDataState.Error) {\n resetTimer()\n }\n\n if (loading === RemoteDataState.Loading) {\n setTimerActive(true)\n }\n }, [loading])\n\n useEffect(() => {\n let interval = null\n if (timerActive) {\n interval = setInterval(() => {\n setSeconds(seconds => seconds + 0.1)\n }, 100)\n } else if (!timerActive && seconds !== 0) {\n clearInterval(interval)\n }\n return () => clearInterval(interval)\n }, [timerActive, seconds])\n\n if (loading === RemoteDataState.Loading) {\n return (\n
    \n \n
    {`${round(seconds, 1)}s`}
    \n
    \n )\n }\n\n return null\n}\n\nexport default ViewLoadingSpinner\n","// Libraries\nimport React, {Component, ErrorInfo} from 'react'\n\n// Components\nimport DefaultErrorMessage from 'src/shared/components/DefaultErrorMessage'\n\n// Utils\nimport {reportError, parseComponentName} from 'src/shared/utils/errors'\n\n// Types\nimport {ErrorMessageComponent} from 'src/types'\n\ninterface ErrorBoundaryProps {\n errorComponent: ErrorMessageComponent\n}\n\ninterface ErrorBoundaryState {\n error: Error\n}\n\nclass ErrorBoundary extends Component {\n public static defaultProps = {errorComponent: DefaultErrorMessage}\n\n public state: ErrorBoundaryState = {error: null}\n\n public static getDerivedStateFromError(error: Error) {\n return {error}\n }\n\n public componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n reportError(error, {component: parseComponentName(errorInfo)})\n }\n\n public render() {\n const {error} = this.state\n\n if (error) {\n return \n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {AutoSizer} from 'react-virtualized'\nimport classnames from 'classnames'\n\n// Components\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport ViewSwitcher from 'src/shared/components/ViewSwitcher'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\nimport RawFluxDataTable from 'src/timeMachine/components/RawFluxDataTable'\nimport ErrorBoundary from 'src/shared/components/ErrorBoundary'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\nimport {checkResultsLength} from 'src/shared/utils/vis'\nimport {\n getVisTable,\n getXColumnSelection,\n getYColumnSelection,\n getFillColumnsSelection,\n getSymbolColumnsSelection,\n} from 'src/timeMachine/selectors'\nimport {getTimeRangeWithTimezone, getTimeZone} from 'src/dashboards/selectors'\n\n// Types\nimport {RemoteDataState, AppState} from 'src/types'\n\n// Selectors\nimport {getActiveTimeRange} from 'src/timeMachine/selectors/index'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeMachineVis: SFC = ({\n loading,\n errorMessage,\n timeRange,\n isInitialFetch,\n isViewingRawData,\n files,\n checkType,\n checkThresholds,\n viewProperties,\n giraffeResult,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n timeZone,\n statuses,\n}) => {\n // If the current selections for `xColumn`/`yColumn`/ etc. are invalid given\n // the current Flux response, attempt to make a valid selection instead. This\n // fallback logic is contained within the selectors that supply each of these\n // props. Note that in a dashboard context, we display an error instead of\n // attempting to fall back to an valid selection.\n const resolvedViewProperties = {\n ...viewProperties,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n }\n\n const noQueries =\n loading === RemoteDataState.NotStarted || !viewProperties.queries.length\n const timeMachineViewClassName = classnames('time-machine--view', {\n 'time-machine--view__empty': noQueries,\n })\n\n return (\n
    \n \n \n \n {isViewingRawData ? (\n \n {({width, height}) =>\n width &&\n height && (\n \n )\n }\n \n ) : (\n \n )}\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const activeTimeMachine = getActiveTimeMachine(state)\n const {\n isViewingRawData,\n view: {properties: viewProperties},\n queryResults: {\n status: loading,\n errorMessage,\n isInitialFetch,\n files,\n statuses,\n },\n } = activeTimeMachine\n const timeRange = getTimeRangeWithTimezone(state)\n const {\n alertBuilder: {type: checkType, thresholds: checkThresholds},\n } = state\n\n const giraffeResult = getVisTable(state)\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const fillColumns = getFillColumnsSelection(state)\n const symbolColumns = getSymbolColumnsSelection(state)\n\n const timeZone = getTimeZone(state)\n\n return {\n loading,\n checkType,\n checkThresholds,\n errorMessage,\n isInitialFetch,\n files,\n viewProperties,\n isViewingRawData,\n giraffeResult,\n xColumn,\n yColumn,\n fillColumns,\n symbolColumns,\n timeZone,\n timeRange: getActiveTimeRange(timeRange, viewProperties.queries),\n statuses,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(TimeMachineVis)\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {Dropdown, Form, Grid} from '@influxdata/clockface'\n\n// Utils\nimport {resolveGeom} from 'src/shared/utils/vis'\n\n// Types\nimport {XYGeom} from 'src/types'\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n geom: XYGeom\n onSetGeom: (geom: XYGeom) => void\n}\n\nconst getGeomLabel = (geom: XYGeom): string => {\n switch (geom) {\n case 'monotoneX':\n return 'Smooth'\n case 'step':\n return 'Step'\n default:\n case 'line':\n return 'Linear'\n }\n}\n\nconst Geom: SFC = ({geom, onSetGeom}) => {\n return (\n \n \n (\n \n {getGeomLabel(resolveGeom(geom))}\n \n )}\n menu={onCollapse => (\n \n \n Linear\n \n \n Smooth\n \n \n Step\n \n \n )}\n />\n \n \n )\n}\n\nexport default Geom\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Form, Input, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n label: string\n onUpdateYAxisLabel: (label: string) => void\n}\nclass YAxisTitle extends PureComponent {\n public render() {\n const {label} = this.props\n\n return (\n \n \n \n \n \n )\n }\n\n private handleChange = (e: ChangeEvent) => {\n const {onUpdateYAxisLabel} = this.props\n\n onUpdateYAxisLabel(e.target.value)\n }\n}\n\nexport default YAxisTitle\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, Grid} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n prefix: string\n suffix: string\n axisName: string\n onUpdateAxisPrefix: (prefix: string) => void\n onUpdateAxisSuffix: (suffix: string) => void\n}\n\nclass AxisAffixes extends PureComponent {\n public render() {\n const {prefix, suffix, axisName} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleUpdateAxisPrefix = (e: ChangeEvent): void => {\n const {onUpdateAxisPrefix} = this.props\n const prefix = e.target.value\n onUpdateAxisPrefix(prefix)\n }\n\n private handleUpdateAxisSuffix = (e: ChangeEvent): void => {\n const {onUpdateAxisSuffix} = this.props\n const suffix = e.target.value\n onUpdateAxisSuffix(suffix)\n }\n}\n\nexport default AxisAffixes\n","// Libraries\nimport React, {CSSProperties, FunctionComponent} from 'react'\n\nconst generateGradientStyle = (colors: string[]): CSSProperties => {\n const stops = colors\n .map((hex, i) => `${hex} ${Math.round((i / (colors.length - 1)) * 100)}%`)\n .join(', ')\n\n return {\n background: `linear-gradient(to right, ${stops})`,\n }\n}\n\ninterface Props {\n name: string\n colors: string[]\n}\n\nconst ColorSchemeDropdownItem: FunctionComponent = ({name, colors}) => {\n return (\n
    \n \n
    {name}
    \n
    \n )\n}\n\nexport default ColorSchemeDropdownItem\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {Dropdown, DropdownMenuTheme} from '@influxdata/clockface'\nimport ColorSchemeDropdownItem from 'src/shared/components/ColorSchemeDropdownItem'\n\n// Constants\nimport {LINE_COLOR_SCALES} from 'src/shared/constants/graphColorPalettes'\n\n// Types\nimport {Color} from 'src/types/colors'\n\ninterface Props {\n value: Color[]\n onChange: (colors: Color[]) => void\n}\n\ninterface Scale {\n name: string\n id: string\n colors: Array<{hex: string}>\n}\n\nconst findSelectedScale = (colors: Color[]): Scale => {\n const key = (colors: Color[]) => colors.map(color => color.hex).join(', ')\n const needle = key(colors)\n const selectedScale = LINE_COLOR_SCALES.find(\n d => key(d.colors as Color[]) === needle\n )\n\n if (selectedScale) {\n return selectedScale\n } else {\n return LINE_COLOR_SCALES[0]\n }\n}\n\nconst ColorSchemeDropdown: SFC = ({value, onChange}) => {\n const selectedScale = findSelectedScale(value)\n\n return (\n (\n \n c.hex)}\n />\n \n )}\n menu={onCollapse => (\n \n {LINE_COLOR_SCALES.map(({id, name, colors}) => (\n \n c.hex)}\n />\n \n ))}\n \n )}\n />\n )\n}\n\nexport default ColorSchemeDropdown\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Form, Grid} from '@influxdata/clockface'\nimport ColorSchemeDropdown from 'src/shared/components/ColorSchemeDropdown'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\nimport {Color} from 'src/types/colors'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n colors: Color[]\n onUpdateColors: (colors: Color[]) => void\n}\n\n@ErrorHandling\nclass LineGraphColorSelector extends PureComponent {\n public render() {\n const {colors, onUpdateColors} = this.props\n\n return (\n \n \n \n \n \n )\n }\n}\n\nexport default LineGraphColorSelector\n","// Libraries\nimport React, {useState, SFC, KeyboardEvent} from 'react'\n\n// Components\nimport {Form, Input, SelectGroup, Grid} from '@influxdata/clockface'\n\n// Utils\nimport {useOneWayState} from 'src/shared/utils/useOneWayState'\n\n// Types\nimport {Columns, ButtonShape} from '@influxdata/clockface'\n\ninterface MinMaxInputsProps {\n initialMin: string\n initialMax: string\n onSetMinMax: (minMax: [number, number]) => void\n}\n\nconst MinMaxInputs: SFC = ({\n initialMin,\n initialMax,\n onSetMinMax,\n}) => {\n const [minInput, setMinInput] = useOneWayState(initialMin)\n const [maxInput, setMaxInput] = useOneWayState(initialMax)\n\n const emitIfValid = () => {\n let newMin = parseFloat(minInput)\n let newMax = parseFloat(maxInput)\n if (isNaN(newMin)) {\n newMin = null\n }\n\n if (isNaN(newMax)) {\n newMax = null\n }\n\n if (initialMin === minInput && initialMax === maxInput) {\n // Only emit the change event if an actual change has occurred\n return\n }\n\n onSetMinMax([newMin, newMax])\n }\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n emitIfValid()\n }\n }\n\n return (\n <>\n \n \n setMinInput(e.target.value)}\n onBlur={emitIfValid}\n onKeyPress={handleKeyPress}\n testID=\"auto-domain--min\"\n />\n \n \n \n \n setMaxInput(e.target.value)}\n onBlur={emitIfValid}\n onKeyPress={handleKeyPress}\n testID=\"auto-domain--max\"\n />\n \n \n \n )\n}\n\nconst formatDomainValue = (value: number | null): string => {\n return value === null ? '' : String(value)\n}\n\ninterface AutoDomainInputProps {\n domain: [number, number]\n onSetDomain: (domain: [number, number]) => void\n label?: string\n}\n\nconst AutoDomainInput: SFC = ({\n domain,\n onSetDomain,\n label = 'Set Domain',\n}) => {\n const [showInputs, setShowInputs] = useState(!!domain)\n\n const handleChooseAuto = () => {\n setShowInputs(false)\n onSetDomain(null)\n }\n\n const handleChooseCustom = () => {\n setShowInputs(true)\n }\n\n const initialMin = Array.isArray(domain) ? formatDomainValue(domain[0]) : ''\n const initialMax = Array.isArray(domain) ? formatDomainValue(domain[1]) : ''\n\n return (\n \n \n \n \n \n \n Auto\n \n \n Custom\n \n \n \n \n {showInputs && (\n \n \n \n )}\n \n \n )\n}\n\nexport default AutoDomainInput\n","import {AxisScale, Base} from 'src/types'\n\nexport const AXES_SCALE_OPTIONS = {\n LINEAR: 'linear' as AxisScale,\n LOG: 'log' as AxisScale,\n BASE_2: '2' as Base,\n BASE_10: '10' as Base,\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Form, SelectGroup, Grid} from '@influxdata/clockface'\n\n// Constants\nimport {AXES_SCALE_OPTIONS} from 'src/dashboards/constants/cellEditor'\n\n// Types\nimport {Columns, ButtonShape} from '@influxdata/clockface'\n\ninterface Props {\n base: string\n onUpdateYAxisBase: (base: string) => void\n}\n\nconst {BASE_2, BASE_10} = AXES_SCALE_OPTIONS\n\nclass YAxisBase extends PureComponent {\n public render() {\n const {base, onUpdateYAxisBase} = this.props\n\n return (\n \n \n \n \n None\n \n \n SI\n \n \n Binary\n \n \n \n \n )\n }\n}\n\nexport default YAxisBase\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {SelectDropdown, Form, ComponentStatus} from '@influxdata/clockface'\n\ninterface Props {\n selectedColumn: string\n availableColumns: string[]\n axisName: string\n onSelectColumn: (col: string) => void\n}\n\nconst ColumnSelector: FunctionComponent = ({\n selectedColumn,\n onSelectColumn,\n availableColumns,\n axisName,\n}) => {\n return (\n \n \n \n )\n}\n\nexport default ColumnSelector\n","// Libraries\nimport React, {FC} from 'react'\n\ninterface Props {\n label: string\n checked: boolean\n onSetChecked: (checked: boolean) => void\n testID?: string\n}\n\n// TODO: Replace this with the Clockface checkbox once available\n//\n// See https://github.com/influxdata/influxdb/issues/14125.\nconst Checkbox: FC = ({label, checked, onSetChecked, testID}) => {\n return (\n \n )\n}\n\nexport default Checkbox\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {SelectDropdown} from '@influxdata/clockface'\n\n// Utils\nimport {resolveTimeFormat} from 'src/dashboards/utils/tableGraph'\n\n// Constants\nimport {FORMAT_OPTIONS} from 'src/dashboards/constants'\n\ninterface Props {\n timeFormat: string\n onTimeFormatChange: (format: string) => void\n}\n\nconst TimeFormatSetting: FunctionComponent = ({\n timeFormat,\n onTimeFormatChange,\n}) => (\n option.text)}\n selectedOption={resolveTimeFormat(timeFormat)}\n onSelect={onTimeFormatChange}\n />\n)\n\nexport default TimeFormatSetting\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {capitalize} from 'lodash'\n\n// Components\nimport {Grid, Form, Dropdown} from '@influxdata/clockface'\nimport Geom from 'src/timeMachine/components/view_options/Geom'\nimport YAxisTitle from 'src/timeMachine/components/view_options/YAxisTitle'\nimport AxisAffixes from 'src/timeMachine/components/view_options/AxisAffixes'\nimport ColorSelector from 'src/timeMachine/components/view_options/ColorSelector'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport YAxisBase from 'src/timeMachine/components/view_options/YAxisBase'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\nimport Checkbox from 'src/shared/components/Checkbox'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setColors,\n setYAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setYAxisBounds,\n setYAxisBase,\n setGeom,\n setXColumn,\n setYColumn,\n setShadeBelow,\n setLinePosition,\n setTimeFormat,\n SetHoverDimension,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {parseYBounds} from 'src/shared/utils/vis'\nimport {\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {\n AppState,\n XYGeom,\n Axes,\n Color,\n NewView,\n XYViewProperties,\n ViewType,\n} from 'src/types'\nimport {LinePosition} from '@influxdata/giraffe'\n\ninterface OwnProps {\n type: ViewType\n axes: Axes\n geom?: XYGeom\n colors: Color[]\n shadeBelow?: boolean\n hoverDimension?: 'auto' | 'x' | 'y' | 'xy'\n position: LinePosition\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass LineOptions extends PureComponent {\n public render() {\n const {\n axes: {\n y: {label, prefix, suffix, base},\n },\n colors,\n geom,\n shadeBelow,\n position,\n onSetPosition,\n onUpdateColors,\n onUpdateYAxisLabel,\n onUpdateAxisPrefix,\n onUpdateAxisSuffix,\n onUpdateYAxisBase,\n onSetShadeBelow,\n onSetGeom,\n onSetYColumn,\n yColumn,\n onSetXColumn,\n xColumn,\n numericColumns,\n onSetTimeFormat,\n timeFormat,\n hoverDimension = 'auto',\n onSetHoverDimension,\n } = this.props\n\n return (\n <>\n \n

    Customize Line Graph

    \n
    Data
    \n \n \n \n \n \n
    Options
    \n
    \n {geom && }\n c.type === 'scale')}\n onUpdateColors={onUpdateColors}\n />\n \n \n \n \n
    \n \n (\n \n {hoverDimension}\n \n )}\n menu={onCollapse => (\n \n \n Auto\n \n \n X Axis\n \n \n Y Axis\n \n \n X & Y Axis\n \n \n )}\n />\n \n
    \n \n
    Y Axis
    \n
    \n \n \n onUpdateAxisPrefix(prefix, 'y')}\n onUpdateAxisSuffix={suffix => onUpdateAxisSuffix(suffix, 'y')}\n />\n \n \n \n (\n \n {capitalize(position)}\n \n )}\n menu={onCollapse => (\n \n \n Overlaid\n \n \n Stacked\n \n \n )}\n />\n \n \n \n )\n }\n\n private get yDomain(): [number, number] {\n return parseYBounds(this.props.axes.y.bounds)\n }\n\n private setBoundValues = (value: number | null): string | null => {\n return value === null ? null : String(value)\n }\n\n private handleSetYDomain = (yDomain: [number, number]): void => {\n let bounds: [string | null, string | null]\n\n if (yDomain) {\n const [min, max] = yDomain\n bounds = [this.setBoundValues(min), this.setBoundValues(max)]\n } else {\n bounds = [null, null]\n }\n\n this.props.onUpdateYAxisBounds(bounds)\n }\n}\n\nconst mstp = (state: AppState) => {\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView\n const {timeFormat} = view.properties\n return {xColumn, yColumn, numericColumns, timeFormat}\n}\n\nconst mdtp = {\n onUpdateYAxisLabel: setYAxisLabel,\n onUpdateAxisPrefix: setAxisPrefix,\n onUpdateAxisSuffix: setAxisSuffix,\n onUpdateYAxisBounds: setYAxisBounds,\n onUpdateYAxisBase: setYAxisBase,\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetShadeBelow: setShadeBelow,\n onUpdateColors: setColors,\n onSetGeom: setGeom,\n onSetPosition: setLinePosition,\n onSetTimeFormat: setTimeFormat,\n onSetHoverDimension: SetHoverDimension,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(LineOptions)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n Input,\n Grid,\n Toggle,\n InputToggleType,\n InputLabel,\n FlexBox,\n AlignItems,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Types\nimport {Columns} from '@influxdata/clockface'\n\ninterface Props {\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n type: string\n onUpdatePrefix: (prefix: string) => void\n onUpdateTickPrefix: (tickPrefix: string) => void\n onUpdateSuffix: (suffix: string) => void\n onUpdateTickSuffix: (tickSuffix: string) => void\n}\n\nclass Affixes extends PureComponent {\n public render() {\n const {prefix, suffix} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n {this.optionalTicks}\n \n )\n }\n\n private get optionalTicks(): JSX.Element {\n const {type, tickPrefix, tickSuffix} = this.props\n\n if (type === 'single-stat') {\n return null\n } else {\n return (\n <>\n \n \n \n Optional Prefix\n \n \n \n \n \n Optional Suffix\n \n \n \n )\n }\n }\n\n private handleUpdatePrefix = (e: ChangeEvent): void => {\n const {onUpdatePrefix} = this.props\n const prefix = e.target.value\n onUpdatePrefix(prefix)\n }\n\n private handleUpdateSuffix = (e: ChangeEvent): void => {\n const {onUpdateSuffix} = this.props\n const suffix = e.target.value\n onUpdateSuffix(suffix)\n }\n private handleUpdateTickSuffix = (e: string): void => {\n const {onUpdateTickSuffix} = this.props\n if (e === 'false' || !!!e) {\n onUpdateTickSuffix('true')\n } else {\n onUpdateTickSuffix('false')\n }\n }\n private handleUpdateTickPrefix = (e: string): void => {\n const {onUpdateTickPrefix} = this.props\n if (e === 'false' || !!!e) {\n onUpdateTickPrefix('true')\n } else {\n onUpdateTickPrefix('false')\n }\n }\n}\n\nexport default Affixes\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Components\nimport {\n Form,\n Grid,\n AutoInput,\n AutoInputMode,\n Input,\n InputType,\n} from '@influxdata/clockface'\n\n// Constants\nimport {MIN_DECIMAL_PLACES, MAX_DECIMAL_PLACES} from 'src/dashboards/constants'\n\n// Types\nimport {DecimalPlaces} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props extends DecimalPlaces {\n onDecimalPlacesChange: (decimalPlaces: DecimalPlaces) => void\n}\n\ninterface State {\n mode: AutoInputMode\n value: number\n}\n\n@ErrorHandling\nclass DecimalPlacesOption extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n mode: this.props.digits ? AutoInputMode.Custom : AutoInputMode.Auto,\n value: this.props.digits,\n }\n }\n\n public render() {\n const {mode} = this.state\n\n return (\n \n \n \n }\n />\n \n \n )\n }\n\n public handleSetValue = (event: ChangeEvent): void => {\n const value = convertUserInputToNumOrNaN(event)\n const {digits, onDecimalPlacesChange} = this.props\n\n if (value === value && value >= MIN_DECIMAL_PLACES) {\n onDecimalPlacesChange({\n digits: Math.min(value, MAX_DECIMAL_PLACES),\n isEnforced: true,\n })\n } else {\n onDecimalPlacesChange({digits, isEnforced: false})\n }\n this.setState({value})\n }\n\n private handleChangeMode = (mode: AutoInputMode): void => {\n this.setState({mode})\n }\n}\n\nexport default DecimalPlacesOption\n","// Libraries\nimport React, {FC, CSSProperties} from 'react'\nimport {capitalize} from 'lodash'\n\n// Components\nimport {\n Dropdown,\n ComponentStatus,\n DropdownMenuTheme,\n} from '@influxdata/clockface'\n\n// Types\nimport {ColorLabel} from 'src/types/colors'\n\ninterface PassedProps {\n selected: ColorLabel\n colors: ColorLabel[]\n onChoose: (colors: ColorLabel) => void\n}\n\ninterface DefaultProps {\n disabled?: boolean\n style?: CSSProperties\n}\n\ntype Props = PassedProps & DefaultProps\n\nconst ColorDropdown: FC = props => {\n const {selected, colors, onChoose, disabled, style} = props\n\n const status = disabled ? ComponentStatus.Disabled : ComponentStatus.Default\n\n return (\n (\n \n
    \n \n
    \n {capitalize(selected.name)}\n
    \n
    \n
    \n )}\n menu={onCollapse => (\n \n {colors.map(color => (\n \n
    \n \n
    \n {capitalize(color.name)}\n
    \n
    \n \n ))}\n
    \n )}\n />\n )\n}\n\nColorDropdown.defaultProps = {\n disabled: false,\n style: {flex: '0 0 120px'},\n}\n\nexport default ColorDropdown\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {\n Input,\n SquareButton,\n IconFont,\n ComponentStatus,\n TextBlock,\n FlexBox,\n ComponentSize,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\nimport ColorDropdown from 'src/shared/components/ColorDropdown'\n\n// Constants\nimport {\n THRESHOLD_COLORS,\n BASE_THRESHOLD_ID,\n COLOR_TYPE_MIN,\n COLOR_TYPE_MAX,\n} from 'src/shared/constants/thresholds'\n\ninterface Props {\n id: string\n type: string\n name: string\n value: string\n error?: string\n onChangeValue: (value: string) => void\n onChangeColor: (name: string, hex: string) => void\n onRemove: () => void\n onBlur: () => void\n}\n\nconst ThresholdSetting: FunctionComponent = ({\n id,\n type,\n name,\n value,\n error,\n onChangeValue,\n onChangeColor,\n onRemove,\n onBlur,\n}) => {\n const isBaseThreshold = id === BASE_THRESHOLD_ID\n\n let label: string = ''\n\n if (isBaseThreshold) {\n label = 'Base'\n } else if (type === COLOR_TYPE_MIN) {\n label = 'Minimum'\n } else if (type === COLOR_TYPE_MAX) {\n label = 'Maximum'\n } else {\n label = 'Value is >='\n }\n\n const isRemoveable =\n !isBaseThreshold && type !== COLOR_TYPE_MIN && type !== COLOR_TYPE_MAX\n\n const inputStatus = error ? ComponentStatus.Error : ComponentStatus.Default\n\n const dropdownStyle = isBaseThreshold\n ? {flex: '1 0 120px'}\n : {flex: '0 0 120px'}\n\n return (\n <>\n \n \n {!isBaseThreshold && (\n onChangeValue(e.target.value)}\n onBlur={onBlur}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n onBlur()\n }\n }}\n />\n )}\n d.name === name)}\n onChoose={({name, hex}) => onChangeColor(name, hex)}\n style={dropdownStyle}\n />\n {isRemoveable && (\n \n )}\n \n {error && (\n \n {error}\n \n )}\n \n )\n}\n\nexport default ThresholdSetting\n","// Libraries\nimport uuid from 'uuid'\n\n// Constants\nimport {\n THRESHOLD_COLORS,\n DEFAULT_VALUE_MIN,\n DEFAULT_VALUE_MAX,\n COLOR_TYPE_THRESHOLD,\n COLOR_TYPE_MIN,\n COLOR_TYPE_MAX,\n BASE_THRESHOLD_ID,\n} from 'src/shared/constants/thresholds'\n\n// Types\nimport {Color} from 'src/types'\n\n/*\n Sort a list of thresholds for rendering.\n\n - Base or minimum thresholds come first\n - Max thresholds come last\n - All other thresholds are sorted by value\n\n*/\nexport const sortThresholds = (thresholds: Color[]): Color[] => {\n const result = [...thresholds]\n\n result.sort((a, b) =>\n a.id === BASE_THRESHOLD_ID ? -Infinity : a.value - b.value\n )\n\n return result\n}\n\n/*\n Given a list of thresholds, return an object of error messages for any\n invalid threshold in the list.\n\n A threshold is invalid if:\n\n - Its value is NaN\n - Its value is less than the min threshold in the list\n - Its value is more than the max threshold in the list\n\n*/\nexport const validateThresholds = (\n thresholds: Color[]\n): {[thresholdID: string]: string} => {\n const minThreshold = thresholds.find(({type}) => type === COLOR_TYPE_MIN)\n const maxThreshold = thresholds.find(({type}) => type === COLOR_TYPE_MAX)\n const errors = {}\n\n for (const {id, value, type} of thresholds) {\n if (isNaN(value)) {\n errors[id] = 'Please enter a valid number'\n } else if (\n minThreshold &&\n type !== COLOR_TYPE_MIN &&\n value < minThreshold.value\n ) {\n errors[id] = 'Please enter a value greater than the minimum threshold'\n } else if (\n maxThreshold &&\n type !== COLOR_TYPE_MAX &&\n value > maxThreshold.value\n ) {\n errors[id] = 'Please enter a value less than the maximum threshold'\n }\n }\n\n return errors\n}\n\n/*\n Given a list of thresholds, produce a new threshold that is suitable for\n adding to the list.\n*/\nexport const addThreshold = (thresholds: Color[]): Color => {\n const values = thresholds.map(threshold => threshold.value)\n\n let minValue = Math.min(...values)\n let maxValue = Math.max(...values)\n\n if (minValue === Infinity || isNaN(minValue) || minValue === maxValue) {\n minValue = DEFAULT_VALUE_MIN\n maxValue = DEFAULT_VALUE_MAX\n }\n\n const value = randomTick(minValue, maxValue)\n\n const colorChoice =\n THRESHOLD_COLORS[Math.floor(Math.random() * THRESHOLD_COLORS.length)]\n\n const firstThresholdType = thresholds[0].type\n\n const thresholdType =\n firstThresholdType === COLOR_TYPE_MIN ||\n firstThresholdType === COLOR_TYPE_MAX\n ? COLOR_TYPE_THRESHOLD\n : firstThresholdType\n\n const threshold = {\n ...colorChoice,\n id: uuid.v4(),\n type: thresholdType,\n value,\n }\n\n return threshold\n}\n\n/*\n Generate a nice random number between `min` and `max` inclusive.\n*/\nconst randomTick = (min: number, max: number): number => {\n const domainWidth = max - min\n\n let roundTo\n\n if (domainWidth > 1000) {\n roundTo = 100\n } else if (domainWidth > 100) {\n roundTo = 10\n } else if (domainWidth > 50) {\n roundTo = 5\n } else if (domainWidth > 10) {\n roundTo = 1\n } else {\n roundTo = null\n }\n\n let value: number\n\n if (roundTo) {\n value = Math.round((Math.random() * (max - min)) / roundTo) * roundTo\n } else {\n value = Number((Math.random() * (max - min)).toFixed(2))\n }\n\n return value\n}\n","// Libraries\nimport React, {useMemo, useEffect, FunctionComponent} from 'react'\nimport {cloneDeep} from 'lodash'\n\n// Components\nimport ThresholdSetting from 'src/shared/components/ThresholdSetting'\nimport {\n Button,\n ButtonShape,\n IconFont,\n FlexBox,\n ComponentSize,\n FlexDirection,\n AlignItems,\n} from '@influxdata/clockface'\n\n// Utils\nimport {useOneWayReducer} from 'src/shared/utils/useOneWayReducer'\nimport {\n sortThresholds,\n validateThresholds,\n addThreshold,\n} from 'src/shared/utils/thresholds'\n\n// Types\nimport {Color} from 'src/types'\n\ninterface Props {\n thresholds: Color[]\n onSetThresholds: (thresholds: Color[]) => void\n}\n\ninterface State {\n thresholds: Color[]\n inputs: {[thresholdID: string]: string}\n errors: {[thresholdID: string]: string}\n isValid: boolean\n isDirty: boolean\n}\n\ntype Action =\n | {type: 'COLOR_CHANGED'; id: string; name: string; hex: string}\n | {type: 'VALUE_CHANGED'; id: string; value: string}\n | {type: 'VALUE_BLURRED'; id: string}\n | {type: 'THRESHOLD_REMOVED'; id: string}\n | {type: 'THRESHOLD_ADDED'}\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'COLOR_CHANGED': {\n const {id, name, hex} = action\n\n const thresholds = state.thresholds.map(threshold =>\n threshold.id === id ? {...threshold, name, hex} : threshold\n )\n\n return {...state, thresholds, isDirty: true}\n }\n\n case 'VALUE_CHANGED': {\n const {id, value} = action\n\n const inputs = {...state.inputs, [id]: value}\n\n return {...state, inputs, isDirty: true, isValid: false}\n }\n\n case 'VALUE_BLURRED': {\n const thresholds = state.thresholds.map(threshold =>\n threshold.id === action.id\n ? {...threshold, value: parseFloat(state.inputs[action.id])}\n : threshold\n )\n\n const errors = validateThresholds(thresholds)\n\n const isValid = Object.values(errors).length === 0\n\n return {...state, thresholds, errors, isValid}\n }\n\n case 'THRESHOLD_ADDED': {\n const newThreshold = addThreshold(state.thresholds)\n\n const thresholds = sortThresholds([...state.thresholds, newThreshold])\n\n const inputs = {\n ...state.inputs,\n [newThreshold.id]: String(newThreshold.value),\n }\n\n return {...state, thresholds, inputs, isDirty: true}\n }\n\n case 'THRESHOLD_REMOVED': {\n const thresholds = state.thresholds.filter(\n threshold => threshold.id !== action.id\n )\n\n return {...state, thresholds, isDirty: true}\n }\n\n default:\n const unknownAction: never = action\n const unknownActionType = (unknownAction as any).type\n\n throw new Error(\n `unhandled action of type \"${unknownActionType}\" in ThresholdsSettings`\n )\n }\n}\n\nconst ThresholdsSettings: FunctionComponent = ({\n thresholds,\n onSetThresholds,\n}) => {\n const initialState: State = useMemo(\n () => ({\n thresholds: sortThresholds(\n cloneDeep(thresholds.filter(({type}) => type !== 'scale'))\n ),\n inputs: thresholds.reduce(\n (acc, {id, value}) => ({...acc, [id]: String(value)}),\n {}\n ),\n errors: {},\n isDirty: false,\n isValid: true,\n }),\n [thresholds]\n )\n\n const [state, dispatch] = useOneWayReducer(reducer, initialState)\n\n useEffect(() => {\n if (state.isDirty && state.isValid) {\n onSetThresholds(state.thresholds)\n }\n }, [state, onSetThresholds])\n\n return (\n \n dispatch({type: 'THRESHOLD_ADDED'})}\n />\n {state.thresholds.map(threshold => {\n const onChangeValue = value =>\n dispatch({\n type: 'VALUE_CHANGED',\n id: threshold.id,\n value,\n })\n\n const onChangeColor = (name, hex) =>\n dispatch({\n type: 'COLOR_CHANGED',\n id: threshold.id,\n name,\n hex,\n })\n\n const onRemove = () =>\n dispatch({\n type: 'THRESHOLD_REMOVED',\n id: threshold.id,\n })\n\n const onBlur = () =>\n dispatch({\n type: 'VALUE_BLURRED',\n id: threshold.id,\n })\n\n return (\n \n )\n })}\n \n )\n}\n\nexport default ThresholdsSettings\n","import {\n useRef,\n useReducer,\n useCallback,\n Reducer,\n ReducerState,\n ReducerAction,\n Dispatch,\n} from 'react'\n\n/*\n Works like `useReducer`, except if the `defaultState` argument changes then\n the reducer state will reset to `defaultState`.\n\n It is assumed that the passed `reducer` function has a stable identity over\n the lifetime of the component.\n*/\nexport const useOneWayReducer = >(\n reducer: R,\n defaultState: ReducerState\n): [ReducerState, Dispatch>] => {\n // The value of `defaultState` the last time the hook was called\n const prevDefaultState = useRef(defaultState)\n\n // Whether or not the next run of the reducer should be against its internal\n // state, or against the defaultState\n const reduceDefaultState = useRef(false)\n\n const wrappedReducer = useCallback(\n (state: ReducerState, action: ReducerAction) => {\n if (reduceDefaultState.current) {\n reduceDefaultState.current = false\n\n return reducer(prevDefaultState.current, action)\n }\n\n return reducer(state, action)\n },\n [reducer]\n )\n\n const [reducerState, dispatch] = useReducer(wrappedReducer, defaultState)\n\n if (defaultState !== prevDefaultState.current) {\n reduceDefaultState.current = true\n prevDefaultState.current = defaultState\n\n return [defaultState, dispatch]\n }\n\n return [reducerState, dispatch]\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Grid} from '@influxdata/clockface'\nimport Affixes from 'src/timeMachine/components/view_options/Affixes'\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\n\n// Actions\nimport {\n setDecimalPlaces,\n setPrefix,\n setTickPrefix,\n setSuffix,\n setTickSuffix,\n setColors,\n} from 'src/timeMachine/actions'\n\n// Types\nimport {ViewType} from 'src/types'\nimport {DecimalPlaces} from 'src/types/dashboards'\nimport {Color} from 'src/types/colors'\n\ninterface OwnProps {\n type: ViewType\n colors: Color[]\n decimalPlaces?: DecimalPlaces\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass GaugeOptions extends PureComponent {\n public render() {\n const {\n prefix,\n tickPrefix,\n suffix,\n tickSuffix,\n onUpdatePrefix,\n onUpdateTickPrefix,\n onUpdateSuffix,\n onUpdateTickSuffix,\n onUpdateColors,\n } = this.props\n\n return (\n <>\n \n

    Customize Gauge

    \n
    \n \n {this.decimalPlaces}\n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n )\n }\n\n private get decimalPlaces(): JSX.Element {\n const {onUpdateDecimalPlaces, decimalPlaces} = this.props\n\n if (!decimalPlaces) {\n return null\n }\n\n return (\n \n )\n }\n}\n\nconst mdtp = {\n onUpdatePrefix: setPrefix,\n onUpdateTickPrefix: setTickPrefix,\n onUpdateSuffix: setSuffix,\n onUpdateTickSuffix: setTickSuffix,\n onUpdateDecimalPlaces: setDecimalPlaces,\n onUpdateColors: setColors,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(GaugeOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Form, SelectGroup} from '@influxdata/clockface'\n\n// Actions\nimport {\n setBackgroundThresholdColoring,\n setTextThresholdColoring,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\nimport {ButtonShape} from '@influxdata/clockface'\nimport {Color} from 'src/types/colors'\n\nenum ThresholdColoringSetting {\n Background = 'background',\n Text = 'text',\n}\n\ninterface StateProps {\n colors: Color[]\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nclass ThresholdColoring extends PureComponent {\n public render() {\n return (\n \n \n \n Background\n \n \n Text\n \n \n \n )\n }\n\n private get activeSetting(): ThresholdColoringSetting {\n const {colors} = this.props\n const activeSetting: ThresholdColoringSetting = get(\n colors.filter(c => c.type !== 'scale'),\n '0.type',\n ThresholdColoringSetting.Text\n )\n\n return activeSetting\n }\n\n private handleClick = (setting: ThresholdColoringSetting): void => {\n if (setting === ThresholdColoringSetting.Background) {\n this.props.onSetBackground()\n } else if (setting === ThresholdColoringSetting.Text) {\n this.props.onSetText()\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const colors = getActiveTimeMachine(state).view.properties.colors as Color[]\n\n return {colors}\n}\n\nconst mdtp = {\n onSetBackground: setBackgroundThresholdColoring,\n onSetText: setTextThresholdColoring,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ThresholdColoring)\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Grid} from '@influxdata/clockface'\nimport Affixes from 'src/timeMachine/components/view_options/Affixes'\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ThresholdColoring from 'src/timeMachine/components/view_options/ThresholdColoring'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\n\n// Actions\nimport {\n setDecimalPlaces,\n setPrefix,\n setTickPrefix,\n setSuffix,\n setTickSuffix,\n setColors,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {\n AppState,\n NewView,\n Color,\n SingleStatViewProperties,\n DecimalPlaces,\n} from 'src/types'\n\ninterface StateProps {\n colors: Color[]\n prefix: string\n tickPrefix: string\n suffix: string\n tickSuffix: string\n decimalPlaces: DecimalPlaces\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nconst SingleStatOptions: SFC = props => {\n const {\n colors,\n prefix,\n tickPrefix,\n suffix,\n tickSuffix,\n decimalPlaces,\n onSetPrefix,\n onSetTickPrefix,\n onSetSuffix,\n onSetTickSuffix,\n onSetDecimalPlaces,\n onSetColors,\n } = props\n\n return (\n <>\n \n

    Customize Single-Stat

    \n
    \n \n {decimalPlaces && (\n \n )}\n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const view = getActiveTimeMachine(state).view as NewView<\n SingleStatViewProperties\n >\n const {\n colors,\n prefix,\n suffix,\n decimalPlaces,\n tickPrefix,\n tickSuffix,\n } = view.properties\n\n return {colors, prefix, suffix, decimalPlaces, tickPrefix, tickSuffix}\n}\n\nconst mdtp = {\n onSetPrefix: setPrefix,\n onSetTickPrefix: setTickPrefix,\n onSetSuffix: setSuffix,\n onSetTickSuffix: setTickSuffix,\n onSetDecimalPlaces: setDecimalPlaces,\n onSetColors: setColors,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SingleStatOptions)\n","// Libraries\nimport React, {Component, ChangeEvent} from 'react'\nimport {findDOMNode} from 'react-dom'\nimport {\n DragSourceSpec,\n DropTargetConnector,\n DragSourceMonitor,\n DragSource,\n DropTarget,\n DragSourceConnector,\n ConnectDragSource,\n ConnectDropTarget,\n ConnectDragPreview,\n} from 'react-dnd'\n\n// Components\nimport {Input, Icon} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {ComponentStatus, IconFont} from '@influxdata/clockface'\nimport {FieldOption} from 'src/types'\n\n// Constants\nconst columnType = 'column'\n\ninterface Props {\n internalName: string\n displayName: string\n visible: boolean\n index: number\n id: string\n key: string\n onUpdateColumn: (column: FieldOption) => void\n isDragging?: boolean\n connectDragSource?: ConnectDragSource\n connectDropTarget?: ConnectDropTarget\n connectDragPreview?: ConnectDragPreview\n onMoveColumn: (dragIndex: number, hoverIndex: number) => void\n}\n\nconst columnSource: DragSourceSpec = {\n beginDrag(props) {\n return {\n id: props.id,\n index: props.index,\n }\n },\n}\n\nconst columnTarget = {\n hover(props, monitor, component) {\n const dragIndex = monitor.getItem().index\n const hoverIndex = props.index\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return\n }\n\n // Determine rectangle on screen\n const domNode = findDOMNode(component) as Element\n const hoverBoundingRect = domNode.getBoundingClientRect()\n\n // Get vertical middle\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2\n\n // Determine mouse position\n const clientOffset = monitor.getClientOffset()\n\n // Get pixels to the top\n const hoverClientY = clientOffset.y - hoverBoundingRect.top\n\n // Only perform the move when the mouse has crossed half of the items height\n // When dragging downwards, only move when the cursor is below 50%\n // When dragging upwards, only move when the cursor is above 50%\n\n // Dragging downwards\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return\n }\n\n // Dragging upwards\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return\n }\n // Time to actually perform the action\n props.onMoveColumn(dragIndex, hoverIndex)\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n monitor.getItem().index = hoverIndex\n },\n}\n\nfunction ColumnDropTarget(dropColumnType, dropColumnTarget, dropHandler) {\n return target =>\n DropTarget(dropColumnType, dropColumnTarget, dropHandler)(target) as any\n}\n\nfunction ColumnDragSource(dragColumnType, dragColumnSource, dragHandler) {\n return target =>\n DragSource(dragColumnType, dragColumnSource, dragHandler)(target) as any\n}\n\n@ErrorHandling\n@ColumnDropTarget(columnType, columnTarget, (connect: DropTargetConnector) => ({\n connectDropTarget: connect.dropTarget(),\n}))\n@ColumnDragSource(\n columnType,\n columnSource,\n (connect: DragSourceConnector, monitor: DragSourceMonitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n })\n)\nexport default class DraggableColumn extends Component {\n constructor(props) {\n super(props)\n\n this.handleColumnRename = this.handleColumnRename.bind(this)\n this.handleToggleVisible = this.handleToggleVisible.bind(this)\n }\n public render(): JSX.Element | null {\n const {\n internalName,\n displayName,\n connectDragPreview,\n connectDropTarget,\n } = this.props\n\n return connectDragPreview(\n connectDropTarget(\n
    \n
    \n {this.dragHandle}\n {this.visibilityToggle}\n
    {internalName}
    \n
    \n \n
    \n )\n )\n }\n\n private get inputStatus(): ComponentStatus {\n const {visible} = this.props\n\n if (visible) {\n return ComponentStatus.Default\n }\n\n return ComponentStatus.Disabled\n }\n\n private get dragHandle(): JSX.Element {\n const {connectDragSource} = this.props\n\n return connectDragSource(\n
    \n \n
    \n )\n }\n\n private get visibilityToggle(): JSX.Element {\n const {visible, internalName} = this.props\n\n if (visible) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n )\n }\n\n private get labelClassName(): string {\n const {visible} = this.props\n\n if (visible) {\n return 'customizable-field--label'\n }\n\n return 'customizable-field--label__hidden'\n }\n\n private get columnClassName(): string {\n const {isDragging} = this.props\n\n if (isDragging) {\n return 'customizable-field dragging'\n }\n\n return 'customizable-field'\n }\n\n private handleColumnRename = (e: ChangeEvent): void => {\n const {onUpdateColumn, internalName, visible} = this.props\n onUpdateColumn({internalName, displayName: e.target.value, visible})\n }\n\n private handleToggleVisible = (): void => {\n const {onUpdateColumn, internalName, displayName, visible} = this.props\n onUpdateColumn({internalName, displayName, visible: !visible})\n }\n}\n","import React from 'react'\nimport HTML5Backend from 'react-dnd-html5-backend'\nimport {DndProvider} from 'react-dnd'\n\nexport default function(\n Component: React.ComponentClass | React.StatelessComponent\n) {\n return (props: TProps) => (\n \n \n \n )\n}\n","// Libraries\nimport React, {Component} from 'react'\n\n// Components\nimport {Form, EmptyState, Grid} from '@influxdata/clockface'\nimport DraggableColumn from 'src/shared/components/draggable_column/DraggableColumn'\n\n// Types\nimport {FieldOption} from 'src/types/dashboards'\nimport {ComponentSize} from '@influxdata/clockface'\nimport withDragDropContext from 'src/shared/decorators/withDragDropContext'\n\ninterface Props {\n className?: string\n columns: FieldOption[]\n onMoveColumn: (dragIndex: number, hoverIndex: number) => void\n onUpdateColumn: (column: FieldOption) => void\n}\n\nclass ColumnsOptions extends Component {\n public render() {\n const {className} = this.props\n\n return (\n \n \n
    {this.draggableColumns}
    \n
    \n
    \n )\n }\n\n private get draggableColumns(): JSX.Element | JSX.Element[] {\n const {columns, onMoveColumn, onUpdateColumn} = this.props\n\n if (columns.length) {\n return columns.map((column: FieldOption, i: number) => (\n \n ))\n }\n\n return (\n \n \n This query returned no columns\n \n \n )\n }\n}\n\nexport default withDragDropContext(ColumnsOptions)\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {\n Form,\n InputLabel,\n SlideToggle,\n FlexBox,\n Grid,\n} from '@influxdata/clockface'\n\n// Types\nimport {Columns, FlexDirection, ComponentSize} from '@influxdata/clockface'\n\ninterface Props {\n fixed: boolean\n onToggleFixFirstColumn: () => void\n}\n\nconst GraphOptionsFixFirstColumn: SFC = ({\n fixed,\n onToggleFixFirstColumn,\n}) => (\n \n \n \n \n Scroll with table\n \n Fixed\n \n \n \n \n)\n\nexport default GraphOptionsFixFirstColumn\n","// Libraries\nimport _ from 'lodash'\nimport React from 'react'\n\n// Component\nimport {Form, Grid, Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {FieldOption} from 'src/types/dashboards'\n\ninterface Props {\n selected: FieldOption\n fieldOptions: FieldOption[]\n onChange: (fieldOption: FieldOption) => void\n}\n\nconst SortBy = ({fieldOptions, onChange, selected}: Props) => {\n return (\n \n \n (\n \n {_.get(selected, 'displayName', 'Choose a sort field')}\n \n )}\n menu={onCollapse => (\n \n {fieldOptions\n .filter(field => !!field.internalName)\n .map(field => (\n \n {field.displayName}\n \n ))}\n \n )}\n />\n \n \n )\n}\n\nexport default SortBy\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport DecimalPlacesOption from 'src/timeMachine/components/view_options/DecimalPlaces'\nimport ColumnOptions from 'src/shared/components/columns_options/ColumnsOptions'\nimport FixFirstColumn from 'src/timeMachine/components/view_options/FixFirstColumn'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\nimport SortBy from 'src/timeMachine/components/view_options/SortBy'\nimport {Grid, Form} from '@influxdata/clockface'\nimport ThresholdsSettings from 'src/shared/components/ThresholdsSettings'\nimport ThresholdColoring from 'src/timeMachine/components/view_options/ThresholdColoring'\n\n// Constants\n\n// Actions\nimport {\n setDecimalPlaces,\n setColors,\n setFieldOptions,\n updateFieldOption,\n setTableOptions,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {\n AppState,\n NewView,\n DecimalPlaces,\n TableViewProperties,\n FieldOption,\n TableOptions as ViewTableOptions,\n Color,\n} from 'src/types'\nimport {move} from 'src/shared/utils/move'\n\ninterface StateProps {\n colors: Color[]\n timeFormat: string\n fieldOptions: FieldOption[]\n decimalPlaces: DecimalPlaces\n tableOptions: ViewTableOptions\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\n@ErrorHandling\nexport class TableOptions extends Component {\n public render() {\n const {\n timeFormat,\n onSetColors,\n fieldOptions,\n tableOptions,\n colors,\n decimalPlaces,\n onSetTimeFormat,\n onSetDecimalPlaces,\n } = this.props\n\n const filteredColumns = this.filterFieldOptions(fieldOptions)\n\n const {fixFirstColumn, sortBy} = tableOptions\n\n return (\n <>\n \n

    Customize Table

    \n
    \n {!!fieldOptions.length && (\n \n )}\n \n \n \n \n \n {decimalPlaces && (\n \n )}\n \n

    Column Settings

    \n
    \n {/* TODO (watts): this currently doesn't working removing for alpha.\n */}\n \n \n \n

    Colorized Thresholds

    \n
    \n \n \n \n \n \n \n \n )\n }\n\n private filterFieldOptions = (fieldOptions: FieldOption[]) => {\n return fieldOptions.filter(\n col =>\n col.internalName !== 'time' &&\n col.internalName !== '' &&\n col.internalName !== 'result' &&\n col.internalName !== 'table'\n )\n }\n\n private handleChangeSortBy = (sortBy: FieldOption) => {\n const {tableOptions, onSetTableOptions} = this.props\n onSetTableOptions({...tableOptions, sortBy})\n }\n\n private handleMoveColumn = (dragIndex: number, hoverIndex: number) => {\n const fieldOptions = move(\n this.filterFieldOptions(this.props.fieldOptions),\n dragIndex,\n hoverIndex\n )\n this.props.onSetFieldOptions(fieldOptions)\n }\n\n private handleUpdateColumn = (fieldOption: FieldOption) => {\n this.props.onUpdateFieldOption(fieldOption)\n }\n\n private handleToggleFixFirstColumn = () => {\n const {onSetTableOptions, tableOptions} = this.props\n const fixFirstColumn = !tableOptions.fixFirstColumn\n onSetTableOptions({...tableOptions, fixFirstColumn})\n }\n}\n\nconst mstp = (state: AppState) => {\n const view = getActiveTimeMachine(state).view as NewView\n const {\n colors,\n decimalPlaces,\n fieldOptions,\n tableOptions,\n timeFormat,\n } = view.properties\n\n return {colors, decimalPlaces, fieldOptions, tableOptions, timeFormat}\n}\n\nconst mdtp = {\n onSetDecimalPlaces: setDecimalPlaces,\n onSetColors: setColors,\n onSetFieldOptions: setFieldOptions,\n onUpdateFieldOption: updateFieldOption,\n onSetTableOptions: setTableOptions,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TableOptions)\n","export const move = (values: T[], fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex) {\n return values.slice()\n }\n\n const targetValue = values[fromIndex]\n\n const valuesRemoved = [\n ...values.slice(0, fromIndex),\n ...values.slice(fromIndex + 1),\n ]\n\n return [\n ...valuesRemoved.slice(0, toIndex),\n targetValue,\n ...valuesRemoved.slice(toIndex),\n ]\n}\n","// Libraries\nimport React, {FunctionComponent, ChangeEvent} from 'react'\n\n// Components\nimport {AutoInput, AutoInputMode, Input, InputType} from '@influxdata/clockface'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Actions\nimport {setBinCount} from 'src/timeMachine/actions'\n\ninterface Props {\n binCount?: number\n onSetBinCount: typeof setBinCount\n}\n\nconst BinCountInput: FunctionComponent = ({binCount, onSetBinCount}) => {\n const handleInputChange = (e: ChangeEvent): void => {\n const binCount = convertUserInputToNumOrNaN(e)\n\n onSetBinCount(binCount)\n }\n\n const handleChangeMode = (mode: AutoInputMode): void => {\n if (mode === AutoInputMode.Auto) {\n onSetBinCount(null)\n } else {\n onSetBinCount(30)\n }\n }\n\n return (\n \n }\n />\n )\n}\n\nexport default BinCountInput\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {\n Form,\n Input,\n Grid,\n Dropdown,\n MultiSelectDropdown,\n} from '@influxdata/clockface'\nimport ColorSchemeDropdown from 'src/shared/components/ColorSchemeDropdown'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport BinCountInput from 'src/timeMachine/components/view_options/BinCountInput'\n\n// Actions\nimport {\n setXColumn,\n setFillColumns,\n setBinCount,\n setHistogramPosition,\n setColors,\n setXDomain,\n setXAxisLabel,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getXColumnSelection,\n getNumericColumns,\n getGroupableColumns,\n getFillColumnsSelection,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\nimport {HistogramPosition} from '@influxdata/giraffe'\nimport {Color} from 'src/types/colors'\nimport {AppState} from 'src/types'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\ninterface OwnProps {\n position: HistogramPosition\n binCount: number\n colors: Color[]\n xDomain: number[]\n xAxisLabel: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst HistogramOptions: SFC = props => {\n const {\n xColumn,\n fillColumns,\n numericColumns,\n availableGroupColumns,\n position,\n binCount,\n colors,\n xDomain,\n xAxisLabel,\n onSetXColumn,\n onSetFillColumns,\n onSetPosition,\n onSetBinCount,\n onSetColors,\n onSetXDomain,\n onSetXAxisLabel,\n } = props\n\n const groupDropdownStatus = availableGroupColumns.length\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n const onSelectFillColumns = (option: string) => {\n const columnExists = fillColumns.find(col => col === option)\n let updatedColumns = fillColumns\n\n if (columnExists) {\n updatedColumns = fillColumns.filter(fc => fc !== option)\n } else {\n updatedColumns = [...fillColumns, option]\n }\n\n onSetFillColumns(updatedColumns)\n }\n\n return (\n \n

    Customize Histogram

    \n
    Data
    \n \n \n \n \n
    Options
    \n \n \n \n \n (\n \n {_.capitalize(position)}\n \n )}\n menu={onCollapse => (\n \n \n Overlaid\n \n \n Stacked\n \n \n )}\n />\n \n \n \n \n
    X Axis
    \n \n onSetXAxisLabel(e.target.value)}\n />\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const numericColumns = getNumericColumns(state)\n const availableGroupColumns = getGroupableColumns(state)\n const xColumn = getXColumnSelection(state)\n const fillColumns = getFillColumnsSelection(state)\n\n return {numericColumns, availableGroupColumns, xColumn, fillColumns}\n}\n\nconst mdtp = {\n onSetXColumn: setXColumn,\n onSetFillColumns: setFillColumns,\n onSetBinCount: setBinCount,\n onSetPosition: setHistogramPosition,\n onSetColors: setColors,\n onSetXDomain: setXDomain,\n onSetXAxisLabel: setXAxisLabel,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(HistogramOptions)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Dropdown, DropdownMenuTheme} from '@influxdata/clockface'\nimport ColorSchemeDropdownItem from 'src/shared/components/ColorSchemeDropdownItem'\n\ninterface Props {\n colorSchemes: Array<{name: string; colors: string[]}>\n selectedColorScheme: string[]\n onSelectColorScheme: (scheme: string[]) => void\n}\n\nconst HexColorSchemeDropdown: FunctionComponent = ({\n colorSchemes,\n selectedColorScheme,\n onSelectColorScheme,\n}) => {\n const selected = colorSchemes.find(\n scheme =>\n scheme.colors.length === selectedColorScheme.length &&\n scheme.colors.every((color, i) => color === selectedColorScheme[i])\n )\n\n let selectedName\n let resolvedSchemes\n\n if (selected) {\n selectedName = selected.name\n resolvedSchemes = colorSchemes\n } else {\n selectedName = 'Custom'\n resolvedSchemes = [\n ...colorSchemes,\n {name: 'Custom', colors: selectedColorScheme},\n ]\n }\n\n return (\n (\n \n \n \n )}\n menu={onCollapse => (\n \n {resolvedSchemes.map(({name, colors}) => (\n \n \n \n ))}\n \n )}\n />\n )\n}\n\nexport default HexColorSchemeDropdown\n","// Libraries\nimport React, {FunctionComponent, ChangeEvent, useState} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {VIRIDIS, MAGMA, INFERNO, PLASMA} from '@influxdata/giraffe'\nimport {\n Form,\n Grid,\n Input,\n Columns,\n InputType,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Utils\nimport {convertUserInputToNumOrNaN} from 'src/shared/utils/convertUserInput'\n\n// Components\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport HexColorSchemeDropdown from 'src/shared/components/HexColorSchemeDropdown'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\n// Actions\nimport {\n setXColumn,\n setYColumn,\n setBinSize,\n setColorHexes,\n setXDomain,\n setYDomain,\n setXAxisLabel,\n setYAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, NewView, HeatmapViewProperties} from 'src/types'\n\nconst HEATMAP_COLOR_SCHEMES = [\n {name: 'Magma', colors: MAGMA},\n {name: 'Inferno', colors: INFERNO},\n {name: 'Viridis', colors: VIRIDIS},\n {name: 'Plasma', colors: PLASMA},\n]\n\ninterface OwnProps {\n xDomain: number[]\n yDomain: number[]\n xAxisLabel: string\n yAxisLabel: string\n xPrefix: string\n xSuffix: string\n yPrefix: string\n ySuffix: string\n colors: string[]\n binSize: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nconst HeatmapOptions: FunctionComponent = props => {\n const [binInputStatus, setBinInputStatus] = useState(ComponentStatus.Default)\n const [binInput, setBinInput] = useState(props.binSize)\n\n const onSetBinSize = (e: ChangeEvent) => {\n const val = convertUserInputToNumOrNaN(e)\n setBinInput(val)\n\n if (isNaN(val) || val < 5) {\n setBinInputStatus(ComponentStatus.Error)\n return\n }\n\n setBinInputStatus(ComponentStatus.Default)\n props.onSetBinSize(val)\n }\n\n return (\n \n

    Customize Heatmap

    \n
    Data
    \n \n \n \n \n \n
    Options
    \n \n \n \n \n \n \n
    X Axis
    \n \n props.onSetXAxisLabel(e.target.value)}\n />\n \n \n \n \n props.onSetPrefix(e.target.value, 'x')}\n />\n \n \n \n \n props.onSetSuffix(e.target.value, 'x')}\n />\n \n \n \n \n
    Y Axis
    \n \n props.onSetYAxisLabel(e.target.value)}\n />\n \n \n \n \n props.onSetPrefix(e.target.value, 'y')}\n />\n \n \n \n \n props.onSetSuffix(e.target.value, 'y')}\n />\n \n \n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView<\n HeatmapViewProperties\n >\n const {timeFormat} = view.properties\n return {xColumn, yColumn, numericColumns, timeFormat}\n}\n\nconst mdtp = {\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetBinSize: setBinSize,\n onSetColors: setColorHexes,\n onSetXDomain: setXDomain,\n onSetYDomain: setYDomain,\n onSetXAxisLabel: setXAxisLabel,\n onSetYAxisLabel: setYAxisLabel,\n onSetPrefix: setAxisPrefix,\n onSetSuffix: setAxisSuffix,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(HeatmapOptions)\n","// Libraries\nimport React, {SFC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, Input, Grid, MultiSelectDropdown} from '@influxdata/clockface'\nimport AxisAffixes from 'src/timeMachine/components/view_options/AxisAffixes'\nimport TimeFormat from 'src/timeMachine/components/view_options/TimeFormat'\n\n// Actions\nimport {\n setFillColumns,\n setSymbolColumns,\n setYAxisLabel,\n setXAxisLabel,\n setAxisPrefix,\n setAxisSuffix,\n setColorHexes,\n setYDomain,\n setXColumn,\n setYColumn,\n setTimeFormat,\n} from 'src/timeMachine/actions'\n\n// Utils\nimport {\n getGroupableColumns,\n getFillColumnsSelection,\n getSymbolColumnsSelection,\n getXColumnSelection,\n getYColumnSelection,\n getNumericColumns,\n getActiveTimeMachine,\n} from 'src/timeMachine/selectors'\n\n// Constants\nimport {GIRAFFE_COLOR_SCHEMES} from 'src/shared/constants'\n\n// Types\nimport {ComponentStatus} from '@influxdata/clockface'\nimport {AppState, NewView, ScatterViewProperties} from 'src/types'\nimport HexColorSchemeDropdown from 'src/shared/components/HexColorSchemeDropdown'\nimport AutoDomainInput from 'src/shared/components/AutoDomainInput'\nimport ColumnSelector from 'src/shared/components/ColumnSelector'\n\ninterface OwnProps {\n xColumn: string\n yColumn: string\n fillColumns: string[]\n symbolColumns: string[]\n xDomain: number[]\n yDomain: number[]\n xAxisLabel: string\n yAxisLabel: string\n xPrefix: string\n xSuffix: string\n yPrefix: string\n ySuffix: string\n colors: string[]\n showNoteWhenEmpty: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst ScatterOptions: SFC = props => {\n const {\n fillColumns,\n symbolColumns,\n availableGroupColumns,\n yAxisLabel,\n xAxisLabel,\n onSetFillColumns,\n onSetSymbolColumns,\n colors,\n onSetColors,\n onSetYAxisLabel,\n onSetXAxisLabel,\n yPrefix,\n ySuffix,\n onUpdateAxisSuffix,\n onUpdateAxisPrefix,\n yDomain,\n onSetYDomain,\n xColumn,\n yColumn,\n numericColumns,\n onSetXColumn,\n onSetYColumn,\n onSetTimeFormat,\n timeFormat,\n } = props\n\n const groupDropdownStatus = availableGroupColumns.length\n ? ComponentStatus.Default\n : ComponentStatus.Disabled\n\n const handleFillColumnSelect = (column: string): void => {\n let updatedFillColumns\n\n if (fillColumns.includes(column)) {\n updatedFillColumns = fillColumns.filter(col => col !== column)\n } else {\n updatedFillColumns = [...fillColumns, column]\n }\n\n onSetFillColumns(updatedFillColumns)\n }\n\n const handleSymbolColumnSelect = (column: string): void => {\n let updatedSymbolColumns\n\n if (symbolColumns.includes(column)) {\n updatedSymbolColumns = symbolColumns.filter(col => col !== column)\n } else {\n updatedSymbolColumns = [...symbolColumns, column]\n }\n\n onSetSymbolColumns(updatedSymbolColumns)\n }\n\n return (\n \n

    Customize Scatter Plot

    \n
    Data
    \n\n \n \n \n \n \n \n \n \n \n \n \n
    Options
    \n \n \n \n
    X Axis
    \n \n onSetXAxisLabel(e.target.value)}\n />\n \n
    Y Axis
    \n \n onSetYAxisLabel(e.target.value)}\n />\n \n \n onUpdateAxisPrefix(prefix, 'y')}\n onUpdateAxisSuffix={suffix => onUpdateAxisSuffix(suffix, 'y')}\n />\n \n \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const availableGroupColumns = getGroupableColumns(state)\n const fillColumns = getFillColumnsSelection(state)\n const symbolColumns = getSymbolColumnsSelection(state)\n const xColumn = getXColumnSelection(state)\n const yColumn = getYColumnSelection(state)\n const numericColumns = getNumericColumns(state)\n const view = getActiveTimeMachine(state).view as NewView<\n ScatterViewProperties\n >\n const {timeFormat} = view.properties\n\n return {\n availableGroupColumns,\n fillColumns,\n symbolColumns,\n xColumn,\n yColumn,\n numericColumns,\n timeFormat,\n }\n}\n\nconst mdtp = {\n onSetFillColumns: setFillColumns,\n onSetSymbolColumns: setSymbolColumns,\n onSetColors: setColorHexes,\n onSetYAxisLabel: setYAxisLabel,\n onSetXAxisLabel: setXAxisLabel,\n onUpdateAxisPrefix: setAxisPrefix,\n onUpdateAxisSuffix: setAxisSuffix,\n onSetYDomain: setYDomain,\n onSetXColumn: setXColumn,\n onSetYColumn: setYColumn,\n onSetTimeFormat: setTimeFormat,\n}\n\nconst connector = connect(mstp, mdtp)\nexport default connector(ScatterOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport LineOptions from 'src/timeMachine/components/view_options/LineOptions'\nimport GaugeOptions from 'src/timeMachine/components/view_options/GaugeOptions'\nimport SingleStatOptions from 'src/timeMachine/components/view_options/SingleStatOptions'\nimport TableOptions from 'src/timeMachine/components/view_options/TableOptions'\nimport HistogramOptions from 'src/timeMachine/components/view_options/HistogramOptions'\nimport HeatmapOptions from 'src/timeMachine/components/view_options/HeatmapOptions'\nimport ScatterOptions from 'src/timeMachine/components/view_options/ScatterOptions'\n\n// Types\nimport {View, NewView} from 'src/types'\n\ninterface Props {\n view: View | NewView\n}\n\nclass OptionsSwitcher extends PureComponent {\n public render() {\n const {view} = this.props\n\n switch (view.properties.type) {\n case 'line-plus-single-stat':\n return (\n <>\n \n \n \n )\n case 'xy':\n return \n case 'gauge':\n return \n case 'single-stat':\n return \n case 'table':\n return \n case 'histogram':\n return \n case 'heatmap':\n return \n case 'scatter':\n return \n default:\n return
    \n }\n }\n}\n\nexport default OptionsSwitcher\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {setType} from 'src/timeMachine/actions'\n\n// Components\nimport OptionsSwitcher from 'src/timeMachine/components/view_options/OptionsSwitcher'\nimport {Grid, DapperScrollbars} from '@influxdata/clockface'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass ViewOptions extends PureComponent {\n public render() {\n return (\n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const {view} = getActiveTimeMachine(state)\n\n return {view}\n}\n\nconst mdtp = {\n onUpdateType: setType,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ViewOptions)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {executeCheckQuery} from 'src/timeMachine/actions/queries'\n\n// Utils\nimport {getActiveTimeMachine, getActiveQuery} from 'src/timeMachine/selectors'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n didClick: boolean\n}\n\nclass SubmitQueryButton extends PureComponent {\n public state: State = {didClick: false}\n\n public componentDidUpdate(prevProps: Props) {\n if (\n prevProps.queryStatus === RemoteDataState.Loading &&\n this.props.queryStatus === RemoteDataState.Done\n ) {\n this.setState({didClick: false})\n }\n }\n\n public render() {\n return (\n \n )\n }\n\n private get buttonStatus(): ComponentStatus {\n const {queryStatus, submitButtonDisabled} = this.props\n const {didClick} = this.state\n\n if (submitButtonDisabled) {\n return ComponentStatus.Disabled\n }\n\n if (queryStatus === RemoteDataState.Loading && didClick) {\n // Only show loading state for button if it was just clicked\n return ComponentStatus.Loading\n }\n\n return ComponentStatus.Default\n }\n\n private handleClick = (): void => {\n this.props.onExecuteCheckQuery()\n this.setState({didClick: true})\n }\n}\n\nconst mstp = (state: AppState) => {\n const submitButtonDisabled = getActiveQuery(state).text === ''\n const queryStatus = getActiveTimeMachine(state).queryResults.status\n\n return {submitButtonDisabled, queryStatus}\n}\n\nconst mdtp = {\n onExecuteCheckQuery: executeCheckQuery,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SubmitQueryButton)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport TimeMachineFluxEditor from 'src/timeMachine/components/TimeMachineFluxEditor'\nimport SubmitCheckQueryButton from 'src/timeMachine/components/SubmitCheckQueryButton'\nimport RawDataToggle from 'src/timeMachine/components/RawDataToggle'\nimport QueryTabs from 'src/timeMachine/components/QueryTabs'\nimport {\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\n\nconst TimeMachineCheckQuery: FC = () => {\n return (\n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n )\n}\n\nexport default TimeMachineCheckQuery\n","// Libraries\nimport React, {useState, FunctionComponent} from 'react'\nimport {connect} from 'react-redux'\nimport classnames from 'classnames'\n\n// Components\nimport {DraggableResizer, Orientation} from '@influxdata/clockface'\nimport TimeMachineQueries from 'src/timeMachine/components/Queries'\nimport TimeMachineAlerting from 'src/timeMachine/components/TimeMachineAlerting'\nimport TimeMachineVis from 'src/timeMachine/components/Vis'\nimport ViewOptions from 'src/timeMachine/components/view_options/ViewOptions'\nimport TimeMachineCheckQuery from 'src/timeMachine/components/TimeMachineCheckQuery'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, TimeMachineTab} from 'src/types'\n\nconst INITIAL_RESIZER_HANDLE = 0.5\n\ninterface StateProps {\n activeTab: TimeMachineTab\n isViewingVisOptions: boolean\n}\n\nconst TimeMachine: FunctionComponent = ({\n activeTab,\n isViewingVisOptions,\n}) => {\n const [dragPosition, setDragPosition] = useState([INITIAL_RESIZER_HANDLE])\n\n const containerClassName = classnames('time-machine', {\n 'time-machine--split': isViewingVisOptions,\n })\n\n let bottomContents: JSX.Element = null\n if (activeTab === 'alerting') {\n bottomContents = \n } else if (activeTab === 'queries') {\n bottomContents = \n } else if (activeTab === 'customCheckQuery') {\n bottomContents = \n }\n\n return (\n <>\n {isViewingVisOptions && }\n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n {bottomContents}\n
    \n
    \n \n \n
    \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTab, isViewingVisOptions} = getActiveTimeMachine(state)\n\n return {activeTab, isViewingVisOptions}\n}\n\nexport default connect(mstp)(TimeMachine)\n","// Libraries\nimport {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {CLOUD} from 'src/shared/constants'\n\n// Actions\nimport {getReadWriteCardinalityLimits as getReadWriteCardinalityLimitsAction} from 'src/cloud/actions/limits'\n\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass LimitChecker extends PureComponent {\n public componentDidMount() {\n if (CLOUD) {\n this.props.getReadWriteCardinalityLimits()\n }\n }\n\n public render() {\n return this.props.children\n }\n}\n\nconst mdtp = {\n getReadWriteCardinalityLimits: getReadWriteCardinalityLimitsAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(LimitChecker)\n","import qs from 'qs'\nimport {pickBy} from 'lodash'\nimport {RouteComponentProps} from 'react-router-dom'\n\nexport const readQueryParams = (): {[key: string]: any} => {\n return qs.parse(window.location.search, {ignoreQueryPrefix: true})\n}\n\n/*\n Given an object of query parameter keys and values, updates any corresponding\n query parameters in the URL to match. If the supplied object has a null value\n for a key, that query parameter will be removed from the URL altogether.\n*/\nexport const updateQueryParams = (\n updatedQueryParams: object,\n history: RouteComponentProps['history']\n): void => {\n const currentQueryString = window.location.search\n const newQueryParams = pickBy(\n {\n ...qs.parse(currentQueryString, {ignoreQueryPrefix: true}),\n ...updatedQueryParams,\n },\n v => !!v\n )\n\n const newQueryString = qs.stringify(newQueryParams)\n\n history.replace(`${window.location.pathname}?${newQueryString}`)\n}\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {useDispatch} from 'react-redux'\n\n// Components\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\n\n// Actions\nimport {setActiveTimeMachine} from 'src/timeMachine/actions'\nimport {setBuilderBucketIfExists} from 'src/timeMachine/actions/queryBuilder'\n\n// Utils\nimport {HoverTimeProvider} from 'src/dashboards/utils/hoverTime'\nimport {queryBuilderFetcher} from 'src/timeMachine/apis/QueryBuilderFetcher'\nimport {readQueryParams} from 'src/shared/utils/queryParams'\n\nconst DataExplorer: FC = () => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n const bucketQP = readQueryParams()['bucket']\n dispatch(setActiveTimeMachine('de'))\n queryBuilderFetcher.clearCache()\n dispatch(setBuilderBucketIfExists(bucketQP))\n }, [dispatch])\n\n return (\n \n
    \n \n \n \n
    \n
    \n )\n}\n\nexport default DataExplorer\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {IconFont, Button, ComponentColor} from '@influxdata/clockface'\n\nclass SaveAsButton extends PureComponent {\n public render() {\n return (\n <>\n \n \n )\n }\n\n private handleShowOverlay = () => {\n const {\n location: {pathname},\n } = this.props\n\n this.props.history.push(`${pathname}/save`)\n }\n}\n\nexport default withRouter(SaveAsButton)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\n\n// Actions\nimport {toggleVisOptions} from 'src/timeMachine/actions'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n isViewingVisOptions: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = StateProps & ReduxProps\n\nexport const VisOptionsButton: FC = ({\n isViewingVisOptions,\n onToggleVisOptions,\n}) => {\n const color = isViewingVisOptions\n ? ComponentColor.Primary\n : ComponentColor.Default\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {isViewingVisOptions} = getActiveTimeMachine(state)\n\n return {isViewingVisOptions}\n}\n\nconst mdtp = {\n onToggleVisOptions: toggleVisOptions,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(VisOptionsButton)\n","import {TimeZone} from 'src/types'\n\nexport const TIME_ZONES: Array<{timeZone: TimeZone; displayName: string}> = [\n {timeZone: 'Local', displayName: 'Local Time'},\n {timeZone: 'UTC', displayName: 'UTC'},\n\n // We can expose more time zone settings in the future, if we want:\n //\n // {timeZone: 'America/Los_Angeles', displayName: 'Los Angeles'}\n //\n]\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {SelectDropdown, IconFont} from '@influxdata/clockface'\n\n// Actions & Selectors\nimport {setTimeZone} from 'src/shared/actions/app'\nimport {getTimeZone} from 'src/dashboards/selectors'\n\n// Constants\nimport {TIME_ZONES} from 'src/shared/constants/timeZones'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst TimeZoneDropdown: FunctionComponent = ({\n timeZone: selectedTimeZone,\n onSetTimeZone,\n}) => {\n return (\n tz.timeZone)}\n selectedOption={selectedTimeZone}\n onSelect={onSetTimeZone}\n buttonIcon={IconFont.Annotate}\n style={{width: '115px'}}\n />\n )\n}\n\nexport {TimeZoneDropdown}\n\nconst mstp = (state: AppState) => {\n return {timeZone: getTimeZone(state)}\n}\n\nconst mdtp = {onSetTimeZone: setTimeZone}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(TimeZoneDropdown)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Button} from '@influxdata/clockface'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\nconst DeleteDataButton: FunctionComponent = ({\n location: {pathname},\n history,\n}) => {\n const onClick = () => history.push(`${pathname}/delete-data`)\n\n return (\n \n \n \n )\n}\n\nexport default withRouter(DeleteDataButton)\n","import React, {PureComponent} from 'react'\n\n// utils\nimport _ from 'lodash'\n\n// components\nimport {Dropdown, DropdownItemType} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// types\nimport {Dashboard} from 'src/types'\nimport {DashboardTemplate} from 'src/dashboards/constants'\n\ninterface Props {\n onSelect: (selectedIDs: string[], value: Dashboard) => void\n selectedIDs: string[]\n dashboards: Dashboard[]\n newDashboardName: string\n}\n\n@ErrorHandling\nclass DashboardsDropdown extends PureComponent {\n public render() {\n return (\n (\n \n {this.dropdownLabel}\n \n )}\n menu={() => (\n \n {this.dropdownItems}\n \n )}\n />\n )\n }\n\n private handleSelectDashboard = (dashboard: Dashboard): void => {\n const {onSelect, selectedIDs} = this.props\n\n let updatedSelection: string[]\n\n if (selectedIDs.includes(dashboard.id)) {\n updatedSelection = selectedIDs.filter(id => id !== dashboard.id)\n } else {\n updatedSelection = [...selectedIDs, dashboard.id]\n }\n\n onSelect(updatedSelection, dashboard)\n }\n\n private get dropdownLabel(): string {\n const {dashboards, selectedIDs, newDashboardName} = this.props\n\n if (!selectedIDs.length) {\n return 'Choose at least 1 dashboard'\n }\n\n const dashboardsWithNew = [\n ...dashboards,\n {...DashboardTemplate, name: newDashboardName},\n ]\n\n return dashboardsWithNew\n .filter(d => selectedIDs.includes(d.id))\n .map(d => d.name)\n .join(', ')\n }\n\n private get dropdownItems(): JSX.Element[] {\n const {dashboards, selectedIDs} = this.props\n const dashboardItems = dashboards.map(d => {\n return (\n \n {d.name}\n \n )\n })\n\n return [this.newDashboardItem, this.dividerItem, ...dashboardItems]\n }\n\n private get newDashboardItem(): JSX.Element {\n const {selectedIDs} = this.props\n\n return (\n \n {DashboardTemplate.name}\n \n )\n }\n\n private get dividerItem(): JSX.Element {\n return \n }\n}\nexport default DashboardsDropdown\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get, isEmpty} from 'lodash'\n\n// Selectors\nimport {getSaveableView} from 'src/timeMachine/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\nimport {sortDashboardByName} from 'src/dashboards/selectors'\n\n// Components\nimport {Form, Input, Button, Grid} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport DashboardsDropdown from 'src/dataExplorer/components/DashboardsDropdown'\n\nimport {\n DashboardTemplate,\n DEFAULT_DASHBOARD_NAME,\n DEFAULT_CELL_NAME,\n} from 'src/dashboards/constants'\n\n// Actions\nimport {getDashboards} from 'src/dashboards/actions/thunks'\nimport {\n createCellWithView,\n createDashboardWithView,\n} from 'src/cells/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Types\nimport {AppState, Dashboard, View, ResourceType} from 'src/types'\nimport {\n Columns,\n InputType,\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\ninterface State {\n targetDashboardIDs: string[]\n cellName: string\n isNameDashVisible: boolean\n newDashboardName: string\n}\n\ninterface OwnProps {\n dismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\n@ErrorHandling\nclass SaveAsCellForm extends PureComponent {\n public state: State = {\n targetDashboardIDs: [],\n cellName: '',\n isNameDashVisible: false,\n newDashboardName: DEFAULT_DASHBOARD_NAME,\n }\n\n public componentDidMount() {\n const {onGetDashboards} = this.props\n onGetDashboards()\n }\n\n public render() {\n const {dismiss, dashboards} = this.props\n const {\n cellName,\n isNameDashVisible,\n targetDashboardIDs,\n newDashboardName,\n } = this.state\n return (\n
    \n \n \n \n \n \n \n \n {isNameDashVisible && this.nameDashboard}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get nameDashboard(): JSX.Element {\n const {newDashboardName} = this.state\n return (\n \n \n \n \n \n )\n }\n\n private get isFormValid(): boolean {\n const {targetDashboardIDs} = this.state\n return !isEmpty(targetDashboardIDs)\n }\n\n private handleSubmit = () => {\n const {\n onCreateCellWithView,\n onCreateDashboardWithView,\n dashboards,\n view,\n dismiss,\n orgID,\n } = this.props\n const {targetDashboardIDs} = this.state\n\n const cellName = this.state.cellName || DEFAULT_CELL_NAME\n const newDashboardName =\n this.state.newDashboardName || DEFAULT_DASHBOARD_NAME\n\n const viewWithProps: View = {...view, name: cellName}\n\n try {\n targetDashboardIDs.forEach(dashID => {\n if (dashID === DashboardTemplate.id) {\n onCreateDashboardWithView(orgID, newDashboardName, viewWithProps)\n return\n }\n\n const selectedDashboard = dashboards.find(d => d.id === dashID)\n onCreateCellWithView(selectedDashboard.id, viewWithProps)\n })\n } catch (error) {\n console.error(error)\n } finally {\n this.resetForm()\n dismiss()\n }\n }\n\n private resetForm() {\n this.setState({\n targetDashboardIDs: [],\n cellName: '',\n isNameDashVisible: false,\n newDashboardName: DEFAULT_DASHBOARD_NAME,\n })\n }\n\n private handleSelectDashboardID = (\n selectedIDs: string[],\n value: Dashboard\n ) => {\n if (value.id === DashboardTemplate.id) {\n this.setState({\n isNameDashVisible: selectedIDs.includes(DashboardTemplate.id),\n })\n }\n this.setState({targetDashboardIDs: selectedIDs})\n }\n\n private handleChangeDashboardName = (e: ChangeEvent) => {\n this.setState({newDashboardName: e.target.value})\n }\n\n private handleChangeCellName = (e: ChangeEvent) => {\n this.setState({cellName: e.target.value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const view = getSaveableView(state)\n const org = getOrg(state)\n const dashboards = getAll(state, ResourceType.Dashboards)\n\n return {\n dashboards: sortDashboardByName(dashboards),\n view,\n orgID: get(org, 'id', ''),\n }\n}\n\nconst mdtp = {\n onGetDashboards: getDashboards,\n onCreateCellWithView: createCellWithView,\n onCreateDashboardWithView: createDashboardWithView,\n notify,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(SaveAsCellForm)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TaskForm from 'src/tasks/components/TaskForm'\n\n// Actions\nimport {saveNewScript} from 'src/tasks/actions/thunks'\nimport {\n setTaskOption,\n clearTask,\n setNewScript,\n} from 'src/tasks/actions/creators'\n\n// Utils\nimport {formatVarsOption} from 'src/variables/utils/formatVarsOption'\nimport {\n taskOptionsToFluxScript,\n addDestinationToFluxScript,\n} from 'src/utils/taskOptionsToFluxScript'\nimport {getAllVariables, asAssignment} from 'src/variables/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getActiveQuery} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, TaskSchedule, TaskOptionKeys} from 'src/types'\n\ninterface OwnProps {\n dismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass SaveAsTaskForm extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public componentDidMount() {\n const {setTaskOption, setNewScript} = this.props\n\n setTaskOption({\n key: 'taskScheduleType',\n value: TaskSchedule.interval,\n })\n\n setNewScript(this.activeScript)\n }\n\n public componentWillUnmount() {\n const {clearTask} = this.props\n\n clearTask()\n }\n\n public render() {\n const {taskOptions, dismiss} = this.props\n\n return (\n \n )\n }\n\n private get isFormValid(): boolean {\n const {\n taskOptions: {name, cron, interval},\n } = this.props\n\n const hasSchedule = !!cron || !!interval\n\n return hasSchedule && !!name && !!this.activeScript\n }\n\n private get activeScript(): string {\n const {activeQuery} = this.props\n\n return activeQuery.text\n }\n\n private handleSubmit = () => {\n const {saveNewScript, newScript, taskOptions} = this.props\n\n // Don't embed variables that are not used in the script\n const vars = [...this.props.userDefinedVars].filter(assignment =>\n newScript.includes(assignment.id.name)\n )\n\n const varOption: string = formatVarsOption(vars) // option v = { ... }\n const taskOption: string = taskOptionsToFluxScript(taskOptions) // option task = { ... }\n const preamble = `${varOption}\\n\\n${taskOption}`\n const script = addDestinationToFluxScript(newScript, taskOptions)\n\n saveNewScript(script, preamble)\n }\n\n private handleChangeToBucketName = (bucketName: string) => {\n const {setTaskOption} = this.props\n\n setTaskOption({key: 'toBucketName', value: bucketName})\n }\n\n private handleChangeScheduleType = (taskScheduleType: TaskSchedule) => {\n const {setTaskOption} = this.props\n\n setTaskOption({key: 'taskScheduleType', value: taskScheduleType})\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const {setTaskOption} = this.props\n\n const key = e.target.name as TaskOptionKeys\n const value = e.target.value\n\n setTaskOption({key, value})\n }\n}\n\nconst mstp = (state: AppState) => {\n const {newScript, taskOptions} = state.resources.tasks\n const activeQuery = getActiveQuery(state)\n const org = getOrg(state)\n const userDefinedVars = getAllVariables(state)\n .map(v => asAssignment(v))\n .filter(v => !!v)\n\n return {\n newScript,\n taskOptions: {...taskOptions, toOrgName: org.name},\n activeQuery,\n userDefinedVars,\n }\n}\n\nconst mdtp = {\n saveNewScript,\n setTaskOption,\n clearTask,\n setNewScript,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(SaveAsTaskForm))\n","import _ from 'lodash'\nimport Papa from 'papaparse'\n\ninterface MapResult {\n values: {[key: string]: string}\n errors: string[]\n}\n\nexport const csvToMap = (csv: string): MapResult => {\n let errors = []\n const trimmed = _.trimEnd(csv, '\\n')\n const parsedTVS = Papa.parse(trimmed)\n const templateValuesData: string[][] = _.get(parsedTVS, 'data', [[]])\n\n if (templateValuesData.length === 0) {\n return {values: {}, errors}\n }\n\n const keys = new Set()\n const values = {}\n\n for (const arr of templateValuesData) {\n if (arr.length === 2 || (arr.length === 3 && arr[2] === '')) {\n const key = trimAndRemoveQuotes(arr[0])\n const value = trimAndRemoveQuotes(arr[1])\n\n if (!keys.has(key) && key !== '') {\n values[key] = value\n keys.add(key)\n }\n } else {\n errors = [...errors, arr[0]]\n }\n }\n\n return {values, errors}\n}\n\nexport const trimAndRemoveQuotes = (elt: string): string => {\n const trimmed = elt.trim()\n const dequoted = trimmed.replace(/(^\")|(\"$)/g, '')\n\n return dequoted\n}\n\nexport const mapToCSV = (values: {[key: string]: string}): string =>\n Object.entries(values)\n .map(([key, value]) => `${key},\"${value}\"`)\n .join('\\n')\n","export const pluralize = (collection: any): string =>\n Object.keys(collection).length === 1 ? '' : 's'\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport _ from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Component\nimport {\n Grid,\n Form,\n TextArea,\n Dropdown,\n Columns,\n Icon,\n IconFont,\n} from '@influxdata/clockface'\n\n// Utils\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {csvToMap, mapToCSV} from 'src/variables/utils/mapBuilder'\nimport {pluralize} from 'src/shared/utils/pluralize'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Constants\nimport {invalidMapType} from 'src/shared/copy/notifications'\n\ntype Values = {[key: string]: string}\ninterface OwnProps {\n values: Values\n onChange: (update: {values: Values; errors: string[]}) => void\n onSelectDefault: (selectedKey: string) => void\n selected?: string[]\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\ninterface State {\n templateValuesString: string\n}\n\n@ErrorHandling\nclass MapVariableBuilder extends PureComponent {\n state: State = {\n templateValuesString: mapToCSV(this.props.values),\n }\n\n public render() {\n const {onSelectDefault} = this.props\n const {templateValuesString} = this.state\n const {entries} = this\n\n return (\n \n \n \n \n \n \n \n \n

    \n Mapping contains {entries.length} key-value pair\n {pluralize(entries)}\n

    \n
    \n \n \n (\n \n {this.defaultID}\n \n )}\n menu={onCollapse => (\n \n {entries.map(v => (\n \n {v.key}{' '}\n {v.value}\n \n ))}\n \n )}\n />\n \n \n
    \n
    \n )\n }\n\n private get defaultID(): string {\n const {selected} = this.props\n const {entries} = this\n const firstEntry = _.get(entries, '0.key', 'Enter values above')\n\n return _.get(selected, '0', firstEntry)\n }\n\n private get entries(): {key: string; value: string}[] {\n const {values} = this.props\n if (!values) {\n return []\n }\n\n return Object.entries(values).map(([key, value]) => ({\n key,\n value,\n }))\n }\n\n private handleBlur = (): void => {\n const {onChange} = this.props\n const {templateValuesString} = this.state\n\n const update = this.constructValuesFromString(templateValuesString)\n\n onChange(update)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n const templateValuesString = e.target.value\n this.setState({templateValuesString})\n }\n\n private constructValuesFromString(templateValuesString: string) {\n const {notify} = this.props\n\n const {errors, values} = csvToMap(templateValuesString)\n\n if (errors.length > 0) {\n notify(invalidMapType())\n }\n\n return {values, errors}\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(MapVariableBuilder)\n","import React, {PureComponent, ChangeEvent} from 'react'\nimport Papa from 'papaparse'\nimport _ from 'lodash'\n\n// Component\nimport {\n Grid,\n Form,\n TextArea,\n SelectDropdown,\n Columns,\n} from '@influxdata/clockface'\n\n// Utils\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {trimAndRemoveQuotes} from 'src/variables/utils/mapBuilder'\nimport {pluralize} from 'src/shared/utils/pluralize'\n\ninterface Props {\n values: string[]\n onChange: (values: string[]) => void\n onSelectDefault: (selectedKey: string) => void\n selected?: string[]\n}\n\ninterface State {\n csv: string\n}\n\n@ErrorHandling\nexport default class CSVTemplateBuilder extends PureComponent {\n state: State = {\n csv: this.props.values.map(value => `\"${value}\"`).join(',\\n '),\n }\n\n public render() {\n const {onSelectDefault, values} = this.props\n const {csv} = this.state\n\n return (\n \n \n \n \n \n \n \n \n

    \n CSV contains {values.length} value\n {pluralize(values)}\n

    \n
    \n \n \n \n \n \n
    \n
    \n )\n }\n\n private get defaultID(): string {\n const {selected, values} = this.props\n const firstEntry = _.get(values, '0', 'Enter values above')\n\n return _.get(selected, '0', firstEntry)\n }\n\n private handleBlur = (): void => {\n const {onChange} = this.props\n const {csv} = this.state\n\n const update = this.getUniqueValuesFromCSV(csv)\n\n onChange(update)\n }\n\n private handleChange = (e: ChangeEvent): void => {\n const csv = e.target.value\n this.setState({csv})\n }\n\n private getUniqueValuesFromCSV(csv: string): string[] {\n const parsedTVS = Papa.parse(csv)\n const templateValuesData: string[][] = _.get(parsedTVS, 'data', [[]])\n\n const valueSet: Set = new Set()\n for (const row of templateValuesData) {\n for (const value of row) {\n const trimmedValue = trimAndRemoveQuotes(value)\n\n if (trimmedValue !== '') {\n valueSet.add(trimmedValue)\n }\n }\n }\n\n return [...valueSet]\n }\n}\n","import React, {PureComponent} from 'react'\n\n// Components\nimport MapVariableBuilder from 'src/variables/components/MapVariableBuilder'\nimport CSVVariableBuilder from 'src/variables/components/CSVVariableBuilder'\nimport {Form} from '@influxdata/clockface'\n\nimport FluxEditor from 'src/shared/components/FluxMonacoEditor'\n\n// Types\nimport {KeyValueMap, VariableProperties} from 'src/types'\n\ninterface Props {\n args: VariableProperties\n onChange: (update: {args: VariableProperties; isValid: boolean}) => void\n onSelectMapDefault: (selectedKey: string) => void\n selected: string[]\n}\n\nclass VariableArgumentsEditor extends PureComponent {\n render() {\n const {args, onSelectMapDefault, selected} = this.props\n switch (args.type) {\n case 'query':\n return (\n \n
    \n \n
    \n
    \n )\n case 'map':\n return (\n \n )\n case 'constant':\n return (\n \n )\n }\n }\n\n private handleChangeCSV = (values: string[]) => {\n const {onChange} = this.props\n\n const updatedArgs = {type: 'constant' as 'constant', values}\n const isValid = values.length > 0\n\n onChange({args: updatedArgs, isValid})\n }\n\n private handleChangeQuery = (query: string) => {\n const {onChange} = this.props\n\n const values = {language: 'flux' as 'flux', query}\n const updatedArgs = {type: 'query' as 'query', values}\n\n const isValid = !query.match(/^\\s*$/)\n\n onChange({args: updatedArgs, isValid})\n }\n\n private handleChangeMap = (update: {\n values: KeyValueMap\n errors: string[]\n }) => {\n const {onChange} = this.props\n\n const updatedArgs = {type: 'map' as 'map', values: update.values}\n\n const isValid =\n update.errors.length === 0 && Object.keys(update.values).length > 0\n\n onChange({args: updatedArgs, isValid})\n }\n}\n\nexport default VariableArgumentsEditor\n","import {Variable} from 'src/types'\nimport {\n TIME_RANGE_START,\n TIME_RANGE_STOP,\n WINDOW_PERIOD,\n} from 'src/variables/constants'\n\nconst reservedVarNames = [TIME_RANGE_START, TIME_RANGE_STOP, WINDOW_PERIOD]\n\nexport const validateVariableName = (\n varName: string,\n variables: Variable[]\n): {error: string | null} => {\n if ((varName || '').match(/^\\s*$/)) {\n return {error: 'Variable name cannot be empty'}\n }\n\n const lowerName = varName.toLocaleLowerCase()\n\n const reservedMatch = reservedVarNames.find(\n r => r.toLocaleLowerCase() === lowerName\n )\n\n if (!!reservedMatch) {\n return {\n error: `Variable name is reserved: ${reservedMatch}`,\n }\n }\n\n const matchingName = variables.find(\n v => v.name.toLocaleLowerCase() === lowerName\n )\n\n if (!!matchingName) {\n return {\n error: `Variable name must be unique`,\n }\n }\n\n return {error: null}\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n Input,\n Button,\n Grid,\n Columns,\n Dropdown,\n} from '@influxdata/clockface'\nimport VariableArgumentsEditor from 'src/variables/components/VariableArgumentsEditor'\n\n// Utils\nimport {validateVariableName} from 'src/variables/utils/validation'\n\n// Constants\nimport {variableItemTypes} from 'src/variables/constants'\n\n// Types\nimport {Props} from 'src/variables/components/VariableFormContext'\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {VariableArguments, VariableArgumentType} from 'src/types'\n\ninterface State {\n isNameValid: boolean\n hasValidArgs: boolean\n firstRun: boolean\n selected: string[]\n}\n\nexport default class VariableForm extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n isNameValid: false,\n hasValidArgs: false,\n firstRun: true,\n selected: null,\n }\n }\n\n public render() {\n const {name, variableType, onHideOverlay, submitButtonText} = this.props\n const {selected} = this.state\n\n const submitText = submitButtonText || 'Create Variable'\n\n return (\n
    \n \n \n \n
    \n \n {status => (\n \n )}\n \n
    \n
    \n \n \n (\n \n {this.typeDropdownLabel}\n \n )}\n menu={onCollapse => (\n \n {variableItemTypes.map(v => (\n \n {v.label}\n \n ))}\n \n )}\n />\n \n \n
    \n \n \n \n \n \n \n \n \n \n {\n setPopoverVisibility(true)\n }}\n onHide={() => {\n setPopoverVisibility(false)\n }}\n />\n \n )\n}\n\nconst mdtp = {\n onDeleteCell: deleteCell,\n onCloneCell: createCellWithView,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default withRouter(connector(CellContext))\n","// Library\nimport React, {Component, RefObject, CSSProperties} from 'react'\nimport {isEqual} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {\n default as fromFlux,\n FromFluxResult,\n} from 'src/shared/utils/fromFlux.legacy'\nimport {fromFlux as fromFluxGiraffe} from '@influxdata/giraffe'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// API\nimport {RunQueryResult, RunQuerySuccessResult} from 'src/shared/apis/query'\nimport {runStatusesQuery} from 'src/alerting/utils/statusEvents'\nimport {getCachedResultsThunk} from 'src/shared/apis/queryCache'\n\n// Utils\nimport {\n getTimeRangeWithTimezone,\n isCurrentPageDashboard as isCurrentPageDashboardSelector,\n} from 'src/dashboards/selectors'\nimport {getVariables, asAssignment} from 'src/variables/selectors'\nimport {getRangeVariable} from 'src/variables/utils/getTimeRangeVars'\nimport {isInQuery} from 'src/variables/utils/hydrateVars'\nimport {getWindowVars} from 'src/variables/utils/getWindowVars'\nimport {buildVarsOption} from 'src/variables/utils/buildVarsOption'\nimport 'intersection-observer'\nimport {getAll} from 'src/resources/selectors'\nimport {getOrgIDFromBuckets} from 'src/timeMachine/actions/queries'\nimport {\n isDemoDataAvailabilityError,\n demoDataError,\n} from 'src/cloud/utils/demoDataErrors'\nimport {hashCode} from 'src/shared/apis/queryCache'\nimport {RunQueryPromiseMutex} from 'src/shared/apis/singleQuery'\n\n// Constants\nimport {\n rateLimitReached,\n resultTooLarge,\n demoDataAvailability,\n} from 'src/shared/copy/notifications'\nimport {TIME_RANGE_START, TIME_RANGE_STOP} from 'src/variables/constants'\n\n// Actions & Selectors\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\nimport {hasUpdatedTimeRangeInVEO} from 'src/shared/selectors/app'\nimport {setCellMount as setCellMountAction} from 'src/perf/actions'\n\n// Types\nimport {\n RemoteDataState,\n Check,\n StatusRow,\n Bucket,\n ResourceType,\n DashboardQuery,\n AppState,\n CancelBox,\n} from 'src/types'\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface QueriesState {\n files: string[] | null\n loading: RemoteDataState\n errorMessage: string\n isInitialFetch: boolean\n duration: number\n giraffeResult: FromFluxResult\n statuses: StatusRow[][]\n}\n\ninterface OwnProps {\n cellID?: string\n className?: string\n style?: CSSProperties\n queries: DashboardQuery[]\n submitToken: number\n implicitSubmit?: boolean\n children: (r: QueriesState) => JSX.Element\n check?: Partial\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n loading: RemoteDataState\n files: string[] | null\n errorMessage: string\n fetchCount: number\n duration: number\n giraffeResult: FromFluxResult\n statuses: StatusRow[][]\n}\n\nconst defaultState = (): State => ({\n loading: RemoteDataState.NotStarted,\n files: null,\n fetchCount: 0,\n errorMessage: '',\n duration: 0,\n giraffeResult: null,\n statuses: [[]],\n})\n\ntype HashMapMutex = {\n [queryID: string]: ReturnType\n}\n\nclass TimeSeries extends Component {\n public static defaultProps = {\n implicitSubmit: true,\n className: 'time-series-container',\n style: null,\n }\n public state: State = defaultState()\n\n private hashMapMutex: HashMapMutex = {}\n\n private observer: IntersectionObserver\n private ref: RefObject = React.createRef()\n private isIntersecting: boolean = false\n private pendingReload: boolean = true\n\n private pendingResults: Array> = []\n private pendingCheckStatuses: CancelBox = null\n\n public componentDidMount() {\n const {cellID, setCellMount} = this.props\n this.observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const {isIntersecting} = entry\n const reload =\n !this.isIntersecting && isIntersecting && this.pendingReload\n\n if (reload) {\n this.reload()\n }\n\n if (reload && cellID) {\n setCellMount(cellID, new Date().getTime())\n }\n\n this.isIntersecting = isIntersecting\n })\n })\n\n this.observer.observe(this.ref.current)\n }\n\n public componentDidUpdate(prevProps: Props) {\n const {setCellMount, cellID} = this.props\n const reload = this.shouldReload(prevProps) && this.isIntersecting\n if (reload) {\n this.reload()\n }\n\n if (reload && cellID) {\n setCellMount(cellID, new Date().getTime())\n }\n }\n\n public componentWillUnmount() {\n this.observer && this.observer.disconnect()\n this.pendingResults.forEach(({cancel}) => cancel())\n }\n\n public render() {\n const {\n giraffeResult,\n files,\n loading,\n errorMessage,\n fetchCount,\n duration,\n statuses,\n } = this.state\n const {className, style} = this.props\n\n return (\n
    \n {this.props.children({\n giraffeResult,\n files,\n loading,\n errorMessage,\n duration,\n isInitialFetch: fetchCount === 1,\n statuses,\n })}\n
    \n )\n }\n\n private reload = async () => {\n const {\n buckets,\n check,\n isCurrentPageDashboard,\n notify,\n onGetCachedResultsThunk,\n variables,\n } = this.props\n const queries = this.props.queries.filter(({text}) => !!text.trim())\n\n if (!queries.length) {\n this.setState(defaultState())\n\n return\n }\n\n this.setState({\n loading: RemoteDataState.Loading,\n fetchCount: this.state.fetchCount + 1,\n errorMessage: '',\n })\n\n try {\n const startTime = Date.now()\n let errorMessage: string = ''\n\n // Cancel any existing queries\n this.pendingResults.forEach(({cancel}) => {\n if (cancel) {\n cancel()\n }\n })\n const usedVars = variables.filter(v => v.arguments.type !== 'system')\n const waitList = usedVars.filter(v => v.status !== RemoteDataState.Done)\n\n // If a variable is loading, and a cell requires it, leave the cell to never resolve,\n // keeping it in a loading state until the variable is resolved\n if (usedVars.length && waitList.length) {\n await new Promise(() => {})\n }\n\n const vars = variables.map(v => asAssignment(v))\n // Issue new queries\n this.pendingResults = queries.map(({text}) => {\n const orgID =\n getOrgIDFromBuckets(text, buckets) || this.props.match.params.orgID\n\n const windowVars = getWindowVars(text, vars)\n const extern = buildVarsOption([...vars, ...windowVars])\n event('runQuery', {context: 'TimeSeries'})\n if (\n isCurrentPageDashboard &&\n isFlagEnabled('queryCacheForDashboards')\n ) {\n return onGetCachedResultsThunk(orgID, text)\n }\n const queryID = hashCode(text)\n if (!this.hashMapMutex[queryID]) {\n this.hashMapMutex[queryID] = RunQueryPromiseMutex()\n }\n return this.hashMapMutex[queryID].run(orgID, text, extern) as CancelBox<\n RunQueryResult\n >\n })\n\n // Wait for new queries to complete\n const results = await Promise.all(this.pendingResults.map(r => r.promise))\n\n let statuses = [] as StatusRow[][]\n if (check) {\n const extern = buildVarsOption(vars)\n this.pendingCheckStatuses = runStatusesQuery(\n this.props.match.params.orgID,\n check.id,\n extern\n )\n statuses = await this.pendingCheckStatuses.promise // TODO handle errors\n }\n\n const duration = Date.now() - startTime\n\n for (const result of results) {\n if (result.type === 'UNKNOWN_ERROR') {\n if (isDemoDataAvailabilityError(result.code, result.message)) {\n notify(\n demoDataAvailability(demoDataError(this.props.match.params.orgID))\n )\n }\n errorMessage = result.message\n throw new Error(result.message)\n }\n\n if (result.type === 'RATE_LIMIT_ERROR') {\n errorMessage = result.message\n notify(rateLimitReached(result.retryAfter))\n\n throw new Error(result.message)\n }\n\n if (result.didTruncate) {\n notify(resultTooLarge(result.bytesRead))\n }\n }\n\n const files = (results as RunQuerySuccessResult[]).map(r => r.csv)\n let giraffeResult\n\n if (isFlagEnabled('fluxParser')) {\n giraffeResult = fromFlux(files.join('\\n\\n'))\n } else {\n giraffeResult = fromFluxGiraffe(files.join('\\n\\n'))\n }\n\n this.pendingReload = false\n\n this.setState({\n giraffeResult,\n errorMessage,\n files,\n duration,\n loading: RemoteDataState.Done,\n statuses,\n })\n } catch (error) {\n if (error.name === 'CancellationError') {\n return\n }\n\n console.error(error)\n\n this.setState({\n errorMessage: error.message,\n giraffeResult: null,\n loading: RemoteDataState.Error,\n statuses: [[]],\n })\n }\n\n this.pendingReload = false\n }\n\n private shouldReload(prevProps: Props) {\n if (this.props.hasUpdatedTimeRangeInVEO) {\n return false\n }\n\n if (\n prevProps.hasUpdatedTimeRangeInVEO &&\n !this.props.hasUpdatedTimeRangeInVEO\n ) {\n return true\n }\n\n if (prevProps.submitToken !== this.props.submitToken) {\n return true\n }\n\n if (!this.props.implicitSubmit) {\n return false\n }\n\n if (!isEqual(prevProps.queries, this.props.queries)) {\n return true\n }\n\n if (!isEqual(prevProps.variables, this.props.variables)) {\n return true\n }\n\n return false\n }\n}\n\nconst mstp = (state: AppState, props: OwnProps) => {\n const timeRange = getTimeRangeWithTimezone(state)\n\n // NOTE: cannot use getAllVariables here because the TimeSeries\n // component appends it automatically. That should be fixed\n // NOTE: limit the variables returned to those that are used,\n // as this prevents resending when other queries get sent\n const queries = props.queries\n ? props.queries.map(q => q.text).filter(t => !!t.trim())\n : []\n const vars = getVariables(state).filter(v =>\n queries.some(t => isInQuery(t, v))\n )\n const variables = [\n ...vars,\n getRangeVariable(TIME_RANGE_START, timeRange),\n getRangeVariable(TIME_RANGE_STOP, timeRange),\n ]\n\n return {\n hasUpdatedTimeRangeInVEO: hasUpdatedTimeRangeInVEO(state),\n isCurrentPageDashboard: isCurrentPageDashboardSelector(state),\n queryLink: state.links.query.self,\n buckets: getAll(state, ResourceType.Buckets),\n variables,\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n onGetCachedResultsThunk: getCachedResultsThunk,\n setCellMount: setCellMountAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TimeSeries))\n","import {FC, useEffect} from 'react'\nimport {useSelector} from 'react-redux'\nimport {useParams} from 'react-router-dom'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState} from 'src/types'\n\ninterface Props {\n id: string\n type: string\n}\n\nconst getState = (cellID: string) => (state: AppState) => {\n const {perf} = state\n const {dashboard, cells} = perf\n const {scroll, renderID} = dashboard\n\n return {\n scroll,\n renderID,\n cellMountStartMs: cells.byID[cellID]?.mountStartMs,\n }\n}\n\nconst CellEvent: FC = ({id, type}) => {\n const params = useParams<{dashboardID?: string}>()\n const dashboardID = params?.dashboardID\n\n const {renderID, scroll, cellMountStartMs} = useSelector(getState(id))\n\n useEffect(() => {\n if (scroll === 'scrolled') {\n return\n }\n\n const hasIDs = dashboardID && id && renderID\n\n if (!hasIDs) {\n return\n }\n\n const tags = {dashboardID, cellID: id, type}\n const fields = {renderID}\n\n event('Cell Visualized', tags, fields)\n }, [dashboardID, id, renderID, type, scroll])\n\n useEffect(() => {\n if (!cellMountStartMs) {\n return\n }\n\n const hasIDs = dashboardID && id && renderID\n if (!hasIDs) {\n return\n }\n\n const visRenderedMs = new Date().getTime()\n const timeToAppearMs = visRenderedMs - cellMountStartMs\n\n const tags = {dashboardID, cellID: id, type}\n const fields = {timeToAppearMs, renderID}\n\n event('Cell Render Cycle', tags, fields)\n }, [cellMountStartMs, dashboardID, id, renderID, type])\n\n return null\n}\n\nexport default CellEvent\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect} from 'react-redux'\n\n// Components\nimport TimeSeries from 'src/shared/components/TimeSeries'\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport ViewSwitcher from 'src/shared/components/ViewSwitcher'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\nimport CellEvent from 'src/perf/components/CellEvent'\n\n// Utils\nimport {GlobalAutoRefresher} from 'src/utils/AutoRefresher'\nimport {getTimeRangeWithTimezone} from 'src/dashboards/selectors'\nimport {checkResultsLength} from 'src/shared/utils/vis'\nimport {getActiveTimeRange} from 'src/timeMachine/selectors/index'\n\n// Types\nimport {\n TimeRange,\n TimeZone,\n AppState,\n DashboardQuery,\n QueryViewProperties,\n Theme,\n} from 'src/types'\n\ninterface OwnProps {\n id: string\n manualRefresh: number\n properties: QueryViewProperties\n}\n\ninterface StateProps {\n theme: Theme\n timeRange: TimeRange\n ranges: TimeRange | null\n timeZone: TimeZone\n}\n\ninterface State {\n submitToken: number\n}\n\ntype Props = OwnProps & StateProps & RouteComponentProps<{orgID: string}>\n\nclass RefreshingView extends PureComponent {\n public static defaultProps = {\n inView: true,\n manualRefresh: 0,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {submitToken: 0}\n }\n\n public componentDidMount() {\n GlobalAutoRefresher.subscribe(this.incrementSubmitToken)\n }\n\n public componentWillUnmount() {\n GlobalAutoRefresher.unsubscribe(this.incrementSubmitToken)\n }\n\n public render() {\n const {id, ranges, properties, manualRefresh, timeZone, theme} = this.props\n const {submitToken} = this.state\n\n return (\n \n {({\n giraffeResult,\n files,\n loading,\n errorMessage,\n isInitialFetch,\n statuses,\n }) => {\n return (\n <>\n \n \n <>\n \n \n \n \n \n )\n }}\n \n )\n }\n\n private get queries(): DashboardQuery[] {\n const {properties} = this.props\n\n switch (properties.type) {\n case 'single-stat':\n case 'gauge':\n return [properties.queries[0]]\n default:\n return properties.queries\n }\n }\n\n private get fallbackNote(): string {\n const {properties} = this.props\n\n switch (properties.type) {\n case 'check':\n return null\n default:\n const {note, showNoteWhenEmpty} = properties\n\n return showNoteWhenEmpty ? note : null\n }\n }\n\n private incrementSubmitToken = () => {\n this.setState({submitToken: Date.now()})\n }\n}\n\nconst mstp = (state: AppState, ownProps: OwnProps) => {\n const timeRange = getTimeRangeWithTimezone(state)\n const ranges = getActiveTimeRange(timeRange, ownProps.properties.queries)\n const {timeZone, theme} = state.app.persisted\n\n return {\n timeRange,\n ranges,\n timeZone,\n theme,\n }\n}\n\nexport default connect(mstp)(\n withRouter(RefreshingView)\n)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport CellHeader from 'src/shared/components/cells/CellHeader'\nimport CellContext from 'src/shared/components/cells/CellContext'\nimport ScrollableMarkdown from 'src/shared/components/views/ScrollableMarkdown'\nimport RefreshingView from 'src/shared/components/RefreshingView'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {RemoteDataState, AppState, View, Cell, ResourceType} from 'src/types'\n\ninterface StateProps {\n view: View\n}\n\ninterface OwnProps {\n cell: Cell\n manualRefresh: number\n}\n\ninterface State {\n inView: boolean\n}\n\ntype Props = StateProps & OwnProps\n\n@ErrorHandling\nclass CellComponent extends Component {\n public render() {\n const {cell, view} = this.props\n\n return (\n <>\n \n \n \n \n {this.view}\n \n \n )\n }\n\n private get viewName(): string {\n const {view} = this.props\n\n if (view && view.properties && view.properties.type !== 'markdown') {\n return view.name\n }\n\n return 'Note'\n }\n\n private get viewNote(): string {\n const {view} = this.props\n\n if (!view || !view.properties || !view.properties.type) {\n return ''\n }\n\n const isMarkdownView = view.properties.type === 'markdown'\n const showNoteWhenEmpty = get(view, 'properties.showNoteWhenEmpty')\n\n if (isMarkdownView || showNoteWhenEmpty) {\n return ''\n }\n\n return get(view, 'properties.note', '')\n }\n\n private get view(): JSX.Element {\n const {manualRefresh, view} = this.props\n\n if (!view || view.status !== RemoteDataState.Done) {\n return \n }\n\n if (!view.properties) {\n return null\n }\n\n if (view.properties.type === 'markdown') {\n return \n }\n\n return (\n \n )\n }\n\n private handleCSVDownload = (): void => {\n throw new Error('csv download not implemented')\n }\n}\n\nconst mstp = (state: AppState, ownProps: OwnProps) => {\n const view = getByID(state, ResourceType.Views, ownProps.cell.id)\n\n return {view}\n}\n\nexport default connect(mstp)(CellComponent)\n","// Libraries\nimport React, {SFC} from 'react'\n\nconst GradientBorder: SFC = () => (\n
    \n
    \n
    \n
    \n
    \n
    \n)\n\nexport default GradientBorder\n","// Libraries\nimport React, {useState, useEffect, useRef, RefObject} from 'react'\nimport {useDispatch} from 'react-redux'\nimport 'intersection-observer'\n\n// Actions\nimport {setScroll, ScrollState, ComponentKey} from 'src/perf/actions'\n\n// TODO: use `onScroll` of clockface scrollable elements once\n// https://github.com/influxdata/clockface/issues/523 get merged in\nexport function useDetectScroll(ref: RefObject) {\n const [y, setY] = useState(Infinity)\n const [scroll, setScrollY] = useState('not scrolled')\n\n useEffect(() => {\n const current = ref.current\n const observer = new IntersectionObserver(([entry]) => {\n setY(prevY => {\n const newY = entry.boundingClientRect.y\n if (prevY !== newY && prevY !== Infinity) {\n setScrollY('scrolled')\n }\n\n return newY\n })\n })\n\n if (current) {\n observer.observe(current)\n }\n\n return () => {\n observer.unobserve(current)\n }\n }, [ref, y])\n\n return scroll\n}\n\ninterface Props {\n component: ComponentKey\n}\n\nfunction ScrollDetector({component}: Props) {\n const ref = useRef(null)\n const dispatch = useDispatch()\n const scroll = useDetectScroll(ref)\n\n useEffect(() => {\n dispatch(setScroll(component, scroll))\n }, [scroll, component, dispatch])\n\n return \n}\n\nexport default ScrollDetector\n","import {AppState, Cell} from 'src/types'\n\nexport const getCells = (\n {resources}: AppState,\n dashboardID: string\n): Cell[] => {\n const dashboard = resources.dashboards.byID[dashboardID]\n if (!dashboard || !dashboard.cells) {\n return []\n }\n\n const cellIDs = dashboard.cells\n\n return cellIDs\n .filter(id => !!resources.cells.byID[id]) // added filter since it was returning undefined cells\n .map(id => resources.cells.byID[id])\n}\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport ReactGridLayout, {WidthProvider, Layout} from 'react-grid-layout'\nimport {get} from 'lodash'\n\n// Components\nconst Grid = WidthProvider(ReactGridLayout)\nimport CellComponent from 'src/shared/components/cells/Cell'\nimport GradientBorder from 'src/shared/components/cells/GradientBorder'\nimport ScrollDetector from 'src/perf/components/ScrollDetector'\n\n// Actions\nimport {updateCells} from 'src/cells/actions/thunks'\n\n// Utils\nimport {fastMap} from 'src/utils/fast'\nimport {getCells} from 'src/cells/selectors'\n\n// Constants\nimport {LAYOUT_MARGIN, DASHBOARD_LAYOUT_ROW_HEIGHT} from 'src/shared/constants'\n\n// Types\nimport {AppState, Cell, RemoteDataState} from 'src/types'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface OwnProps {\n manualRefresh: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass Cells extends Component {\n public render() {\n const {views, cells, manualRefresh} = this.props\n\n return (\n <>\n \n \n {fastMap(cells, cell => (\n \n \n \n
    \n ))}\n \n \n )\n }\n\n private get cells(): Layout[] {\n const {views} = this.props\n return this.props.cells\n .filter(c => c.status === RemoteDataState.Done)\n .map(c => {\n const view = views[c.id]\n const cell = {\n ...c,\n x: c.x,\n y: c.y,\n h: c.h,\n w: c.w,\n i: c.id,\n }\n if (get(view, 'properties.type') === 'gauge') {\n cell.minW = 5\n cell.minH = 2.5\n cell.maxW = 20\n }\n return cell\n })\n }\n\n private handleLayoutChange = grid => {\n const {cells} = this.props\n\n let changed = false\n\n const newCells = cells.map(cell => {\n const l = grid.find(ly => ly.i === cell.id)\n\n if (\n cell.x !== l.x ||\n cell.y !== l.y ||\n cell.h !== l.h ||\n cell.w !== l.w\n ) {\n changed = true\n }\n\n const newCell = {\n x: l.x,\n y: l.y,\n h: l.h,\n w: l.w,\n }\n\n return {\n ...cell,\n ...newCell,\n }\n })\n\n if (changed) {\n this.handlePositionChange(newCells)\n }\n }\n private handlePositionChange = (cells: Cell[]) => {\n const {dashboard, updateCells} = this.props\n updateCells(dashboard, cells)\n }\n}\nconst mstp = (state: AppState) => {\n const dashboard = state.currentDashboard.id\n\n return {\n dashboard,\n cells: getCells(state, dashboard),\n views: state.resources.views.byID,\n }\n}\nconst mdtp = {\n updateCells: updateCells,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(Cells)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Button, EmptyState} from '@influxdata/clockface'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {IconFont, ComponentSize, ComponentColor} from '@influxdata/clockface'\nimport {AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface StateProps {\n org: string\n dashboard: string\n}\n\ntype Props = RouteComponentProps & StateProps\n\n@ErrorHandling\nclass DashboardEmpty extends Component {\n public render() {\n return (\n
    \n \n
    \n
    \n
    \n \n This Dashboard doesn't have any Cells, why not add one?\n \n \n \n
    \n )\n }\n\n private handleAdd = () => {\n const {history, org, dashboard} = this.props\n history.push(`/orgs/${org}/dashboards/${dashboard}/cells/new`)\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n org: getOrg(state).id,\n dashboard: state.currentDashboard.id,\n }\n}\n\nexport default connect(mstp)(withRouter(DashboardEmpty))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport Cells from 'src/shared/components/cells/Cells'\nimport DashboardEmpty from 'src/dashboards/components/dashboard_empty/DashboardEmpty'\nimport {\n Page,\n SpinnerContainer,\n TechnoSpinner,\n RemoteDataState,\n} from '@influxdata/clockface'\n\n// Types\nimport {Cell, AppState} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Utils\nimport {getCells} from 'src/cells/selectors'\n\ninterface StateProps {\n cells: Cell[]\n status: RemoteDataState\n}\ninterface OwnProps {\n manualRefresh: number\n}\n\ntype Props = OwnProps & StateProps\n\n@ErrorHandling\nclass DashboardComponent extends PureComponent {\n public render() {\n const {cells, status, manualRefresh} = this.props\n\n return (\n }>\n \n {!!cells.length ? (\n \n ) : (\n \n )}\n {/* This element is used as a portal container for note tooltips in cell headers */}\n
    \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n return {\n cells: getCells(state, state.currentDashboard.id),\n status: state.resources.cells.status,\n }\n}\n\nexport default connect(mstp)(DashboardComponent)\n","import React, {Component, ComponentClass} from 'react'\n\nexport interface ManualRefreshProps {\n manualRefresh: number\n onManualRefresh: () => void\n}\n\ninterface ManualRefreshState {\n manualRefresh: number\n}\n\nfunction ManualRefresh

    (\n WrappedComponent: ComponentClass

    \n): ComponentClass

    {\n return class extends Component

    {\n public constructor(props: P & ManualRefreshProps) {\n super(props)\n this.state = {\n manualRefresh: Date.now(),\n }\n }\n\n public render() {\n return (\n \n )\n }\n\n private handleManualRefresh = (): void => {\n this.setState({\n manualRefresh: Date.now(),\n })\n }\n }\n}\n\nexport default ManualRefresh\n","// Libraries\nimport * as React from 'react'\nimport {\n DragSource,\n DropTarget,\n ConnectDropTarget,\n ConnectDragSource,\n ConnectDragPreview,\n DropTargetConnector,\n DragSourceConnector,\n DragSourceMonitor,\n} from 'react-dnd'\nimport classnames from 'classnames'\n\n// Components\nimport VariableDropdown from 'src/variables/components/VariableDropdown'\n\n// Constants\nconst dropdownType = 'dropdown'\n\nconst dropdownSource = {\n beginDrag(props: Props) {\n return {\n id: props.id,\n index: props.index,\n }\n },\n}\n\ninterface Props {\n id: string\n index: number\n name: string\n moveDropdown: (dragIndex: number, hoverIndex: number) => void\n}\n\ninterface DropdownSourceCollectedProps {\n isDragging: boolean\n connectDragSource: ConnectDragSource\n connectDragPreview: ConnectDragPreview\n}\n\ninterface DropdownTargetCollectedProps {\n connectDropTarget?: ConnectDropTarget\n}\n\nconst dropdownTarget = {\n hover(props, monitor, component) {\n if (!component) {\n return null\n }\n const dragIndex = monitor.getItem().index\n const hoverIndex = props.index\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return\n }\n\n // Time to actually perform the action\n props.moveDropdown(dragIndex, hoverIndex)\n\n monitor.getItem().index = hoverIndex\n },\n}\n\nclass Dropdown extends React.Component<\n Props & DropdownSourceCollectedProps & DropdownTargetCollectedProps\n> {\n public render() {\n const {\n name,\n id,\n isDragging,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n } = this.props\n\n const className = classnames('variable-dropdown', {\n 'variable-dropdown__dragging': isDragging,\n })\n\n return connectDropTarget(\n

    \n {connectDragPreview(\n
    \n {/* TODO: Add variable description to title attribute when it is ready */}\n
    \n {connectDragSource(\n
    \n \n
    \n )}\n {name}\n
    \n \n
    \n )}\n
    \n
    \n )\n }\n}\n\nexport default DropTarget(\n dropdownType,\n dropdownTarget,\n (connect: DropTargetConnector) => ({\n connectDropTarget: connect.dropTarget(),\n })\n)(\n DragSource(\n dropdownType,\n dropdownSource,\n (connect: DragSourceConnector, monitor: DragSourceMonitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n })\n )(Dropdown)\n)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEmpty} from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {\n EmptyState,\n TechnoSpinner,\n SpinnerContainer,\n} from '@influxdata/clockface'\nimport ErrorBoundary from 'src/shared/components/ErrorBoundary'\n\n// Utils\nimport {\n getVariables,\n getDashboardVariablesStatus,\n} from 'src/variables/selectors'\nimport {filterUnusedVars} from 'src/shared/utils/filterUnusedVars'\n\n// Actions\nimport {moveVariable} from 'src/variables/actions/thunks'\n\n// Types\nimport {AppState} from 'src/types'\nimport {ComponentSize} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {RemoteDataState} from 'src/types'\nimport DraggableDropdown from 'src/dashboards/components/variablesControlBar/DraggableDropdown'\nimport withDragDropContext from 'src/shared/decorators/withDragDropContext'\n\ninterface State {\n initialLoading: RemoteDataState\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nclass VariablesControlBar extends PureComponent {\n public state: State = {initialLoading: RemoteDataState.Loading}\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (\n props.variablesStatus === RemoteDataState.Done &&\n state.initialLoading !== RemoteDataState.Done\n ) {\n return {initialLoading: RemoteDataState.Done}\n }\n\n return {}\n }\n\n render() {\n const {show, inPresentationMode} = this.props\n if (!show) {\n return false\n }\n return (\n \n }\n className=\"variables-spinner-container\"\n >\n {this.bar}\n \n
    \n )\n }\n\n private get emptyBar(): JSX.Element {\n return (\n \n \n This dashboard doesn't have any cells with defined variables.{' '}\n \n Learn How\n \n \n \n )\n }\n\n private get barContents(): JSX.Element {\n const {variables, variablesStatus} = this.props\n return (\n
    \n {variables.map((v, i) => (\n \n \n \n ))}\n {variablesStatus === RemoteDataState.Loading && (\n \n )}\n
    \n )\n }\n\n private get bar(): JSX.Element {\n const {variables} = this.props\n\n if (isEmpty(variables)) {\n return this.emptyBar\n }\n\n return this.barContents\n }\n\n private handleMoveDropdown = (\n originalIndex: number,\n newIndex: number\n ): void => {\n const {moveVariable} = this.props\n moveVariable(originalIndex, newIndex)\n }\n}\n\nconst mdtp = {\n moveVariable,\n}\n\nconst mstp = (state: AppState) => {\n const dashboardID = state.currentDashboard.id\n const variables = getVariables(state)\n const variablesStatus = getDashboardVariablesStatus(state)\n const show = state.userSettings.showVariablesControls\n\n const {\n app: {\n ephemeral: {inPresentationMode},\n },\n } = state\n\n const varsInUse = filterUnusedVars(\n variables,\n Object.values(state.resources.views.byID).filter(\n variable => variable.dashboardID === dashboardID\n )\n )\n\n return {\n variables: varsInUse,\n variablesStatus,\n inPresentationMode,\n show,\n }\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withDragDropContext(connector(VariablesControlBar))\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\n\n// Components\nimport RenamablePageTitle from 'src/pageLayout/components/RenamablePageTitle'\nimport {\n SquareButton,\n ComponentColor,\n ComponentSize,\n IconFont,\n Page,\n} from '@influxdata/clockface'\nimport VisOptionsButton from 'src/timeMachine/components/VisOptionsButton'\nimport ViewTypeDropdown from 'src/timeMachine/components/view_options/ViewTypeDropdown'\n\n// Constants\nimport {\n DEFAULT_CELL_NAME,\n CELL_NAME_MAX_LENGTH,\n} from 'src/dashboards/constants/index'\n\ninterface Props {\n name: string\n onSetName: (name: string) => void\n onCancel: () => void\n onSave: () => void\n}\n\nconst saveButtonClass = 'veo-header--save-cell-button'\n\nclass VEOHeader extends PureComponent {\n public render() {\n const {name, onSetName, onCancel, onSave} = this.props\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleClickOutsideTitle = (e: MouseEvent) => {\n const {onSave} = this.props\n const target = e.target as HTMLButtonElement\n\n if (!target.className.includes(saveButtonClass)) {\n return\n }\n\n onSave()\n }\n}\n\nexport default VEOHeader\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport VEOHeader from 'src/dashboards/components/VEOHeader'\n\n// Actions\nimport {disableUpdatedTimeRangeInVEO} from 'src/shared/actions/app'\nimport {setName} from 'src/timeMachine/actions'\nimport {saveVEOView} from 'src/dashboards/actions/thunks'\nimport {getViewAndResultsForVEO} from 'src/views/actions/thunks'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps &\n RouteComponentProps<{orgID: string; cellID: string; dashboardID: string}>\n\nconst EditViewVEO: FunctionComponent = ({\n activeTimeMachineID,\n onSaveView,\n onSetName,\n match: {\n params: {orgID, cellID, dashboardID},\n },\n history,\n view,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n // TODO split this up into \"loadView\" \"setActiveTimeMachine\"\n // and something to tell the component to pull from the context\n // of the dashboardID\n dispatch(getViewAndResultsForVEO(dashboardID, cellID, 'veo'))\n }, [dispatch, dashboardID, cellID])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/dashboards/${dashboardID}`)\n dispatch(disableUpdatedTimeRangeInVEO())\n }\n\n const handleSave = () => {\n try {\n onSaveView(dashboardID)\n handleClose()\n } catch (e) {}\n }\n\n const viewMatchesRoute = get(view, 'id', null) === cellID\n\n let loadingState = RemoteDataState.Loading\n if (activeTimeMachineID === 'veo' && viewMatchesRoute) {\n loadingState = RemoteDataState.Done\n }\n\n return (\n \n
    \n }\n loading={loadingState}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTimeMachineID} = state.timeMachines\n const {view} = getActiveTimeMachine(state)\n\n return {view, activeTimeMachineID}\n}\n\nconst mdtp = {\n onSetName: setName,\n onSaveView: saveVEOView,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(EditViewVEO))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\nimport TimeMachine from 'src/timeMachine/components/TimeMachine'\nimport VEOHeader from 'src/dashboards/components/VEOHeader'\n\n// Actions\nimport {loadNewVEO} from 'src/timeMachine/actions'\nimport {setName} from 'src/timeMachine/actions'\nimport {saveVEOView} from 'src/dashboards/actions/thunks'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Types\nimport {AppState, RemoteDataState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps &\n RouteComponentProps<{orgID: string; dashboardID: string}>\n\nconst NewViewVEO: FunctionComponent = ({\n activeTimeMachineID,\n onSaveView,\n onSetName,\n match: {\n params: {orgID, dashboardID},\n },\n history,\n view,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n dispatch(loadNewVEO())\n }, [dispatch, dashboardID])\n\n const handleClose = () => {\n history.push(`/orgs/${orgID}/dashboards/${dashboardID}`)\n }\n\n const handleSave = () => {\n try {\n onSaveView(dashboardID)\n handleClose()\n } catch (error) {\n console.error(error)\n }\n }\n\n let loadingState = RemoteDataState.Loading\n const viewIsNew = !get(view, 'id', null)\n if (activeTimeMachineID === 'veo' && viewIsNew) {\n loadingState = RemoteDataState.Done\n }\n\n return (\n \n
    \n }\n loading={loadingState}\n >\n \n
    \n \n
    \n \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {activeTimeMachineID} = state.timeMachines\n const {view} = getActiveTimeMachine(state)\n\n return {view, activeTimeMachineID}\n}\n\nconst mdtp = {\n onSetName: setName,\n onSaveView: saveVEOView,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(NewViewVEO))\n","// Libraries\nimport React, {FC, Component, ComponentClass, useEffect} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {useDispatch} from 'react-redux'\nimport {OverlayID} from 'src/overlays/reducers/overlays'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// NOTE(alex b): I don't know what is wrong with the type definition of react-router\n// but it doesn't include params on an injected router upon route resolution\n\nexport type OverlayDismissalWithRoute = (\n history: RouteComponentProps['history'],\n params: {[x: string]: string}\n) => void\n\ninterface OwnProps {\n overlayID: OverlayID\n onClose: OverlayDismissalWithRoute\n}\n\ntype OverlayHandlerProps = OwnProps & RouteComponentProps\n\nconst OverlayHandler: FC = props => {\n const {overlayID, onClose, match, history} = props\n\n const dispatch = useDispatch()\n\n useEffect(() => {\n const closer = () => {\n onClose(history, match.params)\n }\n\n dispatch(showOverlay(overlayID, match.params, closer))\n\n return () => dispatch(dismissOverlay())\n }, [overlayID]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return null\n}\n\nconst routedComponent = withRouter(OverlayHandler)\n\nexport default routedComponent\n\ninterface RouteOverlayProps {\n overlayID: OverlayID\n}\n\nexport function RouteOverlay

    (\n WrappedComponent: typeof routedComponent,\n overlayID: string,\n onClose?: OverlayDismissalWithRoute\n): ComponentClass

    {\n return class extends Component

    {\n public render() {\n return (\n \n )\n }\n }\n}\n","import OverlayHandler, {\n RouteOverlay,\n} from 'src/overlays/components/RouteOverlay'\n\nexport const AddNoteOverlay = RouteOverlay(\n OverlayHandler,\n 'add-note',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/dashboards/${params.dashboardID}`)\n }\n)\nexport const EditNoteOverlay = RouteOverlay(\n OverlayHandler,\n 'edit-note',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/dashboards/${params.dashboardID}`)\n }\n)\nexport const AllAccessTokenOverlay = RouteOverlay(\n OverlayHandler,\n 'add-master-token',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/tokens`)\n }\n)\nexport const BucketsTokenOverlay = RouteOverlay(\n OverlayHandler,\n 'add-token',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/tokens`)\n }\n)\nexport const TelegrafConfigOverlay = RouteOverlay(\n OverlayHandler,\n 'telegraf-config',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n\nexport const TelegrafOutputOverlay = RouteOverlay(\n OverlayHandler,\n 'telegraf-output',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\nimport uuid from 'uuid'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport DashboardHeader from 'src/dashboards/components/DashboardHeader'\nimport DashboardComponent from 'src/dashboards/components/Dashboard'\nimport ManualRefresh from 'src/shared/components/ManualRefresh'\nimport {HoverTimeProvider} from 'src/dashboards/utils/hoverTime'\nimport VariablesControlBar from 'src/dashboards/components/variablesControlBar/VariablesControlBar'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\nimport EditVEO from 'src/dashboards/components/EditVEO'\nimport NewVEO from 'src/dashboards/components/NewVEO'\nimport {AddNoteOverlay, EditNoteOverlay} from 'src/overlays/components'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {event} from 'src/cloud/utils/reporting'\nimport {resetQueryCache} from 'src/shared/apis/queryCache'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Selectors & Actions\nimport {setRenderID as setRenderIDAction} from 'src/perf/actions'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, AutoRefresh, ResourceType, Dashboard} from 'src/types'\nimport {ManualRefreshProps} from 'src/shared/components/ManualRefresh'\n\ninterface OwnProps {\n autoRefresh: AutoRefresh\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ManualRefreshProps & ReduxProps\n\nimport {\n ORGS,\n ORG_ID,\n DASHBOARDS,\n DASHBOARD_ID,\n} from 'src/shared/constants/routes'\n\nconst dashRoute = `/${ORGS}/${ORG_ID}/${DASHBOARDS}/${DASHBOARD_ID}`\n\n@ErrorHandling\nclass DashboardPage extends Component {\n public componentDidMount() {\n const {dashboard, setRenderID} = this.props\n const renderID = uuid.v4()\n setRenderID('dashboard', renderID)\n\n const tags = {\n dashboardID: dashboard.id,\n }\n const fields = {renderID}\n\n event('Dashboard Mounted', tags, fields)\n if (isFlagEnabled('queryCacheForDashboards')) {\n resetQueryCache()\n }\n }\n\n public componentDidUpdate(prevProps) {\n const {setRenderID, dashboard, manualRefresh} = this.props\n\n if (prevProps.manualRefresh !== manualRefresh) {\n const renderID = uuid.v4()\n setRenderID('dashboard', renderID)\n const tags = {\n dashboardID: dashboard.id,\n }\n const fields = {renderID}\n\n event('Dashboard Mounted', tags, fields)\n }\n }\n\n public componentWillUnmount() {\n if (isFlagEnabled('queryCacheForDashboards')) {\n resetQueryCache()\n }\n }\n\n public render() {\n const {autoRefresh, manualRefresh, onManualRefresh} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get pageTitle(): string {\n const {dashboard} = this.props\n const title = dashboard && dashboard.name ? dashboard.name : 'Loading...'\n\n return pageTitleSuffixer([title])\n }\n}\n\nconst mstp = (state: AppState) => {\n const dashboard = getByID(\n state,\n ResourceType.Dashboards,\n state.currentDashboard.id\n )\n\n return {\n dashboard,\n }\n}\n\nconst mdtp = {\n setRenderID: setRenderIDAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ManualRefresh(DashboardPage))\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {useDispatch, useSelector} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {getTimeRange} from 'src/dashboards/selectors'\n\n// Actions\nimport {\n setDashboardTimeRange,\n updateQueryParams,\n} from 'src/dashboards/actions/ranges'\n\ntype Props = RouteComponentProps<{dashboardID: string}>\n\nconst GetTimeRange: FC = ({location, match}: Props) => {\n const dispatch = useDispatch()\n const timeRange = useSelector(getTimeRange)\n const isEditing = location.pathname.includes('edit')\n const isNew = location.pathname.includes('new')\n\n useEffect(() => {\n if (isEditing || isNew) {\n return\n }\n\n // TODO: map this to current contextID\n dispatch(setDashboardTimeRange(match.params.dashboardID, timeRange))\n const {lower, upper} = timeRange\n dispatch(\n updateQueryParams({\n lower,\n upper,\n })\n )\n }, [dispatch, isEditing, isNew, match.params.dashboardID, timeRange])\n\n return

    \n}\n\nexport default withRouter(GetTimeRange)\n","import React, {PureComponent} from 'react'\nimport qs from 'qs'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {setDashboard} from 'src/shared/actions/currentDashboard'\nimport {getVariables} from 'src/variables/selectors'\nimport {selectValue} from 'src/variables/actions/thunks'\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ninterface OwnProps {\n children: React.ReactNode\n}\n\ntype Props = ReduxProps &\n OwnProps &\n RouteComponentProps<{orgID: string; dashboardID: string}>\n\nclass DashboardRoute extends PureComponent {\n pendingVars: [{[key: string]: any}]\n\n // this function takes the hydrated variables from state\n // and runs the `selectValue` action against them if the\n // selected value in the search params doesn't match the\n // selected value in the redux store\n // urlVars represents the `vars` object variable in the\n // query params here, and unwrapping / validation is\n // handled elsewhere\n syncVariables(props, urlVars) {\n const {variables, selectValue} = props\n\n variables.forEach(v => {\n let val\n\n if (v.selected) {\n val = v.selected[0]\n }\n\n if (urlVars[v.name] && val !== urlVars[v.name]) {\n val = urlVars[v.name]\n selectValue(v.id, val)\n }\n })\n }\n\n componentDidMount() {\n const {dashboard, updateDashboard, variables} = this.props\n const dashboardID = this.props.match.params.dashboardID\n const urlVars = qs.parse(this.props.location.search, {\n ignoreQueryPrefix: true,\n })\n\n // always keep the dashboard in sync\n if (dashboard !== dashboardID) {\n updateDashboard(dashboardID)\n }\n\n // nothing to sync as the query params aren't defining\n // any variables\n if (!urlVars.hasOwnProperty('vars')) {\n return\n }\n\n // resource is still loading\n // we have to wait for it so that we can filter out arbitrary user input\n // from the redux state before commiting it back to localstorage\n if (!variables.length) {\n this.pendingVars = urlVars.vars\n return\n }\n\n this.syncVariables(this.props, urlVars.vars)\n }\n\n componentDidUpdate(props) {\n if (props.variables === this.props.variables) {\n return\n }\n\n if (!this.props.variables.length) {\n return\n }\n\n if (!this.pendingVars) {\n return\n }\n\n this.syncVariables(this.props, this.pendingVars)\n\n delete this.pendingVars\n }\n\n componentWillUnmount() {\n this.props.updateDashboard(null)\n }\n\n render() {\n if (!this.props.dashboard) {\n return false\n }\n\n return <>{this.props.children}\n }\n}\n\nconst mstp = (state: AppState) => {\n const variables = getVariables(state)\n\n return {\n variables,\n dashboard: state.currentDashboard.id,\n }\n}\n\nconst mdtp = {\n updateDashboard: setDashboard,\n selectValue: selectValue,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(DashboardRoute))\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport GetResource from 'src/resources/components/GetResource'\nimport GetResources from 'src/resources/components/GetResources'\nimport DashboardPage from 'src/dashboards/components/DashboardPage'\nimport GetTimeRange from 'src/dashboards/components/GetTimeRange'\nimport DashboardRoute from 'src/shared/components/DashboardRoute'\n\n// Actions\nimport {setCurrentPage} from 'src/shared/reducers/currentPage'\n\n// Utils\nimport {GlobalAutoRefresher} from 'src/utils/AutoRefresher'\n\n// Constants\nimport {AUTOREFRESH_DEFAULT} from 'src/shared/constants'\n\n// Types\nimport {AppState, ResourceType, AutoRefreshStatus} from 'src/types'\n\nconst {Active} = AutoRefreshStatus\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DashboardContainer: FC = ({autoRefresh, dashboard}) => {\n const dispatch = useDispatch()\n\n useEffect(() => {\n if (autoRefresh.status === Active) {\n GlobalAutoRefresher.poll(autoRefresh.interval)\n return\n }\n\n GlobalAutoRefresher.stopPolling()\n\n return function cleanup() {\n GlobalAutoRefresher.stopPolling()\n }\n }, [autoRefresh.status, autoRefresh.interval])\n\n useEffect(() => {\n dispatch(setCurrentPage('dashboard'))\n return () => {\n dispatch(setCurrentPage('not set'))\n }\n }, [dispatch])\n\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const dashboard = state.currentDashboard.id\n const autoRefresh = state.autoRefresh[dashboard] || AUTOREFRESH_DEFAULT\n return {\n autoRefresh,\n dashboard,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(DashboardContainer)\n","import React, {FC, useState, RefObject} from 'react'\n\nexport interface Ref {\n panel: RefObject\n focus: boolean\n}\n\nexport interface RefMap {\n [key: string]: Ref\n}\n\nexport interface RefContextType {\n get: (id: string) => Ref\n update: (id: string, data: Partial) => void\n}\n\nexport const DEFAULT_CONTEXT: RefContextType = {\n get: () => ({} as Ref),\n update: () => {},\n}\n\nexport const RefContext = React.createContext(DEFAULT_CONTEXT)\n\nexport const RefProvider: FC = ({children}) => {\n const [refs, setRefs] = useState({})\n\n const get = (id: string) => {\n return (\n refs[id] || {\n panel: null,\n focus: false,\n }\n )\n }\n const update = (id: string, data: Partial) => {\n refs[id] = {\n ...get(id),\n ...data,\n }\n setRefs({\n ...refs,\n })\n }\n\n return (\n \n {children}\n \n )\n}\n","// Libraries\nimport React, {FC, useState, RefObject} from 'react'\n\nexport interface ScrollContextType {\n scrollPosition: number\n scrollToPipe: (panelRef: RefObject) => void\n}\n\nexport const DEFAULT_CONTEXT: ScrollContextType = {\n scrollPosition: 0,\n scrollToPipe: () => {},\n}\n\nexport const ScrollContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\nexport const ScrollProvider: FC = ({children}) => {\n const [scrollPosition, setListScrollPosition] = useState(\n DEFAULT_CONTEXT.scrollPosition\n )\n\n const scrollToPipe = (panelRef: RefObject) => {\n if (panelRef && panelRef.current) {\n const {offsetTop} = panelRef.current\n setListScrollPosition(offsetTop)\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useState, useCallback, RefObject} from 'react'\nimport {RemoteDataState} from 'src/types'\nimport {PipeData} from 'src/notebooks'\nimport {FluxResult} from 'src/notebooks'\n\nexport interface PipeMeta {\n title: string\n visible: boolean\n loading: RemoteDataState\n focus: boolean\n panelRef: RefObject\n}\n\n// TODO: this is screaming for normalization. figure out frontend uuids for cells\nexport interface NotebookContextType {\n id: string\n pipes: PipeData[]\n meta: PipeMeta[] // data only used for the view layer for Notebooks\n results: FluxResult[]\n addPipe: (pipe: PipeData, insertAtIndex?: number) => void\n updatePipe: (idx: number, pipe: Partial) => void\n updateMeta: (idx: number, pipe: Partial) => void\n updateResult: (idx: number, result: Partial) => void\n movePipe: (currentIdx: number, newIdx: number) => void\n removePipe: (idx: number) => void\n}\n\nexport const DEFAULT_CONTEXT: NotebookContextType = {\n id: 'new',\n pipes: [],\n meta: [],\n results: [],\n addPipe: () => {},\n updatePipe: () => {},\n updateMeta: () => {},\n updateResult: () => {},\n movePipe: () => {},\n removePipe: () => {},\n}\n\n// NOTE: this just loads some test data for exploring the\n// interactions between types. Make sure it's never true\n// during the pull review process\nconst TEST_MODE = false\nif (TEST_MODE) {\n const TEST_NOTEBOOK = require('src/notebooks/context/notebook.mock.json')\n DEFAULT_CONTEXT.id = TEST_NOTEBOOK.id\n DEFAULT_CONTEXT.pipes = TEST_NOTEBOOK.pipes\n DEFAULT_CONTEXT.meta = TEST_NOTEBOOK.meta\n DEFAULT_CONTEXT.results = new Array(TEST_NOTEBOOK.pipes.length)\n}\n\nexport const NotebookContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\nlet GENERATOR_INDEX = 0\n\nconst getHumanReadableName = (type: string): string => {\n ++GENERATOR_INDEX\n\n switch (type) {\n case 'data':\n return `Bucket ${GENERATOR_INDEX}`\n case 'visualization':\n return `Visualization ${GENERATOR_INDEX}`\n case 'markdown':\n return `Markdown ${GENERATOR_INDEX}`\n case 'query':\n return `Flux Script ${GENERATOR_INDEX}`\n default:\n return `Cell ${GENERATOR_INDEX}`\n }\n}\n\nexport const NotebookProvider: FC = ({children}) => {\n const [id] = useState(DEFAULT_CONTEXT.id)\n const [pipes, setPipes] = useState(DEFAULT_CONTEXT.pipes)\n const [meta, setMeta] = useState(DEFAULT_CONTEXT.meta)\n const [results, setResults] = useState(DEFAULT_CONTEXT.results)\n\n const _setPipes = useCallback(setPipes, [id, setPipes])\n const _setMeta = useCallback(setMeta, [id, setMeta])\n const _setResults = useCallback(setResults, [id, setResults])\n\n const addPipe = useCallback(\n (pipe: PipeData, insertAtIndex?: number) => {\n let add = data => {\n return pipes => {\n pipes.push(data)\n return pipes.slice()\n }\n }\n\n if (insertAtIndex !== undefined) {\n add = data => {\n return pipes => {\n pipes.splice(insertAtIndex + 1, 0, data)\n return pipes.slice()\n }\n }\n }\n\n if (pipes.length && pipe.type !== 'query') {\n _setResults(add({...results[results.length - 1]}))\n _setMeta(\n add({\n title: getHumanReadableName(pipe.type),\n visible: true,\n loading: meta[meta.length - 1].loading,\n focus: false,\n })\n )\n } else {\n _setResults(add({}))\n _setMeta(\n add({\n title: getHumanReadableName(pipe.type),\n visible: true,\n loading: RemoteDataState.NotStarted,\n focus: false,\n })\n )\n }\n\n if (pipe.type === 'query') {\n if (!pipes.filter(p => p.type === 'query').length) {\n _setPipes(add(pipe))\n } else {\n const _pipe = {\n ...pipe,\n queries: [\n {\n ...pipe.queries[0],\n },\n ],\n }\n _setPipes(add(_pipe))\n }\n } else {\n _setPipes(add(pipe))\n }\n },\n [pipes, meta, results, _setPipes, _setMeta, _setResults]\n )\n\n const updatePipe = useCallback(\n (idx: number, pipe: Partial) => {\n _setPipes(pipes => {\n pipes[idx] = {\n ...pipes[idx],\n ...pipe,\n }\n return pipes.slice()\n })\n },\n [_setPipes]\n )\n\n const updateMeta = useCallback(\n (idx: number, pipe: Partial) => {\n _setMeta(pipes => {\n pipes[idx] = {\n ...pipes[idx],\n ...pipe,\n }\n return pipes.slice()\n })\n },\n [_setMeta]\n )\n\n const updateResult = useCallback(\n (idx: number, results: Partial) => {\n _setResults(pipes => {\n pipes[idx] = {\n ...results,\n } as FluxResult\n return pipes.slice()\n })\n },\n [_setResults]\n )\n\n const movePipe = useCallback(\n (currentIdx: number, newIdx: number) => {\n const move = list => {\n const idx = ((newIdx % list.length) + list.length) % list.length\n\n if (idx === currentIdx) {\n return list\n }\n\n const pipe = list.splice(currentIdx, 1)\n\n list.splice(idx, 0, pipe[0])\n\n return list.slice()\n }\n _setPipes(move)\n _setMeta(move)\n _setResults(move)\n },\n [_setPipes, _setResults, _setMeta]\n )\n\n const removePipe = useCallback(\n (idx: number) => {\n const remove = pipes => {\n pipes.splice(idx, 1)\n return pipes.slice()\n }\n _setPipes(remove)\n _setMeta(remove)\n _setResults(remove)\n },\n [_setPipes, _setMeta, _setResults]\n )\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useState, useCallback} from 'react'\nimport {AutoRefresh, TimeRange} from 'src/types'\nimport {DEFAULT_TIME_RANGE} from 'src/shared/constants/timeRanges'\nimport {AUTOREFRESH_DEFAULT} from 'src/shared/constants'\n\nexport interface TimeBlock {\n range: TimeRange\n refresh: AutoRefresh\n}\n\nexport interface TimeState {\n [key: string]: TimeBlock\n}\n\nexport const DEFAULT_STATE: TimeBlock = {\n range: DEFAULT_TIME_RANGE,\n refresh: AUTOREFRESH_DEFAULT,\n}\n\nexport interface TimeContext {\n timeContext: TimeState\n addTimeContext: (id: string, block?: TimeBlock) => void\n updateTimeContext: (id: string, block: TimeBlock) => void\n removeTimeContext: (id: string) => void\n}\n\nexport const DEFAULT_CONTEXT: TimeContext = {\n timeContext: {},\n addTimeContext: () => {},\n updateTimeContext: () => {},\n removeTimeContext: () => {},\n}\n\nexport const TimeContext = React.createContext(DEFAULT_CONTEXT)\n\nexport const TimeProvider: FC = ({children}) => {\n const [timeContext, setTimeContext] = useState({})\n\n const addTimeContext = useCallback((id: string, block?: TimeBlock) => {\n setTimeContext(ranges => {\n if (ranges.hasOwnProperty(id)) {\n throw new Error(\n `TimeContext[${id}] already exists: use updateContext instead`\n )\n return ranges\n }\n\n return {\n ...ranges,\n [id]: {...(block || DEFAULT_STATE)},\n }\n })\n }, [])\n\n const updateTimeContext = useCallback((id: string, block: TimeBlock) => {\n setTimeContext(ranges => {\n return {\n ...ranges,\n [id]: {\n ...(ranges[id] || {}),\n ...block,\n },\n }\n })\n }, [])\n\n const removeTimeContext = useCallback((id: string) => {\n setTimeContext(ranges => {\n if (!ranges.hasOwnProperty(id)) {\n throw new Error(`TimeContext[${id}] doesn't exist`)\n return ranges\n }\n delete ranges[id]\n return {...ranges}\n })\n }, [])\n\n return (\n \n {children}\n \n )\n}\n","import React, {FC, useContext} from 'react'\n\nimport {AppSettingContext} from 'src/notebooks/context/app'\n\nimport {TimeZoneDropdown as StatelessTimeZoneDropdown} from 'src/shared/components/TimeZoneDropdown'\nimport {TimeZone} from 'src/types'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst TimeZoneDropdown: FC = React.memo(() => {\n const {timeZone, onSetTimeZone} = useContext(AppSettingContext)\n\n const setTimeZone = (tz: TimeZone) => {\n event('Time Zone Changed', {timeZone: tz as string})\n\n onSetTimeZone(tz)\n }\n\n return (\n \n )\n})\n\nexport default TimeZoneDropdown\n","import React, {FC, useMemo, useCallback} from 'react'\nimport {default as StatelessTimeRangeDropdown} from 'src/shared/components/TimeRangeDropdown'\nimport {TimeContextProps} from 'src/notebooks/components/header'\nimport {TimeBlock} from 'src/notebooks/context/time'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst TimeRangeDropdown: FC = ({context, update}) => {\n const {range} = context\n\n const updateRange = useCallback(\n range => {\n event(\n 'Time Range Updated',\n {\n type: range.type,\n },\n {upper: range.upper as string, lower: range.lower}\n )\n\n update({\n range,\n } as TimeBlock)\n },\n [update]\n )\n\n return useMemo(() => {\n return (\n \n )\n }, [range, updateRange])\n}\n\nexport default TimeRangeDropdown\n","import React, {FC, useMemo, useCallback} from 'react'\nimport {default as StatelessAutoRefreshDropdown} from 'src/shared/components/dropdown_auto_refresh/AutoRefreshDropdown'\nimport {TimeContextProps} from 'src/notebooks/components/header'\nimport {TimeBlock} from 'src/notebooks/context/time'\nimport {AutoRefreshStatus} from 'src/types'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nconst AutoRefreshDropdown: FC = ({context, update}) => {\n const {refresh} = context\n\n const updateRefresh = useCallback(\n (interval: number) => {\n const status =\n interval === 0 ? AutoRefreshStatus.Paused : AutoRefreshStatus.Active\n\n event('Auto Refresh Updated', {\n interval: '' + interval,\n })\n\n update({\n refresh: {\n status,\n interval,\n },\n } as TimeBlock)\n },\n [update]\n )\n\n return useMemo(() => {\n return (\n \n )\n }, [refresh, updateRefresh])\n}\n\nexport default AutoRefreshDropdown\n","import React, {FC, useContext, useMemo} from 'react'\nimport {connect} from 'react-redux'\nimport {AppState, Variable, Organization} from 'src/types'\nimport {runQuery} from 'src/shared/apis/query'\nimport {getWindowVars} from 'src/variables/utils/getWindowVars'\nimport {buildVarsOption} from 'src/variables/utils/buildVarsOption'\nimport {getTimeRangeVars} from 'src/variables/utils/getTimeRangeVars'\nimport {getVariables, asAssignment} from 'src/variables/selectors'\nimport {getOrg} from 'src/organizations/selectors'\nimport {NotebookContext} from 'src/notebooks/context/notebook'\nimport {TimeContext} from 'src/notebooks/context/time'\nimport {fromFlux as parse} from '@influxdata/giraffe'\nimport {event} from 'src/cloud/utils/reporting'\nimport {FluxResult} from 'src/notebooks'\n\nexport interface QueryContextType {\n query: (text: string) => Promise\n}\n\nexport const DEFAULT_CONTEXT: QueryContextType = {\n query: () => Promise.resolve({} as FluxResult),\n}\n\nexport const QueryContext = React.createContext(\n DEFAULT_CONTEXT\n)\n\ntype Props = StateProps\nexport const QueryProvider: FC = ({children, variables, org}) => {\n const {id} = useContext(NotebookContext)\n const {timeContext} = useContext(TimeContext)\n const time = timeContext[id]\n\n const vars = useMemo(\n () =>\n variables.map(v => asAssignment(v)).concat(getTimeRangeVars(time.range)),\n [variables, time]\n )\n const query = (text: string) => {\n const windowVars = getWindowVars(text, vars)\n const extern = buildVarsOption([...vars, ...windowVars])\n\n event('runQuery', {context: 'notebooks'})\n return runQuery(org.id, text, extern)\n .promise.then(raw => {\n if (raw.type !== 'SUCCESS') {\n throw new Error(raw.message)\n }\n\n return raw\n })\n .then(raw => {\n return {\n source: text,\n raw: raw.csv,\n parsed: parse(raw.csv),\n error: null,\n }\n })\n }\n\n if (!time) {\n return null\n }\n\n return (\n {children}\n )\n}\n\ninterface StateProps {\n variables: Variable[]\n org: Organization\n}\n\nconst mstp = (state: AppState) => {\n const variables = getVariables(state)\n const org = getOrg(state)\n\n return {\n org,\n variables,\n }\n}\n\nconst ConnectedQueryProvider = connect(mstp)(QueryProvider)\n\nexport default ConnectedQueryProvider\n","// Libraries\nimport React, {FC, useContext, useState, useEffect} from 'react'\nimport {SubmitQueryButton} from 'src/timeMachine/components/SubmitQueryButton'\nimport QueryProvider, {QueryContext} from 'src/notebooks/context/query'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ResultsContext} from 'src/notebooks/context/results'\nimport {TimeContext} from 'src/notebooks/context/time'\nimport {IconFont} from '@influxdata/clockface'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {RemoteDataState} from 'src/types'\n\nconst PREVIOUS_REGEXP = /__PREVIOUS_RESULT__/g\nconst COMMENT_REMOVER = /(\\/\\*([\\s\\S]*?)\\*\\/)|(\\/\\/(.*)$)/gm\n\nconst fakeNotify = notify\n\nexport const Submit: FC = () => {\n const {query} = useContext(QueryContext)\n const {id, notebook} = useContext(NotebookContext)\n const {add, update} = useContext(ResultsContext)\n const {timeContext} = useContext(TimeContext)\n const [isLoading, setLoading] = useState(RemoteDataState.NotStarted)\n const time = timeContext[id]\n const tr = !!time && time.range\n\n useEffect(() => {\n submit()\n }, [tr]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const forceUpdate = (id, data) => {\n try {\n update(id, data)\n } catch (_e) {\n add(id, data)\n }\n }\n\n const submit = () => {\n event('Notebook Submit Button Clicked')\n let queryIncludesPreviousResult = false\n setLoading(RemoteDataState.Loading)\n Promise.all(\n notebook.data.allIDs\n .reduce((stages, pipeID, index) => {\n notebook.meta.update(pipeID, {loading: RemoteDataState.Loading})\n const pipe = notebook.data.get(pipeID)\n\n if (pipe.type === 'query') {\n let text = pipe.queries[pipe.activeQuery].text.replace(\n COMMENT_REMOVER,\n ''\n )\n let requirements = {}\n\n if (!text.replace(/\\s/g, '').length) {\n if (stages.length) {\n stages[stages.length - 1].instances.push(pipeID)\n }\n return stages\n }\n\n if (PREVIOUS_REGEXP.test(text)) {\n requirements = {\n ...(index === 0 ? {} : stages[stages.length - 1].requirements),\n [`prev_${index}`]: stages[stages.length - 1].text,\n }\n text = text.replace(PREVIOUS_REGEXP, `prev_${index}`)\n queryIncludesPreviousResult = true\n }\n\n stages.push({\n text,\n instances: [pipeID],\n requirements,\n })\n } else if (pipe.type === 'data') {\n const {bucketName} = pipe\n\n const text = `from(bucket: \"${bucketName}\")|>range(start: v.timeRangeStart, stop: v.timeRangeStop)`\n\n stages.push({\n text,\n instances: [pipeID],\n requirements: {},\n })\n } else if (stages.length) {\n stages[stages.length - 1].instances.push(pipeID)\n }\n\n return stages\n }, [])\n .map(queryStruct => {\n const queryText =\n Object.entries(queryStruct.requirements)\n .map(([key, value]) => `${key} = (\\n${value}\\n)\\n\\n`)\n .join('') + queryStruct.text\n\n return query(queryText)\n .then(response => {\n queryStruct.instances.forEach(pipeID => {\n forceUpdate(pipeID, response)\n notebook.meta.update(pipeID, {loading: RemoteDataState.Done})\n })\n })\n .catch(e => {\n queryStruct.instances.forEach(pipeID => {\n forceUpdate(pipeID, {\n error: e.message,\n })\n notebook.meta.update(pipeID, {loading: RemoteDataState.Error})\n })\n })\n })\n )\n\n .then(() => {\n event('Notebook Submit Resolved')\n\n if (queryIncludesPreviousResult) {\n event('flows_queryIncludesPreviousResult')\n } else {\n event('flows_queryExcludesPreviousResult')\n }\n\n setLoading(RemoteDataState.Done)\n })\n .catch(e => {\n event('Notebook Submit Resolved')\n\n // NOTE: this shouldn't fire, but lets wrap it for completeness\n setLoading(RemoteDataState.Error)\n throw e\n })\n }\n\n const hasQueries = notebook.data.all\n .map(p => p.type)\n .filter(p => p === 'query' || p === 'data').length\n\n return (\n \n )\n}\n\nexport default () => (\n \n \n \n)\n","import React, {FC, useContext} from 'react'\nimport {SlideToggle, InputLabel} from '@influxdata/clockface'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\nconst PresentationMode: FC = () => {\n const {notebook, update} = useContext(NotebookContext)\n\n const handleChange = () => {\n update({readOnly: !notebook.readOnly})\n }\n\n const toggleClassName = `flows-presentationmode-${\n !!notebook.readOnly ? 'disable' : 'enable'\n }`\n\n return (\n <>\n \n Presentation\n \n )\n}\n\nexport default PresentationMode\n","// Libraries\nimport React, {FC, useContext, useCallback} from 'react'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook'\nimport {TimeProvider, TimeContext, TimeBlock} from 'src/notebooks/context/time'\nimport AppSettingProvider from 'src/notebooks/context/app'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport TimeZoneDropdown from 'src/notebooks/components/header/TimeZoneDropdown'\nimport TimeRangeDropdown from 'src/notebooks/components/header/TimeRangeDropdown'\nimport AutoRefreshDropdown from 'src/notebooks/components/header/AutoRefreshDropdown'\nimport Submit from 'src/notebooks/components/header/Submit'\nimport PresentationMode from 'src/notebooks/components/header/PresentationMode'\n\nconst FULL_WIDTH = true\n\nexport interface TimeContextProps {\n context: TimeBlock\n update: (data: TimeBlock) => void\n}\n\nconst NotebookHeader: FC = () => {\n const {id} = useContext(NotebookContext)\n const {timeContext, addTimeContext, updateTimeContext} = useContext(\n TimeContext\n )\n\n const update = useCallback(\n (data: TimeBlock) => {\n updateTimeContext(id, data)\n },\n [id, updateTimeContext]\n )\n\n if (!timeContext.hasOwnProperty(id)) {\n addTimeContext(id)\n return null\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default () => (\n \n \n \n \n \n)\n","import {FC, createElement, useContext} from 'react'\n\nimport {PIPE_DEFINITIONS, PipeProp} from 'src/notebooks'\nimport {PipeContext} from 'src/notebooks/context/pipe'\n\nconst Pipe: FC = props => {\n const {data} = useContext(PipeContext)\n\n if (!PIPE_DEFINITIONS.hasOwnProperty(data.type)) {\n throw new Error(`Pipe type [${data.type}] not registered`)\n return null\n }\n\n return createElement(PIPE_DEFINITIONS[data.type].component, props)\n}\n\nexport default Pipe\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {SquareButton, IconFont} from '@influxdata/clockface'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface Props {\n onRemove?: () => void\n}\n\nconst RemoveButton: FC = ({onRemove}) => {\n if (!onRemove) {\n return null\n }\n\n const handleClick = (): void => {\n event('Notebook Panel Removed')\n\n onRemove()\n }\n\n return (\n \n )\n}\n\nexport default RemoveButton\n","// Libraries\nimport React, {FC, ReactNode, Children} from 'react'\n\ninterface Props {\n title: string\n children: ReactNode\n}\n\nconst CellFamily: FC = ({title, children}) => {\n if (Children.count(children) === 0) {\n return null\n }\n\n return (\n
    \n
    {title}
    \n {children}\n
    \n )\n}\n\nexport default CellFamily\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {Button, ComponentColor} from '@influxdata/clockface'\nimport CellFamily from 'src/notebooks/components/CellFamily'\n\n// Constants\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ResultsContext} from 'src/notebooks/context/results'\nimport {PIPE_DEFINITIONS} from 'src/notebooks'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\nimport {TypeRegistration} from 'src/notebooks'\n\n// Styles\nimport 'src/notebooks/components/AddButtons.scss'\n\ninterface Props {\n index?: number\n onInsert?: () => void\n eventName: string\n}\n\nconst SUPPORTED_FAMILIES = [\n {\n name: 'Input',\n family: 'inputs',\n },\n {\n name: 'Transform',\n family: 'transform',\n },\n {\n name: 'Pass Throughs',\n family: 'passThrough',\n },\n {\n name: 'Test',\n family: 'test',\n },\n {\n name: 'Output',\n family: 'output',\n },\n {\n name: 'Side Effects',\n family: 'sideEffects',\n },\n]\n\nconst AddButtons: FC = ({index, onInsert, eventName}) => {\n const {add} = useContext(NotebookContext)\n const results = useContext(ResultsContext)\n\n const pipeFamilies = Object.entries(\n Object.values(PIPE_DEFINITIONS)\n .filter(\n def =>\n !def.disabled && (!def.featureFlag || isFlagEnabled(def.featureFlag))\n )\n .reduce((acc, def) => {\n if (!acc.hasOwnProperty(def.family)) {\n acc[def.family] = []\n }\n\n acc[def.family].push(def)\n\n return acc\n }, {})\n ).reduce((acc, [key, val]) => {\n acc[key] = (val as TypeRegistration[]).sort((a, b) => {\n const aPriority = a.priority || 0\n const bPriority = b.priority || 0\n\n if (aPriority === bPriority) {\n return a.button.localeCompare(b.button)\n }\n\n return bPriority - aPriority\n })\n return acc\n }, {})\n\n const cellFamilies = SUPPORTED_FAMILIES.filter(fam =>\n pipeFamilies.hasOwnProperty(fam.family)\n ).map(fam => {\n const pipes = pipeFamilies[fam.family].map(def => {\n return (\n {\n let data = def.initial\n if (typeof data === 'function') {\n data = data()\n }\n\n onInsert && onInsert()\n\n event(eventName, {\n type: def.type,\n })\n\n const id = add(\n {\n ...data,\n type: def.type,\n },\n index\n )\n\n results.add(id)\n }}\n color={ComponentColor.Secondary}\n />\n )\n })\n return (\n \n {pipes}\n \n )\n })\n\n return
    {cellFamilies}
    \n}\n\nexport default AddButtons\n","// Libraries\nimport React, {FC, useRef, useEffect, useContext} from 'react'\n\n// Components\nimport {\n Popover,\n Appearance,\n ComponentColor,\n ComponentSize,\n SquareButton,\n IconFont,\n FlexBox,\n FlexDirection,\n AlignItems,\n PopoverPosition,\n} from '@influxdata/clockface'\nimport AddButtons from 'src/notebooks/components/AddButtons'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\n// Styles\nimport 'src/notebooks/components/panel/InsertCellButton.scss'\n\ninterface Props {\n id: string\n}\n\nconst InsertCellButton: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const dividerRef = useRef(null)\n const buttonRef = useRef(null)\n const popoverVisible = useRef(false)\n const buttonPositioningEnabled = useRef(false)\n const index = notebook.data.indexOf(id)\n\n useEffect(() => {\n window.addEventListener('mousemove', handleMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleMouseMove)\n }\n }, [])\n\n const handleMouseMove = (e: MouseEvent): void => {\n if (!dividerRef.current || !buttonRef.current) {\n return\n }\n\n if (\n popoverVisible.current === false &&\n buttonPositioningEnabled.current === true\n ) {\n const {pageX} = e\n const {left, width} = dividerRef.current.getBoundingClientRect()\n\n const minLeft = 0\n const maxLeft = width\n\n const buttonLeft = Math.min(Math.max(pageX - left, minLeft), maxLeft)\n buttonRef.current.setAttribute('style', `left: ${buttonLeft}px`)\n }\n }\n\n const handleMouseEnter = () => {\n buttonPositioningEnabled.current = true\n }\n\n const handleMouseLeave = () => {\n buttonPositioningEnabled.current = false\n }\n\n const handlePopoverShow = () => {\n popoverVisible.current = true\n dividerRef.current &&\n dividerRef.current.classList.add('notebook-divider__popped')\n }\n\n const handlePopoverHide = () => {\n popoverVisible.current = false\n dividerRef.current &&\n dividerRef.current.classList.remove('notebook-divider__popped')\n }\n\n return (\n \n \n (\n \n

    Insert Cell Here

    \n \n \n )}\n />\n
    \n )\n}\n\nexport default InsertCellButton\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Components\nimport {SquareButton, IconFont} from '@influxdata/clockface'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\nexport interface Props {\n id: string\n}\n\nconst PanelVisibilityToggle: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const meta = notebook.meta.get(id)\n\n const icon = meta.visible ? IconFont.EyeOpen : IconFont.EyeClosed\n const title = meta.visible ? 'Collapse cell' : 'Expand cell'\n\n const handleClick = (): void => {\n event('Panel Visibility Toggled', {\n state: !meta.visible ? 'true' : 'false',\n })\n\n notebook.meta.update(id, {\n visible: !meta.visible,\n })\n }\n\n return \n}\n\nexport default PanelVisibilityToggle\n","// Libraries\nimport React, {FC, MouseEvent} from 'react'\n\n// Components\nimport {SquareButton, IconFont, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\ninterface Props {\n onClick?: () => void\n direction: 'up' | 'down'\n active: boolean\n}\n\nconst MovePanelUpButton: FC = ({onClick, direction, active}) => {\n const status = active ? ComponentStatus.Default : ComponentStatus.Disabled\n const icon = direction === 'up' ? IconFont.CaretUp : IconFont.CaretDown\n\n const handleClick = (e: MouseEvent): void => {\n if (onClick) {\n event('Notebook Panel Moved', {\n direction,\n })\n\n e.stopPropagation()\n onClick()\n }\n }\n\n const title = `Move this cell ${direction}`\n\n return (\n \n )\n}\n\nexport default MovePanelUpButton\n","// Libraries\nimport React, {FC, ChangeEvent, useContext} from 'react'\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\n\ninterface Props {\n id: string\n}\n\nconst NotebookPanelTitle: FC = ({id}) => {\n const {notebook} = useContext(NotebookContext)\n const title = notebook.meta.get(id).title\n const onTitleChange = (value: string) => {\n notebook.meta.update(id, {\n title: value,\n })\n }\n\n let sourceName\n let titleElement =
    {title}
    \n\n const onChange = (e: ChangeEvent): void => {\n onTitleChange(e.target.value)\n }\n\n titleElement = (\n \n )\n\n return (\n <>\n {sourceName}\n {titleElement}\n \n )\n}\n\nexport default NotebookPanelTitle\n","// Libraries\nimport React, {\n FC,\n useContext,\n useCallback,\n useEffect,\n ReactNode,\n MouseEvent,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {\n FlexBox,\n ComponentSize,\n AlignItems,\n JustifyContent,\n ClickOutside,\n} from '@influxdata/clockface'\nimport RemovePanelButton from 'src/notebooks/components/panel/RemovePanelButton'\nimport InsertCellButton from 'src/notebooks/components/panel/InsertCellButton'\nimport PanelVisibilityToggle from 'src/notebooks/components/panel/PanelVisibilityToggle'\nimport MovePanelButton from 'src/notebooks/components/panel/MovePanelButton'\nimport NotebookPanelTitle from 'src/notebooks/components/panel/NotebookPanelTitle'\n\n// Types\nimport {PipeContextProps} from 'src/notebooks'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {RefContext} from 'src/notebooks/context/refs'\n\nexport interface Props extends PipeContextProps {\n id: string\n}\n\nexport interface HeaderProps {\n id: string\n controls?: ReactNode\n}\n\nconst NotebookPanelHeader: FC = ({id, controls}) => {\n const {notebook} = useContext(NotebookContext)\n const removePipe = () => {\n notebook.data.remove(id)\n notebook.meta.remove(id)\n }\n const index = notebook.data.indexOf(id)\n const canBeMovedUp = index > 0\n const canBeMovedDown = index < notebook.data.allIDs.length - 1\n\n const moveUp = useCallback(() => {\n if (canBeMovedUp) {\n notebook.data.move(id, index - 1)\n }\n }, [index, canBeMovedUp, notebook.data])\n\n const moveDown = useCallback(() => {\n if (canBeMovedDown) {\n notebook.data.move(id, index + 1)\n }\n }, [index, canBeMovedDown, notebook.data])\n\n const remove = useCallback(() => removePipe(), [removePipe, id])\n\n return (\n
    \n \n \n \n \n {controls}\n \n \n \n \n \n
    \n )\n}\n\nconst NotebookPanel: FC = ({id, children, controls}) => {\n const {notebook} = useContext(NotebookContext)\n const refs = useContext(RefContext)\n const panelRef = useRef(null)\n\n const isVisible = notebook.meta.get(id).visible\n const isFocused = refs.get(id).focus\n\n const panelClassName = classnames('notebook-panel', {\n [`notebook-panel__visible`]: isVisible,\n [`notebook-panel__hidden`]: !isVisible,\n 'notebook-panel__focus': isFocused,\n })\n\n useEffect(() => {\n refs.update(id, {panel: panelRef})\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const updatePanelFocus = useCallback(\n (focus: boolean): void => {\n refs.update(id, {focus})\n },\n [id, refs] // eslint-disable-line react-hooks/exhaustive-deps\n )\n\n const handleClick = (e: MouseEvent): void => {\n e.stopPropagation()\n updatePanelFocus(true)\n }\n\n const handleClickOutside = (): void => {\n updatePanelFocus(false)\n }\n\n if (\n notebook.readOnly &&\n !/^(visualization|markdown)$/.test(notebook.data.get(id).type)\n ) {\n return null\n }\n return (\n <>\n \n
    \n \n
    {children}
    \n
    \n
    \n {!notebook.readOnly && }\n \n )\n}\n\nexport default NotebookPanel\n","import React, {FC, createElement, useMemo} from 'react'\n\nimport {PipeContextProps} from 'src/notebooks'\nimport Pipe from 'src/notebooks/components/Pipe'\nimport NotebookPanel from 'src/notebooks/components/panel/NotebookPanel'\nimport {PipeProvider} from 'src/notebooks/context/pipe'\n\nexport interface NotebookPipeProps {\n id: string\n}\n\nconst NotebookPipe: FC = ({id}) => {\n const panel: FC = useMemo(\n () => props => {\n const _props = {\n ...props,\n id,\n }\n\n return createElement(NotebookPanel, _props)\n },\n [id]\n )\n\n return (\n \n \n \n )\n}\n\nexport default NotebookPipe\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport AddButtons from 'src/notebooks/components/AddButtons'\n\n// Styles\nimport 'src/notebooks/components/EmptyPipeList.scss'\n\nconst EmptyPipeList: FC = () => {\n return (\n
    \n
    \n

    Welcome to Flows

    \n

    \n This is a more flexible way to explore, visualize, and (eventually)\n alert on your data\n

    \n

    \n Get started by Adding a Cell below\n

    \n
    \n \n
    \n
    \n )\n}\n\nexport default EmptyPipeList\n","// Libraries\nimport React, {FC, useContext} from 'react'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {ScrollContext} from 'src/notebooks/context/scroll'\n\n// Components\nimport NotebookPipe from 'src/notebooks/components/NotebookPipe'\nimport EmptyPipeList from 'src/notebooks/components/EmptyPipeList'\nimport {DapperScrollbars} from '@influxdata/clockface'\n\nconst PipeList: FC = () => {\n const {scrollPosition} = useContext(ScrollContext)\n const {notebook} = useContext(NotebookContext)\n const {data} = notebook\n\n if (!data || !data.allIDs.length) {\n return \n }\n\n const _pipes = data.allIDs.map(id => {\n return \n })\n\n return (\n \n {_pipes}\n \n )\n}\n\nexport default PipeList\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Icon, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {setNotebookMiniMapState} from 'src/shared/actions/app'\n\n// Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst MiniMapToggle: FC = ({\n notebookMiniMapState,\n handleSetNotebookMiniMapState,\n}) => {\n const active = notebookMiniMapState === 'expanded'\n\n const handleChange = (): void => {\n event('Notebook Toggled Table of Contents', {\n state: active ? 'collapsed' : 'expanded',\n })\n\n if (active) {\n handleSetNotebookMiniMapState('collapsed')\n } else {\n handleSetNotebookMiniMapState('expanded')\n }\n }\n\n const glyph = active ? IconFont.Minimize : IconFont.Maximize\n const title = active\n ? 'Click to minimize Table of Contents'\n : 'Click to maximize Table of Contents'\n\n const headerClassName = `notebook-minimap--header flows-toc-${\n active ? 'collapse' : 'expand'\n }`\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n app: {\n persisted: {notebookMiniMapState},\n },\n } = state\n\n return {\n notebookMiniMapState,\n }\n}\n\nconst mdtp = {\n handleSetNotebookMiniMapState: setNotebookMiniMapState,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(MiniMapToggle)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n title: string\n focus: boolean\n visible: boolean\n onClick: () => void\n}\n\nconst MiniMapItem: FC = ({title, focus, onClick, visible}) => {\n const className = classnames('notebook-minimap--item', {\n 'notebook-minimap--item__focus': focus,\n 'notebook-minimap--item__hidden': !visible,\n })\n\n const handleClick = (): void => {\n onClick()\n }\n\n return (\n
    \n {title}\n
    \n )\n}\n\nexport default MiniMapItem\n","// Libraries\nimport React, {FC, useContext} from 'react'\nimport {connect} from 'react-redux'\n\n// Contexts\nimport {NotebookContext} from 'src/notebooks/context/notebook.current'\nimport {RefContext} from 'src/notebooks/context/refs'\nimport {ScrollContext} from 'src/notebooks/context/scroll'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport MiniMapToggle from 'src/notebooks/components/minimap/MiniMapToggle'\nimport MiniMapItem from 'src/notebooks/components/minimap/MiniMapItem'\n\n// Types\nimport {AppState, NotebookMiniMapState} from 'src/types'\n\n// Styles\nimport 'src/notebooks/components/minimap/MiniMap.scss'\n\ninterface StateProps {\n notebookMiniMapState: NotebookMiniMapState\n}\n\nconst MiniMap: FC = ({notebookMiniMapState}) => {\n const {notebook} = useContext(NotebookContext)\n const refs = useContext(RefContext)\n const {scrollToPipe} = useContext(ScrollContext)\n\n if (notebookMiniMapState === 'collapsed') {\n return (\n
    \n \n
    \n )\n }\n\n const pipes = notebook.data.allIDs.map(id => {\n const {title, visible} = notebook.meta.get(id)\n const {panel, focus} = refs.get(id)\n\n return (\n {\n scrollToPipe(panel)\n refs.update(id, {focus: true})\n }}\n />\n )\n })\n\n return (\n
    \n \n \n
    {pipes}
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState) => {\n const {\n app: {\n persisted: {notebookMiniMapState},\n },\n } = state\n\n return {\n notebookMiniMapState,\n }\n}\n\nexport default connect(mstp, null)(MiniMap)\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport {ResultsProvider} from 'src/notebooks/context/results'\nimport {RefProvider} from 'src/notebooks/context/refs'\nimport CurrentNotebook from 'src/notebooks/context/notebook.current'\nimport {ScrollProvider} from 'src/notebooks/context/scroll'\nimport NotebookHeader from 'src/notebooks/components/header'\nimport PipeList from 'src/notebooks/components/PipeList'\nimport MiniMap from 'src/notebooks/components/minimap/MiniMap'\n\n// NOTE: uncommon, but using this to scope the project\n// within the page and not bleed it's dependancies outside\n// of the feature flag\nimport 'src/notebooks/style.scss'\n\nconst NotebookPage: FC = () => {\n return (\n \n \n \n \n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default NotebookPage\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Tabs, Orientation, ComponentSize} from '@influxdata/clockface'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\n\ninterface OwnProps {\n activeTab: string\n orgID: string\n}\n\ntype Props = OwnProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass LoadDataNavigation extends PureComponent {\n public render() {\n const {activeTab, orgID, history} = this.props\n\n const handleTabClick = (id: string): void => {\n history.push(`/orgs/${orgID}/load-data/${id}`)\n }\n\n const tabs = [\n {\n text: 'Buckets',\n id: 'buckets',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Telegraf',\n id: 'telegrafs',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Scrapers',\n id: 'scrapers',\n cloudExclude: true,\n featureFlag: null,\n },\n {\n text: 'Tokens',\n id: 'tokens',\n cloudExclude: false,\n featureFlag: null,\n },\n {\n text: 'Client Libraries',\n id: 'client-libraries',\n cloudExclude: false,\n featureFlag: null,\n },\n ]\n\n const activeTabName = tabs.find(t => t.id === activeTab).text\n\n return (\n \n {tabs.map(t => {\n let tabElement = (\n \n )\n\n if (t.cloudExclude) {\n tabElement = {tabElement}\n }\n\n if (t.featureFlag) {\n tabElement = (\n \n {tabElement}\n \n )\n }\n return tabElement\n })}\n \n )\n }\n}\n\nexport default withRouter(LoadDataNavigation)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport LoadDataNavigation from 'src/settings/components/LoadDataNavigation'\nimport {Tabs, Orientation, Page} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n activeTab: string\n orgID: string\n}\n\n@ErrorHandling\nclass LoadDataTabbedPage extends PureComponent {\n public render() {\n const {activeTab, orgID, children} = this.props\n\n return (\n \n \n \n {children}\n \n \n )\n }\n}\n\nexport default LoadDataTabbedPage\n","import React, {FC} from 'react'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\n\nconst LoadDataHeader: FC = () => {\n return (\n \n \n \n \n )\n}\n\nexport default LoadDataHeader\n","// Libraries\nimport React, {SFC} from 'react'\n\ninterface Props {\n childrenLeft?: JSX.Element[] | JSX.Element\n childrenRight?: JSX.Element[] | JSX.Element\n}\n\nconst TabbedPageHeader: SFC = ({childrenLeft, childrenRight}) => {\n let leftHeader = <>\n let rightHeader = <>\n\n if (childrenLeft) {\n leftHeader =
    {childrenLeft}
    \n }\n\n if (childrenRight) {\n rightHeader = (\n
    {childrenRight}
    \n )\n }\n\n return (\n
    \n {leftHeader}\n {rightHeader}\n
    \n )\n}\n\nexport default TabbedPageHeader\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context, Alignment, ComponentSize} from 'src/clockface'\n\nimport {\n ButtonShape,\n ComponentColor,\n IconFont,\n FlexBox,\n AlignItems,\n FlexDirection,\n} from '@influxdata/clockface'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface Props {\n bucket: OwnBucket\n onDeleteBucket: (bucket: OwnBucket) => void\n}\n\nexport default class BucketContextMenu extends PureComponent {\n public render() {\n return (\n <>\n \n \n {this.deleteButton}\n \n \n \n )\n }\n\n private get deleteButton() {\n const {bucket, onDeleteBucket} = this.props\n if (bucket.type === 'user') {\n return (\n \n \n \n )\n } else {\n return null\n }\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport {capitalize} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {\n copyToClipboardSuccess,\n copyToClipboardFailed,\n} from 'src/shared/copy/notifications'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface OwnProps {\n bucket: OwnBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nconst BucketCardMeta: FC = ({bucket, notify}) => {\n const handleCopyAttempt = (\n copiedText: string,\n isSuccessful: boolean\n ): void => {\n const text = copiedText.slice(0, 30).trimRight()\n const truncatedText = `${text}...`\n\n if (isSuccessful) {\n notify(copyToClipboardSuccess(truncatedText, 'Bucket ID'))\n } else {\n notify(copyToClipboardFailed(truncatedText, 'Bucket ID'))\n }\n }\n\n const persistentBucketMeta = (\n \n Retention: {capitalize(bucket.readableRetention)}\n \n )\n\n if (bucket.type === 'system') {\n return (\n \n \n System Bucket\n \n {persistentBucketMeta}\n \n )\n }\n\n return (\n \n {persistentBucketMeta}\n \n \n ID: {bucket.id}\n Copy to Clipboard\n \n \n \n )\n}\n\nconst mdtp = {\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(BucketCardMeta)\n","// Libraries\nimport React, {PureComponent, createRef, RefObject} from 'react'\n\n// Components\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport {\n Button,\n ButtonRef,\n IconFont,\n ComponentSize,\n ComponentColor,\n Popover,\n Appearance,\n PopoverPosition,\n} from '@influxdata/clockface'\n\ninterface Props {\n onAddCollector: () => void\n onAddLineProtocol: () => void\n onAddClientLibrary: () => void\n onAddScraper: () => void\n}\n\nexport default class BucketAddDataButton extends PureComponent {\n private triggerRef: RefObject = createRef()\n\n public render() {\n const {\n onAddCollector,\n onAddLineProtocol,\n onAddClientLibrary,\n onAddScraper,\n } = this.props\n\n return (\n <>\n (\n
    \n
    \n
    \n Configure Telegraf Agent\n
    \n
    \n Configure a Telegraf agent to push data into your bucket.\n
    \n
    \n \n \n Line Protocol\n
    \n
    \n Quickly load an existing line protocol file.\n
    \n
    \n \n \n Client Library\n
    \n
    \n Write data easily from your own application.\n
    \n
    \n \n
    \n
    \n Scrape Metrics\n
    \n
    \n Add a scrape target to pull data into your bucket.\n
    \n
    \n
    \n
    \n )}\n />\n \n \n )\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {\n Button,\n FlexBox,\n FlexDirection,\n ComponentSize,\n} from '@influxdata/clockface'\nimport BucketAddDataButton from 'src/buckets/components/BucketAddDataButton'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Actions\nimport {addBucketLabel, deleteBucketLabel} from 'src/buckets/actions/thunks'\nimport {setBucketInfo} from 'src/dataLoaders/actions/steps'\nimport {setDataLoadersType} from 'src/dataLoaders/actions/dataLoaders'\n\n// Types\nimport {Label, OwnBucket} from 'src/types'\nimport {DataLoaderType} from 'src/types/dataLoaders'\n\ninterface OwnProps {\n bucket: OwnBucket\n bucketType: 'user' | 'system'\n orgID: string\n onDeleteData: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = OwnProps & ReduxProps & RouterProps\n\nconst BucketCardActions: FC = ({\n bucket,\n bucketType,\n orgID,\n onFilterChange,\n onAddBucketLabel,\n onDeleteBucketLabel,\n onDeleteData,\n history,\n onSetDataLoadersBucket,\n onSetDataLoadersType,\n}) => {\n if (bucketType === 'system') {\n return null\n }\n\n const handleAddLabel = (label: Label) => {\n onAddBucketLabel(bucket.id, label)\n }\n\n const handleRemoveLabel = (label: Label) => {\n onDeleteBucketLabel(bucket.id, label)\n }\n\n const handleClickSettings = () => {\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/edit`)\n }\n\n const handleAddCollector = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n onSetDataLoadersType(DataLoaderType.Streaming)\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/telegrafs/new`)\n }\n\n const handleAddLineProtocol = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n onSetDataLoadersType(DataLoaderType.LineProtocol)\n history.push(\n `/orgs/${orgID}/load-data/buckets/${bucket.id}/line-protocols/new`\n )\n }\n\n const handleAddClientLibrary = (): void => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n onSetDataLoadersType(DataLoaderType.ClientLibrary)\n\n history.push(`/orgs/${orgID}/load-data/client-libraries`)\n }\n\n const handleAddScraper = () => {\n onSetDataLoadersBucket(orgID, bucket.name, bucket.id)\n\n onSetDataLoadersType(DataLoaderType.Scraping)\n history.push(`/orgs/${orgID}/load-data/buckets/${bucket.id}/scrapers/new`)\n }\n\n return (\n \n \n \n \n \n onDeleteData(bucket)}\n />\n \n \n )\n}\n\nconst mdtp = {\n onAddBucketLabel: addBucketLabel,\n onDeleteBucketLabel: deleteBucketLabel,\n onSetDataLoadersBucket: setBucketInfo,\n onSetDataLoadersType: setDataLoadersType,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(BucketCardActions))\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport _ from 'lodash'\n\n// Components\nimport {ResourceCard} from '@influxdata/clockface'\nimport BucketContextMenu from 'src/buckets/components/BucketContextMenu'\nimport BucketCardMeta from 'src/buckets/components/BucketCardMeta'\nimport BucketCardActions from 'src/buckets/components/BucketCardActions'\n\n// Constants\nimport {isSystemBucket} from 'src/buckets/constants/index'\n\n// Types\nimport {OwnBucket} from 'src/types'\n\ninterface Props {\n bucket: OwnBucket\n onDeleteData: (b: OwnBucket) => void\n onDeleteBucket: (b: OwnBucket) => void\n onUpdateBucket: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n}\n\nconst BucketCard: FC> = ({\n bucket,\n onDeleteBucket,\n onFilterChange,\n onDeleteData,\n history,\n match: {\n params: {orgID},\n },\n}) => {\n const handleNameClick = () => {\n history.push(`/orgs/${orgID}/data-explorer?bucket=${bucket.name}`)\n }\n\n return (\n \n )\n }\n >\n \n \n \n \n )\n}\n\nexport default withRouter(BucketCard)\n","// API\nimport {\n getDemoDataBuckets as getDemoDataBucketsAJAX,\n getDemoDataBucketMembership as getDemoDataBucketMembershipAJAX,\n deleteDemoDataBucketMembership as deleteDemoDataBucketMembershipAJAX,\n getNormalizedDemoDataBucket,\n} from 'src/cloud/apis/demodata'\nimport {createDashboardFromTemplate} from 'src/templates/api'\nimport {getBucket} from 'src/client'\n\n// Actions\nimport {addBucket, removeBucket} from 'src/buckets/actions/creators'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Constants\nimport {DemoDataTemplates} from 'src/cloud/constants'\nimport {\n demoDataAddBucketFailed,\n demoDataDeleteBucketFailed,\n demoDataSucceeded,\n} from 'src/shared/copy/notifications'\n\n// Utils\nimport {reportError} from 'src/shared/utils/errors'\nimport {getErrorMessage} from 'src/utils/api'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {Bucket, RemoteDataState, GetState, DemoBucket} from 'src/types'\n\nexport type Actions =\n | ReturnType\n | ReturnType\n\nexport const setDemoDataStatus = (status: RemoteDataState) => ({\n type: 'SET_DEMODATA_STATUS' as 'SET_DEMODATA_STATUS',\n payload: {status},\n})\n\nexport const setDemoDataBuckets = (buckets: Bucket[]) => ({\n type: 'SET_DEMODATA_BUCKETS' as 'SET_DEMODATA_BUCKETS',\n payload: {buckets},\n})\n\nexport const getDemoDataBuckets = () => async (\n dispatch,\n getState: GetState\n) => {\n const {\n cloud: {\n demoData: {status},\n },\n } = getState()\n if (status === RemoteDataState.NotStarted) {\n dispatch(setDemoDataStatus(RemoteDataState.Loading))\n }\n\n try {\n const buckets = await getDemoDataBucketsAJAX()\n\n dispatch(setDemoDataBuckets(buckets))\n } catch (error) {\n console.error(error)\n\n reportError(error, {\n name: 'getDemoDataBuckets function',\n })\n\n dispatch(setDemoDataStatus(RemoteDataState.Error))\n }\n}\n\nexport const getDemoDataBucketMembership = ({\n name: bucketName,\n id: bucketID,\n}) => async (dispatch, getState: GetState) => {\n const state = getState()\n\n const {id: orgID} = getOrg(state)\n\n try {\n await getDemoDataBucketMembershipAJAX(bucketID)\n\n const normalizedBucket = await getNormalizedDemoDataBucket(bucketID)\n\n dispatch(addBucket(normalizedBucket))\n } catch (error) {\n dispatch(\n notify(demoDataAddBucketFailed(bucketName, getErrorMessage(error)))\n )\n\n reportError(error, {\n name: 'addDemoDataBucket failed in getDemoDataBucketMembership',\n })\n\n return\n }\n\n try {\n const template = await DemoDataTemplates[bucketName]\n\n if (!template) {\n throw new Error(`dashboard template was not found`)\n }\n\n const createdDashboard = await createDashboardFromTemplate(template, orgID)\n\n const url = `/orgs/${orgID}/dashboards/${createdDashboard.id}`\n\n dispatch(notify(demoDataSucceeded(bucketName, url)))\n\n event('demoData_bucketAdded', {demo_dataset: bucketName})\n } catch (error) {\n const errorMessage = getErrorMessage(error)\n\n dispatch(notify(demoDataAddBucketFailed(bucketName, errorMessage)))\n\n if (errorMessage != 'creating dashboard would exceed quota') {\n reportError(error, {\n name: 'addDemoDataDashboard failed in getDemoDataBucketMembership',\n })\n }\n }\n}\n\nexport const deleteDemoDataBucketMembership = (\n bucket: DemoBucket\n) => async dispatch => {\n try {\n await deleteDemoDataBucketMembershipAJAX(bucket.id)\n\n // an unsuccessful delete membership req can also return 204 to prevent userID sniffing, so need to check that bucket is really unreachable\n const resp = await getBucket({bucketID: bucket.id})\n\n if (resp.status === 200) {\n throw new Error('Request to remove demo data bucket did not succeed')\n }\n\n dispatch(removeBucket(bucket.id))\n event('demoData_bucketDeleted', {demo_dataset: bucket.name})\n } catch (error) {\n dispatch(notify(demoDataDeleteBucketFailed(bucket.name, error)))\n\n reportError(error, {\n name: 'deleteDemoDataBucket failed in deleteDemoDataBucketMembership',\n })\n }\n}\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {\n copyToClipboardSuccess,\n copyToClipboardFailed,\n} from 'src/shared/copy/notifications'\n\n// Components\nimport {\n ResourceCard,\n Label,\n Alignment,\n AlignItems,\n ComponentSize,\n ComponentColor,\n ButtonShape,\n FlexDirection,\n FlexBox,\n IconFont,\n} from '@influxdata/clockface'\nimport {Context} from 'src/clockface'\n\n// Actions\nimport {deleteDemoDataBucketMembership} from 'src/cloud/actions/demodata'\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\n\n// Types\nimport {DemoBucket} from 'src/types'\n\ninterface OwnProps {\n bucket: DemoBucket\n}\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = OwnProps & ReduxProps & RouterProps\n\nconst DemoDataBucketCard: FC = ({\n bucket,\n history,\n match: {\n params: {orgID},\n },\n removeBucket,\n notify,\n}) => {\n const handleNameClick = () => {\n history.push(`/orgs/${orgID}/data-explorer?bucket=${bucket.name}`)\n }\n\n const handleCopyAttempt = (\n copiedText: string,\n isSuccessful: boolean\n ): void => {\n const text = copiedText.slice(0, 30).trimRight()\n const truncatedText = `${text}...`\n\n if (isSuccessful) {\n notify(copyToClipboardSuccess(truncatedText, 'Bucket ID'))\n } else {\n notify(copyToClipboardFailed(truncatedText, 'Bucket ID'))\n }\n }\n\n return (\n \n \n \n \n \n \n \n }\n >\n \n \n \n Demo Data Bucket\n \n <>Retention: {bucket.readableRetention}\n \n \n ID: {bucket.id}\n Copy to Clipboard\n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n removeBucket: deleteDemoDataBucketMembership,\n notify: notifyAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(DemoDataBucketCard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport BucketCard from 'src/buckets/components/BucketCard'\nimport DemoDataBucketCard from 'src/buckets/components/DemoDataBucketCard'\nimport {ResourceList} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\n// Types\nimport {Bucket, OwnBucket} from 'src/types'\nimport {Sort} from '@influxdata/clockface'\n\n// Utils\nimport {SortTypes} from 'src/shared/utils/sort'\n\ninterface Props {\n buckets: Bucket[]\n emptyState: JSX.Element\n onUpdateBucket: (b: OwnBucket) => void\n onDeleteBucket: (b: OwnBucket) => void\n onFilterChange: (searchTerm: string) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nclass BucketList extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n return (\n \n \n {this.listBuckets}\n \n \n )\n }\n\n private get listBuckets(): JSX.Element[] {\n const {\n buckets,\n sortKey,\n sortDirection,\n sortType,\n onDeleteBucket,\n onFilterChange,\n onUpdateBucket,\n } = this.props\n const sortedBuckets = this.memGetSortedResources(\n buckets,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedBuckets.map(bucket => {\n if (bucket.type === 'demodata') {\n return \n }\n return (\n \n )\n })\n }\n\n private handleStartDeleteData = (bucket: OwnBucket) => {\n const {orgID} = this.props.match.params\n\n this.props.history.push(\n `/orgs/${orgID}/load-data/buckets/${bucket.id}/delete-data`\n )\n }\n}\n\nexport default withRouter(BucketList)\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {Panel, Gradients} from '@influxdata/clockface'\n\nconst BucketExplainer: FunctionComponent = () => (\n \n \n
    What is a Bucket?
    \n
    \n \n

    \n A bucket is a named location where time series data is stored. All\n buckets have a Retention Policy, a duration of time that each\n data point persists.\n
    \n
    \n Here's{' '}\n \n how to write data\n {' '}\n into your bucket.\n

    \n
    \n
    \n)\n\nexport default BucketExplainer\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get, sortBy} from 'lodash'\n\n// Actions\nimport {\n getDemoDataBucketMembership as getDemoDataBucketMembershipAction,\n getDemoDataBuckets,\n} from 'src/cloud/actions/demodata'\n\n// Components\nimport {ComponentColor, Dropdown, Icon, IconFont} from '@influxdata/clockface'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst DemoDataDropdown: FC = ({\n ownBucketsByID,\n demoDataBuckets,\n getDemoDataBucketMembership,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n dispatch(getDemoDataBuckets())\n }, [dispatch])\n\n if (!demoDataBuckets.length) {\n return null\n }\n\n const sortedBuckets = sortBy(demoDataBuckets, d => {\n return d.name.toLocaleLowerCase()\n })\n\n const dropdownItems = sortedBuckets.map(b => {\n if (ownBucketsByID[b.id]) {\n return (\n \n
    \n \n {b.name}\n
    \n \n )\n }\n\n return (\n \n
    \n \n {b.name}\n
    \n \n )\n })\n\n return (\n (\n \n Add Demo Data\n \n )}\n menu={onCollapse => (\n {dropdownItems}\n )}\n />\n )\n}\n\nconst mstp = (state: AppState) => ({\n ownBucketsByID: state.resources[ResourceType.Buckets].byID,\n demoDataBuckets: get(state, 'cloud.demoData.buckets', []) as Bucket[],\n})\n\nconst mdtp = {\n getDemoDataBucketMembership: getDemoDataBucketMembershipAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(DemoDataDropdown)\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Button, ComponentColor, IconFont} from '@influxdata/clockface'\n\n// Actions\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\ninterface OwnProps {\n color?: ComponentColor\n resourceName: string\n buttonText?: string\n}\n\ntype ReduxProps = ConnectedProps\n\nconst AssetLimitButton: FC = ({\n color = ComponentColor.Primary,\n buttonText,\n resourceName,\n onShowOverlay,\n onDismissOverlay,\n}) => {\n const handleClick = () => {\n onShowOverlay('asset-limit', {asset: `${resourceName}s`}, onDismissOverlay)\n }\n return (\n \n )\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(AssetLimitButton)\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\n\n// Components\nimport {Button, IconFont, ComponentColor} from '@influxdata/clockface'\nimport AssetLimitButton from 'src/cloud/components/AssetLimitButton'\n\n// Actions\nimport {checkBucketLimits, LimitStatus} from 'src/cloud/actions/limits'\nimport {showOverlay, dismissOverlay} from 'src/overlays/actions/overlays'\n\n// Utils\nimport {extractBucketLimits} from 'src/cloud/utils/limits'\n\n// Types\nimport {AppState} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\ntype ReduxProps = ConnectedProps\n\nconst CreateBucketButton: FC = ({\n limitStatus,\n onShowOverlay,\n onDismissOverlay,\n}) => {\n const dispatch = useDispatch()\n useEffect(() => {\n // Check bucket limits when component mounts\n dispatch(checkBucketLimits())\n }, [dispatch])\n\n const handleItemClick = (): void => {\n onShowOverlay('create-bucket', null, onDismissOverlay)\n }\n\n if (CLOUD && limitStatus === LimitStatus.EXCEEDED) {\n return \n }\n\n return (\n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n limitStatus: extractBucketLimits(state.cloud.limits),\n }\n}\n\nconst mdtp = {\n onShowOverlay: showOverlay,\n onDismissOverlay: dismissOverlay,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(CreateBucketButton)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {isEmpty} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {\n Grid,\n ComponentSize,\n Sort,\n EmptyState,\n Columns,\n} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport FilterList from 'src/shared/components/FilterList'\nimport BucketList from 'src/buckets/components/BucketList'\nimport AssetLimitAlert from 'src/cloud/components/AssetLimitAlert'\nimport BucketExplainer from 'src/buckets/components/BucketExplainer'\nimport DemoDataDropdown from 'src/buckets/components/DemoDataDropdown'\nimport {FeatureFlag} from 'src/shared/utils/featureFlag'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\nimport CreateBucketButton from 'src/buckets/components/CreateBucketButton'\n\n// Actions\nimport {\n createBucket,\n updateBucket,\n deleteBucket,\n} from 'src/buckets/actions/thunks'\nimport {checkBucketLimits as checkBucketLimitsAction} from 'src/cloud/actions/limits'\n\n// Utils\nimport {extractBucketLimits} from 'src/cloud/utils/limits'\nimport {getAll} from 'src/resources/selectors'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Types\nimport {AppState, Bucket, ResourceType, OwnBucket} from 'src/types'\nimport {BucketSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\ninterface State {\n searchTerm: string\n sortKey: BucketSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nconst FilterBuckets = FilterList()\n\n@ErrorHandling\nclass BucketsTab extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public componentDidMount() {\n this.props.checkBucketLimits()\n }\n\n public render() {\n const {buckets, limitStatus} = this.props\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n const rightHeaderItems = (\n <>\n \n \n \n \n \n )\n\n return (\n <>\n \n \n \n \n \n {bs => (\n \n )}\n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleSort = (\n sortKey: BucketSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleDeleteBucket = ({id, name}: OwnBucket) => {\n this.props.deleteBucket(id, name)\n }\n\n private handleFilterUpdate = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Buckets, why not create one?\n \n \n \n )\n }\n\n return (\n \n No Buckets match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const buckets = getAll(state, ResourceType.Buckets)\n return {\n buckets,\n limitStatus: extractBucketLimits(state.cloud.limits),\n }\n}\n\nconst mdtp = {\n createBucket,\n updateBucket,\n deleteBucket,\n checkBucketLimits: checkBucketLimitsAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(BucketsTab)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {WritePrecision} from '@influxdata/influx'\nimport {Precision} from 'src/types/dataLoaders'\n\ninterface Props {\n setPrecision: (precision: WritePrecision) => void\n precision: WritePrecision\n}\n\nconst writePrecisions: WritePrecision[] = [\n WritePrecision.Ns,\n WritePrecision.Us,\n WritePrecision.Ms,\n WritePrecision.S,\n]\n\nconst makePrecisionReadable = {\n [WritePrecision.Ns]: Precision.Nanoseconds,\n [WritePrecision.Us]: Precision.Microseconds,\n [WritePrecision.S]: Precision.Seconds,\n [WritePrecision.Ms]: Precision.Milliseconds,\n}\n\nclass PrecisionDropdown extends PureComponent {\n public render() {\n const {setPrecision, precision} = this.props\n return (\n (\n \n {`Precision: ${makePrecisionReadable[precision]}`}\n \n )}\n menu={onCollapse => (\n \n {writePrecisions.map(value => (\n \n {makePrecisionReadable[value]}\n \n ))}\n \n )}\n />\n )\n }\n}\n\nexport default PrecisionDropdown\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup} from '@influxdata/clockface'\n\nimport {LineProtocolTab} from 'src/types'\n\ninterface Props {\n active: boolean\n tab: LineProtocolTab\n onClick: (tab: LineProtocolTab) => void\n}\n\nexport default class extends PureComponent {\n public render() {\n const {tab, active} = this.props\n\n return (\n \n {tab}\n \n )\n }\n\n private handleClick = () => {\n this.props.onClick(this.props.tab)\n }\n}\n","import React, {PureComponent} from 'react'\n\nimport {SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport {LineProtocolTab} from 'src/types'\n\nimport Tab from 'src/dataLoaders/components/lineProtocolWizard/configure/Tab'\n\ninterface Props {\n tabs: LineProtocolTab[]\n activeLPTab: LineProtocolTab\n onClick: (tab: LineProtocolTab) => void\n}\n\nexport default class extends PureComponent {\n public render() {\n const {tabs, activeLPTab} = this.props\n return (\n \n {tabs.map(t => (\n \n ))}\n \n )\n }\n\n private handleTabClick = (tab: LineProtocolTab) => {\n const {activeLPTab, onClick} = this.props\n if (tab !== activeLPTab) {\n onClick(tab)\n }\n }\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\n\n// Components\nimport {\n Form,\n Input,\n Grid,\n TextArea,\n Columns,\n InputType,\n ComponentSize,\n} from '@influxdata/clockface'\nimport DragAndDrop from 'src/shared/components/DragAndDrop'\nimport {LineProtocolTab} from 'src/types'\nimport {WritePrecision} from '@influxdata/influx'\n\nimport {setLineProtocolBody} from 'src/dataLoaders/actions/dataLoaders'\n\ninterface Props {\n lineProtocolBody: string\n activeLPTab: LineProtocolTab\n precision: WritePrecision\n setLineProtocolBody: typeof setLineProtocolBody\n onURLChange: (url: string) => void\n urlInput: string\n}\n\nexport default class extends PureComponent {\n public render() {\n const {lineProtocolBody, activeLPTab, urlInput} = this.props\n\n switch (activeLPTab) {\n case LineProtocolTab.UploadFile:\n return (\n \n )\n case LineProtocolTab.EnterManually:\n return (\n \n )\n case LineProtocolTab.EnterURL:\n return (\n \n \n \n \n \n \n \n \n \n )\n }\n }\n\n private handleChange = (e: ChangeEvent) => {\n const {value} = e.target\n this.props.onURLChange(value)\n }\n\n private handleTextChange = (e: ChangeEvent) => {\n const {setLineProtocolBody} = this.props\n setLineProtocolBody(e.target.value)\n }\n\n private handleSetLineProtocol = (lpBody: string) => {\n const {setLineProtocolBody} = this.props\n setLineProtocolBody(lpBody)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport PrecisionDropdown from 'src/dataLoaders/components/lineProtocolWizard/configure/PrecisionDropdown'\nimport TabSelector from 'src/dataLoaders/components/lineProtocolWizard/configure/TabSelector'\nimport TabBody from 'src/dataLoaders/components/lineProtocolWizard/configure/TabBody'\n\n// Types\nimport {AppState, LineProtocolTab} from 'src/types'\n\n// Actions\nimport {\n setLineProtocolBody,\n setActiveLPTab,\n setPrecision,\n} from 'src/dataLoaders/actions/dataLoaders'\n\ninterface OwnProps {\n tabs: LineProtocolTab[]\n bucket: string\n org: string\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\ninterface State {\n urlInput: string\n}\n\nexport class LineProtocolTabs extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n urlInput: '',\n }\n }\n\n public render() {\n const {\n setPrecision,\n precision,\n activeLPTab,\n tabs,\n setLineProtocolBody,\n lineProtocolBody,\n } = this.props\n\n const {urlInput} = this.state\n\n return (\n <>\n
    \n \n \n
    \n \n \n )\n }\n\n private handleTabClick = (tab: LineProtocolTab) => {\n const {setActiveLPTab, setLineProtocolBody} = this.props\n\n setLineProtocolBody('')\n setActiveLPTab(tab)\n }\n\n private handleURLChange = (urlInput: string) => {\n this.setState({urlInput})\n }\n}\n\nconst mstp = ({\n dataLoading: {\n dataLoaders: {lineProtocolBody, activeLPTab, precision},\n },\n}: AppState) => {\n return {lineProtocolBody, activeLPTab, precision}\n}\n\nconst mdtp = {\n setLineProtocolBody,\n setActiveLPTab,\n setPrecision,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(LineProtocolTabs)\n","// Libraries\nimport React, {FC} from 'react'\n\nconst LineProtocolHelperText: FC<{}> = () => {\n return (\n

    \n Need help writing InfluxDB Line Protocol?{' '}\n \n See Documentation\n \n

    \n )\n}\n\nexport default LineProtocolHelperText\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {Form, Overlay} from '@influxdata/clockface'\nimport LineProtocolTabs from 'src/dataLoaders/components/lineProtocolWizard/configure/LineProtocolTabs'\nimport OnboardingButtons from 'src/onboarding/components/OnboardingButtons'\nimport LineProtocolHelperText from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolHelperText'\n\n// Actions\nimport {\n setLPStatus as setLPStatusAction,\n writeLineProtocolAction,\n} from 'src/dataLoaders/actions/dataLoaders'\n\n// Decorator\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {LineProtocolTab} from 'src/types/dataLoaders'\nimport {AppState} from 'src/types/index'\nimport {RemoteDataState} from 'src/types'\nimport {LineProtocolStepProps} from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolWizard'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\ntype OwnProps = LineProtocolStepProps\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nexport class LineProtocol extends PureComponent {\n public componentDidMount() {\n const {setLPStatus} = this.props\n setLPStatus(RemoteDataState.NotStarted)\n }\n\n public render() {\n const {bucket, org} = this.props\n\n return (\n
    \n \n \n \n \n \n \n )\n }\n\n private get LineProtocolTabs(): LineProtocolTab[] {\n return [LineProtocolTab.UploadFile, LineProtocolTab.EnterManually]\n }\n\n private handleSubmit = () => {\n const {onIncrementCurrentStepIndex} = this.props\n this.handleUpload()\n onIncrementCurrentStepIndex()\n }\n\n private handleUpload = () => {\n const {bucket, org, lineProtocolBody, precision} = this.props\n this.props.writeLineProtocolAction(org, bucket, lineProtocolBody, precision)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {dataLoading} = state\n const {\n dataLoaders: {lineProtocolBody, precision},\n steps: {bucket},\n } = dataLoading\n const org = getOrg(state).name\n\n return {lineProtocolBody, precision, bucket, org}\n}\n\nconst mdtp = {\n setLPStatus: setLPStatusAction,\n writeLineProtocolAction,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(LineProtocol)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\nimport {connect} from 'react-redux'\n\n// Components\nimport {SparkleSpinner} from '@influxdata/clockface'\n\n// Types\nimport {RemoteDataState} from 'src/types'\nimport {AppState} from 'src/types'\n\ninterface StateProps {\n status: RemoteDataState\n errorMessage: string\n}\n\ntype Props = StateProps\n\nexport class StatusIndicator extends PureComponent {\n public render() {\n const {status} = this.props\n return (\n
    \n

    \n {this.statusText.status}\n

    \n \n

    {this.statusText.message}

    \n
    \n )\n }\n\n private get statusClassName(): string {\n const {status} = this.props\n\n return classnames(`line-protocol--status`, {\n loading: status === RemoteDataState.Loading,\n success: status === RemoteDataState.Done,\n error: status === RemoteDataState.Error,\n })\n }\n\n private get statusText() {\n let status = ''\n let message = ''\n switch (this.props.status) {\n case RemoteDataState.Loading:\n status = 'Loading...'\n message = 'Just a moment'\n break\n case RemoteDataState.Done:\n status = 'Data Written Successfully'\n message = 'Hooray!'\n break\n case RemoteDataState.Error:\n status = 'Unable to Write Data'\n message = `Error: ${this.props.errorMessage}`\n break\n }\n\n return {\n status,\n message,\n }\n }\n}\n\nconst mstp = ({\n dataLoading: {\n dataLoaders: {lpStatus, lpError},\n },\n}: AppState) => ({\n status: lpStatus,\n errorMessage: lpError,\n})\n\nexport default connect(mstp, null)(StatusIndicator)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Form, Overlay} from '@influxdata/clockface'\nimport StatusIndicator from 'src/dataLoaders/components/lineProtocolWizard/verify/StatusIndicator'\nimport OnboardingButtons from 'src/onboarding/components/OnboardingButtons'\nimport LineProtocolHelperText from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolHelperText'\n\n// Types\nimport {LineProtocolStepProps} from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolWizard'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ntype Props = LineProtocolStepProps\n\n@ErrorHandling\nexport class VerifyLineProtocolStep extends PureComponent {\n public render() {\n const {onDecrementCurrentStepIndex, onExit} = this.props\n\n return (\n
    \n \n \n \n \n \n \n )\n }\n}\n\nexport default VerifyLineProtocolStep\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LineProtocol from 'src/dataLoaders/components/lineProtocolWizard/configure/LineProtocol'\nimport LineProtocolVerifyStep from 'src/dataLoaders/components/lineProtocolWizard/verify/LineProtocolVerifyStep'\n\n// Types\nimport {LineProtocolStepProps} from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolWizard'\nimport {Bucket, LineProtocolStep} from 'src/types'\n\ninterface Props {\n stepProps: LineProtocolStepProps\n buckets: Bucket[]\n}\n\n@ErrorHandling\nclass StepSwitcher extends PureComponent {\n public render() {\n const {stepProps} = this.props\n\n switch (stepProps.currentStepIndex) {\n case LineProtocolStep.Configure:\n return \n case LineProtocolStep.Verify:\n return \n default:\n return
    \n }\n }\n}\n\nexport default StepSwitcher\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LineProtocolStepSwitcher from 'src/dataLoaders/components/lineProtocolWizard/verify/LineProtocolStepSwitcher'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\nimport {\n setBucketInfo,\n incrementCurrentStepIndex,\n decrementCurrentStepIndex,\n setCurrentStepIndex,\n clearSteps,\n} from 'src/dataLoaders/actions/steps'\n\nimport {clearDataLoaders} from 'src/dataLoaders/actions/dataLoaders'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\nimport {Bucket} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\nexport interface LineProtocolStepProps {\n currentStepIndex: number\n onIncrementCurrentStepIndex: () => void\n onDecrementCurrentStepIndex: () => void\n notify: typeof notifyAction\n onExit: () => void\n}\n\ninterface OwnProps {\n onCompleteSetup: () => void\n startingStep?: number\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\n@ErrorHandling\nclass LineProtocolWizard extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public componentDidMount() {\n this.handleSetBucketInfo()\n this.handleSetStartingValues()\n }\n\n public render() {\n const {buckets} = this.props\n\n return (\n \n \n \n \n \n \n )\n }\n\n private handleSetBucketInfo = () => {\n const {bucket, buckets} = this.props\n if (!bucket && buckets && buckets.length) {\n const {orgID, name, id} = buckets[0]\n\n this.props.onSetBucketInfo(orgID, name, id)\n }\n }\n\n private handleSetStartingValues = () => {\n const {startingStep} = this.props\n\n const hasStartingStep = startingStep || startingStep === 0\n\n if (hasStartingStep) {\n this.props.onSetCurrentStepIndex(startingStep)\n }\n }\n\n private handleDismiss = () => {\n const {history, onClearDataLoaders, onClearSteps} = this.props\n\n onClearDataLoaders()\n onClearSteps()\n history.goBack()\n }\n\n private get stepProps(): LineProtocolStepProps {\n const {\n notify,\n currentStepIndex,\n onDecrementCurrentStepIndex,\n onIncrementCurrentStepIndex,\n } = this.props\n\n return {\n currentStepIndex,\n onIncrementCurrentStepIndex,\n onDecrementCurrentStepIndex,\n notify,\n onExit: this.handleDismiss,\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n dataLoading: {\n steps: {currentStep, bucket},\n },\n me: {name},\n } = state\n\n const buckets = getAll(state, ResourceType.Buckets)\n\n return {\n currentStepIndex: currentStep,\n username: name,\n bucket,\n buckets,\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n onSetBucketInfo: setBucketInfo,\n onIncrementCurrentStepIndex: incrementCurrentStepIndex,\n onDecrementCurrentStepIndex: decrementCurrentStepIndex,\n onSetCurrentStepIndex: setCurrentStepIndex,\n onClearDataLoaders: clearDataLoaders,\n onClearSteps: clearSteps,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(LineProtocolWizard))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {downloadTextFile} from 'src/shared/utils/download'\nimport {ComponentColor, Button} from '@influxdata/clockface'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\nimport {AppState} from 'src/types'\n\ninterface OwnProps {\n onDismiss: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps\n\nexport class TelegrafEditorFooter extends PureComponent {\n public render() {\n if (!isFlagEnabled('telegrafEditor')) {\n return false\n }\n\n return (\n <>\n \n \n \n )\n }\n\n private handleDownloadConfig = () => {\n downloadTextFile(this.props.script, 'telegraf', '.conf')\n }\n\n private handleSaveConfig = () => {\n this.props.onDismiss()\n }\n}\n\nconst mstp = (state: AppState) => {\n const script = state.telegrafEditor.text\n\n return {\n script,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(TelegrafEditorFooter)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport Loadable from 'react-loadable'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {Overlay} from '@influxdata/clockface'\nimport TelegrafEditorFooter from 'src/dataLoaders/components/TelegrafEditorFooter'\n\nconst spinner =
    \nconst TelegrafEditor = Loadable({\n loader: () => import('src/dataLoaders/components/TelegrafEditor'),\n loading() {\n return spinner\n },\n})\nconst CollectorsStepSwitcher = Loadable({\n loader: () =>\n import(\n 'src/dataLoaders/components/collectorsWizard/CollectorsStepSwitcher'\n ),\n loading() {\n return spinner\n },\n})\nimport {isFlagEnabled, FeatureFlag} from 'src/shared/utils/featureFlag'\n\n// Actions\nimport {notify as notifyAction} from 'src/shared/actions/notifications'\nimport {\n setBucketInfo,\n incrementCurrentStepIndex,\n decrementCurrentStepIndex,\n setCurrentStepIndex,\n clearSteps,\n} from 'src/dataLoaders/actions/steps'\n\nimport {\n clearDataLoaders,\n setActiveTelegrafPlugin,\n setPluginConfiguration,\n} from 'src/dataLoaders/actions/dataLoaders'\nimport {reset} from 'src/dataLoaders/actions/telegrafEditor'\n\n// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Utils\nimport {isSystemBucket} from 'src/buckets/constants'\n\nexport interface CollectorsStepProps {\n currentStepIndex: number\n onIncrementCurrentStepIndex: () => void\n onDecrementCurrentStepIndex: () => void\n notify: typeof notifyAction\n onExit: () => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\n@ErrorHandling\nclass CollectorsWizard extends PureComponent {\n public componentDidMount() {\n const {bucket, buckets} = this.props\n if (!bucket && buckets && buckets.length) {\n const {orgID, name, id} = buckets[0]\n this.props.onSetBucketInfo(orgID, name, id)\n }\n this.props.onSetCurrentStepIndex(0)\n }\n\n public render() {\n const {buckets} = this.props\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleDismiss = () => {\n const {history, org} = this.props\n\n if (isFlagEnabled('telegrafEditor')) {\n const {onClearTelegrafEditor} = this.props\n onClearTelegrafEditor()\n } else {\n const {onClearDataLoaders, onClearSteps} = this.props\n onClearDataLoaders()\n onClearSteps()\n }\n history.push(`/orgs/${org.id}/load-data/telegrafs`)\n }\n\n private get stepProps(): CollectorsStepProps {\n const {\n notify,\n currentStepIndex,\n onDecrementCurrentStepIndex,\n onIncrementCurrentStepIndex,\n } = this.props\n\n return {\n currentStepIndex,\n onIncrementCurrentStepIndex,\n onDecrementCurrentStepIndex,\n notify,\n onExit: this.handleDismiss,\n }\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n links,\n dataLoading: {\n dataLoaders: {telegrafPlugins},\n steps: {currentStep, substep, bucket},\n },\n me: {name},\n telegrafEditor,\n } = state\n\n const buckets = getAll(state, ResourceType.Buckets)\n\n const nonSystemBuckets = buckets.filter(\n bucket => !isSystemBucket(bucket.name)\n )\n\n const org = getOrg(state)\n\n return {\n links,\n telegrafPlugins,\n text: telegrafEditor.text,\n currentStepIndex: currentStep,\n substep,\n username: name,\n bucket,\n buckets: nonSystemBuckets,\n org,\n }\n}\n\nconst mdtp = {\n notify: notifyAction,\n onSetBucketInfo: setBucketInfo,\n onIncrementCurrentStepIndex: incrementCurrentStepIndex,\n onDecrementCurrentStepIndex: decrementCurrentStepIndex,\n onSetCurrentStepIndex: setCurrentStepIndex,\n onClearDataLoaders: clearDataLoaders,\n onClearSteps: clearSteps,\n onClearTelegrafEditor: reset,\n onSetActiveTelegrafPlugin: setActiveTelegrafPlugin,\n onSetPluginConfiguration: setPluginConfiguration,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CollectorsWizard))\n","// Libraries\nimport React, {\n FunctionComponent,\n useEffect,\n useState,\n ChangeEvent,\n FormEvent,\n useCallback,\n} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {get} from 'lodash'\n\n// Components\nimport {\n Overlay,\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n} from '@influxdata/clockface'\nimport BucketOverlayForm from 'src/buckets/components/BucketOverlayForm'\n\n// Actions\nimport {updateBucket} from 'src/buckets/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// APIs\nimport * as api from 'src/client'\n\n// Constants\nimport {DEFAULT_SECONDS} from 'src/buckets/components/Retention'\nimport {getBucketFailed} from 'src/shared/copy/notifications'\n\n//Types\nimport {OwnBucket} from 'src/types'\n\ninterface DispatchProps {\n onUpdateBucket: typeof updateBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{bucketID: string; orgID: string}>\n\nconst UpdateBucketOverlay: FunctionComponent = ({\n onUpdateBucket,\n match,\n history,\n}) => {\n const {orgID, bucketID} = match.params\n const dispatch = useDispatch()\n const [bucketDraft, setBucketDraft] = useState(null)\n\n const [loadingStatus, setLoadingStatus] = useState(RemoteDataState.Loading)\n\n const [retentionSelection, setRetentionSelection] = useState(DEFAULT_SECONDS)\n\n const handleClose = useCallback(() => {\n history.push(`/orgs/${orgID}/load-data/buckets`)\n }, [orgID, history])\n\n useEffect(() => {\n const fetchBucket = async () => {\n const resp = await api.getBucket({bucketID})\n\n if (resp.status !== 200) {\n dispatch(notify(getBucketFailed(bucketID, resp.data.message)))\n handleClose()\n return\n }\n setBucketDraft(resp.data as OwnBucket)\n\n const rules = get(resp.data, 'retentionRules', [])\n const rule = rules.find(r => r.type === 'expire')\n if (rule) {\n setRetentionSelection(rule.everySeconds)\n }\n\n setLoadingStatus(RemoteDataState.Done)\n }\n fetchBucket()\n }, [bucketID, handleClose, dispatch])\n\n const handleChangeRetentionRule = (everySeconds: number): void => {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [{type: 'expire' as 'expire', everySeconds}],\n })\n setRetentionSelection(everySeconds)\n }\n\n const handleChangeRuleType = (ruleType: 'expire' | null) => {\n if (ruleType) {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [\n {type: 'expire' as 'expire', everySeconds: retentionSelection},\n ],\n })\n } else {\n setBucketDraft({\n ...bucketDraft,\n retentionRules: [],\n })\n }\n }\n\n const handleSubmit = (e: FormEvent): void => {\n e.preventDefault()\n onUpdateBucket(bucketDraft)\n handleClose()\n }\n\n const handleChangeInput = (e: ChangeEvent) => {\n const key = e.target.name\n const value = e.target.value\n setBucketDraft({...bucketDraft, [key]: value})\n }\n\n const handleClickRename = () => {\n history.push(`/orgs/${orgID}/load-data/buckets/${bucketID}/rename`)\n }\n\n const rules = get(bucketDraft, 'retentionRules', [])\n const rule = rules.find(r => r.type === 'expire')\n\n const retentionSeconds = rule ? rule.everySeconds : retentionSelection\n const ruleType = rule ? ('expire' as 'expire') : null\n\n return (\n \n \n \n }\n loading={loadingStatus}\n >\n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateBucket: updateBucket,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connect<{}, DispatchProps>(\n null,\n mdtp\n)(withRouter(UpdateBucketOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport _ from 'lodash'\n\n// Components\nimport {\n Button,\n IconFont,\n ComponentColor,\n Alert,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n ButtonType,\n Form,\n} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n message: string\n effectedItems: string[]\n onConfirm: () => void\n confirmButtonText: string\n}\n\n@ErrorHandling\nclass DangerConfirmationForm extends PureComponent {\n public render() {\n return (\n
    \n \n \n Bad things could happen if you don't read this!\n \n \n <>\n

    {this.props.message}

    \n
      \n {this.props.effectedItems.map(item => (\n
    • {item}
    • \n ))}\n
    \n \n
    \n \n \n \n \n \n )\n }\n}\n\nexport default DangerConfirmationForm\n","// Libraries\nimport React, {PureComponent} from 'react'\n\nimport _ from 'lodash'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport DangerConfirmationForm from 'src/shared/components/dangerConfirmation/DangerConfirmationForm'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n message: string\n effectedItems: string[]\n title: string\n onClose: () => void\n confirmButtonText: string\n}\n\ninterface State {\n isConfirmed: boolean\n}\n\n@ErrorHandling\nclass DangerConfirmationOverlay extends PureComponent {\n public state = {\n isConfirmed: false,\n }\n\n public render() {\n return (\n \n \n \n {this.overlayContents}\n \n \n )\n }\n\n private get overlayTitle() {\n const {title} = this.props\n\n if (this.state.isConfirmed) {\n return title\n }\n\n return 'Are you sure?'\n }\n\n private get overlayContents() {\n const {message, effectedItems, confirmButtonText} = this.props\n if (this.state.isConfirmed) {\n return this.props.children\n }\n\n return (\n \n )\n }\n\n private handleCloseOverlay = () => {\n this.props.onClose()\n }\n\n private handleConfirm = () => {\n this.setState({isConfirmed: true})\n }\n}\n\nexport default DangerConfirmationOverlay\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ComponentStatus} from 'src/clockface'\nimport {\n Form,\n Input,\n Button,\n ButtonType,\n ComponentColor,\n FlexBox,\n AlignItems,\n FlexDirection,\n ComponentSize,\n} from '@influxdata/clockface'\n\n// Actions\nimport {renameBucket} from 'src/buckets/actions/thunks'\n\n// Types\nimport {AppState, Bucket, ResourceType, OwnBucket} from 'src/types'\n\n// Selectors\nimport {getAll, getByID} from 'src/resources/selectors'\n\ninterface State {\n bucket: OwnBucket\n}\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{bucketID: string; orgID: string}>\ntype Props = ReduxProps & RouterProps\n\nclass RenameBucketForm extends PureComponent {\n public state = {bucket: this.props.startBucket}\n\n public render() {\n const {bucket} = this.state\n\n return (\n
    \n \n {status => (\n <>\n \n \n \n \n \n \n \n \n )}\n \n \n )\n }\n\n private saveButtonStatus = (\n validationStatus: ComponentStatus\n ): ComponentStatus => {\n if (\n this.state.bucket.name === this.props.startBucket.name ||\n validationStatus === ComponentStatus.Error\n ) {\n return ComponentStatus.Disabled\n }\n\n return validationStatus\n }\n\n private handleValidation = (bucketName: string): string | null => {\n if (!bucketName) {\n return 'Name is required'\n }\n\n if (this.props.buckets.find(b => b.name === bucketName)) {\n return 'This bucket name is taken'\n }\n }\n\n private handleSubmit = (): void => {\n const {startBucket, onRenameBucket} = this.props\n const {bucket} = this.state\n\n onRenameBucket(startBucket.name, bucket)\n this.handleClose()\n }\n\n private handleChangeInput = (e: ChangeEvent) => {\n const name = e.target.value\n const bucket = {...this.state.bucket, name}\n\n this.setState({bucket})\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/load-data/buckets`)\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const {bucketID} = props.match.params\n\n const startBucket = getByID(state, ResourceType.Buckets, bucketID)\n const buckets = getAll(state, ResourceType.Buckets).filter(\n b => b.id !== bucketID\n )\n\n return {\n startBucket,\n buckets,\n }\n}\n\nconst mdtp = {\n onRenameBucket: renameBucket,\n}\n\nconst connector = connect(mstp, mdtp)\n\n// state mapping requires router\nexport default withRouter(connector(RenameBucketForm))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\nimport _ from 'lodash'\n\n// Components\nimport DangerConfirmationOverlay from 'src/shared/components/dangerConfirmation/DangerConfirmationOverlay'\nimport RenameBucketForm from 'src/buckets/components/RenameBucketForm'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n@ErrorHandling\nclass RenameBucketOverlay extends PureComponent<\n RouteComponentProps<{orgID: string}>\n> {\n public render() {\n return (\n \n \n \n )\n }\n\n private get message(): string {\n return 'Updating the name of a Bucket can have unintended consequences. Anything that references this Bucket by name will stop working including:'\n }\n\n private get effectedItems(): string[] {\n return [\n 'Queries',\n 'Dashboards',\n 'Tasks',\n 'Telegraf Configurations',\n 'Templates',\n ]\n }\n\n private handleClose = () => {\n const {history, match} = this.props\n\n history.push(`/orgs/${match.params.orgID}/load-data/buckets`)\n }\n}\n\nexport default withRouter(RenameBucketOverlay)\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Form, Input, Grid, Button, ButtonType} from '@influxdata/clockface'\nimport BucketDropdown from 'src/dataLoaders/components/BucketsDropdown'\n\n// Types\nimport {Bucket} from 'src/types'\nimport {Columns, ComponentStatus, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n buckets: Bucket[]\n name: string\n url: string\n selectedBucketID: string\n onInputChange: (e: ChangeEvent) => void\n onSelectBucket: (bucket: Bucket) => void\n onSubmit: (e: FormEvent) => void\n onDismiss: () => void\n}\n\nexport class ScraperTarget extends PureComponent {\n constructor(props: Props) {\n super(props)\n }\n\n public render() {\n const {\n onInputChange,\n url,\n name,\n onSelectBucket,\n buckets,\n selectedBucketID,\n onSubmit,\n onDismiss,\n } = this.props\n\n return (\n
    \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n {status => (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get submitButtonStatus(): ComponentStatus {\n const {name, url, selectedBucketID} = this.props\n\n if (!url || !name || !selectedBucketID) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private handleNameValidation = (name: string): string | null => {\n if (!name) {\n return 'Name cannot be empty'\n }\n\n return null\n }\n\n private handleUrlValidation = (url: string): string | null => {\n if (!url) {\n return 'Target URL cannot be empty'\n }\n\n const isURLValid =\n _.startsWith(url, 'http://') || _.startsWith(url, 'https://')\n\n if (!isURLValid) {\n return 'Target URL must begin with \"http://\"'\n }\n\n return null\n }\n}\n\nexport default ScraperTarget\n","// Libraries\nimport React, {PureComponent, ChangeEvent, FormEvent} from 'react'\nimport {get} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport CreateScraperForm from 'src/scrapers/components/CreateScraperForm'\n\n// Actions\nimport {createScraper} from 'src/scrapers/actions/thunks'\n\n// Types\nimport {ScraperTargetRequest} from '@influxdata/influx'\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n visible: boolean\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps &\n ReduxProps &\n RouteComponentProps<{orgID: string; bucketID: string}>\n\ninterface State {\n scraper: ScraperTargetRequest\n}\n\nclass CreateScraperOverlay extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n const {\n match: {\n params: {bucketID, orgID},\n },\n buckets,\n } = this.props\n\n const firstBucketID = get(buckets, '0.id', '')\n\n this.state = {\n scraper: {\n name: 'Name this Scraper',\n type: ScraperTargetRequest.TypeEnum.Prometheus,\n url: `${this.origin}/metrics`,\n orgID,\n bucketID: bucketID ? bucketID : firstBucketID,\n },\n }\n }\n\n public render() {\n const {scraper} = this.state\n const {buckets} = this.props\n\n return (\n \n \n \n \n
    \n Scrapers collect data from multiple targets at regular intervals\n and to write to a bucket\n
    \n \n
    \n
    \n
    \n )\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const value = e.target.value\n const key = e.target.name\n const scraper = {...this.state.scraper, [key]: value}\n\n this.setState({\n scraper,\n })\n }\n\n private handleSelectBucket = (bucket: Bucket) => {\n const {orgID, id} = bucket\n\n const scraper = {...this.state.scraper, orgID: orgID, bucketID: id}\n\n this.setState({scraper})\n }\n\n private handleFormSubmit = (e: FormEvent): void => {\n const {onCreateScraper} = this.props\n const {scraper} = this.state\n e.preventDefault()\n onCreateScraper(scraper)\n this.onDismiss()\n }\n\n private get origin(): string {\n return window.location.origin\n }\n\n private onDismiss = (): void => {\n this.props.history.goBack()\n }\n}\n\nconst mstp = (state: AppState) => ({\n buckets: getAll(state, ResourceType.Buckets),\n})\n\nconst mdtp = {\n onCreateScraper: createScraper,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CreateScraperOverlay))\n","// Libraries\nimport React, {FunctionComponent, useEffect} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {Overlay, SpinnerContainer, TechnoSpinner} from '@influxdata/clockface'\n\n// Components\nimport DeleteDataForm from 'src/shared/components/DeleteDataForm/DeleteDataForm'\n\n// Actions\nimport {\n resetPredicateState,\n setBucketAndKeys,\n} from 'src/shared/actions/predicates'\n\n// Types\nimport {Bucket, AppState, RemoteDataState, ResourceType} from 'src/types'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string; bucketID: string}> & ReduxProps\n\nconst DeleteDataOverlay: FunctionComponent = ({\n buckets,\n history,\n match: {\n params: {orgID, bucketID},\n },\n}) => {\n const dispatch = useDispatch()\n const bucket = buckets.find(bucket => bucket.id === bucketID)\n const bucketName = bucket?.name\n\n useEffect(() => {\n if (bucketName) {\n dispatch(setBucketAndKeys(bucketName))\n }\n }, [bucketName, dispatch])\n\n const handleDismiss = () => {\n dispatch(resetPredicateState())\n history.push(`/orgs/${orgID}/load-data/buckets/`)\n }\n\n return (\n \n \n \n \n }\n loading={bucket ? RemoteDataState.Done : RemoteDataState.Loading}\n >\n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n return {\n buckets: getAll(state, ResourceType.Buckets),\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(DeleteDataOverlay))\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport BucketsTab from 'src/buckets/components/BucketsTab'\nimport GetResources from 'src/resources/components/GetResources'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport LineProtocolWizard from 'src/dataLoaders/components/lineProtocolWizard/LineProtocolWizard'\nimport CollectorsWizard from 'src/dataLoaders/components/collectorsWizard/CollectorsWizard'\nimport UpdateBucketOverlay from 'src/buckets/components/UpdateBucketOverlay'\nimport RenameBucketOverlay from 'src/buckets/components/RenameBucketOverlay'\nimport CreateScraperOverlay from 'src/scrapers/components/CreateScraperOverlay'\nimport DeleteDataOverlay from 'src/shared/components/DeleteDataOverlay'\nimport {Page} from '@influxdata/clockface'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Constants\nimport {ORGS, ORG_ID, BUCKETS, BUCKET_ID} from 'src/shared/constants/routes'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\ninterface StateProps {\n org: Organization\n}\n\nconst bucketsPath = `/${ORGS}/${ORG_ID}/load-data/${BUCKETS}/${BUCKET_ID}`\n\n@ErrorHandling\nclass BucketsIndex extends Component {\n public render() {\n const {org} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n\n return {org}\n}\n\nexport default connect(mstp, null)(BucketsIndex)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {\n deleteAuthorization,\n updateAuthorization,\n} from 'src/authorizations/actions/thunks'\n\n// Components\nimport {\n ComponentSize,\n FlexBox,\n InputLabel,\n SlideToggle,\n ComponentColor,\n ResourceCard,\n IconFont,\n} from '@influxdata/clockface'\n\nimport {Context} from 'src/clockface'\n\n// Types\nimport {Authorization} from 'src/types'\nimport {DEFAULT_TOKEN_DESCRIPTION} from 'src/dashboards/constants'\n\ninterface OwnProps {\n auth: Authorization\n onClickDescription: (authID: string) => void\n}\n\ntype ReduxProps = ConnectedProps\n\ntype Props = ReduxProps & OwnProps\n\nclass TokenRow extends PureComponent {\n public render() {\n const {description} = this.props.auth\n const {auth} = this.props\n const labelText = this.isTokenEnabled ? 'Active' : 'Inactive'\n return (\n \n \n \n {[<>Created at: {auth.createdAt}]}\n \n \n \n {labelText}\n \n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private get isTokenEnabled(): boolean {\n const {auth} = this.props\n return auth.status === 'active'\n }\n\n private changeToggle = () => {\n const {auth, onUpdate} = this.props\n if (auth.status === 'active') {\n auth.status = 'inactive'\n } else {\n auth.status = 'active'\n }\n onUpdate(auth)\n }\n\n private handleDelete = () => {\n const {id, description} = this.props.auth\n this.props.onDelete(id, description)\n }\n\n private handleClickDescription = () => {\n const {onClickDescription, auth} = this.props\n onClickDescription(auth.id)\n }\n\n private handleUpdateName = (value: string) => {\n const {auth, onUpdate} = this.props\n onUpdate({...auth, description: value})\n }\n}\n\nconst mdtp = {\n onDelete: deleteAuthorization,\n onUpdate: updateAuthorization,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(TokenRow)\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Types\nimport {\n PermissionsWidgetMode,\n PermissionsWidgetSelection,\n} from 'src/shared/components/permissionsWidget/PermissionsWidget'\nimport {IconFont} from 'src/clockface'\n\ninterface Props {\n mode?: PermissionsWidgetMode\n id: string\n testID?: string\n label: string\n selected: PermissionsWidgetSelection\n onToggle?: (\n permissionID: string,\n newState: PermissionsWidgetSelection\n ) => void\n}\n\nclass PermissionsWidgetItem extends Component {\n public render() {\n const {label, testID} = this.props\n\n return (\n \n {this.checkbox}\n \n \n )\n }\n\n private get checkbox(): JSX.Element {\n const {mode, selected} = this.props\n\n if (mode === PermissionsWidgetMode.Write) {\n return (\n
    \n \n
    \n )\n }\n\n if (selected === PermissionsWidgetSelection.Selected) {\n return (\n
    \n \n
    \n )\n }\n\n return (\n
    \n \n
    \n )\n }\n\n private get className(): string {\n const {selected, mode} = this.props\n\n return classnames('permissions-widget--item', {\n selected: selected === PermissionsWidgetSelection.Selected,\n unselected: selected === PermissionsWidgetSelection.Unselected,\n selectable: mode === PermissionsWidgetMode.Write,\n })\n }\n\n private handleClick = (): void => {\n const {id, mode, selected, onToggle} = this.props\n\n if (mode === PermissionsWidgetMode.Read || !onToggle) {\n return\n }\n\n if (selected === PermissionsWidgetSelection.Selected) {\n onToggle(id, PermissionsWidgetSelection.Unselected)\n } else if (selected === PermissionsWidgetSelection.Unselected) {\n onToggle(id, PermissionsWidgetSelection.Selected)\n }\n }\n}\n\nexport default PermissionsWidgetItem\n","// Libraries\nimport React, {Component} from 'react'\n\n// Components\nimport {\n Button,\n ComponentSize,\n FlexBox,\n FlexDirection,\n JustifyContent,\n} from '@influxdata/clockface'\nimport PermissionsWidgetItem from 'src/shared/components/permissionsWidget/PermissionsWidgetItem'\n\n// Types\nimport {PermissionsWidgetMode} from 'src/shared/components/permissionsWidget/PermissionsWidget'\n\ninterface Props {\n children: JSX.Element[] | JSX.Element\n mode?: PermissionsWidgetMode\n id: string\n title: string\n onSelectAll?: (sectionID: string) => void\n onDeselectAll?: (sectionID: string) => void\n testID?: string\n}\n\nclass PermissionsWidgetSection extends Component {\n public render() {\n const {title, testID} = this.props\n\n return (\n \n
    \n

    {title}

    \n {this.selectionButtons}\n
    \n
      \n {this.sectionItems}\n
    \n \n )\n }\n\n private get sectionItems(): JSX.Element[] {\n const {children, mode} = this.props\n\n return React.Children.map(children, (child: JSX.Element) => {\n if (child.type !== PermissionsWidgetItem) {\n return null\n }\n\n return \n })\n }\n\n private get selectionButtons(): JSX.Element {\n const {mode, title} = this.props\n\n if (mode === PermissionsWidgetMode.Write) {\n return (\n \n \n \n \n )\n }\n }\n\n private handleSelectAll = (): void => {\n const {id, onSelectAll} = this.props\n\n if (onSelectAll) {\n onSelectAll(id)\n }\n }\n\n private handleDeselectAll = (): void => {\n const {id, onDeselectAll} = this.props\n\n if (onDeselectAll) {\n onDeselectAll(id)\n }\n }\n}\n\nexport default PermissionsWidgetSection\n","// Libraries\nimport React, {Component, CSSProperties} from 'react'\n\n// Components\nimport {DapperScrollbars} from '@influxdata/clockface'\nimport PermissionsWidgetSection from 'src/shared/components/permissionsWidget/PermissionsWidgetSection'\nimport PermissionsWidgetItem from 'src/shared/components/permissionsWidget/PermissionsWidgetItem'\n\nexport enum PermissionsWidgetMode {\n Read = 'read',\n Write = 'write',\n}\n\nexport enum PermissionsWidgetSelection {\n Selected = 'selected',\n Unselected = 'unselected',\n}\n\ninterface Props {\n children: JSX.Element[] | JSX.Element\n mode: PermissionsWidgetMode\n heightPixels: number\n className?: string\n}\n\nclass PermissionsWidget extends Component {\n public static defaultProps = {\n heightPixels: 500,\n }\n\n public static Section = PermissionsWidgetSection\n public static Item = PermissionsWidgetItem\n\n public render() {\n return (\n
    \n
    {this.headerText}
    \n
    \n {this.sections}\n
    \n
    \n )\n }\n\n private get className(): string {\n const {className} = this.props\n\n if (className) {\n return `permissions-widget ${className}`\n }\n\n return 'permissions-widget'\n }\n\n private get sections() {\n const {children, mode} = this.props\n\n return React.Children.map(children, (child: JSX.Element) => {\n if (child.type !== PermissionsWidgetSection) {\n return null\n }\n\n return \n })\n }\n\n private get style(): CSSProperties {\n const {heightPixels} = this.props\n\n return {height: `${heightPixels}px`}\n }\n\n private get headerText(): string {\n const {mode} = this.props\n\n if (mode === PermissionsWidgetMode.Read) {\n return 'Summary of access permissions'\n } else if (mode === PermissionsWidgetMode.Write) {\n return 'Summary of access permissions, each item can be toggled ON or OFF'\n }\n }\n}\n\nexport default PermissionsWidget\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport PermissionsWidget, {\n PermissionsWidgetMode,\n PermissionsWidgetSelection,\n} from 'src/shared/components/permissionsWidget/PermissionsWidget'\nimport CodeSnippet from 'src/shared/components/CodeSnippet'\n\nimport {\n authorizationCopySuccess,\n authorizationCopyFailed,\n} from 'src/shared/copy/notifications'\n\n// Types\nimport {Authorization, Permission} from 'src/types'\n\ninterface Props {\n auth: Authorization\n onDismissOverlay: () => void\n}\n\nexport default class ViewTokenOverlay extends PureComponent {\n public render() {\n const {description} = this.props.auth\n\n const permissions = this.permissions\n\n const notes = (_text, success) => {\n if (success) {\n return authorizationCopySuccess()\n }\n return authorizationCopyFailed()\n }\n\n return (\n \n \n \n \n \n {Object.keys(permissions).map(type => {\n return (\n \n {permissions[type].map((action, i) => (\n \n ))}\n \n )\n })}\n \n \n \n )\n }\n\n private get permissions(): {[x: string]: Permission['action'][]} {\n const p = this.props.auth.permissions.reduce((acc, {action, resource}) => {\n const {type} = resource\n const name = get(resource, 'name', '')\n let key = `${type}`\n if (name) {\n key = `${type}-${name}`\n }\n\n let actions = get(acc, key, [])\n\n if (name && actions) {\n return {...acc, [key]: [...actions, action]}\n }\n\n actions = get(acc, key || resource.type, [])\n return {...acc, [type]: [...actions, action]}\n }, {})\n\n return p\n }\n\n private itemID = (\n permission: string,\n action: Permission['action']\n ): string => {\n return `${permission}-${action}-${permission || '*'}-${permission || '*'}`\n }\n\n private handleDismiss = () => {\n this.props.onDismissOverlay()\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {Overlay, ResourceList} from '@influxdata/clockface'\nimport TokenRow from 'src/authorizations/components/TokenRow'\nimport ViewTokenOverlay from 'src/authorizations/components/ViewTokenOverlay'\n\n// Types\nimport {Authorization} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Utils\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ntype SortKey = keyof Authorization\n\ninterface Props {\n auths: Authorization[]\n emptyState: JSX.Element\n searchTerm: string\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\ninterface State {\n isTokenOverlayVisible: boolean\n authInView: Authorization\n}\n\nexport default class TokenList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n constructor(props) {\n super(props)\n this.state = {\n isTokenOverlayVisible: false,\n authInView: null,\n }\n }\n\n public render() {\n const {isTokenOverlayVisible, authInView} = this.state\n\n return (\n <>\n \n \n {this.rows}\n \n \n\n \n \n \n \n )\n }\n\n private get rows(): JSX.Element[] {\n const {auths, sortDirection, sortKey, sortType} = this.props\n const sortedAuths = this.memGetSortedResources(\n auths,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedAuths.map(auth => (\n \n ))\n }\n\n private handleDismissOverlay = () => {\n this.setState({isTokenOverlayVisible: false})\n }\n\n private handleClickDescription = (authID: string): void => {\n const authInView = this.props.auths.find(a => a.id === authID)\n this.setState({isTokenOverlayVisible: true, authInView})\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ntype Props = RouteComponentProps<{orgID: string}>\n\nclass GenerateTokenDropdown extends PureComponent {\n public render() {\n return (\n (\n \n Generate\n \n )}\n menu={onCollapse => (\n \n {this.optionItems}\n \n )}\n />\n )\n }\n\n private get optionItems(): JSX.Element[] {\n return [\n \n {this.bucketReadWriteOption}\n ,\n \n {this.allAccessOption}\n ,\n ]\n }\n\n private get bucketReadWriteOption(): string {\n return 'Read/Write Token'\n }\n\n private get allAccessOption(): string {\n return 'All Access Token'\n }\n\n private handleSelect = (selection: string): void => {\n if (selection === this.allAccessOption) {\n this.handleAllAccess()\n } else if (selection === this.bucketReadWriteOption) {\n this.handleReadWrite()\n }\n }\n\n private handleAllAccess = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/tokens/generate/all-access`)\n }\n\n private handleReadWrite = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/tokens/generate/buckets`)\n }\n}\n\nexport default withRouter(GenerateTokenDropdown)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {isEmpty} from 'lodash'\n\n// Components\nimport {Sort, ComponentSize, EmptyState} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TokenList from 'src/authorizations/components/TokenList'\nimport FilterList from 'src/shared/components/FilterList'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport GenerateTokenDropdown from 'src/authorizations/components/GenerateTokenDropdown'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Types\nimport {AppState, Authorization, ResourceType} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\nenum AuthSearchKeys {\n Description = 'description',\n Status = 'status',\n CreatedAt = 'createdAt',\n}\n\ninterface State {\n searchTerm: string\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ninterface StateProps {\n tokens: Authorization[]\n}\n\ntype SortKey = keyof Authorization\n\ntype Props = StateProps & RouteComponentProps<{orgID: string}>\n\nconst FilterAuthorizations = FilterList()\n\nclass TokensTab extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n searchTerm: '',\n sortKey: 'description',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n const {tokens} = this.props\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n const rightHeaderItems = \n\n return (\n <>\n \n \n {filteredAuths => (\n \n )}\n \n \n )\n }\n\n private handleSort = (\n sortKey: SortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n const sortType = SortTypes.String\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private handleChangeSearchTerm = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get searchKeys(): AuthSearchKeys[] {\n return [\n AuthSearchKeys.Status,\n AuthSearchKeys.Description,\n AuthSearchKeys.CreatedAt,\n ]\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Tokens, why not generate one?\n \n \n \n )\n }\n\n return (\n \n No Tokens match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => ({\n tokens: getAll(state, ResourceType.Authorizations),\n})\n\nexport default connect(mstp)(withRouter(TokensTab))\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport GetResources from 'src/resources/components/GetResources'\nimport TokensTab from 'src/authorizations/components/TokensTab'\nimport {\n AllAccessTokenOverlay,\n BucketsTokenOverlay,\n} from 'src/overlays/components'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\nimport {ORGS, ORG_ID, TOKENS} from 'src/shared/constants/routes'\n\nconst tokensPath = `/${ORGS}/${ORG_ID}/load-data/${TOKENS}/generate`\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\n@ErrorHandling\nclass TokensIndex extends Component {\n public render() {\n const {org} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => ({org: getOrg(state)})\n\nconst connector = connect(mstp)\n\nexport default connector(TokensIndex)\n","// Libraries\nimport React, {PureComponent, MouseEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps, Link} from 'react-router-dom'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {ResourceCard, IconFont} from '@influxdata/clockface'\nimport {ComponentColor} from '@influxdata/clockface'\nimport InlineLabels from 'src/shared/components/inlineLabels/InlineLabels'\n\n// Actions\nimport {\n addTelegrafLabelsAsync,\n removeTelegrafLabelsAsync,\n} from 'src/telegrafs/actions/thunks'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\n\n// Constants\nimport {DEFAULT_COLLECTOR_NAME} from 'src/dashboards/constants'\n\n// Types\nimport {AppState, Label, Telegraf} from 'src/types'\n\ninterface OwnProps {\n collector: Telegraf\n onDelete: (telegraf: Telegraf) => void\n onUpdate: (telegraf: Telegraf) => void\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass CollectorRow extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>\n> {\n public render() {\n const {collector, org} = this.props\n\n return (\n \n \n \n \n \n {/* todo(glinton): verify what sets this. It seems like it is using the 'config' section of 'influxdb_v2' output?? */}\n Bucket: {collector.metadata.buckets.join(', ')}\n \n \n Setup Instructions\n \n \n {this.labels}\n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private handleUpdateName = (name: string) => {\n const {onUpdate, collector} = this.props\n\n onUpdate({...collector, name})\n }\n\n private handleUpdateDescription = (description: string) => {\n const {onUpdate, collector} = this.props\n\n onUpdate({...collector, description})\n }\n\n private get labels(): JSX.Element {\n const {collector, onFilterChange} = this.props\n\n return (\n \n )\n }\n\n private handleAddLabel = async (label: Label) => {\n const {collector, onAddLabels} = this.props\n\n await onAddLabels(collector.id, [label])\n }\n\n private handleRemoveLabel = async (label: Label) => {\n const {collector, onRemoveLabels} = this.props\n\n await onRemoveLabels(collector.id, [label])\n }\n\n private handleNameClick = (e: MouseEvent) => {\n e.preventDefault()\n\n this.handleOpenConfig()\n }\n\n private handleOpenConfig = (): void => {\n const {collector, history, org} = this.props\n history.push(`/orgs/${org.id}/load-data/telegrafs/${collector.id}/view`)\n }\n\n private handleDeleteConfig = (): void => {\n this.props.onDelete(this.props.collector)\n }\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n\n return {org}\n}\n\nconst mdtp = {\n onAddLabels: addTelegrafLabelsAsync,\n onRemoveLabels: removeTelegrafLabelsAsync,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(CollectorRow))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport CollectorRow from 'src/telegrafs/components/CollectorCard'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Types\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes, getSortedResources} from 'src/shared/utils/sort'\nimport {AppState, Telegraf, ResourceType} from 'src/types'\nimport {updateTelegraf, deleteTelegraf} from 'src/telegrafs/actions/thunks'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n emptyState: JSX.Element\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onFilterChange: (searchTerm: string) => void\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps\n\nclass CollectorList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {emptyState} = this.props\n\n return (\n \n \n {this.collectorsList}\n \n \n )\n }\n\n public get collectorsList(): JSX.Element[] {\n const {\n collectors,\n sortKey,\n sortDirection,\n sortType,\n onDeleteTelegraf,\n onUpdateTelegraf,\n onFilterChange,\n } = this.props\n\n const sortedCollectors = this.memGetSortedResources(\n collectors,\n sortKey,\n sortDirection,\n sortType\n )\n\n if (collectors !== undefined) {\n return sortedCollectors.map(collector => (\n \n onDeleteTelegraf(telegraf.id, telegraf.name)\n }\n onUpdate={onUpdateTelegraf}\n onFilterChange={onFilterChange}\n />\n ))\n }\n }\n}\n\nconst mstp = (state: AppState) => ({\n collectors: getAll(state, ResourceType.Telegrafs),\n})\n\nconst mdtp = {\n onUpdateTelegraf: updateTelegraf,\n onDeleteTelegraf: deleteTelegraf,\n}\n\ntype FilteredOwnProps = OwnProps & {\n searchTerm: string\n}\n\ntype FilteredProps = Props & FilteredOwnProps\n\nconst FilterTelegrafs = FilterList()\nclass FilteredCollectorList extends PureComponent {\n render() {\n const {\n searchTerm,\n collectors,\n emptyState,\n onFilterChange,\n sortKey,\n sortDirection,\n sortType,\n onUpdateTelegraf,\n onDeleteTelegraf,\n } = this.props\n return (\n \n {cs => (\n \n )}\n \n )\n }\n}\n\nconst connector = connect(mstp, mdtp)\n\nconst FilteredList = connector(FilteredCollectorList)\n\nexport {FilteredCollectorList, FilteredList}\n","// Libraries\nimport React, {FunctionComponent} from 'react'\n\n// Components\nimport {\n Panel,\n EmptyState,\n InfluxColors,\n Gradients,\n ComponentSize,\n} from '@influxdata/clockface'\nimport {TextAlignProperty} from 'csstype'\n\ninterface Props {\n hasNoTelegrafs?: boolean\n textAlign?: TextAlignProperty\n bodySize?: ComponentSize\n}\n\nconst TelegrafExplainer: FunctionComponent = ({\n hasNoTelegrafs = false,\n textAlign = 'inherit',\n bodySize,\n}) => (\n \n {hasNoTelegrafs && (\n \n What is Telegraf?\n \n )}\n {!hasNoTelegrafs && (\n \n
    What is Telegraf?
    \n
    \n )}\n \n Telegraf is an agent written in Go for collecting metrics and writing them\n into InfluxDB or other possible outputs.\n
    \n
    \n Here's a handy guide for{' '}\n \n Getting Started with Telegraf\n \n
    \n
    \n)\n\nexport default TelegrafExplainer\n","// Libraries\nimport React, {SFC} from 'react'\n\n// Components\nimport {ComponentColor, IconFont, Alert} from '@influxdata/clockface'\n\ninterface Props {\n visible: boolean\n resourceName: string\n}\n\nconst NoBucketsWarning: SFC = ({visible, resourceName}) => {\n return (\n visible && (\n \n You don't currently have any buckets. Any{' '}\n {resourceName} you have will not be able to write data\n until a bucket is created and they are directed to that bucket.\n \n )\n )\n}\n\nexport default NoBucketsWarning\n","// Libraries\nimport _ from 'lodash'\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {\n Button,\n EmptyState,\n Grid,\n Sort,\n Columns,\n IconFont,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport {FilteredList} from 'src/telegrafs/components/CollectorList'\nimport TelegrafExplainer from 'src/telegrafs/components/TelegrafExplainer'\nimport NoBucketsWarning from 'src/buckets/components/NoBucketsWarning'\nimport GetResources from 'src/resources/components/GetResources'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Actions\nimport {updateTelegraf, deleteTelegraf} from 'src/telegrafs/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {OverlayState, AppState, Bucket, ResourceType} from 'src/types'\nimport {\n setTelegrafConfigID,\n setTelegrafConfigName,\n clearDataLoaders,\n} from 'src/dataLoaders/actions/dataLoaders'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {TelegrafSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n dataLoaderOverlay: OverlayState\n searchTerm: string\n instructionsOverlay: OverlayState\n collectorID?: string\n sortKey: TelegrafSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\n@ErrorHandling\nclass Collectors extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n dataLoaderOverlay: OverlayState.Closed,\n searchTerm: '',\n instructionsOverlay: OverlayState.Closed,\n collectorID: null,\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {hasTelegrafs} = this.props\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n const collecorsLeftHeaderItems = (\n <>\n \n \n \n )\n\n const collecorsRightHeaderItems = (\n <>\n \n {this.createButton}\n \n )\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n {hasTelegrafs && (\n \n \n \n )}\n \n \n \n )\n }\n\n private handleSort = (\n sortKey: TelegrafSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get hasNoBuckets(): boolean {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return true\n }\n\n return false\n }\n\n private get createButton(): JSX.Element {\n let status = ComponentStatus.Default\n let titleText = 'Create a new Telegraf Configuration'\n\n if (this.hasNoBuckets) {\n status = ComponentStatus.Disabled\n titleText =\n 'You need at least 1 bucket in order to create a Telegraf Configuration'\n }\n\n return (\n \n )\n }\n\n private handleAddCollector = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/telegrafs/new`)\n }\n\n private handleJustTheOutput = () => {\n const {\n history,\n match: {\n params: {orgID},\n },\n } = this.props\n\n history.push(`/orgs/${orgID}/load-data/telegrafs/output`)\n }\n\n private get emptyState(): JSX.Element {\n const {orgName} = this.props\n const {searchTerm} = this.state\n\n if (_.isEmpty(searchTerm)) {\n return (\n \n \n {`${orgName}`} does not own any Telegraf Configurations, why\n not create one?\n \n {this.createButton}\n
    \n
    \n \n
    \n )\n }\n\n return (\n \n \n No Telegraf Configurations match your query\n \n \n )\n }\n\n private handleFilterChange = (searchTerm: string): void => {\n this.handleFilterUpdate(searchTerm)\n }\n\n private handleFilterUpdate = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n}\nconst mstp = (state: AppState) => {\n const {telegrafs} = state.resources\n const orgName = getOrg(state).name\n const buckets = getAll(state, ResourceType.Buckets)\n const hasTelegrafs = !!telegrafs.allIDs.length\n\n return {\n hasTelegrafs,\n orgName,\n buckets,\n }\n}\n\nconst mdtp = {\n onSetTelegrafConfigID: setTelegrafConfigID,\n onSetTelegrafConfigName: setTelegrafConfigName,\n onClearDataLoaders: clearDataLoaders,\n onUpdateTelegraf: updateTelegraf,\n onDeleteTelegraf: deleteTelegraf,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Collectors))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {get} from 'lodash'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {Overlay} from '@influxdata/clockface'\nimport TelegrafInstructions from 'src/dataLoaders/components/verifyStep/TelegrafInstructions'\nimport GetResources from 'src/resources/components/GetResources'\n\n// Types\nimport {Telegraf, AppState, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll, getToken} from 'src/resources/selectors'\nimport {clearDataLoaders} from 'src/dataLoaders/actions/dataLoaders'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string; id: string}>\n\n@ErrorHandling\nexport class TelegrafInstructionsOverlay extends PureComponent {\n public render() {\n const {token} = this.props\n return (\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private get collector() {\n const {\n match: {\n params: {id},\n },\n collectors,\n } = this.props\n return collectors.find(c => c.id === id)\n }\n\n private handleDismiss = (): void => {\n const {\n history,\n match: {\n params: {orgID},\n },\n onClearDataLoaders,\n } = this.props\n this.setState({\n collectorID: null,\n })\n onClearDataLoaders()\n history.push(`/orgs/${orgID}/load-data/telegrafs/`)\n }\n}\n\nconst mstp = (state: AppState) => {\n const {\n me: {name},\n } = state\n\n const token = getToken(state)\n const telegrafs = getAll(state, ResourceType.Telegrafs)\n\n return {\n username: name,\n token,\n collectors: telegrafs,\n }\n}\n\nconst mdtp = {\n onClearDataLoaders: clearDataLoaders,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(TelegrafInstructionsOverlay))\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect} from 'react-redux'\nimport {Route, Switch} from 'react-router-dom'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport Collectors from 'src/telegrafs/components/Collectors'\nimport GetResources from 'src/resources/components/GetResources'\nimport LimitChecker from 'src/cloud/components/LimitChecker'\nimport TelegrafInstructionsOverlay from 'src/telegrafs/components/TelegrafInstructionsOverlay'\nimport CollectorsWizard from 'src/dataLoaders/components/collectorsWizard/CollectorsWizard'\nimport {Page} from '@influxdata/clockface'\nimport OverlayHandler, {\n RouteOverlay,\n} from 'src/overlays/components/RouteOverlay'\n\nconst TelegrafConfigOverlay = RouteOverlay(\n OverlayHandler as any,\n 'telegraf-config',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\nconst TelegrafOutputOverlay = RouteOverlay(\n OverlayHandler as any,\n 'telegraf-output',\n (history, params) => {\n history.push(`/orgs/${params.orgID}/load-data/telegrafs`)\n }\n)\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Constant\nimport {ORGS, ORG_ID, TELEGRAFS} from 'src/shared/constants/routes'\n\ninterface StateProps {\n org: Organization\n}\n\nconst telegrafsPath = `/${ORGS}/${ORG_ID}/load-data/${TELEGRAFS}`\n\n@ErrorHandling\nclass TelegrafsPage extends PureComponent {\n public render() {\n const {org} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const org = getOrg(state)\n return {org}\n}\n\nexport default connect(mstp)(TelegrafsPage)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Context} from 'src/clockface'\nimport {ResourceCard} from '@influxdata/clockface'\nimport {Scraper} from 'src/types'\n\n// Constants\nimport {DEFAULT_SCRAPER_NAME} from 'src/dashboards/constants'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n scraper: Scraper\n onDeleteScraper: (scraper) => void\n onUpdateScraper: (scraper: Scraper) => void\n}\n\nexport default class ScraperRow extends PureComponent {\n public render() {\n const {scraper} = this.props\n return (\n \n \n \n {[<>Bucket: {scraper.bucket}, <>URL: {scraper.url}]}\n \n \n )\n }\n\n private get contextMenu(): JSX.Element {\n return (\n \n \n \n \n \n )\n }\n\n private handleDeleteScraper = () => {\n const {onDeleteScraper, scraper} = this.props\n onDeleteScraper(scraper)\n }\n\n private handleUpdateScraperName = (name: string) => {\n const {onUpdateScraper, scraper} = this.props\n onUpdateScraper({...scraper, name})\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport ScraperRow from 'src/scrapers/components/ScraperRow'\n\n// Types\nimport {Scraper} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ninterface Props {\n scrapers: Scraper[]\n emptyState: JSX.Element\n onDeleteScraper: (scraper) => void\n onUpdateScraper: (scraper: Scraper) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n}\n\nexport default class ScraperList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {emptyState} = this.props\n\n return (\n \n \n {this.scrapersList}\n \n \n )\n }\n\n public get scrapersList(): JSX.Element[] {\n const {\n scrapers,\n sortKey,\n sortDirection,\n sortType,\n onDeleteScraper,\n onUpdateScraper,\n } = this.props\n const sortedScrapers = this.memGetSortedResources(\n scrapers,\n sortKey,\n sortDirection,\n sortType\n )\n\n if (scrapers !== undefined) {\n return sortedScrapers.map(scraper => (\n \n ))\n }\n return\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {isEmpty} from 'lodash'\n\n// Components\nimport {Button, EmptyState, Sort} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport ScraperList from 'src/scrapers/components/ScraperList'\nimport NoBucketsWarning from 'src/buckets/components/NoBucketsWarning'\nimport FilterList from 'src/shared/components/FilterList'\nimport ResourceSortDropdown from 'src/shared/components/resource_sort_dropdown/ResourceSortDropdown'\n\n// Actions\nimport {updateScraper, deleteScraper} from 'src/scrapers/actions/thunks'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Types\nimport {\n IconFont,\n ComponentSize,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\nimport {AppState, Bucket, Scraper, ResourceType} from 'src/types'\nimport {ScraperSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & RouteComponentProps<{orgID: string}>\n\ninterface State {\n searchTerm: string\n sortKey: ScraperSortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\nconst FilterScrapers = FilterList()\n\n@ErrorHandling\nclass Scrapers extends PureComponent {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n const {scrapers} = this.props\n\n const leftHeaderItems = (\n <>\n \n \n \n )\n\n return (\n <>\n \n \n \n {sl => (\n \n )}\n \n \n )\n }\n\n private handleSort = (\n sortKey: ScraperSortKey,\n sortDirection: Sort,\n sortType: SortTypes\n ): void => {\n this.setState({sortKey, sortDirection, sortType})\n }\n\n private get hasNoBuckets(): boolean {\n const {buckets} = this.props\n\n if (!buckets || !buckets.length) {\n return true\n }\n\n return false\n }\n\n private createScraperButton = (testID: string): JSX.Element => {\n let status = ComponentStatus.Default\n let titleText = 'Create a new Scraper'\n\n if (this.hasNoBuckets) {\n status = ComponentStatus.Disabled\n titleText = 'You need at least 1 bucket in order to create a scraper'\n }\n\n return (\n \n )\n }\n\n private get emptyState(): JSX.Element {\n const {org} = this.props\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n {`${org.name}`} does not own any Scrapers, why not create\n one?\n \n {this.createScraperButton('create-scraper-button-empty')}\n \n )\n }\n\n return (\n \n No Scrapers match your query\n \n )\n }\n\n private handleUpdateScraper = (scraper: Scraper) => {\n const {onUpdateScraper} = this.props\n onUpdateScraper(scraper)\n }\n\n private handleDeleteScraper = (scraper: Scraper) => {\n const {onDeleteScraper} = this.props\n onDeleteScraper(scraper)\n }\n\n private handleShowOverlay = () => {\n const {history, org} = this.props\n\n if (this.hasNoBuckets) {\n return\n }\n\n history.push(`/orgs/${org.id}/load-data/scrapers/new`)\n }\n\n private handleFilterChange = (searchTerm: string) => {\n this.setState({searchTerm})\n }\n}\n\nconst mstp = (state: AppState) => ({\n scrapers: getAll(state, ResourceType.Scrapers),\n buckets: getAll(state, ResourceType.Buckets),\n org: getOrg(state),\n})\n\nconst mdtp = {\n onDeleteScraper: deleteScraper,\n onUpdateScraper: updateScraper,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Scrapers))\n","// Libraries\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {Switch, Route} from 'react-router-dom'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport LoadDataHeader from 'src/settings/components/LoadDataHeader'\nimport LoadDataTabbedPage from 'src/settings/components/LoadDataTabbedPage'\nimport GetResources from 'src/resources/components/GetResources'\nimport Scrapers from 'src/scrapers/components/Scrapers'\nimport CreateScraperOverlay from 'src/scrapers/components/CreateScraperOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Constants\nimport {ORGS, ORG_ID, SCRAPERS} from 'src/shared/constants/routes'\n\ninterface StateProps {\n org: Organization\n}\n\nconst scrapersPath = `/${ORGS}/${ORG_ID}/load-data/${SCRAPERS}`\n\n@ErrorHandling\nclass ScrapersIndex extends Component {\n public render() {\n const {org} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mstp = (state: AppState) => ({org: getOrg(state)})\n\nexport default connect(mstp)(ScrapersIndex)\n","// Libraries\nimport React, {FC} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n className?: string\n}\n\nexport const GoogleLogo: FC = ({className}) => (\n \n \n \n \n \n \n)\n","import {SFC} from 'react'\nimport {\n ArduinoLogo,\n CSharpLogo,\n GoLogo,\n JavaLogo,\n JSLogo,\n KotlinLogo,\n PHPLogo,\n PythonLogo,\n RubyLogo,\n ScalaLogo,\n} from '../graphics'\n\nexport interface ClientLibrary {\n id: string\n name: string\n url: string\n image: SFC\n}\n\nexport const clientArduinoLibrary = {\n id: 'arduino',\n name: 'Arduino',\n url: 'https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino',\n image: ArduinoLogo,\n installingLibraryManagerCodeSnippet: `1. Open the Arduino IDE and click to the \"Sketch\" menu and then Include Library > Manage Libraries.\n2. Type 'influxdb' in the search box\n3. Install the 'InfluxDBClient for Arduino' library`,\n installingManualCodeSnippet: `1. cd /library.\n2. git clone <%= url %>\n3. Restart the Arduino IDE`,\n initializeClientCodeSnippet: `#if defined(ESP32)\n#include \nWiFiMulti wifiMulti;\n#define DEVICE \"ESP32\"\n#elif defined(ESP8266)\n#include \nESP8266WiFiMulti wifiMulti;\n#define DEVICE \"ESP8266\"\n#endif\n\n#include \n#include \n\n// WiFi AP SSID\n#define WIFI_SSID \"SSID\"\n// WiFi password\n#define WIFI_PASSWORD \"PASSWORD\"\n// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries)\n#define INFLUXDB_URL \"<%= server %>\"\n// InfluxDB v2 server or cloud API authentication token (Use: InfluxDB UI -> Data -> Tokens -> \n \n \n \n \n \n \n \n \n )\n}\n\nexport default SMTPMessage\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Form, TextArea} from '@influxdata/clockface'\n\ninterface Props {\n messageTemplate: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst PagerDutyMessage: FC = ({messageTemplate, onChange}) => {\n return (\n \n \n \n )\n}\n\nexport default PagerDutyMessage\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport SlackMessage from './SlackMessage'\nimport SMTPMessage from './SMTPMessage'\nimport PagerDutyMessage from './PagerDutyMessage'\n\n// Utils\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ninterface Props {\n rule: NotificationRuleDraft\n}\n\nconst RuleMessageContents: FC = ({rule}) => {\n const dispatch = useRuleDispatch()\n const onChange = ({target}) => {\n const {name, value} = target\n\n dispatch({\n type: 'UPDATE_RULE',\n rule: {\n ...rule,\n [name]: value,\n },\n })\n }\n\n switch (rule.type) {\n case 'slack': {\n const {messageTemplate, channel} = rule\n return (\n \n )\n }\n case 'smtp': {\n const {to, subjectTemplate, bodyTemplate} = rule\n return (\n \n )\n }\n case 'pagerduty': {\n const {messageTemplate} = rule\n return (\n \n )\n }\n case 'http': {\n return <>\n }\n\n default:\n throw new Error('Unexpected endpoint type in .')\n }\n}\n\nexport default RuleMessageContents\n","// Libraries\nimport React, {FC, useEffect} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Form, Panel, Grid, Columns} from '@influxdata/clockface'\nimport RuleEndpointDropdown from 'src/notifications/rules/components/RuleEndpointDropdown'\nimport RuleMessageContents from 'src/notifications/rules/components/RuleMessageContents'\n\n// Utils\nimport {getRuleVariantDefaults} from 'src/notifications/rules/utils'\nimport {getAll} from 'src/resources/selectors'\nimport {useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {\n NotificationEndpoint,\n NotificationRuleDraft,\n AppState,\n ResourceType,\n} from 'src/types'\n\ninterface StateProps {\n endpoints: NotificationEndpoint[]\n}\n\ninterface OwnProps {\n rule: NotificationRuleDraft\n}\n\ntype Props = OwnProps & StateProps\n\nconst RuleMessage: FC = ({endpoints, rule}) => {\n const dispatch = useRuleDispatch()\n\n const onSelectEndpoint = endpointID => {\n dispatch({\n type: 'UPDATE_RULE',\n rule: {\n ...rule,\n ...getRuleVariantDefaults(endpoints, endpointID),\n endpointID,\n },\n })\n }\n\n useEffect(() => {\n if (!rule.endpointID && endpoints.length) {\n onSelectEndpoint(endpoints[0].id)\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n \n Message\n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n return {\n endpoints,\n }\n}\n\nexport default connect(mstp)(RuleMessage)\n","import React, {useState, FC} from 'react'\n\n// Components\nimport {\n ComponentColor,\n Form,\n Button,\n ComponentStatus,\n Grid,\n Columns,\n} from '@influxdata/clockface'\n\n// Utils\nimport {useRuleState} from './RuleOverlayProvider'\n\nimport {NotificationRuleDraft, RemoteDataState} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (draftRule: NotificationRuleDraft) => Promise\n}\n\nconst RuleOverlayFooter: FC = ({saveButtonText, onSave}) => {\n const rule = useRuleState()\n\n const [saveStatus, setSaveStatus] = useState(RemoteDataState.NotStarted)\n const [errorMessage, setErrorMessage] = useState(null)\n\n const handleSave = async () => {\n if (saveStatus === RemoteDataState.Loading) {\n return\n }\n\n try {\n setSaveStatus(RemoteDataState.Loading)\n setErrorMessage(null)\n\n await onSave(rule)\n } catch (e) {\n setSaveStatus(RemoteDataState.Error)\n setErrorMessage(e.message)\n }\n }\n\n const buttonStatus =\n saveStatus === RemoteDataState.Loading\n ? ComponentStatus.Loading\n : ComponentStatus.Default\n\n return (\n <>\n \n \n {errorMessage && (\n
    {errorMessage}
    \n )}\n \n \n \n
    \n
    \n \n )\n}\n\nexport default RuleOverlayFooter\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {\n Grid,\n Panel,\n Columns,\n ComponentSize,\n Form,\n Input,\n} from '@influxdata/clockface'\nimport RuleSchedule from 'src/notifications/rules/components/RuleSchedule'\nimport RuleConditions from 'src/notifications/rules/components/RuleConditions'\nimport RuleMessage from 'src/notifications/rules/components/RuleMessage'\nimport RuleOverlayFooter from 'src/notifications/rules/components/RuleOverlayFooter'\n\n// Utils\nimport {useRuleState, useRuleDispatch} from './RuleOverlayProvider'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (draftRule: NotificationRuleDraft) => Promise\n}\n\nconst RuleOverlayContents: FC = ({saveButtonText, onSave}) => {\n const rule = useRuleState()\n const dispatch = useRuleDispatch()\n\n const handleChange = e => {\n const {name, value} = e.target\n\n dispatch({\n type: 'UPDATE_RULE',\n rule: {...rule, [name]: value} as NotificationRuleDraft,\n })\n }\n\n const handleChangeParameter = (key: keyof NotificationRuleDraft) => (\n value: string\n ) => {\n dispatch({\n type: 'UPDATE_RULE',\n rule: {...rule, [key]: value} as NotificationRuleDraft,\n })\n }\n\n return (\n \n
    \n \n About\n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n
    \n )\n}\n\nexport default RuleOverlayContents\n","// Libraries\nimport React, {useMemo, FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {createRule} from 'src/notifications/rules/actions/thunks'\n\n// Components\nimport RuleOverlayContents from 'src/notifications/rules/components/RuleOverlayContents'\nimport {Overlay} from '@influxdata/clockface'\n\n// Utils\nimport RuleOverlayProvider from 'src/notifications/rules/components/RuleOverlayProvider'\nimport {initRuleDraft} from 'src/notifications/rules/utils'\n\n// Types\nimport {NotificationRuleDraft} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst NewRuleOverlay: FC = ({\n match: {\n params: {orgID},\n },\n history,\n onCreateRule,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n\n const handleCreateRule = async (rule: NotificationRuleDraft) => {\n await onCreateRule(rule)\n\n handleDismiss()\n }\n\n const initialState = useMemo(() => initRuleDraft(orgID), [orgID])\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onCreateRule: createRule,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(NewRuleOverlay))\n","// Libraries\nimport React, {FC} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Constants\nimport {getNotificationRuleFailed} from 'src/shared/copy/notifications'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport RuleOverlayContents from 'src/notifications/rules/components/RuleOverlayContents'\n\n// Actions\nimport {updateRule} from 'src/notifications/rules/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Utils\nimport RuleOverlayProvider from './RuleOverlayProvider'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {NotificationRuleDraft, AppState, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string; ruleID: string}>\ntype Props = RouterProps & ReduxProps\n\nconst EditRuleOverlay: FC = ({\n match,\n history,\n stateRule,\n onUpdateRule,\n onNotify,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${match.params.orgID}/alerting`)\n }\n\n if (!stateRule) {\n onNotify(getNotificationRuleFailed(match.params.ruleID))\n handleDismiss()\n return null\n }\n\n const handleUpdateRule = async (rule: NotificationRuleDraft) => {\n await onUpdateRule(rule)\n\n handleDismiss()\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const {ruleID} = match.params\n\n const stateRule = getByID(\n state,\n ResourceType.NotificationRules,\n ruleID\n )\n\n return {\n stateRule,\n }\n}\n\nconst mdtp = {\n onNotify: notify,\n onUpdateRule: updateRule,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(EditRuleOverlay))\n","import {omit} from 'lodash'\n\n// Types\nimport {NotificationEndpoint, NotificationEndpointBase} from 'src/types'\nimport {DEFAULT_ENDPOINT_URLS} from 'src/alerting/constants'\n\nexport type Action =\n | {type: 'UPDATE_ENDPOINT'; endpoint: NotificationEndpoint}\n | {type: 'UPDATE_ENDPOINT_TYPE'; endpoint: NotificationEndpoint}\n | {type: 'DELETE_ENDPOINT'; endpointID: string}\n\nexport type EndpointState = NotificationEndpoint\n\nexport const reducer = (\n state: EndpointState,\n action: Action\n): EndpointState => {\n switch (action.type) {\n case 'UPDATE_ENDPOINT': {\n const {endpoint} = action\n return {...state, ...endpoint}\n }\n case 'UPDATE_ENDPOINT_TYPE': {\n const {endpoint} = action\n if (state.type != endpoint.type) {\n const baseProps: NotificationEndpointBase = omit(endpoint, [\n 'url',\n 'token',\n 'username',\n 'password',\n 'method',\n 'authMethod',\n 'contentTemplate',\n 'headers',\n 'clientURL',\n 'routingKey',\n ])\n\n switch (endpoint.type) {\n case 'pagerduty':\n return {\n ...baseProps,\n type: 'pagerduty',\n clientURL: `${location.origin}/orgs/${baseProps.orgID}/alert-history`,\n routingKey: '',\n }\n case 'http':\n return {\n ...baseProps,\n type: 'http',\n method: 'POST',\n authMethod: 'none',\n url: DEFAULT_ENDPOINT_URLS.http,\n }\n case 'slack':\n return {\n ...baseProps,\n type: 'slack',\n url: DEFAULT_ENDPOINT_URLS.slack,\n token: '',\n }\n }\n }\n return state\n }\n case 'DELETE_ENDPOINT': {\n return state\n }\n\n default:\n const neverAction: never = action\n\n throw new Error(\n `Unhandled action \"${\n (neverAction as any).type\n }\" in EndpointsOverlay.reducer.ts`\n )\n }\n}\n","// Libraries\nimport React, {\n FC,\n Dispatch,\n createContext,\n useReducer,\n useRef,\n useContext,\n} from 'react'\n\n// Reducer\nimport {EndpointState, Action, reducer} from './EndpointOverlay.reducer'\n\nconst EndpointStateContext = createContext(null)\nconst EndpointDispatchContext = createContext>(null)\n\nexport const EndpointOverlayProvider: FC<{initialState: EndpointState}> = ({\n initialState,\n children,\n}) => {\n const prevInitialStateRef = useRef(initialState)\n\n const [state, dispatch] = useReducer(\n (state: EndpointState, action: Action) => {\n if (prevInitialStateRef.current !== initialState) {\n prevInitialStateRef.current = initialState\n\n return initialState\n }\n\n return reducer(state, action)\n },\n initialState\n )\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport const useEndpointState = (): EndpointState => {\n return useContext(EndpointStateContext)\n}\n\nexport const useEndpointDispatch = (): Dispatch => {\n return useContext(EndpointDispatchContext)\n}\n\nexport const useEndpointReducer = (): [EndpointState, Dispatch] => {\n return [useEndpointState(), useEndpointDispatch()]\n}\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, Panel, Grid, Columns} from '@influxdata/clockface'\n\ninterface Props {\n url: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst EndpointOptionsSlack: FC = ({url, onChange}) => {\n return (\n \n \n

    Slack Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsSlack\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {Input, FormElement, InputType, Panel, Grid} from '@influxdata/clockface'\n\ninterface Props {\n clientURL: string\n routingKey: string\n onChange: (e: ChangeEvent) => void\n}\n\nconst EndpointOptionsPagerDuty: FC = ({\n clientURL,\n routingKey,\n onChange,\n}) => {\n return (\n \n \n

    Pagerduty Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsPagerDuty\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {HTTPMethodType} from 'src/types'\n\ninterface MethodType {\n name: string\n type: HTTPMethodType\n id: HTTPMethodType\n}\n\ninterface Props {\n selectedType: string\n onSelectType: (type: HTTPMethodType) => void\n}\n\nconst types: MethodType[] = [{name: 'POST', type: 'POST', id: 'POST'}]\n\nconst MethodTypeDropdown: FC = ({selectedType, onSelectType}) => {\n const items = types.map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error('Incorrect method type provided to ')\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default MethodTypeDropdown\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Types\nimport {HTTPAuthMethodType} from 'src/types'\n\ninterface AuthMethodType {\n name: string\n type: HTTPAuthMethodType\n id: HTTPAuthMethodType\n}\n\ninterface Props {\n selectedType: string\n onSelectType: (type: HTTPAuthMethodType) => void\n}\n\nconst types: AuthMethodType[] = [\n {name: 'none', type: 'none', id: 'none'},\n {name: 'basic', type: 'basic', id: 'basic'},\n {name: 'bearer', type: 'bearer', id: 'bearer'},\n]\n\nconst AuthMethodTypeDropdown: FC = ({selectedType, onSelectType}) => {\n const items = types.map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error(\n 'Incorrect authMethod type provided to '\n )\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nexport default AuthMethodTypeDropdown\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport {\n Input,\n FormElement,\n InputType,\n Panel,\n Grid,\n Columns,\n} from '@influxdata/clockface'\nimport MethodTypeDropdown from 'src/notifications/endpoints/components/MethodTypeDropdown'\nimport AuthMethodTypeDropdown from 'src/notifications/endpoints/components/AuthMethodTypeDropdown'\n\n// Types\nimport {HTTPNotificationEndpoint} from 'src/types'\n\ninterface Props {\n url: string\n token?: string\n username?: string\n password?: string\n method?: HTTPNotificationEndpoint['method']\n authMethod?: HTTPNotificationEndpoint['authMethod']\n contentTemplate: string\n onChange: (e: ChangeEvent) => void\n onChangeParameter: (key: string) => (value: string) => void\n}\n\nconst EndpointOptionsHTTP: FC = ({\n url,\n onChange,\n token,\n username,\n password,\n method,\n authMethod,\n onChangeParameter,\n}) => {\n return (\n \n \n

    HTTP Options

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {authMethod === 'bearer' && (\n \n \n \n \n \n )}\n {authMethod === 'basic' && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n
    \n )\n}\n\nexport default EndpointOptionsHTTP\n","// Libraries\nimport React, {FC, ChangeEvent} from 'react'\n\n// Components\nimport EndpointOptionsSlack from './EndpointOptionsSlack'\nimport EndpointOptionsPagerDuty from './EndpointOptionsPagerDuty'\nimport EndpointOptionsHTTP from './EndpointOptionsHTTP'\n\n// Types\nimport {\n NotificationEndpoint,\n SlackNotificationEndpoint,\n PagerDutyNotificationEndpoint,\n HTTPNotificationEndpoint,\n} from 'src/types'\n\ninterface Props {\n endpoint: NotificationEndpoint\n onChange: (e: ChangeEvent) => void\n onChangeParameter: (key: string) => (value: string) => void\n}\n\nconst EndpointOptions: FC = ({\n endpoint,\n onChange,\n onChangeParameter,\n}) => {\n switch (endpoint.type) {\n case 'slack': {\n const {url} = endpoint as SlackNotificationEndpoint\n return \n }\n case 'pagerduty': {\n const {clientURL, routingKey} = endpoint as PagerDutyNotificationEndpoint\n return (\n \n )\n }\n case 'http': {\n const {\n url,\n token,\n username,\n password,\n method,\n authMethod,\n contentTemplate,\n } = endpoint as HTTPNotificationEndpoint\n return (\n \n )\n }\n\n default:\n throw new Error(\n `Unknown endpoint type for endpoint: ${JSON.stringify(\n endpoint,\n null,\n 2\n )}`\n )\n }\n}\n\nexport default EndpointOptions\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Dropdown} from '@influxdata/clockface'\n\n// Utils\nimport {extractBlockedEndpoints} from 'src/cloud/utils/limits'\n\n// Types\nimport {NotificationEndpointType, AppState} from 'src/types'\n\ninterface EndpointType {\n id: NotificationEndpointType\n type: NotificationEndpointType\n name: string\n}\n\ninterface StateProps {\n blockedEndpoints: string[]\n}\n\ninterface OwnProps {\n selectedType: string\n onSelectType: (type: NotificationEndpointType) => void\n}\n\ntype Props = OwnProps & StateProps\n\nconst types: EndpointType[] = [\n {name: 'HTTP', type: 'http', id: 'http'},\n {name: 'Slack', type: 'slack', id: 'slack'},\n {name: 'Pagerduty', type: 'pagerduty', id: 'pagerduty'},\n]\n\nconst EndpointTypeDropdown: FC = ({\n selectedType,\n onSelectType,\n blockedEndpoints,\n}) => {\n const items = types\n .filter(({type}) => !blockedEndpoints.includes(type))\n .map(({id, type, name}) => (\n \n {name}\n \n ))\n\n const selected = types.find(t => t.type === selectedType)\n\n if (!selected) {\n throw new Error(\n 'Incorrect endpoint type provided to '\n )\n }\n\n const button = (active, onClick) => (\n \n {selected.name}\n \n )\n\n const menu = onCollapse => (\n {items}\n )\n\n return (\n \n )\n}\n\nconst mstp = ({cloud: {limits}}: AppState) => {\n return {\n blockedEndpoints: extractBlockedEndpoints(limits),\n }\n}\n\nexport default connect(mstp)(EndpointTypeDropdown)\n","// Libraries\nimport React, {useState, FC} from 'react'\n\n// Components\nimport {\n Button,\n ComponentColor,\n ComponentStatus,\n Overlay,\n} from '@influxdata/clockface'\n\n// Hooks\nimport {useEndpointState} from './EndpointOverlayProvider'\n\n// Types\nimport {NotificationEndpoint, RemoteDataState} from 'src/types'\n\ninterface Props {\n saveButtonText: string\n onSave: (endpoint: NotificationEndpoint) => void\n onCancel: () => void\n onSetErrorMessage: (error: string) => void\n}\n\nconst EndpointOverlayFooter: FC = ({\n saveButtonText,\n onSave,\n onCancel,\n onSetErrorMessage,\n}) => {\n const endpoint = useEndpointState()\n\n const [saveStatus, setSaveStatus] = useState(RemoteDataState.NotStarted)\n\n const handleSave = () => {\n if (saveStatus === RemoteDataState.Loading) {\n return\n }\n\n try {\n setSaveStatus(RemoteDataState.Loading)\n onSetErrorMessage(null)\n\n onSave(endpoint)\n } catch (e) {\n setSaveStatus(RemoteDataState.Error)\n onSetErrorMessage(e.message)\n }\n }\n\n const buttonStatus =\n saveStatus === RemoteDataState.Loading\n ? ComponentStatus.Loading\n : ComponentStatus.Default\n\n return (\n \n \n \n \n )\n}\n\nexport default EndpointOverlayFooter\n","// Libraries\nimport React, {FC, ChangeEvent, useState} from 'react'\n\n// Components\nimport {\n Grid,\n Form,\n Input,\n TextArea,\n Overlay,\n Columns,\n Alert,\n ComponentColor,\n IconFont,\n} from '@influxdata/clockface'\nimport EndpointOptions from 'src/notifications/endpoints/components/EndpointOptions'\nimport EndpointTypeDropdown from 'src/notifications/endpoints/components/EndpointTypeDropdown'\nimport EndpointOverlayFooter from 'src/notifications/endpoints/components/EndpointOverlayFooter'\n\n// Hooks\nimport {useEndpointReducer} from './EndpointOverlayProvider'\n\n// Types\nimport {NotificationEndpointType, NotificationEndpoint} from 'src/types'\n\ninterface Props {\n onSave: (endpoint: NotificationEndpoint) => void\n onCancel: () => void\n saveButtonText: string\n}\n\nconst EndpointOverlayContents: FC = ({\n onSave,\n saveButtonText,\n onCancel,\n}) => {\n const [endpoint, dispatch] = useEndpointReducer()\n const [errorMessage, setErrorMessage] = useState(null)\n\n const handleChange = (\n e: ChangeEvent\n ) => {\n const {name, value} = e.target\n dispatch({\n type: 'UPDATE_ENDPOINT',\n endpoint: {...endpoint, [name]: value},\n })\n }\n\n const handleChangeParameter = (key: string) => (value: string) => {\n dispatch({\n type: 'UPDATE_ENDPOINT',\n endpoint: {...endpoint, [key]: value},\n })\n }\n\n const handleSelectType = (type: NotificationEndpointType) => {\n dispatch({\n type: 'UPDATE_ENDPOINT_TYPE',\n endpoint: {...endpoint, type} as NotificationEndpoint,\n })\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errorMessage && (\n \n {errorMessage}\n \n )}\n \n \n \n \n \n \n )\n}\n\nexport default EndpointOverlayContents\n","// Libraries\nimport React, {FC, useMemo} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Actions\nimport {createEndpoint} from 'src/notifications/endpoints/actions/thunks'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport {EndpointOverlayProvider} from 'src/notifications/endpoints/components/EndpointOverlayProvider'\nimport EndpointOverlayContents from 'src/notifications/endpoints/components/EndpointOverlayContents'\n\n// Constants\nimport {NEW_ENDPOINT_DRAFT} from 'src/alerting/constants'\nimport {NotificationEndpoint} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype Props = RouteComponentProps<{orgID: string}> & ReduxProps\n\nconst NewRuleOverlay: FC = ({match, history, onCreateEndpoint}) => {\n const {orgID} = match.params\n\n const handleDismiss = () => {\n history.push(`/orgs/${orgID}/alerting`)\n }\n\n const handleCreateEndpoint = (endpoint: NotificationEndpoint) => {\n onCreateEndpoint(endpoint)\n handleDismiss()\n }\n\n const initialState = useMemo(() => ({...NEW_ENDPOINT_DRAFT, orgID}), [orgID])\n\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onCreateEndpoint: createEndpoint,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(withRouter(NewRuleOverlay))\n","// Libraries\nimport React, {FC} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Constants\nimport {getEndpointFailed} from 'src/shared/copy/notifications'\n\n// Actions\nimport {updateEndpoint} from 'src/notifications/endpoints/actions/thunks'\nimport {notify} from 'src/shared/actions/notifications'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\nimport {EndpointOverlayProvider} from 'src/notifications/endpoints/components/EndpointOverlayProvider'\nimport EndpointOverlayContents from 'src/notifications/endpoints/components/EndpointOverlayContents'\n\n// Types\nimport {NotificationEndpoint, AppState, ResourceType} from 'src/types'\n\n// Utils\nimport {getByID} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string; endpointID: string}>\ntype Props = RouterProps & ReduxProps\n\nconst EditEndpointOverlay: FC = ({\n match,\n history,\n onUpdateEndpoint,\n onNotify,\n endpoint,\n}) => {\n const handleDismiss = () => {\n history.push(`/orgs/${match.params.orgID}/alerting`)\n }\n\n if (!endpoint) {\n onNotify(getEndpointFailed(match.params.endpointID))\n handleDismiss()\n return null\n }\n\n const handleEditEndpoint = (endpoint: NotificationEndpoint) => {\n onUpdateEndpoint(endpoint)\n\n handleDismiss()\n }\n\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mdtp = {\n onUpdateEndpoint: updateEndpoint,\n onNotify: notify,\n}\n\nconst mstp = (state: AppState, {match}: RouterProps) => {\n const endpoint = getByID(\n state,\n ResourceType.NotificationEndpoints,\n match.params.endpointID\n )\n\n return {endpoint}\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default withRouter(connector(EditEndpointOverlay))\n","// Libraries\nimport React, {FunctionComponent, useState} from 'react'\nimport {Switch, Route} from 'react-router-dom'\n\n//Components\nimport {Page, SelectGroup, ButtonShape} from '@influxdata/clockface'\nimport ChecksColumn from 'src/checks/components/ChecksColumn'\nimport RulesColumn from 'src/notifications/rules/components/RulesColumn'\nimport EndpointsColumn from 'src/notifications/endpoints/components/EndpointsColumn'\nimport GetAssetLimits from 'src/cloud/components/GetAssetLimits'\nimport RateLimitAlert from 'src/cloud/components/RateLimitAlert'\nimport GetResources from 'src/resources/components/GetResources'\nimport NewThresholdCheckEO from 'src/checks/components/NewThresholdCheckEO'\nimport NewDeadmanCheckEO from 'src/checks/components/NewDeadmanCheckEO'\nimport EditCheckEO from 'src/checks/components/EditCheckEO'\nimport NewRuleOverlay from 'src/notifications/rules/components/NewRuleOverlay'\nimport EditRuleOverlay from 'src/notifications/rules/components/EditRuleOverlay'\nimport NewEndpointOverlay from 'src/notifications/endpoints/components/NewEndpointOverlay'\nimport EditEndpointOverlay from 'src/notifications/endpoints/components/EditEndpointOverlay'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\n\n// Types\nimport {ResourceType} from 'src/types'\n\nconst alertsPath = '/orgs/:orgID/alerting'\n\ntype ActiveColumn = 'checks' | 'endpoints' | 'rules'\n\nconst AlertingIndex: FunctionComponent = () => {\n const [activeColumn, setActiveColumn] = useState('checks')\n\n const pageContentsClassName = `alerting-index alerting-index__${activeColumn}`\n\n const handleTabClick = (selectGroupOptionID: ActiveColumn): void => {\n setActiveColumn(selectGroupOptionID)\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n Checks\n \n \n Notification Endpoints\n \n \n Notification Rules\n \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default AlertingIndex\n","// Libraries\nimport React, {FC} from 'react'\n\n// Components\nimport SearchBar from 'src/alerting/components/SearchBar'\n\n// Types\nimport {EventViewerChildProps} from 'src/eventViewer/types'\n\n// Constants\nimport {EXAMPLE_STATUS_SEARCHES} from 'src/alerting/constants/history'\n\ninterface Props {\n eventViewerProps: EventViewerChildProps\n}\n\nconst CheckHistoryControls: FC = ({eventViewerProps}) => {\n return (\n \n )\n}\n\nexport default CheckHistoryControls\n","// Libraries\nimport React, {FC, createContext, useState} from 'react'\nimport {get} from 'lodash'\n\n// Components\nimport {Plot} from '@influxdata/giraffe'\nimport CheckPlot from 'src/shared/components/CheckPlot'\nimport EmptyQueryView, {ErrorFormat} from 'src/shared/components/EmptyQueryView'\nimport TimeSeries from 'src/shared/components/TimeSeries'\nimport ViewLoadingSpinner from 'src/shared/components/ViewLoadingSpinner'\n\n// Types\nimport {ResourceIDs} from 'src/checks/reducers'\nimport {Check, TimeZone, CheckViewProperties} from 'src/types'\n\n// Utils\nimport {createView} from 'src/views/helpers'\nimport {checkResultsLength} from 'src/shared/utils/vis'\n\nexport const ResourceIDsContext = createContext(null)\n\ninterface OwnProps {\n check: Check\n timeZone: TimeZone\n}\n\ntype Props = OwnProps\n\nconst CheckHistoryVisualization: FC = ({check, timeZone}) => {\n const view = createView(get(check, 'threshold'))\n\n const [submitToken] = useState(0)\n const [manualRefresh] = useState(0)\n\n return (\n \n {({giraffeResult, loading, errorMessage, isInitialFetch, statuses}) => {\n return (\n <>\n \n \n \n {config => }\n \n \n \n )\n }}\n \n )\n}\n\nexport default CheckHistoryVisualization\n","// Libraries\nimport React, {useMemo, FC} from 'react'\nimport {connect} from 'react-redux'\n\n// Components\nimport {Page} from '@influxdata/clockface'\nimport EventViewer from 'src/eventViewer/components/EventViewer'\nimport CheckHistoryControls from 'src/checks/components/CheckHistoryControls'\nimport CheckHistoryVisualization from 'src/checks/components/CheckHistoryVisualization'\nimport AlertHistoryQueryParams from 'src/alerting/components/AlertHistoryQueryParams'\nimport EventTable from 'src/eventViewer/components/EventTable'\nimport GetResources from 'src/resources/components/GetResources'\nimport CloudUpgradeButton from 'src/shared/components/CloudUpgradeButton'\n\n//Context\nimport {ResourceIDsContext} from 'src/alerting/components/AlertHistoryIndex'\n\n// Constants\nimport {STATUS_FIELDS} from 'src/alerting/constants/history'\n\n// Utils\nimport {loadStatuses, getInitialState} from 'src/alerting/utils/history'\nimport {getCheckIDs} from 'src/checks/selectors'\nimport {getTimeZone} from 'src/dashboards/selectors'\n\n// Types\nimport {ResourceIDs} from 'src/checks/reducers'\nimport {AppState, Check, TimeZone, ResourceType} from 'src/types'\nimport {getByID} from 'src/resources/selectors'\nimport {RouteComponentProps} from 'react-router-dom'\n\ninterface StateProps {\n check: Check\n timeZone: TimeZone\n resourceIDs: ResourceIDs\n}\n\ntype Props = RouteComponentProps<{orgID: string; checkID: string}> & StateProps\n\nconst CheckHistory: FC = ({\n match: {\n params: {orgID},\n },\n check,\n timeZone,\n resourceIDs,\n}) => {\n const loadRows = useMemo(() => options => loadStatuses(orgID, options), [\n orgID,\n ])\n const historyType = 'statuses'\n const fields = STATUS_FIELDS\n return (\n \n \n \n {props => (\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {check.type !== 'custom' && (\n \n )}\n
    \n \n
    \n
    \n \n \n )}\n
    \n
    \n
    \n )\n}\n\nconst mstp = (state: AppState, props: Props) => {\n const timeZone = getTimeZone(state)\n const checkIDs = getCheckIDs(state)\n const check = getByID(\n state,\n ResourceType.Checks,\n props.match.params.checkID\n )\n\n const resourceIDs = {\n checkIDs,\n endpointIDs: null,\n ruleIDs: null,\n }\n\n return {check, timeZone, resourceIDs}\n}\n\nexport default connect(mstp)(CheckHistory)\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Member} from 'src/types'\nimport {Context} from 'src/clockface'\n\nimport CloudExclude from 'src/shared/components/cloud/CloudExclude'\nimport {IconFont, ComponentColor} from '@influxdata/clockface'\n\ninterface Props {\n member: Member\n onDelete: (member: Member) => void\n}\n\nexport default class MemberContextMenu extends PureComponent {\n public render() {\n const {member} = this.props\n\n return (\n \n \n \n \n \n \n \n )\n }\n\n private handleDelete = () => {\n const {member, onDelete} = this.props\n onDelete(member)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Member} from 'src/types'\nimport {ResourceCard} from '@influxdata/clockface'\nimport MemberContextMenu from 'src/members/components/MemberContextMenu'\n\ninterface Props {\n member: Member\n onDelete: (member: Member) => void\n}\n\nexport default class MemberCard extends PureComponent {\n public render() {\n const {member, onDelete} = this.props\n\n return (\n }\n >\n \n \n <>Role: {member.role}\n \n \n )\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport memoizeOne from 'memoize-one'\n\n// Components\nimport {ResourceList} from '@influxdata/clockface'\nimport MemberCard from 'src/members/components/MemberCard'\n\n// Types\nimport {Member} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {Sort} from '@influxdata/clockface'\n\n// Selectors\nimport {getSortedResources} from 'src/shared/utils/sort'\n\ntype SortKey = keyof Member\n\ninterface Props {\n members: Member[]\n emptyState: JSX.Element\n onDelete: (member: Member) => void\n sortKey: string\n sortDirection: Sort\n sortType: SortTypes\n onClickColumn: (nextSort: Sort, sortKey: SortKey) => void\n}\n\nexport default class MemberList extends PureComponent {\n private memGetSortedResources = memoizeOne(\n getSortedResources\n )\n\n public render() {\n const {sortKey, sortDirection, onClickColumn} = this.props\n\n return (\n \n \n \n \n \n \n {this.rows}\n \n \n )\n }\n\n private get headerKeys(): SortKey[] {\n return ['name', 'role']\n }\n\n private get rows(): JSX.Element[] {\n const {members, sortKey, sortDirection, sortType, onDelete} = this.props\n const sortedMembers = this.memGetSortedResources(\n members,\n sortKey,\n sortDirection,\n sortType\n )\n\n return sortedMembers.map(member => (\n \n ))\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n// Libraries\nimport {isEmpty} from 'lodash'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\n\n// Components\nimport TabbedPageHeader from 'src/shared/components/tabbed_page/TabbedPageHeader'\nimport {EmptyState, Sort} from '@influxdata/clockface'\nimport SearchWidget from 'src/shared/components/search_widget/SearchWidget'\nimport MemberList from 'src/members/components/MemberList'\nimport FilterList from 'src/shared/components/FilterList'\n\n// Actions\nimport {deleteMember} from 'src/members/actions/thunks'\n\n// Types\nimport {ComponentSize} from '@influxdata/clockface'\nimport {AppState, Member, ResourceType} from 'src/types'\nimport {SortTypes} from 'src/shared/utils/sort'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\ninterface State {\n searchTerm: string\n sortKey: SortKey\n sortDirection: Sort\n sortType: SortTypes\n}\n\ntype SortKey = keyof Member\n\nconst FilterMembers = FilterList()\n\nclass Members extends PureComponent<\n Props & RouteComponentProps<{orgID: string}>,\n State\n> {\n constructor(props) {\n super(props)\n this.state = {\n searchTerm: '',\n sortKey: 'name',\n sortDirection: Sort.Ascending,\n sortType: SortTypes.String,\n }\n }\n public render() {\n const {searchTerm, sortKey, sortDirection, sortType} = this.state\n\n return (\n <>\n \n }\n />\n \n {ms => (\n \n )}\n \n \n )\n }\n\n private handleClickColumn = (nextSort: Sort, sortKey: SortKey) => {\n const sortType = SortTypes.String\n this.setState({sortKey, sortDirection: nextSort, sortType})\n }\n\n private removeMember = (member: Member) => {\n const {onRemoveMember} = this.props\n onRemoveMember(member)\n }\n\n private handleFilterChange = (searchTerm: string): void => {\n this.setState({searchTerm})\n }\n\n private get emptyState(): JSX.Element {\n const {searchTerm} = this.state\n\n if (isEmpty(searchTerm)) {\n return (\n \n \n Looks like there aren't any Members.\n \n \n )\n }\n\n return (\n \n No Members match your query\n \n )\n }\n}\n\nconst mstp = (state: AppState) => {\n const members = getAll(state, ResourceType.Members)\n return {members}\n}\n\nconst mdtp = {\n onRemoveMember: deleteMember,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(withRouter(Members))\n","import React, {Component} from 'react'\nimport {withRouter, RouteComponentProps} from 'react-router-dom'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport OrgTabbedPage from 'src/organizations/components/OrgTabbedPage'\nimport OrgHeader from 'src/organizations/components/OrgHeader'\nimport {Page} from '@influxdata/clockface'\nimport GetResources from 'src/resources/components/GetResources'\nimport Members from 'src/members/components/Members'\n\n// Utils\nimport {pageTitleSuffixer} from 'src/shared/utils/pageTitles'\nimport {getByID} from 'src/resources/selectors'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\ntype ReduxProps = ConnectedProps\ntype RouterProps = RouteComponentProps<{orgID: string}>\ntype Props = RouterProps & ReduxProps\n\n@ErrorHandling\nclass MembersIndex extends Component {\n constructor(props) {\n super(props)\n }\n\n public render() {\n const {org, children} = this.props\n\n return (\n <>\n \n \n \n \n \n \n \n \n {children}\n \n )\n }\n}\n\nconst mstp = (state: AppState, props: RouterProps) => {\n const org = getByID(\n state,\n ResourceType.Orgs,\n props.match.params.orgID\n )\n\n return {\n org,\n }\n}\n\nconst connector = connect(mstp)\n\nexport default connector(withRouter(MembersIndex))\n","import {FC} from 'react'\nimport {RouteComponentProps} from 'react-router-dom'\n\nconst RouteToDashboardList: FC> = ({\n history,\n match,\n}) => {\n history.push(`/orgs/${match.params.orgID}/dashboards-list`)\n return null\n}\n\nexport default RouteToDashboardList\n","// Libraries\nimport React, {useEffect, useState, FC} from 'react'\nimport {connect, ConnectedProps, useDispatch} from 'react-redux'\nimport {Route, Switch} from 'react-router-dom'\n\n// Components\nimport {MePage} from 'src/me'\nimport TasksPage from 'src/tasks/containers/TasksPage'\nimport TaskPage from 'src/tasks/containers/TaskPage'\nimport TaskRunsPage from 'src/tasks/components/TaskRunsPage'\nimport TaskEditPage from 'src/tasks/containers/TaskEditPage'\nimport DataExplorerPage from 'src/dataExplorer/components/DataExplorerPage'\nimport DashboardsIndex from 'src/dashboards/components/dashboard_index/DashboardsIndex'\nimport DashboardContainer from 'src/dashboards/components/DashboardContainer'\nimport NotebookPage from 'src/notebooks/components/Notebook'\nimport BucketsIndex from 'src/buckets/containers/BucketsIndex'\nimport TokensIndex from 'src/authorizations/containers/TokensIndex'\nimport TelegrafsPage from 'src/telegrafs/containers/TelegrafsPage'\nimport ScrapersIndex from 'src/scrapers/containers/ScrapersIndex'\nimport ClientLibrariesPage from 'src/clientLibraries/containers/ClientLibrariesPage'\nimport VariablesIndex from 'src/variables/containers/VariablesIndex'\nimport TemplatesIndex from 'src/templates/containers/TemplatesIndex'\nimport LabelsIndex from 'src/labels/containers/LabelsIndex'\nimport OrgProfilePage from 'src/organizations/containers/OrgProfilePage'\nimport AlertingIndex from 'src/alerting/components/AlertingIndex'\nimport AlertHistoryIndex from 'src/alerting/components/AlertHistoryIndex'\nimport CheckHistory from 'src/checks/components/CheckHistory'\nimport MembersIndex from 'src/members/containers/MembersIndex'\nimport RouteToDashboardList from 'src/dashboards/components/RouteToDashboardList'\n\n// Types\nimport {AppState, Organization, ResourceType} from 'src/types'\n\n// Constants\nimport {CLOUD} from 'src/shared/constants'\n\n// Actions\nimport {setOrg} from 'src/organizations/actions/creators'\n\n// Utils\nimport {updateReportingContext} from 'src/cloud/utils/reporting'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Decorators\nimport {RouteComponentProps} from 'react-router-dom'\nimport {\n RemoteDataState,\n SpinnerContainer,\n TechnoSpinner,\n} from '@influxdata/clockface'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\ninterface OwnProps {\n children: React.ReactElement\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps & OwnProps & RouteComponentProps<{orgID: string}>\n\nconst SetOrg: FC = ({\n match: {\n params: {orgID},\n },\n orgs,\n history,\n}) => {\n const [loading, setLoading] = useState(RemoteDataState.Loading)\n const dispatch = useDispatch()\n const foundOrg = orgs.find(o => o.id === orgID)\n const firstOrgID = orgs[0]?.id\n\n useEffect(() => {\n // does orgID from url match any orgs that exist\n if (foundOrg) {\n dispatch(setOrg(foundOrg))\n updateReportingContext({orgID: orgID})\n setLoading(RemoteDataState.Done)\n return\n }\n updateReportingContext({orgID: null})\n\n if (!orgs.length) {\n history.push(`/no-orgs`)\n return\n }\n\n // else default to first org\n history.push(`/orgs/${firstOrgID}`)\n }, [orgID, firstOrgID, foundOrg, dispatch, history, orgs.length])\n\n const orgPath = '/orgs/:orgID'\n\n return (\n }>\n \n {/* Alerting */}\n \n \n \n\n {/* Tasks */}\n \n \n \n \n\n {/* Data Explorer */}\n \n\n {/* Dashboards */}\n \n \n \n\n {/* Flows */}\n {isFlagEnabled('notebooks') && (\n \n )}\n\n {/* Load Data */}\n \n \n \n \n \n \n\n {/* Settings */}\n \n \n \n \n\n {/* Members */}\n {!CLOUD && (\n \n )}\n\n {/* About */}\n \n\n {/* Getting Started */}\n \n \n \n )\n}\n\nconst mstp = (state: AppState) => {\n const orgs = getAll(state, ResourceType.Orgs)\n\n return {orgs}\n}\n\nconst connector = connect(mstp)\n\nexport default connector(SetOrg)\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport {RouteComponentProps, withRouter} from 'react-router-dom'\n\nimport {sample, startCase} from 'lodash'\n\n// Components\nimport {Form, Input, Button, Overlay} from '@influxdata/clockface'\n\n// Types\nimport {Bucket, Organization} from 'src/types'\nimport {\n ButtonType,\n ComponentColor,\n ComponentStatus,\n} from '@influxdata/clockface'\n\n// Actions\nimport {createOrgWithBucket} from 'src/organizations/actions/thunks'\n\ninterface OwnProps {}\n\ntype ReduxProps = ConnectedProps\ntype Props = OwnProps & ReduxProps & RouteComponentProps\n\ninterface State {\n org: Organization\n bucket: Bucket\n orgNameInputStatus: ComponentStatus\n bucketNameInputStatus: ComponentStatus\n orgErrorMessage: string\n bucketErrorMessage: string\n}\n\nclass CreateOrgOverlay extends PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n org: {name: ''},\n bucket: {name: '', retentionRules: [], readableRetention: 'forever'},\n orgNameInputStatus: ComponentStatus.Default,\n bucketNameInputStatus: ComponentStatus.Default,\n orgErrorMessage: '',\n bucketErrorMessage: '',\n }\n }\n\n public render() {\n const {\n org,\n orgNameInputStatus,\n orgErrorMessage,\n bucket,\n bucketNameInputStatus,\n bucketErrorMessage,\n } = this.state\n\n return (\n \n \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n )\n }\n\n private get name(): JSX.Element[] {\n const keysIHate = ['_start', '_stop']\n return Object.entries(this.props.groupKey)\n .filter(([k]) => !keysIHate.includes(k))\n .map(([k, v], i) => {\n return (\n \n {k}\n =\n {v}\n \n )\n })\n }\n\n private handleClick = (): void => {\n this.props.onSelect(this.props.name)\n }\n}\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport _ from 'lodash'\nimport classnames from 'classnames'\n\n// Components\nimport {Input, DapperScrollbars} from '@influxdata/clockface'\nimport TableSidebarItem from 'src/shared/components/tables/TableSidebarItem'\n\n// Types\nimport {IconFont} from '@influxdata/clockface'\nimport {FluxTable, Theme} from 'src/types'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n data: FluxTable[]\n selectedTableName: string\n onSelectTable: (name: string) => void\n theme?: Theme\n}\n\ninterface State {\n searchTerm: string\n}\n\n@ErrorHandling\nexport default class TableSidebar extends PureComponent {\n public state = {\n searchTerm: '',\n }\n\n public render() {\n const {selectedTableName, onSelectTable, theme} = this.props\n const {searchTerm} = this.state\n\n const sidebarClassName = classnames('time-machine-sidebar', {\n 'time-machine-sidebar__light': theme === 'light',\n })\n\n return (\n
    \n {!this.isDataEmpty && (\n
    \n \n
    \n )}\n \n
    \n {this.filteredData.map(({groupKey, id, name}) => {\n return (\n \n )\n })}\n
    \n \n
    \n )\n }\n\n private handleSearch = (e: ChangeEvent): void => {\n this.setState({searchTerm: e.target.value})\n }\n\n get filteredData(): FluxTable[] {\n const {data} = this.props\n const {searchTerm} = this.state\n\n return data.filter(d => d.name.includes(searchTerm))\n }\n\n get isDataEmpty(): boolean {\n return _.isEmpty(this.props.data)\n }\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\nimport _ from 'lodash'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport TableGraph from 'src/shared/components/tables/TableGraph'\nimport TableSidebar from 'src/shared/components/tables/TableSidebar'\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Actions\nimport {setFieldOptions as setFieldOptionsAction} from 'src/timeMachine/actions'\n\n// Utils\nimport {getDeep} from 'src/utils/wrappers'\n\n// Types\nimport {TableViewProperties, FluxTable, TimeZone, Theme} from 'src/types'\n\ninterface PassedProps {\n tables: FluxTable[]\n properties: TableViewProperties\n timeZone: TimeZone\n theme: Theme\n}\n\ntype ReduxProps = ConnectedProps\ntype Props = PassedProps & ReduxProps\n\ninterface State {\n selectedTableName: string\n}\n\n@ErrorHandling\nclass TableGraphs extends PureComponent {\n public state = {\n selectedTableName: getDeep(this, 'props.tables[0].name', null),\n }\n\n public render() {\n const {tables, properties, timeZone, theme} = this.props\n\n return (\n
    \n {this.showSidebar && (\n \n )}\n {this.shouldShowTable && (\n \n )}\n {!this.hasData && (\n \n )}\n
    \n )\n }\n\n private get nameOfSelectedTable(): string {\n const {tables} = this.props\n\n const isNameInTables = tables.find(\n t => t.name === this.state.selectedTableName\n )\n\n if (!isNameInTables) {\n return this.defaultTableName\n }\n\n return this.state.selectedTableName\n }\n\n private get defaultTableName() {\n return _.get(this.props.tables, '0.name', null)\n }\n\n private handleSelectTable = (selectedTableName: string): void => {\n this.setState({selectedTableName})\n }\n\n private get showSidebar(): boolean {\n return this.props.tables.length > 1\n }\n\n private get hasData(): boolean {\n const {data} = this.selectedTable\n return !!data && !!data.length\n }\n\n private get shouldShowTable(): boolean {\n return !!this.props.tables && !!this.selectedTable\n }\n\n private get selectedTable(): FluxTable {\n const {tables} = this.props\n return tables.find(t => t.name === this.nameOfSelectedTable)\n }\n}\n\nconst mdtp = {\n setFieldOptions: setFieldOptionsAction,\n}\n\nconst connector = connect(null, mdtp)\n\nexport default connector(TableGraphs)\n","// Libraries\nimport {useMemo} from 'react'\nimport {NumericColumnData} from '@influxdata/giraffe'\nimport {isNull, isNumber} from 'lodash'\n\n// Utils\nimport {useOneWayState} from 'src/shared/utils/useOneWayState'\nimport {extent} from 'src/shared/utils/vis'\nimport {getStartTime, getEndTime} from 'src/timeMachine/selectors/index'\n\n// Types\nimport {TimeRange} from 'src/types'\n/*\n This hook helps map the domain setting stored for line graph to the\n appropriate settings on a @influxdata/giraffe `Config` object.\n\n If the domain setting is present, it should be used. If the domain setting is\n not present, then the min/max values shown should be derived from the data\n passed to the plot.\n*/\nexport const getValidRange = (\n data: NumericColumnData = [],\n timeRange: TimeRange | null\n) => {\n const range = extent(data as number[])\n if (isNull(timeRange)) {\n return range\n }\n if (range && range.length >= 2) {\n const startTime = getStartTime(timeRange)\n const endTime = getEndTime(timeRange)\n const start = Math.min(startTime, range[0])\n const end = Math.max(endTime, range[1])\n return [start, end]\n }\n return range\n}\n\nexport const useVisXDomainSettings = (\n storedDomain: number[],\n data: NumericColumnData,\n timeRange: TimeRange | null = null\n) => {\n const initialDomain = useMemo(() => {\n if (storedDomain) {\n return storedDomain\n }\n\n return getValidRange(data, timeRange)\n }, [storedDomain, data]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const [domain, setDomain] = useOneWayState(initialDomain)\n const resetDomain = () => setDomain(initialDomain)\n\n return [domain, setDomain, resetDomain]\n}\n\nconst isValidStoredDomainValue = (value): boolean => {\n return isNumber(value) && !Number.isNaN(value) && Number.isFinite(value)\n}\n\nexport const getRemainingRange = (\n data: NumericColumnData = [],\n timeRange: TimeRange | null,\n storedDomain: number[]\n) => {\n const range = extent(data as number[])\n if (Array.isArray(range) && range.length >= 2) {\n const startTime = getStartTime(timeRange)\n const endTime = getEndTime(timeRange)\n const start = isValidStoredDomainValue(storedDomain[0])\n ? storedDomain[0]\n : Math.min(startTime, range[0])\n const end = isValidStoredDomainValue(storedDomain[1])\n ? storedDomain[1]\n : Math.max(endTime, range[1])\n return [start, end]\n }\n return range\n}\n\nexport const useVisYDomainSettings = (\n storedDomain: number[],\n data: NumericColumnData,\n timeRange: TimeRange | null = null\n) => {\n const initialDomain = useMemo(() => {\n if (\n !Array.isArray(storedDomain) ||\n storedDomain.every(val => val === null)\n ) {\n return getValidRange(data, timeRange)\n }\n if (storedDomain.includes(null)) {\n return getRemainingRange(data, timeRange, storedDomain)\n }\n return storedDomain\n }, [storedDomain, data]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const [domain, setDomain] = useOneWayState(initialDomain)\n const resetDomain = () => setDomain(initialDomain)\n\n return [domain, setDomain, resetDomain]\n}\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {Config, Table} from '@influxdata/giraffe'\n\n// Components\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {useVisXDomainSettings} from 'src/shared/utils/useVisDomainSettings'\nimport {getFormatter} from 'src/shared/utils/vis'\n\n// Constants\nimport {VIS_THEME, VIS_THEME_LIGHT} from 'src/shared/constants'\nimport {DEFAULT_LINE_COLORS} from 'src/shared/constants/graphColorPalettes'\nimport {INVALID_DATA_COPY} from 'src/shared/copy/cell'\n\n// Types\nimport {HistogramViewProperties, TimeZone, Theme} from 'src/types'\n\ninterface Props {\n table: Table\n viewProperties: HistogramViewProperties\n children: (config: Config) => JSX.Element\n timeZone: TimeZone\n theme?: Theme\n}\n\nconst HistogramPlot: FunctionComponent = ({\n table,\n children,\n timeZone,\n viewProperties: {\n xColumn,\n fillColumns,\n binCount,\n position,\n colors,\n xAxisLabel,\n xDomain: storedXDomain,\n },\n theme,\n}) => {\n const columnKeys = table.columnKeys\n\n const [xDomain, onSetXDomain, onResetXDomain] = useVisXDomainSettings(\n storedXDomain,\n table.getColumn(xColumn, 'number')\n )\n\n const isValidView =\n xColumn &&\n columnKeys.includes(xColumn) &&\n fillColumns.every(col => columnKeys.includes(col))\n\n if (!isValidView) {\n return \n }\n\n const colorHexes =\n colors && colors.length\n ? colors.map(c => c.hex)\n : DEFAULT_LINE_COLORS.map(c => c.hex)\n\n const xFormatter = getFormatter(table.getColumnType(xColumn), {timeZone})\n\n const currentTheme = theme === 'light' ? VIS_THEME_LIGHT : VIS_THEME\n\n const config: Config = {\n ...currentTheme,\n table,\n xAxisLabel,\n xDomain,\n onSetXDomain,\n onResetXDomain,\n valueFormatters: {[xColumn]: xFormatter},\n layers: [\n {\n type: 'histogram',\n x: xColumn,\n colors: colorHexes,\n fill: fillColumns,\n binCount,\n position,\n },\n ],\n }\n\n return children(config)\n}\n\nexport default HistogramPlot\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {Config, Table} from '@influxdata/giraffe'\n\n// Components\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {\n useVisXDomainSettings,\n useVisYDomainSettings,\n} from 'src/shared/utils/useVisDomainSettings'\nimport {getFormatter} from 'src/shared/utils/vis'\n\n// Constants\nimport {VIS_THEME, VIS_THEME_LIGHT} from 'src/shared/constants'\nimport {DEFAULT_LINE_COLORS} from 'src/shared/constants/graphColorPalettes'\nimport {INVALID_DATA_COPY} from 'src/shared/copy/cell'\n\n// Types\nimport {HeatmapViewProperties, TimeZone, TimeRange, Theme} from 'src/types'\n\ninterface Props {\n timeRange: TimeRange | null\n table: Table\n timeZone: TimeZone\n viewProperties: HeatmapViewProperties\n children: (config: Config) => JSX.Element\n theme?: Theme\n}\n\nconst HeatmapPlot: FunctionComponent = ({\n timeRange,\n table,\n timeZone,\n viewProperties: {\n xColumn,\n yColumn,\n xDomain: storedXDomain,\n yDomain: storedYDomain,\n xAxisLabel,\n yAxisLabel,\n xPrefix,\n xSuffix,\n yPrefix,\n ySuffix,\n colors: storedColors,\n binSize,\n timeFormat,\n },\n children,\n theme,\n}) => {\n const columnKeys = table.columnKeys\n\n const [xDomain, onSetXDomain, onResetXDomain] = useVisXDomainSettings(\n storedXDomain,\n table.getColumn(xColumn, 'number'),\n timeRange\n )\n\n const [yDomain, onSetYDomain, onResetYDomain] = useVisYDomainSettings(\n storedYDomain,\n table.getColumn(yColumn, 'number')\n )\n\n const isValidView =\n xColumn &&\n yColumn &&\n columnKeys.includes(yColumn) &&\n columnKeys.includes(xColumn)\n\n if (!isValidView) {\n return \n }\n\n const colors: string[] =\n storedColors && storedColors.length\n ? storedColors\n : DEFAULT_LINE_COLORS.map(c => c.hex)\n\n const xFormatter = getFormatter(table.getColumnType(xColumn), {\n prefix: xPrefix,\n suffix: xSuffix,\n timeZone,\n timeFormat,\n })\n\n const yFormatter = getFormatter(table.getColumnType(yColumn), {\n prefix: yPrefix,\n suffix: ySuffix,\n timeZone,\n timeFormat,\n })\n\n const currentTheme = theme === 'light' ? VIS_THEME_LIGHT : VIS_THEME\n\n const config: Config = {\n ...currentTheme,\n table,\n xAxisLabel,\n yAxisLabel,\n xDomain,\n onSetXDomain,\n onResetXDomain,\n yDomain,\n onSetYDomain,\n onResetYDomain,\n valueFormatters: {\n [xColumn]: xFormatter,\n [yColumn]: yFormatter,\n },\n layers: [\n {\n type: 'heatmap',\n x: xColumn,\n y: yColumn,\n colors,\n binSize,\n },\n ],\n }\n\n return children(config)\n}\n\nexport default HeatmapPlot\n","// Libraries\nimport React, {FC, useMemo} from 'react'\nimport {\n Config,\n Table,\n DomainLabel,\n lineTransform,\n getDomainDataFromLines,\n} from '@influxdata/giraffe'\n\n// Components\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {\n useVisXDomainSettings,\n useVisYDomainSettings,\n} from 'src/shared/utils/useVisDomainSettings'\nimport {\n getFormatter,\n geomToInterpolation,\n filterNoisyColumns,\n parseXBounds,\n parseYBounds,\n defaultXColumn,\n defaultYColumn,\n} from 'src/shared/utils/vis'\n\n// Constants\nimport {VIS_THEME, VIS_THEME_LIGHT} from 'src/shared/constants'\nimport {DEFAULT_LINE_COLORS} from 'src/shared/constants/graphColorPalettes'\nimport {INVALID_DATA_COPY} from 'src/shared/copy/cell'\n\n// Types\nimport {XYViewProperties, TimeZone, TimeRange, Theme} from 'src/types'\n\ninterface Props {\n children: (config: Config) => JSX.Element\n fluxGroupKeyUnion: string[]\n timeRange?: TimeRange | null\n table: Table\n timeZone: TimeZone\n viewProperties: XYViewProperties\n theme: Theme\n}\n\nconst XYPlot: FC = ({\n children,\n fluxGroupKeyUnion,\n timeRange,\n table,\n timeZone,\n viewProperties: {\n geom,\n colors,\n xColumn: storedXColumn,\n yColumn: storedYColumn,\n shadeBelow,\n hoverDimension,\n axes: {\n x: {\n label: xAxisLabel,\n prefix: xTickPrefix,\n suffix: xTickSuffix,\n base: xTickBase,\n bounds: xBounds,\n },\n y: {\n label: yAxisLabel,\n prefix: yTickPrefix,\n suffix: yTickSuffix,\n bounds: yBounds,\n base: yTickBase,\n },\n },\n position,\n timeFormat,\n },\n theme,\n}) => {\n const storedXDomain = useMemo(() => parseXBounds(xBounds), [xBounds])\n const storedYDomain = useMemo(() => parseYBounds(yBounds), [yBounds])\n const xColumn = storedXColumn || defaultXColumn(table, '_time')\n const yColumn =\n (table.columnKeys.includes(storedYColumn) && storedYColumn) ||\n defaultYColumn(table)\n\n const columnKeys = table.columnKeys\n\n const isValidView =\n xColumn &&\n columnKeys.includes(xColumn) &&\n yColumn &&\n columnKeys.includes(yColumn)\n\n const colorHexes =\n colors && colors.length\n ? colors.map(c => c.hex)\n : DEFAULT_LINE_COLORS.map(c => c.hex)\n\n const interpolation = geomToInterpolation(geom)\n\n const groupKey = [...fluxGroupKeyUnion, 'result']\n\n const [xDomain, onSetXDomain, onResetXDomain] = useVisXDomainSettings(\n storedXDomain,\n table.getColumn(xColumn, 'number'),\n timeRange\n )\n\n const memoizedYColumnData = useMemo(() => {\n if (position === 'stacked') {\n const {lineData} = lineTransform(\n table,\n xColumn,\n yColumn,\n groupKey,\n colorHexes,\n position\n )\n return getDomainDataFromLines(lineData, DomainLabel.Y)\n }\n return table.getColumn(yColumn, 'number')\n }, [table, yColumn, xColumn, position, colorHexes, groupKey])\n\n const [yDomain, onSetYDomain, onResetYDomain] = useVisYDomainSettings(\n storedYDomain,\n memoizedYColumnData\n )\n\n const legendColumns = filterNoisyColumns(\n [...groupKey, xColumn, yColumn],\n table\n )\n\n const xFormatter = getFormatter(table.getColumnType(xColumn), {\n prefix: xTickPrefix,\n suffix: xTickSuffix,\n base: xTickBase,\n timeZone,\n timeFormat,\n })\n\n const yFormatter = getFormatter(table.getColumnType(yColumn), {\n prefix: yTickPrefix,\n suffix: yTickSuffix,\n base: yTickBase,\n timeZone,\n timeFormat,\n })\n\n const currentTheme = theme === 'light' ? VIS_THEME_LIGHT : VIS_THEME\n\n const config: Config = {\n ...currentTheme,\n table,\n xAxisLabel,\n yAxisLabel,\n xDomain,\n onSetXDomain,\n onResetXDomain,\n yDomain,\n onSetYDomain,\n onResetYDomain,\n legendColumns,\n valueFormatters: {\n [xColumn]: xFormatter,\n [yColumn]: yFormatter,\n },\n layers: [\n {\n type: 'line',\n x: xColumn,\n y: yColumn,\n fill: groupKey,\n interpolation,\n position,\n colors: colorHexes,\n shadeBelow: !!shadeBelow,\n shadeBelowOpacity: 0.08,\n hoverDimension,\n },\n ],\n }\n\n if (!isValidView) {\n return \n }\n\n return children(config)\n}\n\nexport default XYPlot\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {Config, Table} from '@influxdata/giraffe'\n\n// Components\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {\n useVisXDomainSettings,\n useVisYDomainSettings,\n} from 'src/shared/utils/useVisDomainSettings'\nimport {\n getFormatter,\n defaultXColumn,\n defaultYColumn,\n} from 'src/shared/utils/vis'\n\n// Constants\nimport {VIS_THEME, VIS_THEME_LIGHT} from 'src/shared/constants'\nimport {DEFAULT_LINE_COLORS} from 'src/shared/constants/graphColorPalettes'\nimport {INVALID_DATA_COPY} from 'src/shared/copy/cell'\n\n// Types\nimport {ScatterViewProperties, TimeZone, TimeRange, Theme} from 'src/types'\n\ninterface Props {\n children: (config: Config) => JSX.Element\n fluxGroupKeyUnion?: string[]\n timeRange: TimeRange | null\n table: Table\n timeZone: TimeZone\n viewProperties: ScatterViewProperties\n theme?: Theme\n}\n\nconst ScatterPlot: FunctionComponent = ({\n children,\n timeRange,\n timeZone,\n table,\n viewProperties: {\n xAxisLabel,\n yAxisLabel,\n xPrefix,\n xSuffix,\n yPrefix,\n ySuffix,\n fillColumns: storedFill,\n symbolColumns: storedSymbol,\n colors,\n xDomain: storedXDomain,\n yDomain: storedYDomain,\n xColumn: storedXColumn,\n yColumn: storedYColumn,\n timeFormat,\n },\n theme,\n}) => {\n const fillColumns = storedFill || []\n const symbolColumns = storedSymbol || []\n\n const xColumn = storedXColumn || defaultXColumn(table)\n const yColumn = storedYColumn || defaultYColumn(table)\n\n const columnKeys = table.columnKeys\n\n const [xDomain, onSetXDomain, onResetXDomain] = useVisXDomainSettings(\n storedXDomain,\n table.getColumn(xColumn, 'number'),\n timeRange\n )\n\n const [yDomain, onSetYDomain, onResetYDomain] = useVisYDomainSettings(\n storedYDomain,\n table.getColumn(yColumn, 'number')\n )\n\n const isValidView =\n xColumn &&\n columnKeys.includes(xColumn) &&\n yColumn &&\n columnKeys.includes(yColumn) &&\n fillColumns.every(col => columnKeys.includes(col)) &&\n symbolColumns.every(col => columnKeys.includes(col))\n\n if (!isValidView) {\n return \n }\n\n const colorHexes =\n colors && colors.length ? colors : DEFAULT_LINE_COLORS.map(c => c.hex)\n\n const xFormatter = getFormatter(table.getColumnType(xColumn), {\n prefix: xPrefix,\n suffix: xSuffix,\n timeZone,\n timeFormat,\n })\n\n const yFormatter = getFormatter(table.getColumnType(yColumn), {\n prefix: yPrefix,\n suffix: ySuffix,\n timeZone,\n timeFormat,\n })\n\n const currentTheme = theme === 'light' ? VIS_THEME_LIGHT : VIS_THEME\n\n const config: Config = {\n ...currentTheme,\n table,\n xAxisLabel,\n yAxisLabel,\n xDomain,\n onSetXDomain,\n onResetXDomain,\n yDomain,\n onSetYDomain,\n onResetYDomain,\n valueFormatters: {\n [xColumn]: xFormatter,\n [yColumn]: yFormatter,\n },\n layers: [\n {\n type: 'scatter',\n x: xColumn,\n y: yColumn,\n colors: colorHexes,\n fill: fillColumns,\n symbol: symbolColumns,\n },\n ],\n }\n return children(config)\n}\n\nexport default ScatterPlot\n","import {range, flatMap, isFinite, isString} from 'lodash'\nimport {Table, NumericColumnData} from '@influxdata/giraffe'\n\n/*\n Return a list of the maximum elements in `xs`, where the magnitude of each\n element is computed using the passed function `d`.\n*/\nconst maxesBy = (xs: X[], d: (x: X) => number): X[] => {\n let maxes = []\n let maxDist = -Infinity\n\n for (const x of xs) {\n const dist = d(x)\n\n if (dist > maxDist) {\n maxes = [x]\n maxDist = dist\n } else if (dist === maxDist && dist !== -Infinity) {\n maxes.push(x)\n }\n }\n\n return maxes\n}\n\nconst EXCLUDED_COLUMNS = new Set([\n '_start',\n '_stop',\n '_time',\n 'table',\n 'result',\n '',\n])\n\n/*\n Determine if the values in a column should be considered in `latestValues`.\n*/\nconst isValueCol = (table: Table, colKey: string): boolean => {\n const columnType = table.getColumnType(colKey)\n const columnName = table.getColumnName(colKey)\n\n return (\n (columnType === 'number' ||\n columnType === 'time' ||\n columnType === 'string') &&\n !EXCLUDED_COLUMNS.has(columnName)\n )\n}\n\n/*\n We sort the column keys that we pluck latest values from, so that:\n\n - Columns named `_value` have precedence\n - The returned latest values are in a somewhat stable order\n*/\nconst sortTableKeys = (keyA: string, keyB: string): number => {\n if (keyA.includes('_value')) {\n return -1\n } else if (keyB.includes('_value')) {\n return 1\n } else {\n return keyA.localeCompare(keyB)\n }\n}\n\n/*\n Return a list of the most recent numeric values present in a `Table`.\n\n This utility searches any numeric column to find values, and uses the `_time`\n column as their associated timestamp.\n\n If the table only has one row, then a time column is not needed.\n*/\nexport const latestValues = (table: Table): number[] => {\n const valueColsData = table.columnKeys\n .sort((a, b) => sortTableKeys(a, b))\n .filter(k => isValueCol(table, k))\n .map(k => table.getColumn(k)) as number[][]\n\n if (!valueColsData.length) {\n return []\n }\n\n const columnKeys = table.columnKeys\n\n // Fallback to `_stop` column if `_time` column missing otherwise return empty array.\n let timeColData: NumericColumnData = []\n\n if (columnKeys.includes('_time')) {\n timeColData = table.getColumn('_time', 'number')\n } else if (columnKeys.includes('_stop')) {\n timeColData = table.getColumn('_stop', 'number')\n }\n\n if (!timeColData && table.length !== 1) {\n return []\n }\n\n const d = (i: number) => {\n const time = timeColData[i]\n\n if (\n time &&\n valueColsData.some(colData => {\n return isFinite(colData[i]) || isString(colData[i])\n })\n ) {\n return time\n }\n\n return -Infinity\n }\n\n const latestRowIndices =\n table.length === 1 ? [0] : maxesBy(range(table.length), d)\n\n const latestValues = flatMap(latestRowIndices, i =>\n valueColsData.map(colData => colData[i])\n )\n\n const definedLatestValues = latestValues.filter(\n x => isFinite(x) || isString(x)\n )\n\n return definedLatestValues\n}\n","// Libraries\nimport React, {useMemo, FunctionComponent} from 'react'\nimport {Table} from '@influxdata/giraffe'\nimport {isString} from 'lodash'\n\n// Components\nimport EmptyGraphMessage from 'src/shared/components/EmptyGraphMessage'\n\n// Utils\nimport {latestValues as getLatestValues} from 'src/shared/utils/latestValues'\n\ninterface Props {\n table: Table\n children: (latestValue: number) => JSX.Element\n allowString: boolean\n // If `quiet` is set and a latest value can't be found, this component will\n // display nothing instead of an empty graph error message\n quiet?: boolean\n}\n\nconst LatestValueTransform: FunctionComponent = ({\n table,\n quiet = false,\n children,\n allowString,\n}) => {\n const latestValues = useMemo(() => getLatestValues(table), [table])\n\n if (latestValues.length === 0 && quiet) {\n return null\n }\n\n if (latestValues.length === 0) {\n return \n }\n\n const latestValue = latestValues[0]\n\n if (isString(latestValue) && !allowString && quiet) {\n return null\n }\n\n if (isString(latestValue) && !allowString) {\n return (\n \n )\n }\n\n return children(latestValue)\n}\n\nexport default LatestValueTransform\n","// Libraries\nimport React, {FunctionComponent} from 'react'\nimport {Plot, FromFluxResult} from '@influxdata/giraffe'\n\n// Components\nimport GaugeChart from 'src/shared/components/GaugeChart'\nimport SingleStat from 'src/shared/components/SingleStat'\nimport TableGraphs from 'src/shared/components/tables/TableGraphs'\nimport HistogramPlot from 'src/shared/components/HistogramPlot'\nimport HeatmapPlot from 'src/shared/components/HeatmapPlot'\nimport FluxTablesTransform from 'src/shared/components/FluxTablesTransform'\nimport XYPlot from 'src/shared/components/XYPlot'\nimport ScatterPlot from 'src/shared/components/ScatterPlot'\nimport LatestValueTransform from 'src/shared/components/LatestValueTransform'\nimport CheckPlot from 'src/shared/components/CheckPlot'\n\n// Types\nimport {\n CheckViewProperties,\n QueryViewProperties,\n SingleStatViewProperties,\n StatusRow,\n TimeZone,\n XYViewProperties,\n TimeRange,\n CheckType,\n Threshold,\n Theme,\n} from 'src/types'\n\ninterface Props {\n giraffeResult: FromFluxResult\n files?: string[]\n properties: QueryViewProperties | CheckViewProperties\n timeZone: TimeZone\n statuses?: StatusRow[][]\n timeRange?: TimeRange | null\n checkType?: CheckType\n checkThresholds?: Threshold[]\n theme: Theme\n}\n\nconst ViewSwitcher: FunctionComponent = ({\n properties,\n timeRange,\n files,\n giraffeResult: {table, fluxGroupKeyUnion},\n timeZone,\n statuses,\n checkType = null,\n checkThresholds = [],\n theme,\n}) => {\n switch (properties.type) {\n case 'single-stat':\n return (\n \n {latestValue => (\n \n )}\n \n )\n\n case 'table':\n return (\n \n {tables => (\n \n )}\n \n )\n\n case 'gauge':\n return (\n \n {latestValue => (\n \n )}\n \n )\n case 'xy':\n return (\n \n {config => }\n \n )\n\n case 'line-plus-single-stat':\n const xyProperties = {\n ...properties,\n colors: properties.colors.filter(c => c.type === 'scale'),\n type: 'xy' as 'xy',\n geom: 'line' as 'line',\n } as XYViewProperties\n\n const singleStatProperties = {\n ...properties,\n tickPrefix: '',\n tickSuffix: '',\n colors: properties.colors.filter(c => c.type !== 'scale'),\n type: 'single-stat',\n } as SingleStatViewProperties\n\n return (\n \n {config => (\n \n \n {latestValue => (\n \n )}\n \n \n )}\n \n )\n\n case 'histogram':\n return (\n \n {config => }\n \n )\n\n case 'heatmap':\n return (\n \n {config => }\n \n )\n\n case 'scatter':\n return (\n \n {config => }\n \n )\n\n case 'check':\n return (\n \n {config => }\n \n )\n\n default:\n throw new Error('Unknown view type in ')\n }\n}\n\nexport default ViewSwitcher\n","// Libraries\nimport {isString, isNull, isObject} from 'lodash'\n\n// Utils\nimport {validateAndTypeRange} from 'src/dashboards/utils/time'\n\n// Types\nimport {RangeState} from 'src/dashboards/reducers/ranges'\n\nconst isCorrectType = (bound: any) => isString(bound) || isNull(bound)\n\nexport const getLocalStateRangesAsArray = (ranges: any[]): RangeState => {\n const normalizedRanges = ranges.filter(r => {\n if (!isObject(r)) {\n return false\n }\n\n // check for presence of keys\n if (\n !r.hasOwnProperty('dashboardID') ||\n !r.hasOwnProperty('lower') ||\n !r.hasOwnProperty('upper')\n ) {\n return false\n }\n\n const {dashboardID, lower, upper} = r\n\n if (!dashboardID || typeof dashboardID !== 'string') {\n return false\n }\n\n if (!lower && !upper) {\n return false\n }\n\n if (!isCorrectType(lower) || !isCorrectType(upper)) {\n return false\n }\n\n return true\n })\n\n const rangesObject: RangeState = {}\n\n normalizedRanges.forEach(\n (range: {dashboardID: string; lower: string; upper: string}) => {\n const {dashboardID, lower, upper} = range\n\n const timeRange = validateAndTypeRange({lower, upper})\n if (timeRange) {\n rangesObject[dashboardID] = timeRange\n }\n }\n )\n return rangesObject\n}\n\nconst normalizeRangesState = (ranges: RangeState): RangeState => {\n const normalized = {}\n\n for (const key in ranges) {\n if (\n isObject(ranges[key]) &&\n ranges[key].hasOwnProperty('upper') &&\n ranges[key].hasOwnProperty('lower') &&\n isCorrectType(ranges[key].lower) &&\n isCorrectType(ranges[key].upper)\n ) {\n const typedRange = validateAndTypeRange(ranges[key])\n if (typedRange) {\n normalized[key] = typedRange\n }\n }\n }\n\n return normalized\n}\n\nexport const getLocalStateRanges = (ranges: RangeState | any[]) => {\n if (Array.isArray(ranges)) {\n return getLocalStateRangesAsArray(ranges)\n } else if (isObject(ranges)) {\n return normalizeRangesState(ranges)\n } else {\n return {}\n }\n}\n\nexport const setLocalStateRanges = (ranges: RangeState) => {\n return normalizeRangesState(ranges)\n}\n","// Types\nimport {LocalStorage} from 'src/types'\n\n// Constants\nimport {timeZones} from 'src/types/timeZones'\n\ntype AppPersisted = LocalStorage['app']['persisted']\n\nexport const normalizeApp = (app: LocalStorage['app']) => {\n return {...app, persisted: normalizeAppPersisted(app.persisted)}\n}\n\nexport const normalizeAppPersisted = (\n persisted: AppPersisted\n): AppPersisted => {\n return {...persisted, timeZone: normalizeTimeZone(persisted.timeZone)}\n}\n\nconst normalizeTimeZone = timeZone => {\n const validTimeZone = timeZones.find(tz => tz === timeZone)\n if (!validTimeZone) {\n return 'Local'\n }\n\n return timeZone\n}\n","// Types\nimport {RemoteDataState, LocalStorage} from 'src/types'\n\nexport const normalizeResources = (state: LocalStorage) => {\n return {\n variables: state.resources.variables,\n orgs: normalizeOrgs(state.resources.orgs),\n }\n}\n\nconst normalizeOrgs = (orgs: LocalStorage['resources']['orgs']) => {\n return {\n ...orgs,\n org: orgs.org,\n status: RemoteDataState.NotStarted,\n }\n}\n","import {\n normalizeGetLocalStorage,\n normalizeSetLocalStorage,\n} from 'src/normalizers/localStorage'\nimport {VERSION} from 'src/shared/constants'\nimport {\n newVersion,\n loadLocalSettingsFailed,\n} from 'src/shared/copy/notifications'\n\nimport {LocalStorage} from 'src/types/localStorage'\n\nexport const loadLocalStorage = (): LocalStorage => {\n try {\n const serializedState = localStorage.getItem('state')\n const state = JSON.parse(serializedState) || {}\n\n if (state.VERSION && state.VERSION !== VERSION) {\n const version = VERSION ? ` (${VERSION})` : ''\n\n console.log(newVersion(version).message) // eslint-disable-line no-console\n }\n\n delete state.VERSION\n\n return normalizeGetLocalStorage(state)\n } catch (error) {\n console.error(loadLocalSettingsFailed(error).message)\n }\n}\n\nexport const setToLocalStorage = (prop: string, value: any): void => {\n try {\n window.localStorage.setItem(prop, value)\n } catch (error) {\n console.error('unable to setItem onto localStorage: ', error)\n }\n}\n\nexport const getFromLocalStorage = (prop: string): any => {\n try {\n return window.localStorage.getItem(prop)\n } catch (error) {\n console.error('unable to getItem onto localStorage: ', error)\n }\n}\n\nexport const removeFromLocalStorage = (prop: string): void => {\n try {\n return window.localStorage.removeItem(prop)\n } catch (error) {\n console.error('unable to getItem onto localStorage: ', error)\n }\n}\n\nconst isValidJSONString = errorString => {\n try {\n JSON.parse(errorString)\n } catch (e) {\n return false\n }\n return true\n}\n\nexport const saveToLocalStorage = (state: LocalStorage): void => {\n try {\n window.localStorage.setItem(\n 'state',\n JSON.stringify(normalizeSetLocalStorage(state))\n )\n } catch (error) {\n const errorMessage = isValidJSONString(error) ? JSON.parse(error) : error\n console.error('Unable to save state to local storage: ', errorMessage)\n }\n}\n","// Libraries\nimport {get} from 'lodash'\n\n// Types\nimport {LocalStorage} from 'src/types'\nimport {FlagState} from 'src/shared/reducers/flags'\n\n// Constants\nimport {VERSION} from 'src/shared/constants'\n\n// Utils\nimport {\n getLocalStateRanges,\n setLocalStateRanges,\n normalizeApp,\n} from 'src/normalizers/localStorage'\nimport {normalizeResources} from './resources'\n\nexport const normalizeGetLocalStorage = (state: LocalStorage): LocalStorage => {\n let newState = state\n\n if (state.ranges) {\n newState = {...newState, ranges: getLocalStateRanges(state.ranges)}\n }\n\n const appPersisted = get(newState, 'app.persisted', false)\n if (appPersisted) {\n newState = {\n ...newState,\n app: normalizeApp(newState.app),\n }\n }\n\n return newState\n}\n\nexport const normalizeSetLocalStorage = (state: LocalStorage): LocalStorage => {\n const {app, flags, ranges, autoRefresh, userSettings} = state\n return {\n VERSION,\n autoRefresh,\n userSettings,\n flags: {override: flags.override} as FlagState,\n app: normalizeApp(app),\n ranges: setLocalStateRanges(ranges),\n resources: normalizeResources(state),\n }\n}\n","import {ViewType} from 'src/types'\n\ninterface VisType {\n type: ViewType\n name: string\n}\n\nexport const VIS_TYPES: VisType[] = [\n {\n type: 'xy',\n name: 'Graph',\n },\n {\n type: 'line-plus-single-stat',\n name: 'Graph + Single Stat',\n },\n {\n type: 'heatmap',\n name: 'Heatmap',\n },\n {\n type: 'histogram',\n name: 'Histogram',\n },\n {\n type: 'single-stat',\n name: 'Single Stat',\n },\n {\n type: 'gauge',\n name: 'Gauge',\n },\n {\n type: 'table',\n name: 'Table',\n },\n {\n type: 'scatter',\n name: 'Scatter',\n },\n]\n","import React from 'react'\n\nimport {ViewType} from 'src/types'\nimport {VIS_TYPES} from './index'\n\nconst GRAPHIC_SVGS = {\n heatmap: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n histogram: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n xy: (\n
    \n \n \n \n \n \n \n \n \n
    \n ),\n 'single-stat': (\n
    \n \n \n \n \n \n \n \n \n
    \n ),\n 'line-plus-single-stat': (\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n gauge: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n table: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n scatter: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n mosaic: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n map: (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ),\n}\n\ninterface VisGraphic {\n type: ViewType\n name: string\n graphic: JSX.Element\n}\n\nexport const VIS_GRAPHICS: VisGraphic[] = VIS_TYPES.map(\n ({type, name}): VisGraphic => {\n return {\n type,\n name,\n graphic: GRAPHIC_SVGS[type],\n }\n }\n)\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {setType} from 'src/timeMachine/actions'\n\n// Components\nimport {Dropdown, DropdownMenuTheme} from '@influxdata/clockface'\n\n// Utils\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\n// Constants\nimport {VIS_GRAPHICS} from 'src/timeMachine/constants/visGraphics'\n\n// Types\nimport {AppState, ViewType} from 'src/types'\nimport {ComponentStatus} from 'src/clockface'\n\ntype ReduxProps = ConnectedProps\ntype Props = ReduxProps\n\nclass ViewTypeDropdown extends PureComponent {\n public render() {\n return (\n (\n \n {this.getVewTypeGraphic(this.selectedView)}\n \n )}\n menu={onCollapse => (\n \n {this.dropdownItems}\n \n )}\n />\n )\n }\n\n private handleChange = (viewType: ViewType): void => {\n const {onUpdateType} = this.props\n\n onUpdateType(viewType)\n }\n\n private get dropdownItems(): JSX.Element[] {\n return VIS_GRAPHICS.map(g => (\n \n {this.getVewTypeGraphic(g.type)}\n \n ))\n }\n\n private get dropdownStatus(): ComponentStatus {\n const {viewType} = this.props\n\n if (viewType === 'check') {\n return ComponentStatus.Disabled\n }\n return ComponentStatus.Valid\n }\n\n private get selectedView(): ViewType {\n const {viewType} = this.props\n\n if (viewType === 'check') {\n return 'xy'\n }\n\n return viewType\n }\n\n private getVewTypeGraphic = (viewType: ViewType): JSX.Element => {\n const {graphic, name} = VIS_GRAPHICS.find(\n graphic => graphic.type === viewType\n )\n\n return (\n <>\n
    {graphic}
    \n
    {name}
    \n \n )\n }\n}\n\nexport {ViewTypeDropdown}\n\nconst mstp = (state: AppState) => {\n const {view} = getActiveTimeMachine(state)\n\n return {viewType: view.properties.type}\n}\n\nconst mdtp = {\n onUpdateType: setType,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(ViewTypeDropdown)\n","export const resolveSelectedKey = (\n values: string[],\n prevSelection?: string,\n defaultSelection?: string\n): string => {\n if (values.includes(prevSelection)) {\n return prevSelection\n }\n\n if (values.includes(defaultSelection)) {\n return defaultSelection\n }\n\n return values[0]\n}\n\nexport const resolveSelectedValue = (\n values: string[],\n selectedKey: string,\n defaultSelection?: string\n): string => {\n if (values && Array.isArray(values)) {\n if (values.includes(selectedKey)) {\n return selectedKey\n }\n\n if (values.includes(defaultSelection)) {\n return defaultSelection\n }\n\n return values[0]\n }\n if (selectedKey in values) {\n return values[selectedKey]\n }\n\n if (defaultSelection in values) {\n return values[defaultSelection]\n }\n // return get first value\n const first = Object.keys(values)[0]\n return values[first]\n}\n","// APIs\nimport {runQuery} from 'src/shared/apis/query'\n\n// Utils\nimport {resolveSelectedKey} from 'src/variables/utils/resolveSelectedValue'\nimport {formatVarsOption} from 'src/variables/utils/formatVarsOption'\nimport {parseResponse} from 'src/shared/parsing/flux/response'\nimport {buildVarsOption} from 'src/variables/utils/buildVarsOption'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {VariableAssignment, VariableValues, FluxColumnType} from 'src/types'\nimport {CancelBox} from 'src/types/promises'\n\nconst cacheKey = (\n url: string,\n orgID: string,\n query: string,\n variables: VariableAssignment[]\n): string => {\n return `${query}\\n\\n${formatVarsOption(variables)}\\n\\n${orgID}\\n\\n${url}`\n}\n\n/*\n Given the CSV response for a Flux query, get the set of values from the first\n `_value` column in the response, as well as the column type of these values\n and a choice of selected value.\n\n The selected value must exist in the returned values for the response. We\n will first try to use the `prevSelection`, then the `defaultSelection`,\n before finally falling back to the first value returned in the response.\n*/\nexport const extractValues = (\n csv: string,\n prevSelection?: string,\n defaultSelection?: string\n): VariableValues => {\n const [table] = parseResponse(csv)\n\n if (!table || !table.data.length) {\n return {\n values: [],\n valueType: 'string',\n selected: [],\n }\n }\n\n const [headerRow] = table.data\n const valueColIndex = headerRow.indexOf('_value')\n\n if (valueColIndex === -1) {\n throw new Error(\"variable response does not contain a '_value' column\")\n }\n\n let values = table.data.slice(1).map(row => row[valueColIndex])\n\n values = [...new Set(values)]\n values.sort()\n\n return {\n values,\n valueType: table.dataTypes._value as FluxColumnType,\n selected: [resolveSelectedKey(values, prevSelection, defaultSelection)],\n }\n}\n\nexport interface ValueFetcher {\n fetch: (\n url: string,\n orgID: string,\n query: string,\n variables: VariableAssignment[],\n prevSelection: string,\n defaultSelection: string,\n skipCache: boolean,\n controller?: AbortController\n ) => CancelBox\n}\n\nexport class DefaultValueFetcher implements ValueFetcher {\n private cache: {[cacheKey: string]: VariableValues} = {}\n\n public fetch(\n url,\n orgID,\n query,\n variables,\n prevSelection,\n defaultSelection,\n skipCache,\n abortController\n ) {\n const key = cacheKey(url, orgID, query, variables)\n if (!skipCache) {\n const cachedValues = this.cachedValues(\n key,\n prevSelection,\n defaultSelection\n )\n\n if (cachedValues) {\n return {promise: Promise.resolve(cachedValues), cancel: () => {}}\n }\n }\n\n const extern = buildVarsOption(variables)\n const request = runQuery(orgID, query, extern, abortController)\n event('runQuery', {context: 'variables'})\n\n const promise = request.promise.then(result => {\n if (result.type !== 'SUCCESS') {\n return Promise.reject(result.message)\n }\n\n const values = extractValues(result.csv, prevSelection, defaultSelection)\n\n this.cache[key] = values\n\n return values\n })\n\n return {\n promise,\n cancel: request.cancel,\n }\n }\n\n private cachedValues(\n key: string,\n prevSelection: string,\n defaultSelection: string\n ): VariableValues {\n const cachedValues = this.cache[key]\n\n if (!cachedValues) {\n return null\n }\n\n return {\n ...cachedValues,\n selected: [\n resolveSelectedKey(\n cachedValues.values as string[],\n prevSelection,\n defaultSelection\n ),\n ],\n }\n }\n}\n\nexport const valueFetcher = new DefaultValueFetcher()\n","// Utils\nimport {valueFetcher, ValueFetcher} from 'src/variables/utils/ValueFetcher'\nimport Deferred from 'src/utils/Deferred'\nimport {asAssignment} from 'src/variables/selectors'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Constants\nimport {OPTION_NAME, BOUNDARY_GROUP} from 'src/variables/constants/index'\n\n// Types\nimport {\n RemoteDataState,\n Variable,\n VariableValues,\n ValueSelections,\n} from 'src/types'\nimport {CancelBox, CancellationError} from 'src/types/promises'\n\nexport interface VariableNode {\n variable: Variable\n values: VariableValues\n parents: VariableNode[]\n children: VariableNode[]\n status: RemoteDataState\n cancel: () => void\n}\n\ninterface HydrateVarsOptions {\n url: string\n orgID: string\n selections?: ValueSelections\n fetcher?: ValueFetcher\n skipCache?: boolean\n controller?: AbortController\n}\n\nexport interface EventedCancelBox extends CancelBox {\n on?: any\n}\n\nexport const createVariableGraph = (\n allVariables: Variable[]\n): VariableNode[] => {\n const nodesByID: {[variableID: string]: VariableNode} = allVariables.reduce(\n (prev, curr) => {\n let status = RemoteDataState.Done\n if (curr.arguments.type === 'query') {\n status = RemoteDataState.NotStarted\n }\n prev[curr.id] = {\n variable: curr,\n values: null,\n parents: [],\n children: [],\n status,\n cancel: () => {},\n }\n return prev\n },\n {}\n )\n\n // Then initialize all the edges (the `parents` and `children` references)\n Object.keys(nodesByID)\n .filter(k => nodesByID[k].variable.arguments.type === 'query')\n .forEach(k => {\n getVarChildren(nodesByID[k].variable, allVariables)\n .map(child => child.id)\n .forEach(c => {\n nodesByID[k].children.push(nodesByID[c])\n nodesByID[c].parents.push(nodesByID[k])\n })\n })\n\n return Object.values(nodesByID)\n}\n\nexport const isInQuery = (query: string, v: Variable): boolean => {\n const regexp = new RegExp(\n `${BOUNDARY_GROUP}${OPTION_NAME}.${v.name}${BOUNDARY_GROUP}`\n )\n\n return regexp.test(query)\n}\n\nconst getVarChildren = (\n {\n arguments: {\n values: {query},\n },\n }: Variable,\n allVariables: Variable[]\n) => allVariables.filter(maybeChild => isInQuery(query, maybeChild))\n\n/*\n Collect all ancestors of a node.\n\n A node `a` is an ancestor of `b` if there exists a path from `a` to `b`.\n\n This function is safe to call on a node within a graph with cycles.\n*/\nconst collectAncestors = (\n node: VariableNode,\n acc: Set = new Set()\n): VariableNode[] => {\n for (const parent of node.parents) {\n if (!acc.has(parent)) {\n acc.add(parent)\n collectAncestors(parent, acc)\n }\n }\n\n return [...acc]\n}\n\n/*\n Using the current node as the root, create a PostOrder DFS for the given node\n Where we check each cascading parent's children in order to hydrate the children before the parents\n\n In the example below, we have 3 variables `a`, `b`, `c` where `a` is a parent to `b`, which a parent to `c`:\n\n a --> b --> c\n\n If `a`, `b`, or `c` are passed into this function, we should expect that the output for each should be:\n\n `c` with a reference to its parent `b`, which should have a reference to its parent `a`\n*/\n\nconst postOrderDFS = (\n node: VariableNode,\n acc: Set = new Set(),\n cache: {[key: string]: boolean | undefined} = {}\n): VariableNode[] => {\n // Handle the edge case that the function is\n // called without providing the root node\n if (!node) return [...acc]\n\n for (const child of node.children) {\n // by checking the cache for existing variables, we ensure that the graph stops\n // when an existing node has already been encountered, invalidating a cycle if one exists\n if (!cache[child.variable.id]) {\n cache[child.variable.id] = true\n // Recurse down the n-ary tree until we reach a leaf (node with no children)\n // where this loop will not execute\n postOrderDFS(child, acc, cache)\n }\n }\n\n // Add the current node only after visiting all of its children, left to right\n acc.add(node)\n\n return [...acc]\n}\n\n/*\n Filters out any parents that have already been referenced in a previous node\n\n A node `a` & `c` are children of `b` if there exists a path:\n\n b\n / \\\n a c\n\n This function safely filters out a duplicate reference to the parent `b`\n When both `a` and `c` are passed as variables to be hydrated, since `b` should\n already be `hydrated` by the first variable that is passed in.\n*/\nexport interface DeduplicatedRoot {\n node: VariableNode\n subsetIDs: {[key: string]: boolean}\n}\n\nconst getDeduplicatedRootChild = (\n node: VariableNode,\n subsetIDs: {[key: string]: boolean | undefined}\n): DeduplicatedRoot => {\n for (const n of node.parents) {\n if (!subsetIDs[n.variable.id]) {\n subsetIDs[n.variable.id] = true\n getDeduplicatedRootChild(n, subsetIDs)\n } else {\n node.parents = []\n }\n }\n return {node, subsetIDs}\n}\n\n/*\n Given a variable graph, return the minimal subgraph containing only the nodes\n needed to hydrate the values for variables in the passed `variables` argument.\n\n We discard all nodes in the graph unless:\n\n - It is the node for one of the passed variables\n - The node for one of the passed variables depends on this node\n\n*/\n// TODO(ariel): rename this back to findSubgraph & update tests once feature flag is removed\nexport const findSubgraphFeature = (\n graph: VariableNode[],\n variables: Variable[]\n): VariableNode[] => {\n const subgraph: Set = new Set()\n // use an ID array to reduce the chance of reference errors\n const varIDs = variables.map(v => v.id)\n // create an ID reference object to identify relevant root variables to hydrate\n let subgraphIDs = {}\n for (const node of graph) {\n const shouldKeep = varIDs.includes(node.variable.id)\n if (shouldKeep) {\n const postOrderNodeList = postOrderDFS(node)\n postOrderNodeList.forEach(variableNode => {\n const {id} = variableNode.variable\n // Checking whether the subgraphIDs[id] !== true, we are ensuring that the\n // node has been added to the subgraph. This prevents excessive variable rehydration\n if (subgraphIDs[id] !== true) {\n /*\n Once a node exists within the subgraph (whether nested as a parent or as the input node)\n we want to remove any further reference to that node within the subgraph.\n This can be particularly challenging when a parent node has multiple child nodes that have been passed in.\n For example, if variables `a` and `b` are both children to `c`,\n and `a` & `b` are both variables that should be hydrated, we would need to reset a parent\n reference for one of the variables so that `c` is not hydrated twice.\n This can be achieved by storing a reference to all the existing nodeIDs within the subgraph to the `graphIDs`\n and checking for any collisions before adding the node to the subgraph.\n If a parent collision is detected, that node's parent is simply set to [] since we know that\n the parent was already hydrated based on a previous input\n */\n const {node: filteredNodes, subsetIDs} = getDeduplicatedRootChild(\n variableNode,\n subgraphIDs\n )\n subgraph.add(filteredNodes)\n subgraphIDs = {\n [id]: true,\n ...subgraphIDs,\n ...subsetIDs,\n }\n }\n })\n }\n }\n\n return [...subgraph]\n}\nexport const findSubgraph = (\n graph: VariableNode[],\n variables: Variable[]\n): VariableNode[] => {\n const subgraph: Set = new Set()\n // use an ID array to reduce the chance of reference errors\n const varIDs = variables.map(v => v.id)\n for (const node of graph) {\n const shouldKeep =\n varIDs.includes(node.variable.id) ||\n collectAncestors(node).some(ancestor =>\n varIDs.includes(ancestor.variable.id)\n )\n\n if (shouldKeep) {\n subgraph.add(node)\n }\n }\n\n for (const node of subgraph) {\n node.parents = node.parents.filter(node => subgraph.has(node))\n node.children = node.children.filter(node => subgraph.has(node))\n }\n return [...subgraph]\n}\n\n/*\n Get the `VariableValues` for a variable that cannot be successfully hydrated.\n*/\nconst errorVariableValues = (\n message = 'Failed to load values for variable'\n): VariableValues => ({\n values: null,\n selected: null,\n valueType: null,\n error: message,\n})\n\n/*\n Find all the descendants of a node.\n\n A node `b` is a descendant of `a` if there exists a path from `a` to `b`.\n\n Checks visited to prevent looping forever\n*/\nexport const collectDescendants = (\n node: VariableNode,\n acc: Set = new Set()\n): VariableNode[] => {\n for (const child of node.children) {\n if (!acc.has(child)) {\n acc.add(child)\n collectDescendants(child, acc)\n }\n }\n\n return [...acc]\n}\n\n/*\n Hydrate the values of a single node in the graph.\n\n This assumes that every descendant of this node has already been hydrated.\n*/\n// TODO: figure out how to type the `on` function\nconst hydrateVarsHelper = async (\n node: VariableNode,\n options: HydrateVarsOptions,\n on?: any\n): Promise => {\n const variableType = node.variable.arguments.type\n\n // this assumes that the variable hydration is done in the selector 'getVariable'\n if (variableType === 'map') {\n return {\n valueType: 'string',\n values: node.variable.arguments.values,\n selected: node.variable.selected,\n }\n }\n\n if (variableType === 'constant') {\n return {\n valueType: 'string',\n values: node.variable.arguments.values,\n selected: node.variable.selected,\n }\n }\n\n if (variableType === 'system') {\n return {\n valueType: 'string',\n values: node.variable.arguments.values,\n selected: node.variable.selected,\n }\n }\n\n if (node.status !== RemoteDataState.Loading) {\n node.status = RemoteDataState.Loading\n on.fire('status', node.variable, node.status)\n collectAncestors(node)\n .filter(parent => parent.variable.arguments.type === 'query')\n .forEach(parent => {\n if (parent.status !== RemoteDataState.Loading) {\n parent.status = RemoteDataState.Loading\n on.fire('status', parent.variable, parent.status)\n }\n })\n }\n\n const descendants = collectDescendants(node)\n const assignments = descendants\n .map(node => asAssignment(node.variable))\n .filter(v => !!v)\n\n const {url, orgID} = options\n const {query} = node.variable.arguments.values\n const fetcher = options.fetcher || valueFetcher\n\n const request = fetcher.fetch(\n url,\n orgID,\n query,\n assignments,\n null,\n '',\n options.skipCache,\n options.controller\n )\n\n node.cancel = request.cancel\n\n const values = await request.promise\n\n // NOTE: do not fire `done` event here, as the value\n // has not been properly hydrated yet\n node.status = RemoteDataState.Done\n return values\n}\n\n/*\n Check if a node is `NotStarted` and if every child of the node has been\n resolved (successfully or not).\n*/\nconst readyToResolve = (parent: VariableNode): boolean =>\n parent.children.every(child => child.status === RemoteDataState.Done)\n\n/*\n Find all `NotStarted` nodes in the graph that have no children.\n*/\nconst findLeaves = (graph: VariableNode[]): VariableNode[] =>\n graph.filter(node => node.children.length === 0)\n\n/*\n Given a node, attempt to find a cycle that the node is a part of. If no cycle\n is found, return `null`.\n*/\nconst findCyclicPath = (node: VariableNode): VariableNode[] => {\n try {\n findCyclicPathHelper(node, [], {})\n } catch (cyclicPath) {\n return cyclicPath\n }\n\n return null\n}\n\nconst findCyclicPathHelper = (\n node: VariableNode,\n seen: VariableNode[],\n cache: {[key: string]: undefined | boolean} = {}\n): void => {\n if (cache[node.variable.id]) {\n throw seen\n }\n\n for (const child of node.children) {\n findCyclicPathHelper(child, [...seen, node], {\n ...cache,\n [node.variable.id]: true,\n })\n }\n}\n\n/*\n Find all cycles within the variable graph and mark every node within a cycle\n as errored (we cannot resolve cycles).\n*/\nconst invalidateCycles = (graph: VariableNode[]): void => {\n for (const node of graph) {\n const cyclicPath = findCyclicPath(node)\n\n if (cyclicPath) {\n for (const invalidNode of cyclicPath) {\n invalidNode.status = RemoteDataState.Error\n }\n }\n }\n}\n\n/*\n Given a node, mark all ancestors of that node as `Error`.\n*/\nconst invalidateAncestors = (node: VariableNode): void => {\n const ancestors = collectAncestors(node)\n\n for (const ancestor of ancestors) {\n ancestor.status = RemoteDataState.Error\n if (ancestor.variable.arguments.type === 'query') {\n ancestor.variable.arguments.values.results = []\n }\n }\n}\n\nconst extractResult = (graph: VariableNode[]): Variable[] => {\n const result = {}\n\n for (const node of graph) {\n if (node.status === RemoteDataState.Error) {\n node.values = errorVariableValues()\n }\n\n result[node.variable.id] = node.variable\n }\n\n return Object.values(result)\n}\n\n/*\n Given a list of `variables`, execute their queries to retrieve the possible\n values for each variable.\n\n Since variables can make use of other variables, this process is more\n complicated then simply executing every query found in a variable. Instead,\n we:\n\n 1. Construct a graph that represents the dependency structure between\n variables. A variable `a` depends on variable `b` if the query for `a`\n uses the variable `b`.\n\n Each node in the graph has a hydration status: it it either `NotStarted`,\n `Loading` (values are being fetched), `Error` (values failed to fetch or\n cannot be fetched), or `Done` (values have been fetched successfully).\n When the graph is constructed, all nodes a marked as `NotStarted`.\n\n 2. Find all cycles in the graph and mark nodes within a cycle and nodes that\n lead to a cycle as `Error`. We cannot resolve variables with cyclical\n dependencies.\n\n 3. Find the leaves of the graph (the nodes with no dependencies) and begin to\n load their values.\n\n a. If loading the values succeeds, we mark that node as `Done` and check\n if every child of the parent of this node is `Done`. If this is the\n case, we start loading the parent.\n\n b. If loading the values fails, we mark that node and every one of its\n ancestors as as `Error`.\n\n c. If the parent node is `Error`, we stop resolving along this path. Steps\n 2 and 3b guarantee that every ancestor of this `Error` node is also\n `Error`.\n\n 4. By the time all node resolution has succeeded or failed, every node in the\n graph has now either been resolved with values or marked with `Error`.\n\n*/\nexport const hydrateVars = (\n variables: Variable[],\n allVariables: Variable[],\n options: HydrateVarsOptions\n): EventedCancelBox => {\n let findSubgraphFunction = findSubgraph\n if (isFlagEnabled('hydratevars')) {\n findSubgraphFunction = findSubgraphFeature\n }\n\n const graph = findSubgraphFunction(\n createVariableGraph(allVariables),\n variables\n ).filter(n => n.variable.arguments.type !== 'system')\n invalidateCycles(graph)\n\n let isCancelled = false\n\n const resolve = async (node: VariableNode) => {\n if (isCancelled) {\n return\n }\n try {\n // TODO: terminate the concept of node.values at the fetcher and just use variables\n node.values = await hydrateVarsHelper(node, options, on)\n\n if (node.variable.arguments.type === 'query') {\n node.variable.arguments.values.results = node.values.values as string[]\n } else {\n node.variable.arguments.values = node.values.values\n }\n\n node.variable.selected = node.variable.selected || []\n\n // ensure that the selected value defaults propegate for\n // nested queryies.\n if (\n node.variable.arguments.type === 'query' ||\n node.variable.arguments.type === 'constant'\n ) {\n if (\n !(node.values.values as string[]).includes(node.variable.selected[0])\n ) {\n node.variable.selected = []\n }\n } else if (node.variable.arguments.type === 'map') {\n if (\n !Object.keys(node.values.values).includes(node.variable.selected[0])\n ) {\n node.variable.selected = []\n }\n }\n\n if (!node.variable.selected || !node.variable.selected[0]) {\n node.variable.selected = node.values.selected\n }\n\n on.fire('status', node.variable, node.status)\n\n return Promise.all(node.parents.filter(readyToResolve).map(resolve))\n } catch (e) {\n if (e.name === 'CancellationError') {\n return\n }\n\n node.status = RemoteDataState.Error\n node.variable.arguments.values.results = []\n\n invalidateAncestors(node)\n }\n }\n\n const deferred = new Deferred()\n\n const cancel = () => {\n isCancelled = true\n graph.forEach(node => node.cancel())\n deferred.reject(new CancellationError())\n }\n\n const on = (function() {\n const callbacks = {}\n const ret = (evt, cb) => {\n if (!callbacks.hasOwnProperty(evt)) {\n callbacks[evt] = []\n }\n\n callbacks[evt].push(cb)\n }\n\n ret.fire = (evt, ...args) => {\n if (!callbacks.hasOwnProperty(evt)) {\n return\n }\n\n callbacks[evt].forEach(cb => cb.apply(cb, args))\n }\n\n return ret\n })()\n\n // NOTE: wrapping in a resolve disconnects the following findLeaves\n // from the main execution thread, allowing external services to\n // register listeners for the loading state changes\n Promise.resolve()\n .then(() => Promise.all(findLeaves(graph).map(resolve)))\n .then(() => {\n deferred.resolve(extractResult(graph))\n })\n\n return {promise: deferred.promise, cancel, on}\n}\n","import {NotificationEndpoint, PostNotificationEndpoint} from 'src/types'\n\nexport const toPostNotificationEndpoint = (\n endpoint: NotificationEndpoint\n): PostNotificationEndpoint => {\n return {\n ...endpoint,\n status: endpoint.activeStatus,\n }\n}\n","// Libraries\nimport {Dispatch} from 'react'\nimport {normalize} from 'normalizr'\n\n// Actions\nimport {\n notify,\n Action as NotificationAction,\n} from 'src/shared/actions/notifications'\nimport {checkEndpointsLimits} from 'src/cloud/actions/limits'\nimport {\n setEndpoints,\n setEndpoint,\n Action,\n removeEndpoint,\n removeLabelFromEndpoint,\n} from 'src/notifications/endpoints/actions/creators'\nimport {setLabelOnResource} from 'src/labels/actions/creators'\n\n// Schemas\nimport {endpointSchema, arrayOfEndpoints} from 'src/schemas/endpoints'\nimport {labelSchema} from 'src/schemas/labels'\n\n// APIs\nimport * as api from 'src/client'\n\n// Utils\nimport {incrementCloneName} from 'src/utils/naming'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getAll, getStatus} from 'src/resources/selectors'\nimport {toPostNotificationEndpoint} from 'src/notifications/endpoints/utils'\nimport * as copy from 'src/shared/copy/notifications'\n\n// Types\nimport {\n NotificationEndpoint,\n GetState,\n Label,\n NotificationEndpointUpdate,\n RemoteDataState,\n EndpointEntities,\n ResourceType,\n LabelEntities,\n} from 'src/types'\n\nexport const getEndpoints = () => async (\n dispatch: Dispatch<\n Action | NotificationAction | ReturnType\n >,\n getState: GetState\n) => {\n try {\n const state = getState()\n if (\n getStatus(state, ResourceType.NotificationEndpoints) ===\n RemoteDataState.NotStarted\n ) {\n dispatch(setEndpoints(RemoteDataState.Loading))\n }\n\n const {id: orgID} = getOrg(state)\n\n const resp = await api.getNotificationEndpoints({\n query: {orgID},\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const endpoints = normalize<\n NotificationEndpoint,\n EndpointEntities,\n string[]\n >(resp.data.notificationEndpoints, arrayOfEndpoints)\n\n dispatch(setEndpoints(RemoteDataState.Done, endpoints))\n dispatch(checkEndpointsLimits())\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.getEndpointsFailed(error.message)))\n dispatch(setEndpoints(RemoteDataState.Error))\n }\n}\n\nexport const createEndpoint = (endpoint: NotificationEndpoint) => async (\n dispatch: Dispatch<\n Action | NotificationAction | ReturnType\n >\n) => {\n const data = toPostNotificationEndpoint(endpoint)\n\n try {\n const resp = await api.postNotificationEndpoint({data})\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const newEndpoint = normalize<\n NotificationEndpoint,\n EndpointEntities,\n string\n >(resp.data, endpointSchema)\n\n dispatch(setEndpoint(resp.data.id, RemoteDataState.Done, newEndpoint))\n dispatch(checkEndpointsLimits())\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createEndpointFailed(error.message)))\n }\n}\n\nexport const updateEndpoint = (endpoint: NotificationEndpoint) => async (\n dispatch: Dispatch\n) => {\n dispatch(setEndpoint(endpoint.id, RemoteDataState.Loading))\n const data = toPostNotificationEndpoint(endpoint)\n\n try {\n const resp = await api.putNotificationEndpoint({\n endpointID: endpoint.id,\n data,\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const updates = normalize(\n resp.data,\n endpointSchema\n )\n\n dispatch(setEndpoint(endpoint.id, RemoteDataState.Done, updates))\n } catch (error) {\n console.error(error)\n dispatch(setEndpoint(endpoint.id, RemoteDataState.Error))\n }\n}\n\nexport const updateEndpointProperties = (\n endpointID: string,\n properties: NotificationEndpointUpdate\n) => async (dispatch: Dispatch) => {\n dispatch(setEndpoint(endpointID, RemoteDataState.Loading))\n try {\n const resp = await api.patchNotificationEndpoint({\n endpointID,\n data: properties,\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const updates = normalize(\n resp.data,\n endpointSchema\n )\n\n dispatch(setEndpoint(endpointID, RemoteDataState.Done, updates))\n } catch (error) {\n dispatch(notify(copy.updateEndpointFailed(error.message)))\n dispatch(setEndpoint(endpointID, RemoteDataState.Error))\n }\n}\n\nexport const deleteEndpoint = (endpointID: string) => async (\n dispatch: Dispatch<\n Action | NotificationAction | ReturnType\n >\n) => {\n try {\n const resp = await api.deleteNotificationEndpoint({endpointID})\n\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n\n dispatch(removeEndpoint(endpointID))\n dispatch(checkEndpointsLimits())\n } catch (error) {\n dispatch(notify(copy.deleteEndpointFailed(error.message)))\n }\n}\n\nexport const addEndpointLabel = (endpointID: string, label: Label) => async (\n dispatch: Dispatch\n) => {\n try {\n const resp = await api.postNotificationEndpointsLabel({\n endpointID,\n data: {labelID: label.id},\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const normLabel = normalize(\n resp.data.label,\n labelSchema\n )\n\n dispatch(setLabelOnResource(endpointID, normLabel))\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const deleteEndpointLabel = (\n endpointID: string,\n labelID: string\n) => async (dispatch: Dispatch) => {\n try {\n const resp = await api.deleteNotificationEndpointsLabel({\n endpointID,\n labelID,\n })\n\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n\n dispatch(removeLabelFromEndpoint(endpointID, labelID))\n } catch (error) {\n console.error(error)\n }\n}\n\nexport const cloneEndpoint = (endpoint: NotificationEndpoint) => async (\n dispatch: Dispatch<\n Action | NotificationAction | ReturnType\n >,\n getState: GetState\n): Promise => {\n try {\n const state = getState()\n const endpoints = getAll(\n state,\n ResourceType.NotificationEndpoints\n )\n\n const allEndpointNames = endpoints.map(r => r.name)\n\n const clonedName = incrementCloneName(allEndpointNames, endpoint.name)\n\n const resp = await api.postNotificationEndpoint({\n data: {\n ...toPostNotificationEndpoint(endpoint),\n name: clonedName,\n },\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const clone = normalize(\n resp.data,\n endpointSchema\n )\n\n dispatch(setEndpoint(resp.data.id, RemoteDataState.Done, clone))\n dispatch(checkEndpointsLimits())\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createEndpointFailed(error.message)))\n }\n}\n","// Libraries\nimport {normalize} from 'normalizr'\n\n// API\nimport {\n getLabels as apiGetLabels,\n postLabel as apiPostLabel,\n patchLabel as apiPatchLabel,\n deleteLabel as apiDeleteLabel,\n} from 'src/client'\n\n// Schemas\nimport {labelSchema, arrayOfLabels} from 'src/schemas/labels'\n\n// Types\nimport {Dispatch} from 'react'\nimport {\n RemoteDataState,\n LabelProperties,\n GetState,\n Label,\n LabelEntities,\n ResourceType,\n} from 'src/types'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\nimport {\n getLabelsFailed,\n createLabelFailed,\n updateLabelFailed,\n deleteLabelFailed,\n} from 'src/shared/copy/notifications'\nimport {\n setLabels,\n setLabel,\n removeLabel,\n Action,\n} from 'src/labels/actions/creators'\n\n// Utils\nimport {getOrg} from 'src/organizations/selectors'\nimport {viewableLabels} from 'src/labels/selectors'\nimport {getStatus} from 'src/resources/selectors'\n\nexport const getLabels = () => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n const state = getState()\n if (getStatus(state, ResourceType.Labels) === RemoteDataState.NotStarted) {\n dispatch(setLabels(RemoteDataState.Loading))\n }\n\n const org = getOrg(state)\n\n const resp = await apiGetLabels({query: {orgID: org.id}})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const labels = normalize(\n viewableLabels(resp.data.labels),\n arrayOfLabels\n )\n\n dispatch(setLabels(RemoteDataState.Done, labels))\n } catch (error) {\n console.error(error)\n dispatch(setLabels(RemoteDataState.Error))\n dispatch(notify(getLabelsFailed()))\n }\n}\n\nexport const createLabel = (\n name: string,\n properties: LabelProperties\n) => async (dispatch: Dispatch, getState: GetState): Promise => {\n const org = getOrg(getState())\n try {\n const resp = await apiPostLabel({\n data: {\n orgID: org.id,\n name,\n properties,\n },\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const label = normalize(\n resp.data.label,\n labelSchema\n )\n\n dispatch(setLabel(resp.data.label.id, RemoteDataState.Done, label))\n } catch (error) {\n console.error(error)\n dispatch(notify(createLabelFailed()))\n }\n}\n\nexport const updateLabel = (id: string, l: Label) => async (\n dispatch: Dispatch\n) => {\n try {\n dispatch(setLabel(id, RemoteDataState.Loading))\n const resp = await apiPatchLabel({labelID: id, data: l})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const label = normalize(\n resp.data.label,\n labelSchema\n )\n\n dispatch(setLabel(id, RemoteDataState.Done, label))\n } catch (error) {\n console.error(error)\n dispatch(notify(updateLabelFailed()))\n }\n}\n\nexport const deleteLabel = (id: string) => async (\n dispatch: Dispatch\n) => {\n try {\n const resp = await apiDeleteLabel({labelID: id})\n\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n\n dispatch(removeLabel(id))\n } catch (error) {\n console.error(error)\n dispatch(notify(deleteLabelFailed()))\n }\n}\n","import {GenLabel} from 'src/types'\nimport {INFLUX_LABEL_PREFIX} from 'src/labels/constants'\n\nexport const viewableLabels = (labels: GenLabel[]) =>\n labels.filter(l => !l.name.startsWith(INFLUX_LABEL_PREFIX))\n","import {DashboardColor} from 'src/client'\n\nexport type Color = DashboardColor\n\nexport interface ColorLabel {\n hex: string\n name: string\n}\n\nexport enum LabelColorType {\n Preset = 'preset',\n Custom = 'custom',\n}\n\nexport interface LabelColor {\n id: string\n colorHex: string\n name: string\n type: LabelColorType\n}\n","import {\n Cell as GenCell,\n Dashboard as GenDashboard,\n TableViewProperties,\n DashboardQuery,\n RenamableField,\n BuilderConfig,\n} from 'src/client'\nimport {RemoteDataState} from 'src/types'\nimport {Sort} from '@influxdata/clockface'\nimport {SortTypes} from 'src/shared/utils/sort'\nimport {DashboardSortKey} from 'src/shared/components/resource_sort_dropdown/generateSortItems'\n\nexport type FieldOption = RenamableField\n\nexport interface SortOptions {\n field: string\n direction: string\n}\n\nexport {Sort} from '@influxdata/clockface'\nexport {SortTypes} from 'src/shared/utils/sort'\n\nexport interface DashboardSortParams {\n sortDirection: Sort\n sortType: SortTypes\n sortKey: DashboardSortKey\n}\n\nexport interface DashboardDraftQuery extends DashboardQuery {\n hidden: boolean\n}\n\nexport type BuilderConfigAggregateWindow = BuilderConfig['aggregateWindow']\n\nexport interface Cell extends GenCell {\n dashboardID: string\n status: RemoteDataState\n minH?: number\n minW?: number\n maxW?: number\n}\n\nexport type NewCell = Omit\n\nexport interface Dashboard extends Omit {\n cells: string[]\n labels: string[]\n status: RemoteDataState\n sortOptions: DashboardSortParams\n}\n\nexport type Omit = Pick>\n\nexport interface DashboardSwitcherLink {\n key: string\n text: string\n to: string\n}\n\nexport interface DashboardSwitcherLinks {\n active?: DashboardSwitcherLink\n links: DashboardSwitcherLink[]\n}\n\nexport enum NoteEditorMode {\n Adding = 'adding',\n Editing = 'editing',\n}\n\nexport type TableOptions = TableViewProperties['tableOptions']\n\nexport {\n DashboardQuery,\n BuilderAggregateFunctionType,\n BuilderTagsType,\n BuilderConfig,\n ViewProperties,\n QueryEditMode,\n XYViewProperties,\n LinePlusSingleStatProperties,\n ScatterViewProperties,\n HeatmapViewProperties,\n SingleStatViewProperties,\n HistogramViewProperties,\n GaugeViewProperties,\n TableViewProperties,\n MarkdownViewProperties,\n CheckViewProperties,\n RenamableField,\n Legend,\n DecimalPlaces,\n Axes,\n Axis,\n AxisScale,\n XYGeom,\n CreateDashboardRequest,\n Threshold,\n} from 'src/client'\n","export enum OverlayState {\n Open = 'open',\n Closed = 'closed',\n}\n","export interface CancelBox {\n promise: Promise\n cancel: () => void\n}\n\nexport class CancellationError extends Error {\n constructor(...args) {\n super(...args)\n\n this.name = 'CancellationError'\n }\n}\n","// All time zones except for \"Local\" should be a valid IANA Time Zone Database\n// name.\n//\n// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\nexport type TimeZone =\n | 'Local'\n | 'UTC'\n | 'Africa/Abidjan'\n | 'Africa/Accra'\n | 'Africa/Addis_Ababa'\n | 'Africa/Algiers'\n | 'Africa/Asmara'\n | 'Africa/Bamako'\n | 'Africa/Bangui'\n | 'Africa/Banjul'\n | 'Africa/Bissau'\n | 'Africa/Blantyre'\n | 'Africa/Brazzaville'\n | 'Africa/Bujumbura'\n | 'Africa/Cairo'\n | 'Africa/Casablanca'\n | 'Africa/Ceuta'\n | 'Africa/Conakry'\n | 'Africa/Dakar'\n | 'Africa/Dar_es_Salaam'\n | 'Africa/Djibouti'\n | 'Africa/Douala'\n | 'Africa/El_Aaiun'\n | 'Africa/Freetown'\n | 'Africa/Gaborone'\n | 'Africa/Harare'\n | 'Africa/Johannesburg'\n | 'Africa/Juba'\n | 'Africa/Kampala'\n | 'Africa/Khartoum'\n | 'Africa/Kigali'\n | 'Africa/Kinshasa'\n | 'Africa/Lagos'\n | 'Africa/Libreville'\n | 'Africa/Lome'\n | 'Africa/Luanda'\n | 'Africa/Lubumbashi'\n | 'Africa/Lusaka'\n | 'Africa/Malabo'\n | 'Africa/Maputo'\n | 'Africa/Maseru'\n | 'Africa/Mbabane'\n | 'Africa/Mogadishu'\n | 'Africa/Monrovia'\n | 'Africa/Nairobi'\n | 'Africa/Ndjamena'\n | 'Africa/Niamey'\n | 'Africa/Nouakchott'\n | 'Africa/Ouagadougou'\n | 'Africa/Porto-Novo'\n | 'Africa/Sao_Tome'\n | 'Africa/Timbuktu'\n | 'Africa/Tripoli'\n | 'Africa/Tunis'\n | 'Africa/Windhoek'\n | 'America/Adak'\n | 'America/Anchorage'\n | 'America/Anguilla'\n | 'America/Antigua'\n | 'America/Araguaina'\n | 'America/Argentina/Buenos_Aires'\n | 'America/Argentina/Catamarca'\n | 'America/Argentina/ComodRivadavia'\n | 'America/Argentina/Cordoba'\n | 'America/Argentina/Jujuy'\n | 'America/Argentina/La_Rioja'\n | 'America/Argentina/Mendoza'\n | 'America/Argentina/Rio_Gallegos'\n | 'America/Argentina/Salta'\n | 'America/Argentina/San_Juan'\n | 'America/Argentina/San_Luis'\n | 'America/Argentina/Tucuman'\n | 'America/Argentina/Ushuaia'\n | 'America/Aruba'\n | 'America/Asuncion'\n | 'America/Atikokan'\n | 'America/Atka'\n | 'America/Bahia'\n | 'America/Bahia_Banderas'\n | 'America/Barbados'\n | 'America/Belem'\n | 'America/Belize'\n | 'America/Blanc-Sablon'\n | 'America/Boa_Vista'\n | 'America/Bogota'\n | 'America/Boise'\n | 'America/Buenos_Aires'\n | 'America/Cambridge_Bay'\n | 'America/Campo_Grande'\n | 'America/Cancun'\n | 'America/Caracas'\n | 'America/Catamarca'\n | 'America/Cayenne'\n | 'America/Cayman'\n | 'America/Chicago'\n | 'America/Chihuahua'\n | 'America/Coral_Harbour'\n | 'America/Cordoba'\n | 'America/Costa_Rica'\n | 'America/Creston'\n | 'America/Cuiaba'\n | 'America/Curacao'\n | 'America/Danmarkshavn'\n | 'America/Dawson'\n | 'America/Dawson_Creek'\n | 'America/Denver'\n | 'America/Detroit'\n | 'America/Dominica'\n | 'America/Edmonton'\n | 'America/Eirunepe'\n | 'America/El_Salvador'\n | 'America/Ensenada'\n | 'America/Fort_Nelson'\n | 'America/Fort_Wayne'\n | 'America/Fortaleza'\n | 'America/Glace_Bay'\n | 'America/Godthab'\n | 'America/Goose_Bay'\n | 'America/Grand_Turk'\n | 'America/Grenada'\n | 'America/Guadeloupe'\n | 'America/Guatemala'\n | 'America/Guayaquil'\n | 'America/Guyana'\n | 'America/Halifax'\n | 'America/Havana'\n | 'America/Hermosillo'\n | 'America/Indiana/Indianapolis'\n | 'America/Indiana/Knox'\n | 'America/Indiana/Marengo'\n | 'America/Indiana/Petersburg'\n | 'America/Indiana/Tell_City'\n | 'America/Indiana/Vevay'\n | 'America/Indiana/Vincennes'\n | 'America/Indiana/Winamac'\n | 'America/Indianapolis'\n | 'America/Inuvik'\n | 'America/Iqaluit'\n | 'America/Jamaica'\n | 'America/Jujuy'\n | 'America/Juneau'\n | 'America/Kentucky/Louisville'\n | 'America/Kentucky/Monticello'\n | 'America/Knox_IN'\n | 'America/Kralendijk'\n | 'America/La_Paz'\n | 'America/Lima'\n | 'America/Los_Angeles'\n | 'America/Louisville'\n | 'America/Lower_Princes'\n | 'America/Maceio'\n | 'America/Managua'\n | 'America/Manaus'\n | 'America/Marigot'\n | 'America/Martinique'\n | 'America/Matamoros'\n | 'America/Mazatlan'\n | 'America/Mendoza'\n | 'America/Menominee'\n | 'America/Merida'\n | 'America/Metlakatla'\n | 'America/Mexico_City'\n | 'America/Miquelon'\n | 'America/Moncton'\n | 'America/Monterrey'\n | 'America/Montevideo'\n | 'America/Montreal'\n | 'America/Montserrat'\n | 'America/Nassau'\n | 'America/New_York'\n | 'America/Nipigon'\n | 'America/Nome'\n | 'America/Noronha'\n | 'America/North_Dakota/Beulah'\n | 'America/North_Dakota/Center'\n | 'America/North_Dakota/New_Salem'\n | 'America/Ojinaga'\n | 'America/Panama'\n | 'America/Pangnirtung'\n | 'America/Paramaribo'\n | 'America/Phoenix'\n | 'America/Port_of_Spain'\n | 'America/Port-au-Prince'\n | 'America/Porto_Acre'\n | 'America/Porto_Velho'\n | 'America/Puerto_Rico'\n | 'America/Punta_Arenas'\n | 'America/Rainy_River'\n | 'America/Rankin_Inlet'\n | 'America/Recife'\n | 'America/Regina'\n | 'America/Resolute'\n | 'America/Rio_Branco'\n | 'America/Rosario'\n | 'America/Santa_Isabel'\n | 'America/Santarem'\n | 'America/Santiago'\n | 'America/Santo_Domingo'\n | 'America/Sao_Paulo'\n | 'America/Scoresbysund'\n | 'America/Shiprock'\n | 'America/Sitka'\n | 'America/St_Barthelemy'\n | 'America/St_Johns'\n | 'America/St_Kitts'\n | 'America/St_Lucia'\n | 'America/St_Thomas'\n | 'America/St_Vincent'\n | 'America/Swift_Current'\n | 'America/Tegucigalpa'\n | 'America/Thule'\n | 'America/Thunder_Bay'\n | 'America/Tijuana'\n | 'America/Toronto'\n | 'America/Tortola'\n | 'America/Vancouver'\n | 'America/Virgin'\n | 'America/Whitehorse'\n | 'America/Winnipeg'\n | 'America/Yakutat'\n | 'America/Yellowknife'\n | 'Antarctica/Casey'\n | 'Antarctica/Davis'\n | 'Antarctica/DumontDUrville'\n | 'Antarctica/Macquarie'\n | 'Antarctica/Mawson'\n | 'Antarctica/McMurdo'\n | 'Antarctica/Palmer'\n | 'Antarctica/Rothera'\n | 'Antarctica/South_Pole'\n | 'Antarctica/Syowa'\n | 'Antarctica/Troll'\n | 'Antarctica/Vostok'\n | 'Arctic/Longyearbyen'\n | 'Asia/Aden'\n | 'Asia/Almaty'\n | 'Asia/Amman'\n | 'Asia/Anadyr'\n | 'Asia/Aqtau'\n | 'Asia/Aqtobe'\n | 'Asia/Ashgabat'\n | 'Asia/Ashkhabad'\n | 'Asia/Atyrau'\n | 'Asia/Baghdad'\n | 'Asia/Bahrain'\n | 'Asia/Baku'\n | 'Asia/Bangkok'\n | 'Asia/Barnaul'\n | 'Asia/Beirut'\n | 'Asia/Bishkek'\n | 'Asia/Brunei'\n | 'Asia/Calcutta'\n | 'Asia/Chita'\n | 'Asia/Choibalsan'\n | 'Asia/Chongqing'\n | 'Asia/Chungking'\n | 'Asia/Colombo'\n | 'Asia/Dacca'\n | 'Asia/Damascus'\n | 'Asia/Dhaka'\n | 'Asia/Dili'\n | 'Asia/Dubai'\n | 'Asia/Dushanbe'\n | 'Asia/Famagusta'\n | 'Asia/Gaza'\n | 'Asia/Harbin'\n | 'Asia/Hebron'\n | 'Asia/Ho_Chi_Minh'\n | 'Asia/Hong_Kong'\n | 'Asia/Hovd'\n | 'Asia/Irkutsk'\n | 'Asia/Istanbul'\n | 'Asia/Jakarta'\n | 'Asia/Jayapura'\n | 'Asia/Jerusalem'\n | 'Asia/Kabul'\n | 'Asia/Kamchatka'\n | 'Asia/Karachi'\n | 'Asia/Kashgar'\n | 'Asia/Kathmandu'\n | 'Asia/Katmandu'\n | 'Asia/Khandyga'\n | 'Asia/Kolkata'\n | 'Asia/Krasnoyarsk'\n | 'Asia/Kuala_Lumpur'\n | 'Asia/Kuching'\n | 'Asia/Kuwait'\n | 'Asia/Macao'\n | 'Asia/Macau'\n | 'Asia/Magadan'\n | 'Asia/Makassar'\n | 'Asia/Manila'\n | 'Asia/Muscat'\n | 'Asia/Novokuznetsk'\n | 'Asia/Novosibirsk'\n | 'Asia/Omsk'\n | 'Asia/Oral'\n | 'Asia/Phnom_Penh'\n | 'Asia/Pontianak'\n | 'Asia/Pyongyang'\n | 'Asia/Qatar'\n | 'Asia/Qyzylorda'\n | 'Asia/Rangoon'\n | 'Asia/Riyadh'\n | 'Asia/Saigon'\n | 'Asia/Sakhalin'\n | 'Asia/Samarkand'\n | 'Asia/Seoul'\n | 'Asia/Shanghai'\n | 'Asia/Singapore'\n | 'Asia/Srednekolymsk'\n | 'Asia/Taipei'\n | 'Asia/Tashkent'\n | 'Asia/Tbilisi'\n | 'Asia/Tehran'\n | 'Asia/Tel_Aviv'\n | 'Asia/Thimbu'\n | 'Asia/Thimphu'\n | 'Asia/Tokyo'\n | 'Asia/Tomsk'\n | 'Asia/Ujung_Pandang'\n | 'Asia/Ulaanbaatar'\n | 'Asia/Ulan_Bator'\n | 'Asia/Urumqi'\n | 'Asia/Ust-Nera'\n | 'Asia/Vientiane'\n | 'Asia/Vladivostok'\n | 'Asia/Yakutsk'\n | 'Asia/Yangon'\n | 'Asia/Yekaterinburg'\n | 'Asia/Yerevan'\n | 'Atlantic/Azores'\n | 'Atlantic/Bermuda'\n | 'Atlantic/Canary'\n | 'Atlantic/Cape_Verde'\n | 'Atlantic/Faeroe'\n | 'Atlantic/Faroe'\n | 'Atlantic/Jan_Mayen'\n | 'Atlantic/Madeira'\n | 'Atlantic/Reykjavik'\n | 'Atlantic/South_Georgia'\n | 'Atlantic/St_Helena'\n | 'Atlantic/Stanley'\n | 'Australia/ACT'\n | 'Australia/Adelaide'\n | 'Australia/Brisbane'\n | 'Australia/Broken_Hill'\n | 'Australia/Canberra'\n | 'Australia/Currie'\n | 'Australia/Darwin'\n | 'Australia/Eucla'\n | 'Australia/Hobart'\n | 'Australia/LHI'\n | 'Australia/Lindeman'\n | 'Australia/Lord_Howe'\n | 'Australia/Melbourne'\n | 'Australia/North'\n | 'Australia/NSW'\n | 'Australia/Perth'\n | 'Australia/Queensland'\n | 'Australia/South'\n | 'Australia/Sydney'\n | 'Australia/Tasmania'\n | 'Australia/Victoria'\n | 'Australia/West'\n | 'Australia/Yancowinna'\n | 'Brazil/Acre'\n | 'Brazil/DeNoronha'\n | 'Brazil/East'\n | 'Brazil/West'\n | 'Canada/Atlantic'\n | 'Canada/Central'\n | 'Canada/Eastern'\n | 'Canada/Mountain'\n | 'Canada/Newfoundland'\n | 'Canada/Pacific'\n | 'Canada/Saskatchewan'\n | 'Canada/Yukon'\n | 'CET'\n | 'Chile/Continental'\n | 'Chile/EasterIsland'\n | 'CST6CDT'\n | 'Cuba'\n | 'EET'\n | 'Egypt'\n | 'Eire'\n | 'EST'\n | 'EST5EDT'\n | 'Etc/GMT'\n | 'Etc/GMT+0'\n | 'Etc/GMT+1'\n | 'Etc/GMT+10'\n | 'Etc/GMT+11'\n | 'Etc/GMT+12'\n | 'Etc/GMT+2'\n | 'Etc/GMT+3'\n | 'Etc/GMT+4'\n | 'Etc/GMT+5'\n | 'Etc/GMT+6'\n | 'Etc/GMT+7'\n | 'Etc/GMT+8'\n | 'Etc/GMT+9'\n | 'Etc/GMT0'\n | 'Etc/GMT-0'\n | 'Etc/GMT-1'\n | 'Etc/GMT-10'\n | 'Etc/GMT-11'\n | 'Etc/GMT-12'\n | 'Etc/GMT-13'\n | 'Etc/GMT-14'\n | 'Etc/GMT-2'\n | 'Etc/GMT-3'\n | 'Etc/GMT-4'\n | 'Etc/GMT-5'\n | 'Etc/GMT-6'\n | 'Etc/GMT-7'\n | 'Etc/GMT-8'\n | 'Etc/GMT-9'\n | 'Etc/Greenwich'\n | 'Etc/UCT'\n | 'Etc/Universal'\n | 'Etc/UTC'\n | 'Etc/Zulu'\n | 'Europe/Amsterdam'\n | 'Europe/Andorra'\n | 'Europe/Astrakhan'\n | 'Europe/Athens'\n | 'Europe/Belfast'\n | 'Europe/Belgrade'\n | 'Europe/Berlin'\n | 'Europe/Bratislava'\n | 'Europe/Brussels'\n | 'Europe/Bucharest'\n | 'Europe/Budapest'\n | 'Europe/Busingen'\n | 'Europe/Chisinau'\n | 'Europe/Copenhagen'\n | 'Europe/Dublin'\n | 'Europe/Gibraltar'\n | 'Europe/Guernsey'\n | 'Europe/Helsinki'\n | 'Europe/Isle_of_Man'\n | 'Europe/Istanbul'\n | 'Europe/Jersey'\n | 'Europe/Kaliningrad'\n | 'Europe/Kiev'\n | 'Europe/Kirov'\n | 'Europe/Lisbon'\n | 'Europe/Ljubljana'\n | 'Europe/London'\n | 'Europe/Luxembourg'\n | 'Europe/Madrid'\n | 'Europe/Malta'\n | 'Europe/Mariehamn'\n | 'Europe/Minsk'\n | 'Europe/Monaco'\n | 'Europe/Moscow'\n | 'Asia/Nicosia'\n | 'Europe/Oslo'\n | 'Europe/Paris'\n | 'Europe/Podgorica'\n | 'Europe/Prague'\n | 'Europe/Riga'\n | 'Europe/Rome'\n | 'Europe/Samara'\n | 'Europe/San_Marino'\n | 'Europe/Sarajevo'\n | 'Europe/Saratov'\n | 'Europe/Simferopol'\n | 'Europe/Skopje'\n | 'Europe/Sofia'\n | 'Europe/Stockholm'\n | 'Europe/Tallinn'\n | 'Europe/Tirane'\n | 'Europe/Tiraspol'\n | 'Europe/Ulyanovsk'\n | 'Europe/Uzhgorod'\n | 'Europe/Vaduz'\n | 'Europe/Vatican'\n | 'Europe/Vienna'\n | 'Europe/Vilnius'\n | 'Europe/Volgograd'\n | 'Europe/Warsaw'\n | 'Europe/Zagreb'\n | 'Europe/Zaporozhye'\n | 'Europe/Zurich'\n | 'GB'\n | 'GB-Eire'\n | 'GMT'\n | 'GMT+0'\n | 'GMT0'\n | 'GMT−0'\n | 'Greenwich'\n | 'Hongkong'\n | 'HST'\n | 'Iceland'\n | 'Indian/Antananarivo'\n | 'Indian/Chagos'\n | 'Indian/Christmas'\n | 'Indian/Cocos'\n | 'Indian/Comoro'\n | 'Indian/Kerguelen'\n | 'Indian/Mahe'\n | 'Indian/Maldives'\n | 'Indian/Mauritius'\n | 'Indian/Mayotte'\n | 'Indian/Reunion'\n | 'Iran'\n | 'Israel'\n | 'Jamaica'\n | 'Japan'\n | 'Kwajalein'\n | 'Libya'\n | 'MET'\n | 'Mexico/BajaNorte'\n | 'Mexico/BajaSur'\n | 'Mexico/General'\n | 'MST'\n | 'MST7MDT'\n | 'Navajo'\n | 'NZ'\n | 'NZ-CHAT'\n | 'Pacific/Apia'\n | 'Pacific/Auckland'\n | 'Pacific/Bougainville'\n | 'Pacific/Chatham'\n | 'Pacific/Chuuk'\n | 'Pacific/Easter'\n | 'Pacific/Efate'\n | 'Pacific/Enderbury'\n | 'Pacific/Fakaofo'\n | 'Pacific/Fiji'\n | 'Pacific/Funafuti'\n | 'Pacific/Galapagos'\n | 'Pacific/Gambier'\n | 'Pacific/Guadalcanal'\n | 'Pacific/Guam'\n | 'Pacific/Honolulu'\n | 'Pacific/Johnston'\n | 'Pacific/Kiritimati'\n | 'Pacific/Kosrae'\n | 'Pacific/Kwajalein'\n | 'Pacific/Majuro'\n | 'Pacific/Marquesas'\n | 'Pacific/Midway'\n | 'Pacific/Nauru'\n | 'Pacific/Niue'\n | 'Pacific/Norfolk'\n | 'Pacific/Noumea'\n | 'Pacific/Pago_Pago'\n | 'Pacific/Palau'\n | 'Pacific/Pitcairn'\n | 'Pacific/Pohnpei'\n | 'Pacific/Ponape'\n | 'Pacific/Port_Moresby'\n | 'Pacific/Rarotonga'\n | 'Pacific/Saipan'\n | 'Pacific/Samoa'\n | 'Pacific/Tahiti'\n | 'Pacific/Tarawa'\n | 'Pacific/Tongatapu'\n | 'Pacific/Truk'\n | 'Pacific/Wake'\n | 'Pacific/Wallis'\n | 'Pacific/Yap'\n | 'Poland'\n | 'Portugal'\n | 'PRC'\n | 'PST8PDT'\n | 'ROC'\n | 'ROK'\n | 'Singapore'\n | 'Turkey'\n | 'UCT'\n | 'Universal'\n | 'US/Alaska'\n | 'US/Aleutian'\n | 'US/Arizona'\n | 'US/Central'\n | 'US/Eastern'\n | 'US/East-Indiana'\n | 'US/Hawaii'\n | 'US/Indiana-Starke'\n | 'US/Michigan'\n | 'US/Mountain'\n | 'US/Pacific'\n | 'US/Pacific-New'\n | 'US/Samoa'\n | 'UTC'\n | 'WET'\n | 'W-SU'\n | 'Zulu'\n\nexport const timeZones = [\n 'Local',\n 'UTC',\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Addis_Ababa',\n 'Africa/Algiers',\n 'Africa/Asmara',\n 'Africa/Bamako',\n 'Africa/Bangui',\n 'Africa/Banjul',\n 'Africa/Bissau',\n 'Africa/Blantyre',\n 'Africa/Brazzaville',\n 'Africa/Bujumbura',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/Conakry',\n 'Africa/Dakar',\n 'Africa/Dar_es_Salaam',\n 'Africa/Djibouti',\n 'Africa/Douala',\n 'Africa/El_Aaiun',\n 'Africa/Freetown',\n 'Africa/Gaborone',\n 'Africa/Harare',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Kampala',\n 'Africa/Khartoum',\n 'Africa/Kigali',\n 'Africa/Kinshasa',\n 'Africa/Lagos',\n 'Africa/Libreville',\n 'Africa/Lome',\n 'Africa/Luanda',\n 'Africa/Lubumbashi',\n 'Africa/Lusaka',\n 'Africa/Malabo',\n 'Africa/Maputo',\n 'Africa/Maseru',\n 'Africa/Mbabane',\n 'Africa/Mogadishu',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Niamey',\n 'Africa/Nouakchott',\n 'Africa/Ouagadougou',\n 'Africa/Porto-Novo',\n 'Africa/Sao_Tome',\n 'Africa/Timbuktu',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Anguilla',\n 'America/Antigua',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/ComodRivadavia',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Aruba',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Atka',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Buenos_Aires',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Catamarca',\n 'America/Cayenne',\n 'America/Cayman',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Coral_Harbour',\n 'America/Cordoba',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Dominica',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Ensenada',\n 'America/Fort_Nelson',\n 'America/Fort_Wayne',\n 'America/Fortaleza',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Grenada',\n 'America/Guadeloupe',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Indianapolis',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Jujuy',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/Knox_IN',\n 'America/Kralendijk',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Louisville',\n 'America/Lower_Princes',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Marigot',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Mendoza',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Montreal',\n 'America/Montserrat',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port_of_Spain',\n 'America/Port-au-Prince',\n 'America/Porto_Acre',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Rosario',\n 'America/Santa_Isabel',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Shiprock',\n 'America/Sitka',\n 'America/St_Barthelemy',\n 'America/St_Johns',\n 'America/St_Kitts',\n 'America/St_Lucia',\n 'America/St_Thomas',\n 'America/St_Vincent',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Tortola',\n 'America/Vancouver',\n 'America/Virgin',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/McMurdo',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/South_Pole',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Arctic/Longyearbyen',\n 'Asia/Aden',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Ashkhabad',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Bahrain',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Calcutta',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Chongqing',\n 'Asia/Chungking',\n 'Asia/Colombo',\n 'Asia/Dacca',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Harbin',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Istanbul',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kashgar',\n 'Asia/Kathmandu',\n 'Asia/Katmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Kuwait',\n 'Asia/Macao',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Muscat',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Phnom_Penh',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qyzylorda',\n 'Asia/Rangoon',\n 'Asia/Riyadh',\n 'Asia/Saigon',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Tel_Aviv',\n 'Asia/Thimbu',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ujung_Pandang',\n 'Asia/Ulaanbaatar',\n 'Asia/Ulan_Bator',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vientiane',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faeroe',\n 'Atlantic/Faroe',\n 'Atlantic/Jan_Mayen',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/St_Helena',\n 'Atlantic/Stanley',\n 'Australia/ACT',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Canberra',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/LHI',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/North',\n 'Australia/NSW',\n 'Australia/Perth',\n 'Australia/Queensland',\n 'Australia/South',\n 'Australia/Sydney',\n 'Australia/Tasmania',\n 'Australia/Victoria',\n 'Australia/West',\n 'Australia/Yancowinna',\n 'Brazil/Acre',\n 'Brazil/DeNoronha',\n 'Brazil/East',\n 'Brazil/West',\n 'Canada/Atlantic',\n 'Canada/Central',\n 'Canada/Eastern',\n 'Canada/Mountain',\n 'Canada/Newfoundland',\n 'Canada/Pacific',\n 'Canada/Saskatchewan',\n 'Canada/Yukon',\n 'CET',\n 'Chile/Continental',\n 'Chile/EasterIsland',\n 'CST6CDT',\n 'Cuba',\n 'EET',\n 'Egypt',\n 'Eire',\n 'EST',\n 'EST5EDT',\n 'Etc/GMT',\n 'Etc/GMT+0',\n 'Etc/GMT+1',\n 'Etc/GMT+10',\n 'Etc/GMT+11',\n 'Etc/GMT+12',\n 'Etc/GMT+2',\n 'Etc/GMT+3',\n 'Etc/GMT+4',\n 'Etc/GMT+5',\n 'Etc/GMT+6',\n 'Etc/GMT+7',\n 'Etc/GMT+8',\n 'Etc/GMT+9',\n 'Etc/GMT0',\n 'Etc/GMT-0',\n 'Etc/GMT-1',\n 'Etc/GMT-10',\n 'Etc/GMT-11',\n 'Etc/GMT-12',\n 'Etc/GMT-13',\n 'Etc/GMT-14',\n 'Etc/GMT-2',\n 'Etc/GMT-3',\n 'Etc/GMT-4',\n 'Etc/GMT-5',\n 'Etc/GMT-6',\n 'Etc/GMT-7',\n 'Etc/GMT-8',\n 'Etc/GMT-9',\n 'Etc/Greenwich',\n 'Etc/UCT',\n 'Etc/Universal',\n 'Etc/UTC',\n 'Etc/Zulu',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belfast',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Bratislava',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Busingen',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Guernsey',\n 'Europe/Helsinki',\n 'Europe/Isle_of_Man',\n 'Europe/Istanbul',\n 'Europe/Jersey',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/Ljubljana',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Mariehamn',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Asia/Nicosia',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Podgorica',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/San_Marino',\n 'Europe/Sarajevo',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Skopje',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Tiraspol',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vaduz',\n 'Europe/Vatican',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zagreb',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'GB',\n 'GB-Eire',\n 'GMT',\n 'GMT+0',\n 'GMT0',\n 'GMT−0',\n 'Greenwich',\n 'Hongkong',\n 'HST',\n 'Iceland',\n 'Indian/Antananarivo',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Comoro',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Mayotte',\n 'Indian/Reunion',\n 'Iran',\n 'Israel',\n 'Jamaica',\n 'Japan',\n 'Kwajalein',\n 'Libya',\n 'MET',\n 'Mexico/BajaNorte',\n 'Mexico/BajaSur',\n 'Mexico/General',\n 'MST',\n 'MST7MDT',\n 'Navajo',\n 'NZ',\n 'NZ-CHAT',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Johnston',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Midway',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Ponape',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Saipan',\n 'Pacific/Samoa',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Truk',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n 'Pacific/Yap',\n 'Poland',\n 'Portugal',\n 'PRC',\n 'PST8PDT',\n 'ROC',\n 'ROK',\n 'Singapore',\n 'Turkey',\n 'UCT',\n 'Universal',\n 'US/Alaska',\n 'US/Aleutian',\n 'US/Arizona',\n 'US/Central',\n 'US/Eastern',\n 'US/East-Indiana',\n 'US/Hawaii',\n 'US/Indiana-Starke',\n 'US/Michigan',\n 'US/Mountain',\n 'US/Pacific',\n 'US/Pacific-New',\n 'US/Samoa',\n 'UTC',\n 'WET',\n 'W-SU',\n 'Zulu',\n]\n","// Libraries\nimport HoneyBadger from 'honeybadger-js'\nimport {NormalizedSchema} from 'normalizr'\n\n// Types\nimport {Organization, RemoteDataState, OrgEntities} from 'src/types'\n\n// Action Types\nexport const SET_ORGS = 'SET_ORGS'\nexport const SET_ORG = 'SET_ORG'\nexport const ADD_ORG = 'ADD_ORG'\nexport const REMOVE_ORG = 'REMOVE_ORG'\nexport const EDIT_ORG = 'EDIT_ORG'\n\n// Action Definitions\nexport type Action =\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n\nexport const setOrgs = (\n status: RemoteDataState,\n schema?: NormalizedSchema\n) => {\n return {\n type: SET_ORGS,\n schema,\n status,\n } as const\n}\n\nexport const setOrg = (org: Organization) => {\n HoneyBadger.setContext({\n orgID: org.id,\n })\n return {\n type: SET_ORG,\n org,\n } as const\n}\n\nexport const addOrg = (schema: NormalizedSchema) =>\n ({\n type: ADD_ORG,\n schema,\n } as const)\n\nexport const removeOrg = (id: string) =>\n ({\n type: REMOVE_ORG,\n id,\n } as const)\n\nexport const editOrg = (schema: NormalizedSchema) =>\n ({\n type: EDIT_ORG,\n schema,\n } as const)\n","import _ from 'lodash'\n\n// Constants\nimport {\n telegrafPluginsInfo,\n pluginsByBundle,\n} from 'src/dataLoaders/constants/pluginConfigs'\n\n// Types\nimport {\n TelegrafPluginName,\n ConfigFields,\n Plugin,\n BundleName,\n} from 'src/types/dataLoaders'\n\nexport const getConfigFields = (\n pluginName: TelegrafPluginName\n): ConfigFields => {\n return telegrafPluginsInfo[pluginName].fields\n}\n\nexport const updateConfigFields = (\n plugin: T,\n fieldName: string,\n value: string[] | string\n): T => {\n return Object.assign({}, plugin, {\n config: Object.assign({}, _.get(plugin, 'config', {}), {\n [fieldName]: value,\n }),\n })\n}\n\nexport const createNewPlugin = (name: TelegrafPluginName): Plugin => {\n return telegrafPluginsInfo[name].defaults\n}\n\nexport const isPluginUniqueToBundle = (\n telegrafPlugin: TelegrafPluginName,\n bundle: BundleName,\n bundles: BundleName[]\n): boolean => {\n return bundles.reduce((acc: boolean, b) => {\n if (b === bundle) {\n return acc\n }\n\n pluginsByBundle[b].forEach(p => {\n if (p === telegrafPlugin) {\n acc = false\n }\n })\n\n return acc\n }, true)\n}\n\nexport const isPluginInBundle = (\n telegrafPlugin: TelegrafPluginName,\n bundle: BundleName\n) => {\n return !!pluginsByBundle[bundle].find(p => p === telegrafPlugin)\n}\n","import _ from 'lodash'\n\nexport function getDeep(\n obj: any,\n path: string | number,\n fallback: T\n): T {\n return _.get(obj, path, fallback)\n}\n","export const validateURI = (value: string): boolean => {\n const regex = /http[s]?:\\/\\//\n\n if (regex.test(value)) {\n return true\n }\n return false\n}\n","// Libraries\nimport {NormalizedSchema} from 'normalizr'\n\n// Types\nimport {RemoteDataState, TelegrafEntities} from 'src/types'\nimport {Action as NotifyAction} from 'src/shared/actions/notifications'\n\nexport const SET_TELEGRAFS = 'SET_TELEGRAFS'\nexport const ADD_TELEGRAF = 'ADD_TELEGRAF'\nexport const EDIT_TELEGRAF = 'EDIT_TELEGRAF'\nexport const REMOVE_TELEGRAF = 'REMOVE_TELEGRAF'\nexport const SET_CURRENT_CONFIG = 'SET_CURRENT_CONFIG'\n\nexport type Action =\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n | NotifyAction\n\nexport const setTelegrafs = (\n status: RemoteDataState,\n schema?: NormalizedSchema\n) =>\n ({\n type: SET_TELEGRAFS,\n status,\n schema,\n } as const)\n\nexport const addTelegraf = (\n schema: NormalizedSchema\n) =>\n ({\n type: ADD_TELEGRAF,\n schema,\n } as const)\n\nexport const editTelegraf = (\n schema: NormalizedSchema\n) =>\n ({\n type: EDIT_TELEGRAF,\n schema,\n } as const)\n\nexport const removeTelegraf = (id: string) =>\n ({\n type: REMOVE_TELEGRAF,\n id,\n } as const)\n\nexport const setCurrentConfig = (status: RemoteDataState, item?: string) =>\n ({\n type: SET_CURRENT_CONFIG,\n status,\n item,\n } as const)\n","// Types\nimport {RemoteDataState, AuthEntities} from 'src/types'\nimport {NormalizedSchema} from 'normalizr'\n\nexport const SET_AUTH = 'SET_AUTH'\nexport const ADD_AUTH = 'ADD_AUTH'\nexport const EDIT_AUTH = 'EDIT_AUTH'\nexport const REMOVE_AUTH = 'REMOVE_AUTH'\n\nexport type Action =\n | ReturnType\n | ReturnType\n | ReturnType\n | ReturnType\n\nexport const setAuthorizations = (\n status: RemoteDataState,\n schema?: NormalizedSchema\n) =>\n ({\n type: SET_AUTH,\n status,\n schema,\n } as const)\n\nexport const addAuthorization = (\n schema: NormalizedSchema\n) =>\n ({\n type: ADD_AUTH,\n schema,\n } as const)\n\nexport const editAuthorization = (\n schema: NormalizedSchema\n) =>\n ({\n type: EDIT_AUTH,\n schema,\n } as const)\n\nexport const removeAuthorization = (id: string) =>\n ({\n type: REMOVE_AUTH,\n id,\n } as const)\n","// Libraries\nimport {Dispatch} from 'react'\n\n// Actions\nimport {loadBuckets} from 'src/timeMachine/actions/queryBuilder'\nimport {saveAndExecuteQueries} from 'src/timeMachine/actions/queries'\nimport {\n reloadTagSelectors,\n Action as QueryBuilderAction,\n} from 'src/timeMachine/actions/queryBuilder'\nimport {convertCheckToCustom} from 'src/alerting/actions/alertBuilder'\nimport {setDashboardTimeRange} from 'src/dashboards/actions/ranges'\n\n// Selectors\nimport {getActiveQuery} from 'src/timeMachine/selectors'\n\n// Utils\nimport {createView} from 'src/views/helpers'\nimport {createCheckQueryFromAlertBuilder} from 'src/alerting/utils/customCheck'\nimport {currentContext} from 'src/shared/selectors/currentContext'\n\n// Types\nimport {TimeMachineState} from 'src/timeMachine/reducers'\nimport {Action as QueryResultsAction} from 'src/timeMachine/actions/queries'\nimport {Action as AlertBuilderAction} from 'src/alerting/actions/alertBuilder'\nimport {\n TimeRange,\n ViewType,\n Axes,\n DecimalPlaces,\n XYGeom,\n FieldOption,\n TableOptions,\n TimeMachineTab,\n AutoRefresh,\n TimeMachineID,\n XYViewProperties,\n GetState,\n} from 'src/types'\nimport {Color} from 'src/types/colors'\nimport {HistogramPosition, LinePosition} from '@influxdata/giraffe'\n\nexport type Action =\n | QueryBuilderAction\n | QueryResultsAction\n | SetActiveTimeMachineAction\n | SetActiveTabAction\n | SetNameAction\n | SetAutoRefreshAction\n | SetTypeAction\n | SetActiveQueryText\n | SetIsViewingRawDataAction\n | SetGeomAction\n | SetDecimalPlaces\n | SetBackgroundThresholdColoringAction\n | SetTextThresholdColoringAction\n | SetColors\n | SetYAxisLabel\n | SetYAxisBounds\n | SetAxisPrefix\n | SetAxisSuffix\n | SetYAxisBase\n | SetPrefix\n | SetTickPrefix\n | SetSuffix\n | SetTickSuffix\n | SetActiveQueryIndexAction\n | AddQueryAction\n | RemoveQueryAction\n | ToggleQueryAction\n | EditActiveQueryAsFluxAction\n | EditActiveQueryWithBuilderAction\n | UpdateActiveQueryNameAction\n | SetFieldOptionsAction\n | UpdateFieldOptionAction\n | SetTableOptionsAction\n | SetTimeFormatAction\n | SetXColumnAction\n | SetYColumnAction\n | SetBinSizeAction\n | SetColorHexesAction\n | SetFillColumnsAction\n | SetSymbolColumnsAction\n | SetBinCountAction\n | SetHistogramPositionAction\n | ReturnType\n | SetXDomainAction\n | SetYDomainAction\n | SetXAxisLabelAction\n | SetShadeBelowAction\n | SetHoverDimensionAction\n | ReturnType\n | ReturnType\n\ntype ExternalActions =\n | ReturnType\n | ReturnType\n\ninterface SetActiveTimeMachineAction {\n type: 'SET_ACTIVE_TIME_MACHINE'\n payload: {\n activeTimeMachineID: TimeMachineID\n initialState: Partial\n }\n}\n\nexport const setActiveTimeMachine = (\n activeTimeMachineID: TimeMachineID,\n initialState: Partial = {}\n): SetActiveTimeMachineAction => ({\n type: 'SET_ACTIVE_TIME_MACHINE',\n payload: {activeTimeMachineID, initialState},\n})\n\ninterface SetActiveTabAction {\n type: 'SET_ACTIVE_TAB'\n payload: {activeTab: TimeMachineTab}\n}\n\nexport const setActiveTab = (\n activeTab: TimeMachineTab\n): SetActiveTabAction => ({\n type: 'SET_ACTIVE_TAB',\n payload: {activeTab},\n})\n\nexport const toggleVisOptions = () => ({\n type: 'TOGGLE_VIS_OPTIONS' as 'TOGGLE_VIS_OPTIONS',\n})\n\ninterface SetNameAction {\n type: 'SET_VIEW_NAME'\n payload: {name: string}\n}\n\nexport const setName = (name: string): SetNameAction => ({\n type: 'SET_VIEW_NAME',\n payload: {name},\n})\n\nexport const setTimeRange = (timeRange: TimeRange) => (dispatch, getState) => {\n const state = getState()\n const contextID = currentContext(state)\n const activeQuery = getActiveQuery(state)\n\n dispatch(setDashboardTimeRange(contextID, timeRange))\n dispatch(saveAndExecuteQueries())\n if (activeQuery.editMode === 'builder') {\n dispatch(reloadTagSelectors())\n }\n}\n\ninterface SetAutoRefreshAction {\n type: 'SET_AUTO_REFRESH'\n payload: {autoRefresh: AutoRefresh}\n}\n\nexport const setAutoRefresh = (\n autoRefresh: AutoRefresh\n): SetAutoRefreshAction => ({\n type: 'SET_AUTO_REFRESH',\n payload: {autoRefresh},\n})\n\ninterface SetTypeAction {\n type: 'SET_VIEW_TYPE'\n payload: {type: ViewType}\n}\n\nexport const setType = (type: ViewType): SetTypeAction => ({\n type: 'SET_VIEW_TYPE',\n payload: {type},\n})\n\ninterface SetActiveQueryText {\n type: 'SET_ACTIVE_QUERY_TEXT'\n payload: {text: string}\n}\n\nexport const setActiveQueryText = (text: string): SetActiveQueryText => ({\n type: 'SET_ACTIVE_QUERY_TEXT',\n payload: {text},\n})\n\ninterface SetIsViewingRawDataAction {\n type: 'SET_IS_VIEWING_RAW_DATA'\n payload: {isViewingRawData: boolean}\n}\n\nexport const setIsViewingRawData = (\n isViewingRawData: boolean\n): SetIsViewingRawDataAction => ({\n type: 'SET_IS_VIEWING_RAW_DATA',\n payload: {isViewingRawData},\n})\n\ninterface SetGeomAction {\n type: 'SET_GEOM'\n payload: {geom: XYGeom}\n}\n\nexport const setGeom = (geom: XYGeom): SetGeomAction => ({\n type: 'SET_GEOM',\n payload: {geom},\n})\n\ninterface SetYAxisLabel {\n type: 'SET_Y_AXIS_LABEL'\n payload: {yAxisLabel: string}\n}\n\nexport const setYAxisLabel = (yAxisLabel: string): SetYAxisLabel => ({\n type: 'SET_Y_AXIS_LABEL',\n payload: {yAxisLabel},\n})\n\ninterface SetYAxisBounds {\n type: 'SET_Y_AXIS_BOUNDS'\n payload: {bounds: Axes['y']['bounds']}\n}\n\nexport const setYAxisBounds = (\n bounds: Axes['y']['bounds']\n): SetYAxisBounds => ({\n type: 'SET_Y_AXIS_BOUNDS',\n payload: {bounds},\n})\n\ninterface SetAxisPrefix {\n type: 'SET_AXIS_PREFIX'\n payload: {prefix: string; axis: 'x' | 'y'}\n}\n\nexport const setAxisPrefix = (\n prefix: string,\n axis: 'x' | 'y'\n): SetAxisPrefix => ({\n type: 'SET_AXIS_PREFIX',\n payload: {prefix, axis},\n})\n\ninterface SetAxisSuffix {\n type: 'SET_AXIS_SUFFIX'\n payload: {suffix: string; axis: 'x' | 'y'}\n}\n\nexport const setAxisSuffix = (\n suffix: string,\n axis: 'x' | 'y'\n): SetAxisSuffix => ({\n type: 'SET_AXIS_SUFFIX',\n payload: {suffix, axis},\n})\n\ninterface SetYAxisBase {\n type: 'SET_Y_AXIS_BASE'\n payload: {base: string}\n}\n\nexport const setYAxisBase = (base: string): SetYAxisBase => ({\n type: 'SET_Y_AXIS_BASE',\n payload: {base},\n})\n\ninterface SetPrefix {\n type: 'SET_PREFIX'\n payload: {prefix: string}\n}\n\nexport const setPrefix = (prefix: string): SetPrefix => ({\n type: 'SET_PREFIX',\n payload: {prefix},\n})\n\ninterface SetTickPrefix {\n type: 'SET_TICK_PREFIX'\n payload: {tickPrefix: string}\n}\n\nexport const setTickPrefix = (tickPrefix: string): SetTickPrefix => ({\n type: 'SET_TICK_PREFIX',\n payload: {tickPrefix},\n})\n\ninterface SetSuffix {\n type: 'SET_SUFFIX'\n payload: {suffix: string}\n}\n\nexport const setSuffix = (suffix: string): SetSuffix => ({\n type: 'SET_SUFFIX',\n payload: {suffix},\n})\n\ninterface SetTickSuffix {\n type: 'SET_TICK_SUFFIX'\n payload: {tickSuffix: string}\n}\n\nexport const setTickSuffix = (tickSuffix: string): SetTickSuffix => ({\n type: 'SET_TICK_SUFFIX',\n payload: {tickSuffix},\n})\n\ninterface SetColors {\n type: 'SET_COLORS'\n payload: {colors: Color[]}\n}\n\nexport const setColors = (colors: Color[]): SetColors => ({\n type: 'SET_COLORS',\n payload: {colors},\n})\n\ninterface SetDecimalPlaces {\n type: 'SET_DECIMAL_PLACES'\n payload: {decimalPlaces: DecimalPlaces}\n}\n\nexport const setDecimalPlaces = (\n decimalPlaces: DecimalPlaces\n): SetDecimalPlaces => ({\n type: 'SET_DECIMAL_PLACES',\n payload: {decimalPlaces},\n})\n\ninterface SetBackgroundThresholdColoringAction {\n type: 'SET_BACKGROUND_THRESHOLD_COLORING'\n}\n\nexport const setBackgroundThresholdColoring = (): SetBackgroundThresholdColoringAction => ({\n type: 'SET_BACKGROUND_THRESHOLD_COLORING',\n})\n\ninterface SetTextThresholdColoringAction {\n type: 'SET_TEXT_THRESHOLD_COLORING'\n}\n\nexport const setTextThresholdColoring = (): SetTextThresholdColoringAction => ({\n type: 'SET_TEXT_THRESHOLD_COLORING',\n})\n\ninterface EditActiveQueryWithBuilderAction {\n type: 'EDIT_ACTIVE_QUERY_WITH_BUILDER'\n}\n\nexport const editActiveQueryWithBuilderSync = (): EditActiveQueryWithBuilderAction => ({\n type: 'EDIT_ACTIVE_QUERY_WITH_BUILDER',\n})\n\nexport const editActiveQueryWithBuilder = () => dispatch => {\n dispatch(editActiveQueryWithBuilderSync())\n dispatch(saveAndExecuteQueries())\n}\n\ninterface ResetActiveQueryWithBuilder {\n type: 'RESET_QUERY_AND_EDIT_WITH_BUILDER'\n}\n\nexport const resetActiveQueryWithBuilder = (): ResetActiveQueryWithBuilder => ({\n type: 'RESET_QUERY_AND_EDIT_WITH_BUILDER',\n})\n\nexport const resetActiveQuerySwitchToBuilder = () => dispatch => {\n dispatch(resetActiveQueryWithBuilder())\n dispatch(saveAndExecuteQueries())\n}\n\ninterface EditActiveQueryAsFluxAction {\n type: 'EDIT_ACTIVE_QUERY_AS_FLUX'\n}\n\nexport const editActiveQueryAsFlux = (): EditActiveQueryAsFluxAction => ({\n type: 'EDIT_ACTIVE_QUERY_AS_FLUX',\n})\n\ninterface SetActiveQueryIndexAction {\n type: 'SET_ACTIVE_QUERY_INDEX'\n payload: {activeQueryIndex: number}\n}\n\nexport const setActiveQueryIndexSync = (\n activeQueryIndex: number\n): SetActiveQueryIndexAction => ({\n type: 'SET_ACTIVE_QUERY_INDEX',\n payload: {activeQueryIndex},\n})\n\nexport const setActiveQueryIndex = (activeQueryIndex: number) => (\n dispatch: Dispatch\n) => {\n dispatch(setActiveQueryIndexSync(activeQueryIndex))\n dispatch(loadBuckets())\n}\n\ninterface AddQueryAction {\n type: 'ADD_QUERY'\n}\n\nexport const addQuerySync = (): AddQueryAction => ({\n type: 'ADD_QUERY',\n})\n\nexport const addQuery = () => (\n dispatch: Dispatch\n) => {\n dispatch(addQuerySync())\n dispatch(loadBuckets())\n}\n\ninterface RemoveQueryAction {\n type: 'REMOVE_QUERY'\n payload: {queryIndex: number}\n}\n\nexport const removeQuerySync = (queryIndex: number): RemoveQueryAction => ({\n type: 'REMOVE_QUERY',\n payload: {queryIndex},\n})\n\ninterface ToggleQueryAction {\n type: 'TOGGLE_QUERY'\n payload: {queryIndex: number}\n}\n\nexport const toggleQuerySync = (queryIndex: number): ToggleQueryAction => ({\n type: 'TOGGLE_QUERY',\n payload: {queryIndex},\n})\n\nexport const removeQuery = (queryIndex: number) => (\n dispatch: Dispatch\n) => {\n dispatch(removeQuerySync(queryIndex))\n dispatch(loadBuckets())\n dispatch(saveAndExecuteQueries())\n}\n\nexport const toggleQuery = (queryIndex: number) => (\n dispatch: Dispatch\n) => {\n dispatch(toggleQuerySync(queryIndex))\n dispatch(saveAndExecuteQueries())\n}\n\ninterface UpdateActiveQueryNameAction {\n type: 'UPDATE_ACTIVE_QUERY_NAME'\n payload: {queryName: string}\n}\n\nexport const updateActiveQueryName = (\n queryName: string\n): UpdateActiveQueryNameAction => ({\n type: 'UPDATE_ACTIVE_QUERY_NAME',\n payload: {queryName},\n})\n\ninterface SetFieldOptionsAction {\n type: 'SET_FIELD_OPTIONS'\n payload: {\n fieldOptions: FieldOption[]\n }\n}\n\nexport const setFieldOptions = (\n fieldOptions: FieldOption[]\n): SetFieldOptionsAction => ({\n type: 'SET_FIELD_OPTIONS',\n payload: {fieldOptions},\n})\n\ninterface UpdateFieldOptionAction {\n type: 'UPDATE_FIELD_OPTION'\n payload: {\n option: FieldOption\n }\n}\n\nexport const updateFieldOption = (\n option: FieldOption\n): UpdateFieldOptionAction => ({\n type: 'UPDATE_FIELD_OPTION',\n payload: {option},\n})\n\ninterface SetTableOptionsAction {\n type: 'SET_TABLE_OPTIONS'\n payload: {\n tableOptions: TableOptions\n }\n}\n\nexport const setTableOptions = (\n tableOptions: TableOptions\n): SetTableOptionsAction => ({\n type: 'SET_TABLE_OPTIONS',\n payload: {tableOptions},\n})\n\ninterface SetTimeFormatAction {\n type: 'SET_TIME_FORMAT'\n payload: {\n timeFormat: string\n }\n}\n\nexport const setTimeFormat = (timeFormat: string): SetTimeFormatAction => ({\n type: 'SET_TIME_FORMAT',\n payload: {timeFormat},\n})\n\ninterface SetXColumnAction {\n type: 'SET_X_COLUMN'\n payload: {xColumn: string}\n}\n\nexport const setXColumn = (xColumn: string): SetXColumnAction => ({\n type: 'SET_X_COLUMN',\n payload: {xColumn},\n})\n\ninterface SetYColumnAction {\n type: 'SET_Y_COLUMN'\n payload: {yColumn: string}\n}\n\nexport const setYColumn = (yColumn: string): SetYColumnAction => ({\n type: 'SET_Y_COLUMN',\n payload: {yColumn},\n})\n\ninterface SetShadeBelowAction {\n type: 'SET_SHADE_BELOW'\n payload: {shadeBelow}\n}\n\nexport const setShadeBelow = (shadeBelow: boolean): SetShadeBelowAction => ({\n type: 'SET_SHADE_BELOW',\n payload: {shadeBelow},\n})\n\ninterface SetHoverDimensionAction {\n type: 'SET_HOVER_DIMENSION'\n payload: {hoverDimension}\n}\n\nexport const SetHoverDimension = (\n hoverDimension: 'auto' | 'x' | 'y' | 'xy'\n): SetHoverDimensionAction => ({\n type: 'SET_HOVER_DIMENSION',\n payload: {hoverDimension},\n})\n\ninterface SetBinSizeAction {\n type: 'SET_BIN_SIZE'\n payload: {binSize: number}\n}\n\nexport const setBinSize = (binSize: number): SetBinSizeAction => ({\n type: 'SET_BIN_SIZE',\n payload: {binSize},\n})\n\ninterface SetColorHexesAction {\n type: 'SET_COLOR_HEXES'\n payload: {colors: string[]}\n}\n\nexport const setColorHexes = (colors: string[]): SetColorHexesAction => ({\n type: 'SET_COLOR_HEXES',\n payload: {colors},\n})\n\ninterface SetFillColumnsAction {\n type: 'SET_FILL_COLUMNS'\n payload: {fillColumns: string[]}\n}\n\nexport const setFillColumns = (\n fillColumns: string[]\n): SetFillColumnsAction => ({\n type: 'SET_FILL_COLUMNS',\n payload: {fillColumns},\n})\n\ninterface SetSymbolColumnsAction {\n type: 'SET_SYMBOL_COLUMNS'\n payload: {symbolColumns: string[]}\n}\n\nexport const setSymbolColumns = (\n symbolColumns: string[]\n): SetSymbolColumnsAction => ({\n type: 'SET_SYMBOL_COLUMNS',\n payload: {symbolColumns},\n})\n\ninterface SetBinCountAction {\n type: 'SET_BIN_COUNT'\n payload: {binCount: number}\n}\n\nexport const setBinCount = (binCount: number): SetBinCountAction => ({\n type: 'SET_BIN_COUNT',\n payload: {binCount},\n})\n\ninterface SetHistogramPositionAction {\n type: 'SET_HISTOGRAM_POSITION'\n payload: {position: HistogramPosition}\n}\n\nexport const setHistogramPosition = (\n position: HistogramPosition\n): SetHistogramPositionAction => ({\n type: 'SET_HISTOGRAM_POSITION',\n payload: {position},\n})\n\nexport const setLinePosition = (position: LinePosition) => ({\n type: 'SET_LINE_POSITION' as 'SET_LINE_POSITION',\n payload: {position},\n})\n\ninterface SetXDomainAction {\n type: 'SET_VIEW_X_DOMAIN'\n payload: {xDomain: [number, number]}\n}\n\nexport const setXDomain = (xDomain: [number, number]): SetXDomainAction => ({\n type: 'SET_VIEW_X_DOMAIN',\n payload: {xDomain},\n})\n\ninterface SetYDomainAction {\n type: 'SET_VIEW_Y_DOMAIN'\n payload: {yDomain: [number, number]}\n}\n\nexport const setYDomain = (yDomain: [number, number]): SetYDomainAction => ({\n type: 'SET_VIEW_Y_DOMAIN',\n payload: {yDomain},\n})\n\ninterface SetXAxisLabelAction {\n type: 'SET_X_AXIS_LABEL'\n payload: {xAxisLabel: string}\n}\n\nexport const setXAxisLabel = (xAxisLabel: string): SetXAxisLabelAction => ({\n type: 'SET_X_AXIS_LABEL',\n payload: {xAxisLabel},\n})\n\nexport const loadNewVEO = () => (\n dispatch: Dispatch\n): void => {\n dispatch(\n setActiveTimeMachine('veo', {\n view: createView('xy'),\n })\n )\n}\n\nexport const loadCustomCheckQueryState = () => (\n dispatch: Dispatch,\n getState: GetState\n) => {\n const state = getState()\n\n const {alertBuilder} = state\n\n const {builderConfig} = getActiveQuery(state)\n\n dispatch(\n setActiveQueryText(\n createCheckQueryFromAlertBuilder(builderConfig, alertBuilder)\n )\n )\n\n dispatch(setType('table'))\n\n dispatch(convertCheckToCustom())\n\n dispatch(setActiveTab('customCheckQuery'))\n}\n","import {get} from 'lodash'\n\n// Types\nimport {AlertBuilderState} from 'src/alerting/reducers/alertBuilder'\nimport {BuilderConfig} from 'src/types'\n\nexport function createCheckQueryFromAlertBuilder(\n builderConfig: BuilderConfig,\n {\n statusMessageTemplate,\n tags,\n id,\n name,\n every,\n offset,\n type,\n staleTime,\n level,\n timeSince,\n thresholds,\n }: AlertBuilderState\n): string {\n const dataFrom = `data = from(bucket: \"${builderConfig.buckets[0]}\")`\n\n const filterStatements = builderConfig.tags\n .filter(tag => !!tag.values[0])\n .map(tag => ` |> filter(fn: (r) => r.${tag.key} == \"${tag.values[0]}\")`)\n\n const messageFn = `messageFn = (r) =>(\"${statusMessageTemplate}\")`\n\n const checkTags = tags\n ? tags\n .filter(t => t.key && t.value)\n .map(t => `${t.key}: \"${t.value}\"`)\n .join(',')\n : ''\n\n const checkStatement = [\n 'check = {',\n ` _check_id: \"${id || ''}\",`,\n ` _check_name: \"${name}\",`,\n ` _type: \"custom\",`,\n ` tags: {${checkTags}},`,\n ` every: ${every}`,\n '}',\n ]\n\n const optionTask = [\n 'option task = {',\n ` name: \"${name}\",`,\n ` every: ${every}, // expected to match check.every`,\n ` offset: ${offset}`,\n '}',\n ]\n\n if (type === 'deadman') {\n const imports = [\n 'package main',\n 'import \"influxdata/influxdb/monitor\"',\n 'import \"experimental\"',\n 'import \"influxdata/influxdb/v1\"',\n ]\n\n const dataRange = ` |> range(start: -${staleTime})`\n\n const dataDefinition = [dataFrom, dataRange, ...filterStatements]\n\n const levelFunction = `${level.toLowerCase()} = (r) => (r.dead)`\n\n const checkLevel = `${level.toLowerCase()}:${level.toLowerCase()}`\n\n const queryStatement = [\n 'data',\n ' |> v1.fieldsAsCols()',\n ` |> monitor.deadman(t: experimental.subDuration(from: now(), d: ${timeSince}))`,\n ` |> monitor.check(data: check, messageFn: messageFn,${checkLevel})`,\n ]\n\n const script: string[] = [\n imports.join('\\n'),\n checkStatement.join('\\n'),\n optionTask.join('\\n'),\n levelFunction,\n messageFn,\n dataDefinition.join('\\n'),\n queryStatement.join('\\n'),\n ]\n return script.join('\\n\\n')\n }\n\n if (type === 'threshold') {\n const imports = [\n 'package main',\n 'import \"influxdata/influxdb/monitor\"',\n 'import \"influxdata/influxdb/v1\"',\n ]\n\n const dataRange = ` |> range(start: -check.every)`\n\n const aggregateFunction = ` |> aggregateWindow(every: check.every, fn: ${builderConfig.functions[0].name}, createEmpty: false)`\n\n const dataDefinition = [\n dataFrom,\n dataRange,\n ...filterStatements,\n aggregateFunction,\n ]\n\n const thresholdExpressions = thresholds.map(t => {\n const fieldTag = builderConfig.tags.find(t => t.key === '_field')\n const fieldSelection = get(fieldTag, 'values[0]')\n\n const beginning = `${t.level.toLowerCase()} = (r) =>(r.${fieldSelection}`\n\n if (t.type === 'range') {\n if (t.within) {\n return `${beginning} > ${t.min}) and r.${fieldSelection} < ${t.max})`\n }\n return `${beginning} < ${t.min} and r.${fieldSelection} > ${t.max})`\n }\n\n const operator = t.type === 'greater' ? '>' : '<'\n\n return `${beginning} ${operator} ${t.value})`\n })\n\n const thresholdsDefined = thresholds.map(\n t => ` ${t.level.toLowerCase()}:${t.level.toLowerCase()}`\n )\n\n const queryStatement = [\n 'data',\n ' |> v1.fieldsAsCols()',\n ` |> monitor.check(data: check, messageFn: messageFn,${thresholdsDefined})`,\n ]\n\n const script: string[] = [\n imports.join('\\n'),\n checkStatement.join('\\n'),\n optionTask.join('\\n'),\n thresholdExpressions.join('\\n'),\n messageFn,\n dataDefinition.join('\\n'),\n queryStatement.join('\\n'),\n ]\n\n return script.join('\\n\\n')\n }\n}\n","// APIs\nimport * as api from 'src/client'\n\n// Types\nimport {Cell, View, NewView, RemoteDataState} from 'src/types'\n\nexport const getView = async (\n dashboardID: string,\n cellID: string\n): Promise => {\n const resp = await api.getDashboardsCellsView({dashboardID, cellID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n return {...resp.data, dashboardID, cellID, status: RemoteDataState.Done}\n}\n\nexport const updateView = async (\n dashboardID: string,\n cellID: string,\n view: NewView\n): Promise => {\n const resp = await api.patchDashboardsCellsView({\n dashboardID,\n cellID,\n data: view as View,\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const viewWithIDs: View = {\n ...resp.data,\n dashboardID,\n cellID,\n status: RemoteDataState.Done,\n }\n\n return viewWithIDs\n}\n\nexport const cloneUtilFunc = async (\n cells: Cell[],\n oldDashID: string,\n clonedDashID: string\n) => {\n const pendingViews = cells.map(cell =>\n api\n .getDashboardsCellsView({\n dashboardID: oldDashID,\n cellID: cell.id,\n })\n .then(res => {\n return {\n ...res,\n cellID: cell.id,\n }\n })\n )\n const views = await Promise.all(pendingViews)\n\n if (views.length > 0 && views.some(v => v.status !== 200)) {\n throw new Error('An error occurred cloning the dashboard')\n }\n\n return views.map(async v => {\n const view = v.data as View\n const cell = cells.find(c => c.id === view.id)\n\n if (cell) {\n const newCell = await api.postDashboardsCell({\n dashboardID: clonedDashID,\n data: cell,\n })\n\n if (newCell.status !== 201) {\n throw new Error('An error occurred cloning the dashboard')\n }\n\n return api.patchDashboardsCellsView({\n dashboardID: clonedDashID,\n cellID: newCell.data.id,\n data: view,\n })\n }\n })\n}\n","// Libraries\nimport {isObject, isArray} from 'lodash'\n\n/*\n Find all nodes in a tree matching the `predicate` function. Each node in the\n tree is an object, which may contain objects or arrays of objects as children\n under any key.\n*/\nexport const findNodes = (\n node: any,\n predicate: (node: any) => boolean,\n acc: any[] = []\n) => {\n if (predicate(node)) {\n acc.push(node)\n }\n\n for (const value of Object.values(node)) {\n if (isObject(value)) {\n findNodes(value, predicate, acc)\n } else if (isArray(value)) {\n for (const innerValue of value) {\n findNodes(innerValue, predicate, acc)\n }\n }\n }\n\n return acc\n}\n","import {\n TemplateType,\n LabelIncluded,\n VariableIncluded,\n Relationships,\n LabelRelationship,\n Label,\n Variable,\n} from 'src/types'\n\nexport function findIncludedsFromRelationships<\n T extends {id: string; type: TemplateType}\n>(\n includeds: {id: string; type: TemplateType}[],\n relationships: {id: string; type: TemplateType}[]\n): T[] {\n let intersection = []\n relationships.forEach(r => {\n const included = findIncludedFromRelationship(includeds, r)\n if (included) {\n intersection = [...intersection, included]\n }\n })\n return intersection\n}\n\nexport function findIncludedFromRelationship<\n T extends {id: string; type: TemplateType}\n>(\n included: {id: string; type: TemplateType}[],\n r: {id: string; type: TemplateType}\n): T {\n return included.find((i): i is T => i.id === r.id && i.type === r.type)\n}\n\nexport const findLabelsToCreate = (\n currentLabels: Label[],\n labels: LabelIncluded[]\n): LabelIncluded[] => {\n return labels.filter(\n l => !currentLabels.find(el => el.name === l.attributes.name)\n )\n}\n\nexport const findIncludedVariables = (included: {type: TemplateType}[]) => {\n return included.filter(\n (r): r is VariableIncluded => r.type === TemplateType.Variable\n )\n}\n\nexport const findVariablesToCreate = (\n existingVariables: Variable[],\n incomingVariables: VariableIncluded[]\n): VariableIncluded[] => {\n return incomingVariables.filter(\n v => !existingVariables.find(ev => ev.name === v.attributes.name)\n )\n}\n\nexport const hasLabelsRelationships = (resource: {\n relationships?: Relationships\n}) => !!resource.relationships && !!resource.relationships[TemplateType.Label]\n\nexport const getLabelRelationships = (resource: {\n relationships?: Relationships\n}): LabelRelationship[] => {\n if (!hasLabelsRelationships(resource)) {\n return []\n }\n\n return [].concat(resource.relationships[TemplateType.Label].data)\n}\n\nexport const getIncludedLabels = (included: {type: TemplateType}[]) =>\n included.filter((i): i is LabelIncluded => i.type === TemplateType.Label)\n\nexport interface TemplateDetails {\n directory: string\n templateExtension: string\n templateName: string\n}\n\n// See https://github.com/influxdata/community-templates/\nconst getTemplateDetailsFromGithubSource = (url: string): TemplateDetails => {\n const [, templatePath] = url.split('/master/')\n const [directory, name] = templatePath.split('/')\n const [templateName, templateExtension] = name.split('.')\n return {\n directory,\n templateExtension,\n templateName,\n }\n}\n\n// todo: implement when we load files\nconst getTemplateDetailsFromFileSource = (_source: string): TemplateDetails => {\n return {\n directory: '',\n templateExtension: '',\n templateName: '',\n }\n}\n\nexport const getTemplateDetails = (source: string): TemplateDetails => {\n if (source.includes('https')) {\n return getTemplateDetailsFromGithubSource(source)\n }\n\n if (source.includes('file://')) {\n return getTemplateDetailsFromFileSource(source)\n }\n\n throw new Error('unsupported format')\n}\n\nexport const getGithubUrlFromTemplateDetails = (\n directory: string,\n templateName: string,\n templateExtension: string\n): string => {\n return `https://github.com/influxdata/community-templates/blob/master/${directory}/${templateName}.${templateExtension}`\n}\n","import Papa from 'papaparse'\n\nconst enum InternalTypes {\n boolean = 'boolean',\n number = 'number',\n string = 'string',\n time = 'time',\n}\nconst enum ExternalTypes {\n boolean = 'boolean',\n unsignedLong = 'unsignedLong',\n long = 'long',\n double = 'double',\n string = 'string',\n time = 'dateTime:RFC3339',\n}\n\ntype TypeTranslationMap = {[key in ExternalTypes]: InternalTypes}\n\nconst TO_COLUMN_TYPE: TypeTranslationMap = {\n [ExternalTypes.boolean]: InternalTypes.boolean,\n [ExternalTypes.unsignedLong]: InternalTypes.number,\n [ExternalTypes.long]: InternalTypes.number,\n [ExternalTypes.double]: InternalTypes.number,\n [ExternalTypes.string]: InternalTypes.string,\n [ExternalTypes.time]: InternalTypes.time,\n}\n\ntype ParsedReturnTypes = string | undefined | null | number | boolean\n\nfunction parseValue(\n value: string | undefined,\n columnType: InternalTypes\n): ParsedReturnTypes {\n if (value === undefined) {\n return undefined\n }\n\n if (value === 'null') {\n return null\n }\n\n if (value === 'NaN') {\n return NaN\n }\n\n if (columnType === InternalTypes.boolean && value === 'true') {\n return true\n }\n\n if (columnType === InternalTypes.boolean && value === 'false') {\n return false\n }\n\n if (columnType === InternalTypes.string) {\n return value\n }\n\n if (columnType === InternalTypes.time) {\n return Date.parse(value.replace(/(\\r\\n|\\n|\\r)/gm, '')) // remove newlines from time strings\n }\n\n if (columnType === InternalTypes.number && value === '') {\n return null\n }\n\n if (columnType === InternalTypes.number) {\n return Number(value)\n }\n\n return null\n}\n\n/*\n Convert a [Flux CSV response][0] to a `Table`.\n For example, given a series of Flux tables that look like this:\n column_a | column_b | column_c <-- name\n long | string | long <-- type\n ------------------------------\n 1 | \"g\" | 34\n 2 | \"f\" | 58\n 3 | \"c\" | 21\n column_b | column_d <-- name\n double | boolean <-- type\n -------------------\n 1.0 | true\n 2.0 | true\n 3.0 | true\n\n This function will spread them out to a single wide table that looks like\n this instead:\n column_a | column_b (string) | column_c | column_b (number) | column_d <-- key\n column_a | column_b | column_c | column_b | column_d <-- name\n number | string | number | number | bool <-- type\n ---------------------------------------------------------------------\n 1 | \"g\" | 34 | |\n 2 | \"f\" | 58 | |\n 3 | | 21 | |\n | | | 1.0 | true\n | | | 2.0 | true\n | | | 3.0 | true\n\n The `#group`, `#datatype`, and `#default` [annotations][1] are expected to be\n in the input Flux CSV.\n Values are coerced into appropriate JavaScript types based on the Flux\n `#datatype` annotation for the table\n The `Table` stores a `key` for each column which is separate from the column\n `name`. If multiple Flux tables have the same column but with different\n types, they will be distinguished by different keys in the resulting `Table`;\n otherwise the `key` and `name` for each column in the result table will be\n identical.\n\n [0]: https://github.com/influxdata/flux/blob/master/docs/SPEC.md#csv\n [1]: https://github.com/influxdata/flux/blob/master/docs/SPEC.md#annotations\n */\n\ninterface ChunkBoundary {\n start: number\n stop: number\n}\n\ntype ParsedFluxColumnLookup = {[key: string]: ParsedFluxColumn}\n\nexport interface ParsedFluxColumn {\n name: string\n group: string\n type: InternalTypes\n data: ParsedReturnTypes[]\n}\n\nexport interface ParsedFlux {\n table: {\n columnKeys: string[]\n columns: ParsedFluxColumnLookup\n length: number\n }\n fluxGroupKeyUnion: string[]\n}\n\nexport default function fromFlux(csv: string): ParsedFlux {\n /*\n A Flux CSV response can contain multiple CSV files each joined by a newline.\n See https://github.com/influxdata/flux/blob/master/docs/SPEC.md#multiple-tables.\n\n Split the response into separate chunks whenever we encounter:\n 1. A newline\n 2. Followed by any amount of whitespace\n 3. Followed by a newline\n 4. Followed by a `#` character\n The last condition is [necessary][0] for handling CSV responses with\n values containing newlines.\n\n [0]: https://github.com/influxdata/influxdb/issues/15017\n */\n const output: ParsedFluxColumnLookup = {},\n groupKey: {[key: string]: boolean} = {},\n names: {[key: string]: {[key: string]: boolean}} = {}\n\n const chunks: ChunkBoundary[] = [],\n regerz = /\\n\\s*\\n#/g\n let match,\n lastRange = 0\n\n while ((match = regerz.exec(csv)) !== null) {\n chunks.push({\n start: lastRange,\n stop: match.index,\n })\n lastRange = match.index + match[0].length - 1\n }\n chunks.push({\n start: lastRange,\n stop: csv.length,\n })\n\n let runningTotal = 0,\n currentChunkIndex,\n headerLocation,\n currentLineInHeader,\n currentColumnIndex,\n currentLineIndex,\n columnName,\n columnType,\n columnKey,\n annotations,\n parsed\n\n for (\n currentChunkIndex = 0;\n currentChunkIndex < chunks.length;\n currentChunkIndex++\n ) {\n annotations = {}\n parsed = Papa.parse(\n csv.substring(\n chunks[currentChunkIndex].start,\n chunks[currentChunkIndex].stop\n ),\n {\n delimiter: ',',\n newline: '\\n',\n }\n ).data\n\n // trim whitespace from the beginning\n while (parsed.length && parsed[0].length === 1) {\n parsed.shift()\n }\n\n // only happens on malformed input\n if (!parsed.length) {\n continue\n }\n\n headerLocation = 0\n while (/^\\s*#/.test(parsed[headerLocation][0])) {\n headerLocation++\n }\n\n // only happens on malformed input\n if (parsed[headerLocation].length === 1) {\n continue\n }\n\n if (\n parsed[headerLocation][1] === 'error' &&\n parsed[headerLocation][2] === 'reference'\n ) {\n const errorReferenceCode = parsed[headerLocation + 1][2]\n const errorMessage = parsed[headerLocation + 1][1]\n\n throw new Error(`[${errorReferenceCode}] ${errorMessage}`)\n }\n\n // trim whitespace from the end\n while (parsed[parsed.length - 1].length < parsed[headerLocation].length) {\n parsed.pop()\n }\n\n for (\n currentLineInHeader = 0;\n currentLineInHeader < headerLocation;\n currentLineInHeader++\n ) {\n annotations[parsed[currentLineInHeader][0].trim()] = parsed[\n currentLineInHeader\n ].reduce((annotationObject, currentColumn, currentColumnIndex) => {\n const key = parsed[headerLocation][currentColumnIndex].trim()\n if (key) {\n annotationObject[key] = currentColumn.trim()\n }\n return annotationObject\n }, {})\n }\n\n for (\n currentColumnIndex = 1;\n currentColumnIndex < parsed[headerLocation].length;\n currentColumnIndex++\n ) {\n columnName = parsed[headerLocation][currentColumnIndex].trim()\n\n columnType = annotations['#datatype'][columnName]\n columnKey = `${columnName} (${TO_COLUMN_TYPE[columnType]})`\n\n if (!names.hasOwnProperty(columnName)) {\n names[columnName] = {}\n }\n\n if (!names[columnName].hasOwnProperty(columnKey)) {\n names[columnName][columnKey] = true\n }\n\n if (\n annotations['#group'] &&\n annotations['#group'].hasOwnProperty(columnName) &&\n annotations['#group'][columnName] === 'true'\n ) {\n groupKey[columnKey] = true\n }\n\n if (!output.hasOwnProperty(columnKey)) {\n output[columnKey] = {\n name: columnName,\n group: annotations['#group'][columnName],\n type: TO_COLUMN_TYPE[columnType],\n data: [],\n }\n }\n\n for (\n currentLineIndex = headerLocation + 1;\n currentLineIndex < parsed.length;\n currentLineIndex++\n ) {\n output[columnKey].data[\n runningTotal + currentLineIndex - headerLocation - 1\n ] = parseValue(\n parsed[currentLineIndex][currentColumnIndex] ||\n annotations['#default'][columnName],\n TO_COLUMN_TYPE[columnType]\n )\n }\n }\n\n runningTotal += parsed.length - headerLocation - 1\n }\n\n /*\n Each column in a parsed `Table` can only have a single type, but because we\n combine columns from multiple Flux tables into a single table, we may\n encounter conflicting types for a given column during parsing.\n To avoid this issue, we separate the concept of the column _key_ and column\n _name_ in the `Table` object, where each key is unique but each name is not\n necessarily unique. We name the keys something like \"foo (int)\", where \"foo\"\n is the name and \"int\" is the type.\n But since type conflicts are rare and the public API requires referencing\n columns by key, we want to avoid unwieldy keys whenever possible. So the last\n stage of parsing is to rename all column keys from the `$NAME ($TYPE)` format\n to just `$NAME` if we can do so safely. That is what this function does.\n */\n Object.entries(names)\n .map(([k, v]) => {\n const columnNames = Object.keys(v)\n\n columnNames.forEach(n => {\n output[n].data.length = runningTotal\n })\n\n return [k, columnNames]\n })\n .filter(([_, v]) => v.length === 1)\n .map(([k, v]) => [k, v[0]])\n .forEach(e => {\n const k = e[0] as string\n const v = e[1] as string\n\n // TODO to reduce the cost of dumping this on the GC,\n // we should keep parsed results as an array, with output\n // keeping a pointer to it's index\n output[k] = output[v]\n delete output[v]\n\n if (groupKey.hasOwnProperty(v)) {\n groupKey[k] = true\n delete groupKey[v]\n }\n })\n\n return {\n table: {\n columnKeys: Object.keys(output),\n columns: output,\n length: runningTotal,\n },\n fluxGroupKeyUnion: Object.keys(groupKey),\n }\n}\n","// Libraries\nimport {get} from 'lodash'\n\n// APIs\nimport {runQuery, RunQueryResult} from 'src/shared/apis/query'\nimport {parseResponse} from 'src/shared/parsing/flux/response'\n\n// Utils\nimport {getTimeRangeVars} from 'src/variables/utils/getTimeRangeVars'\nimport {formatExpression} from 'src/variables/utils/formatExpression'\nimport {tagToFlux} from 'src/timeMachine/utils/queryBuilder'\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {TimeRange, BuilderConfig} from 'src/types'\nimport {CancelBox} from 'src/types/promises'\nimport {pastThirtyDaysTimeRange} from 'src/shared/constants/timeRanges'\n\nconst DEFAULT_TIME_RANGE: TimeRange = pastThirtyDaysTimeRange\nconst DEFAULT_LIMIT = 200\n\nexport interface FindBucketsOptions {\n url: string\n orgID: string\n}\n\nexport function findBuckets({orgID}: FindBucketsOptions): CancelBox {\n const query = `buckets()\n |> sort(columns: [\"name\"])\n |> limit(n: ${DEFAULT_LIMIT})`\n\n event('runQuery', {\n context: 'queryBuilder-findBuckets',\n })\n return extractBoxedCol(runQuery(orgID, query), 'name')\n}\n\nexport interface FindKeysOptions {\n url: string\n orgID: string\n bucket: string\n tagsSelections: BuilderConfig['tags']\n searchTerm?: string\n timeRange?: TimeRange\n limit?: number\n}\n\nexport function findKeys({\n orgID,\n bucket,\n tagsSelections,\n searchTerm = '',\n timeRange = DEFAULT_TIME_RANGE,\n limit = DEFAULT_LIMIT,\n}: FindKeysOptions): CancelBox {\n const tagFilters = formatTagFilterPredicate(tagsSelections)\n const searchFilter = formatSearchFilterCall(searchTerm)\n const previousKeyFilter = formatTagKeyFilterCall(tagsSelections)\n const timeRangeArguments = formatTimeRangeArguments(timeRange)\n\n // TODO: Use the `v1.tagKeys` function from the Flux standard library once\n // this issue is resolved: https://github.com/influxdata/flux/issues/1071\n const query = `from(bucket: \"${bucket}\")\n |> range(${timeRangeArguments})\n |> filter(fn: ${tagFilters})\n |> keys()\n |> keep(columns: [\"_value\"])\n |> distinct()${searchFilter}${previousKeyFilter}\n |> filter(fn: (r) => r._value != \"_time\" and r._value != \"_start\" and r._value != \"_stop\" and r._value != \"_value\")\n |> sort()\n |> limit(n: ${limit})`\n\n event('runQuery', {\n context: 'queryBuilder-findKeys',\n })\n\n return extractBoxedCol(runQuery(orgID, query), '_value')\n}\n\nexport interface FindValuesOptions {\n url: string\n orgID: string\n bucket: string\n tagsSelections: BuilderConfig['tags']\n key: string\n searchTerm?: string\n timeRange?: TimeRange\n limit?: number\n}\n\nexport function findValues({\n orgID,\n bucket,\n tagsSelections,\n key,\n searchTerm = '',\n timeRange = DEFAULT_TIME_RANGE,\n limit = DEFAULT_LIMIT,\n}: FindValuesOptions): CancelBox {\n const tagFilters = formatTagFilterPredicate(tagsSelections)\n const searchFilter = formatSearchFilterCall(searchTerm)\n const timeRangeArguments = formatTimeRangeArguments(timeRange)\n\n // TODO: Use the `v1.tagValues` function from the Flux standard library once\n // this issue is resolved: https://github.com/influxdata/flux/issues/1071\n const query = `from(bucket: \"${bucket}\")\n |> range(${timeRangeArguments})\n |> filter(fn: ${tagFilters})\n |> keep(columns: [\"${key}\"])\n |> group()\n |> distinct(column: \"${key}\")${searchFilter}\n |> limit(n: ${limit})\n |> sort()`\n\n event('runQuery', {\n context: 'queryBuilder-findValues',\n })\n\n return extractBoxedCol(runQuery(orgID, query), '_value')\n}\n\nexport function extractBoxedCol(\n resp: CancelBox,\n colName: string\n): CancelBox {\n const promise = resp.promise.then(result => {\n if (result.type !== 'SUCCESS') {\n return Promise.reject(new Error(result.message))\n }\n\n return extractCol(result.csv, colName)\n })\n\n return {promise, cancel: resp.cancel}\n}\n\nexport function extractCol(csv: string, colName: string): string[] {\n const tables = parseResponse(csv)\n const data = get(tables, '0.data', [])\n\n if (!data.length) {\n return []\n }\n\n const colIndex = data[0].findIndex(d => d === colName)\n\n if (colIndex === -1) {\n throw new Error(`could not find column \"${colName}\" in response`)\n }\n\n const colValues: string[] = []\n\n for (let i = 1; i < data.length; i++) {\n colValues.push(data[i][colIndex])\n }\n\n return colValues\n}\n\nexport function formatTagFilterPredicate(\n tagsSelections: BuilderConfig['tags']\n) {\n const validSelections = tagsSelections.filter(\n ({key, values}) => key && values.length\n )\n\n if (!validSelections.length) {\n return '(r) => true'\n }\n\n const calls = validSelections.map(tag => `(${tagToFlux(tag)})`).join(' and ')\n\n return `(r) => ${calls}`\n}\n\nexport function formatTagKeyFilterCall(tagsSelections: BuilderConfig['tags']) {\n const keys = tagsSelections.map(({key}) => key)\n\n if (!keys.length) {\n return ''\n }\n\n const fnBody = keys.map(key => `r._value != \"${key}\"`).join(' and ')\n\n return `\\n |> filter(fn: (r) => ${fnBody})`\n}\n\nexport function formatSearchFilterCall(searchTerm: string) {\n if (!searchTerm) {\n return ''\n }\n\n return `\\n |> filter(fn: (r) => r._value =~ /(?i:${searchTerm})/)`\n}\n\nexport function formatTimeRangeArguments(timeRange: TimeRange): string {\n const [start, stop] = getTimeRangeVars(timeRange).map(assignment =>\n formatExpression(assignment.init)\n )\n\n return `start: ${start}, stop: ${stop}`\n}\n","// Libraries\nimport {get} from 'lodash'\nimport {getBuckets, getBucket} from 'src/client'\nimport AJAX from 'src/utils/ajax'\n\n//Utils\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n//Types\nimport {Bucket, DemoBucket, BucketEntities} from 'src/types'\nimport {LIMIT} from 'src/resources/constants'\nimport {normalize} from 'normalizr'\nimport {bucketSchema} from 'src/schemas'\nimport {NormalizedSchema} from 'normalizr'\n\nconst baseURL = '/api/v2/experimental/sampledata'\n\nexport const getDemoDataBuckets = async (): Promise => {\n //todo (deniz) convert to fetch\n const {data} = await AJAX({\n method: 'GET',\n url: `${baseURL}/buckets`,\n })\n\n // if sampledata endpoints are not available in a cluster\n // gateway responds with a list of links where 'buckets' field is a string\n const buckets = get(data, 'buckets', null)\n if (!Array.isArray(buckets)) {\n throw new Error('Could not reach demodata endpoint')\n }\n\n return buckets.filter(b => b.type == 'user') as Bucket[] // remove returned _tasks and _monitoring buckets\n}\n\n// member's id is looked up from the session token passed with the request.\nexport const getDemoDataBucketMembership = async (bucketID: string) => {\n const response = await AJAX({\n method: 'POST',\n url: `${baseURL}/buckets/${bucketID}/members`,\n })\n\n if (response.status === 200) {\n // if sampledata route is not available gateway responds with 200 a correct success code is 204\n throw new Error('Could not reach demodata endpoint')\n }\n\n if (response.status !== 204) {\n throw new Error(response.data)\n }\n}\n\nexport const deleteDemoDataBucketMembership = async (bucketID: string) => {\n try {\n const response = await AJAX({\n method: 'DELETE',\n url: `${baseURL}/buckets/${bucketID}/members`,\n })\n\n if (response.status === 200) {\n // if sampledata route is not available gateway responds with 200 a correct success code is 204\n throw new Error('Could not reach demodata endpoint')\n }\n\n if (response.status !== 204) {\n throw new Error(response.data)\n }\n } catch (error) {\n console.error(error)\n throw error\n }\n}\n\nexport const fetchDemoDataBuckets = async (): Promise => {\n if (!isFlagEnabled('demodata')) return []\n\n try {\n // FindBuckets paginates before filtering for authed buckets until #6591 is resolved,\n // so UI needs to make getBuckets request with demodata orgID parameter\n const demoBuckets = await getDemoDataBuckets()\n\n const demodataOrgID = get(demoBuckets, '[0].orgID') as string\n\n if (!demodataOrgID) {\n throw new Error('Could not get demodata orgID')\n }\n\n const resp = await getBuckets({\n query: {orgID: demodataOrgID, limit: LIMIT},\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n return resp.data.buckets.map(b => ({\n ...b,\n type: 'demodata' as 'demodata',\n labels: [],\n })) as Array\n } catch (error) {\n console.error(error)\n return [] // demodata bucket fetching errors should not effect regular bucket fetching\n }\n}\n\nexport const getNormalizedDemoDataBucket = async (\n bucketID: string\n): Promise> => {\n const resp = await getBucket({bucketID})\n\n if (resp.status !== 200) {\n throw new Error(\n `Request for demo data bucket membership did not succeed: ${resp.data.message}`\n )\n }\n\n const newBucket = {\n ...resp.data,\n type: 'demodata' as 'demodata',\n labels: [],\n } as DemoBucket\n\n const normalizedBucket = normalize(\n newBucket,\n bucketSchema\n )\n\n return normalizedBucket\n}\n","import AJAX from 'src/utils/ajax'\nimport {Authorization, Auth0Config} from 'src/types'\nimport {getAPIBasepath} from 'src/utils/basepath'\n\nexport const createAuthorization = async (\n authorization\n): Promise => {\n try {\n const {data} = await AJAX({\n method: 'POST',\n url: '/api/v2/authorizations',\n data: authorization,\n })\n\n return data\n } catch (error) {\n console.error(error)\n throw error\n }\n}\n\nexport const getAuth0Config = async (\n redirectTo?: string\n): Promise => {\n try {\n let url = `${getAPIBasepath()}/api/v2private/oauth/clientConfig`\n if (redirectTo) {\n url = `${getAPIBasepath()}/api/v2private/oauth/clientConfig?redirectTo=${redirectTo}`\n }\n const response = await fetch(url)\n const data = await response.json()\n return data\n } catch (error) {\n console.error(error)\n throw error\n }\n}\n","// Libraries\nimport {normalize} from 'normalizr'\n\n// API\nimport {client} from 'src/utils/api'\n\n// Schemas\nimport {arrayOfScrapers, scraperSchema} from 'src/schemas'\n\n// Types\nimport {\n RemoteDataState,\n GetState,\n Scraper,\n ScraperEntities,\n ResourceType,\n} from 'src/types'\nimport {Dispatch} from 'react'\n\n// Actions\nimport {\n Action as ScraperAction,\n setScrapers,\n addScraper,\n editScraper,\n removeScraper,\n} from 'src/scrapers/actions/creators'\nimport {notify, Action as NotifyAction} from 'src/shared/actions/notifications'\n\nimport {\n scraperCreateFailed,\n scraperCreateSuccess,\n scraperDeleteFailed,\n scraperDeleteSuccess,\n scraperUpdateFailed,\n scraperUpdateSuccess,\n} from 'src/shared/copy/notifications'\n\n// Selectors\nimport {getOrg} from 'src/organizations/selectors'\nimport {getStatus} from 'src/resources/selectors'\n\ntype Action = ScraperAction | NotifyAction\n\nexport const getScrapers = () => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n const state = getState()\n if (\n getStatus(state, ResourceType.Scrapers) === RemoteDataState.NotStarted\n ) {\n dispatch(setScrapers(RemoteDataState.Loading))\n }\n const org = getOrg(state)\n\n dispatch(setScrapers(RemoteDataState.Loading))\n\n const resp = await client.scrapers.getAll(org.id)\n\n const normalized = normalize(\n resp,\n arrayOfScrapers\n )\n\n dispatch(setScrapers(RemoteDataState.Done, normalized))\n } catch (error) {\n console.error(error)\n dispatch(setScrapers(RemoteDataState.Error))\n }\n}\n\nexport const createScraper = (scraper: Scraper) => async (\n dispatch: Dispatch\n) => {\n try {\n const resp = await client.scrapers.create(scraper)\n\n const normalized = normalize(\n resp,\n scraperSchema\n )\n\n dispatch(addScraper(normalized))\n dispatch(notify(scraperCreateSuccess()))\n } catch (error) {\n console.error(error)\n dispatch(notify(scraperCreateFailed()))\n }\n}\n\nexport const updateScraper = (scraper: Scraper) => async (\n dispatch: Dispatch\n) => {\n try {\n const resp = await client.scrapers.update(scraper.id, scraper)\n const normalized = normalize(\n resp,\n scraperSchema\n )\n\n dispatch(editScraper(normalized))\n dispatch(notify(scraperUpdateSuccess(scraper.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(scraperUpdateFailed(scraper.name)))\n }\n}\n\nexport const deleteScraper = (scraper: Scraper) => async (\n dispatch: Dispatch\n) => {\n try {\n await client.scrapers.delete(scraper.id)\n\n dispatch(removeScraper(scraper.id))\n dispatch(notify(scraperDeleteSuccess(scraper.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(scraperDeleteFailed(scraper.name)))\n }\n}\n","import {FunctionComponent} from 'react'\nimport {activeFlags} from 'src/shared/selectors/flags'\nimport {clearOverrides, setOverride} from 'src/shared/actions/flags'\n\nimport configureStore from 'src/store/configureStore'\n\nexport const isFlagEnabled = (flagName: string, equals?: string | boolean) => {\n let _equals = equals\n const store = configureStore()\n const flags = activeFlags(store.getState())\n\n if (_equals === undefined) {\n _equals = true\n }\n\n if (flags.hasOwnProperty(flagName)) {\n return flags[flagName] === _equals\n }\n\n return false\n}\n\n// type influx.toggle('myFlag') to disable / enable any feature flag\nexport const FeatureFlag: FunctionComponent<{\n name: string\n equals?: string | boolean\n}> = ({name, equals, children}) => {\n if (!isFlagEnabled(name, equals)) {\n return null\n }\n\n return children as any\n}\n\nexport const getUserFlags = () => activeFlags(configureStore().getState())\n\n/* eslint-disable no-console */\nconst list = () => {\n console.log('Currently Available Feature Flags')\n console.table(getUserFlags())\n}\n/* eslint-enable no-console */\n\nconst reset = () => {\n const store = configureStore()\n store.dispatch(clearOverrides())\n}\n\nexport const set = (flagName: string, value: string | boolean) => {\n const store = configureStore()\n store.dispatch(setOverride(flagName, value))\n}\n\nexport const toggle = (flagName: string): boolean => {\n const flags = getUserFlags()\n\n set(flagName, !flags[flagName])\n\n return !flags[flagName]\n}\n\n// Expose utility in dev tools console for convenience\nconst w: any = window\n\nw.influx = {toggle, list, reset, set}\n","import {loadWASM} from 'onigasm' // peer dependency of 'monaco-textmate'\nimport {Registry, StackElement, INITIAL} from 'monaco-textmate' // peer dependency\n\nlet wasm: boolean = false\nlet loading: boolean = false\nconst queue: Array<() => void> = []\nconst grammars = new Map()\nconst grammarDefs = {}\n\nconst DEFAULT_DEF = async () => ({\n format: 'json',\n content: await import(\n /* webpackPrefetch: 0 */ 'src/external/plaintext.tmLanguage.json'\n ).then(data => {\n return JSON.stringify(data)\n }),\n})\n\n// NOTE: this comes from the monaco-editor-textmate package\nclass TokenizerState {\n constructor(private _ruleStack: StackElement) {}\n\n public get ruleStack(): StackElement {\n return this._ruleStack\n }\n\n public clone(): TokenizerState {\n return new TokenizerState(this._ruleStack)\n }\n\n public equals(other): boolean {\n if (\n !other ||\n !(other instanceof TokenizerState) ||\n other !== this ||\n other._ruleStack !== this._ruleStack\n ) {\n return false\n }\n return true\n }\n}\n\nasync function loader() {\n return new Promise(resolve => {\n if (wasm) {\n resolve()\n return\n }\n\n queue.push(resolve)\n\n if (loading) {\n return\n }\n\n loading = true\n\n loadWASM(require(`onigasm/lib/onigasm.wasm`)).then(() => {\n wasm = true\n\n const registry = new Registry({\n getGrammarDefinition: async scope => {\n if (!grammarDefs.hasOwnProperty(scope)) {\n return await DEFAULT_DEF()\n }\n\n return await grammarDefs[scope]()\n },\n })\n\n Promise.all(\n Array.from(grammars.keys()).map(async lang => {\n const grammar = await registry.loadGrammar(grammars.get(lang))\n window.monaco.languages.setTokensProvider(lang, {\n getInitialState: () => new TokenizerState(INITIAL),\n tokenize: (line: string, state: TokenizerState) => {\n const res = grammar.tokenizeLine(line, state.ruleStack)\n\n return {\n endState: new TokenizerState(res.ruleStack),\n tokens: res.tokens.map(token => ({\n ...token,\n scopes: token.scopes[token.scopes.length - 1],\n })),\n }\n },\n })\n })\n ).then(() => {\n queue.forEach(c => c())\n })\n })\n })\n}\n\nexport default async function register(scope, definition) {\n window.monaco.languages.register({id: scope})\n\n grammars.set(scope, scope)\n grammarDefs[scope] = definition\n\n await loader()\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Dropdown, ComponentStatus} from '@influxdata/clockface'\n\n// Utils\nimport {isSystemBucket} from 'src/buckets/constants/index'\n\n// Types\nimport {Bucket} from 'src/types'\n\ninterface Props {\n selectedBucketID: string\n buckets: Bucket[]\n onSelectBucket: (bucket: Bucket) => void\n}\n\nclass BucketsDropdown extends PureComponent {\n public render() {\n return (\n (\n \n {this.selectedBucketName}\n \n )}\n menu={onCollapse => (\n \n {this.dropdownBuckets}\n \n )}\n />\n )\n }\n\n private get selectedBucketName(): string {\n const {selectedBucketID, buckets} = this.props\n\n if (this.isBucketsEmpty) {\n return 'No buckets found'\n }\n\n return buckets.find(bucket => bucket.id === selectedBucketID).name\n }\n\n private get status(): ComponentStatus {\n if (this.isBucketsEmpty) {\n return ComponentStatus.Disabled\n }\n\n return ComponentStatus.Default\n }\n\n private get isBucketsEmpty(): boolean {\n const {buckets} = this.props\n return !buckets || !buckets.length\n }\n\n private get dropdownBuckets(): JSX.Element[] {\n const {buckets, onSelectBucket, selectedBucketID} = this.props\n\n if (this.isBucketsEmpty) {\n return []\n }\n\n const nonSystemBuckets = buckets.filter(\n bucket => !isSystemBucket(bucket.name)\n )\n\n return nonSystemBuckets.map(b => (\n \n {b.name}\n \n ))\n }\n}\n\nexport default BucketsDropdown\n","import {orderBy, get, toLower} from 'lodash'\n\nexport enum SortTypes {\n String = 'string',\n Date = 'date',\n Float = 'float',\n}\n\nfunction orderByType(data, type) {\n switch (type) {\n case SortTypes.String:\n return toLower(data)\n case SortTypes.Date:\n return Date.parse(data)\n case SortTypes.Float:\n return parseFloat(data)\n default:\n return data\n }\n}\n\nexport function getSortedResources(\n resourceList: T[],\n sortKey: string,\n sortDirection: string,\n sortType: string\n): T[] {\n if (sortKey && sortDirection) {\n return orderBy(\n resourceList,\n r => orderByType(get(r, sortKey), sortType),\n [sortDirection]\n )\n }\n return resourceList\n}\n","import {useRef, useState, useEffect} from 'react'\n\n/*\n Use local state with a default value. The state will be reset to the default\n any time the default is updated.\n\n It's a \"one way\" binding between the default value and state, since updating\n the default will cause the state to update, but updating the state will not\n cause the default to update.\n*/\nexport const useOneWayState = (defaultState: any) => {\n const isFirstRender = useRef(true)\n const [state, setState] = useState(defaultState)\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n\n return\n }\n\n setState(defaultState)\n }, [defaultState])\n\n return [state, setState]\n}\n","export * from './alerting'\nexport * from './app'\nexport * from './arguments'\nexport * from './ast'\nexport * from './auth'\nexport * from './autoRefresh'\nexport * from './buckets'\nexport * from './cloud'\nexport * from './codemirror'\nexport * from './colors'\nexport * from './dashboards'\nexport * from './dataExplorer'\nexport * from './dataLoaders'\nexport * from './filterEditor'\nexport * from './flux'\nexport * from './form'\nexport * from './histogram'\nexport * from './hosts'\nexport * from './influxAdmin'\nexport * from './labels'\nexport * from './layouts'\nexport * from './layouts'\nexport * from './links'\nexport * from './localStorage'\nexport * from './logEvent'\nexport * from './members'\nexport * from './monaco'\nexport * from './notifications'\nexport * from './orgs'\nexport * from './overlay'\nexport * from './predicates'\nexport * from './promises'\nexport * from './queries'\nexport * from './redux'\nexport * from './resources'\nexport * from './run'\nexport * from './schemas'\nexport * from './scrapers'\nexport * from './services'\nexport * from './shared'\nexport * from './sources'\nexport * from './stores'\nexport * from './tasks'\nexport * from './telegraf'\nexport * from './templates'\nexport * from './timeMachine'\nexport * from './timeZones'\nexport * from './variables'\nexport * from './views'\n","// Libraries\nimport React, {PureComponent, ReactNode} from 'react'\nimport {connect, ConnectedProps} from 'react-redux'\n\n// Actions\nimport {getAuthorizations} from 'src/authorizations/actions/thunks'\nimport {getBuckets} from 'src/buckets/actions/thunks'\nimport {getChecks} from 'src/checks/actions/thunks'\nimport {getDashboards} from 'src/dashboards/actions/thunks'\nimport {getEndpoints} from 'src/notifications/endpoints/actions/thunks'\nimport {getLabels} from 'src/labels/actions/thunks'\nimport {getMembers} from 'src/members/actions/thunks'\nimport {getNotificationRules} from 'src/notifications/rules/actions/thunks'\nimport {getPlugins} from 'src/dataLoaders/actions/telegrafEditor'\nimport {getScrapers} from 'src/scrapers/actions/thunks'\nimport {getTasks} from 'src/tasks/actions/thunks'\nimport {getTelegrafs} from 'src/telegrafs/actions/thunks'\nimport {getTemplates} from 'src/templates/actions/thunks'\nimport {getVariables} from 'src/variables/actions/thunks'\n\n//Utils\nimport {event} from 'src/cloud/utils/reporting'\n\n// Types\nimport {AppState, ResourceType} from 'src/types'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\nimport {TechnoSpinner, SpinnerContainer} from '@influxdata/clockface'\n\n// Selectors\nimport {getResourcesStatus} from 'src/resources/selectors/getResourcesStatus'\n\ninterface OwnProps {\n resources: Array\n children: ReactNode\n}\n\ntype ReduxProps = ConnectedProps\nexport type Props = ReduxProps & OwnProps\n\n@ErrorHandling\nclass GetResources extends PureComponent {\n public componentDidMount() {\n const {resources} = this.props\n const promises = []\n const startTime = Date.now()\n resources.forEach(resource => {\n promises.push(this.getResourceDetails(resource))\n })\n\n const gotResources = resources.join(', ')\n Promise.all(promises).then(() => {\n event(\n `GetResources ${gotResources}`,\n {\n time: startTime,\n resource: gotResources,\n },\n {duration: Date.now() - startTime}\n )\n })\n }\n\n private getResourceDetails(resource: ResourceType) {\n switch (resource) {\n case ResourceType.Dashboards: {\n return this.props.getDashboards()\n }\n\n case ResourceType.Labels: {\n return this.props.getLabels()\n }\n\n case ResourceType.Buckets: {\n return this.props.getBuckets()\n }\n\n case ResourceType.Telegrafs: {\n return this.props.getTelegrafs()\n }\n\n case ResourceType.Plugins: {\n return this.props.getPlugins()\n }\n\n case ResourceType.Scrapers: {\n return this.props.getScrapers()\n }\n\n case ResourceType.Variables: {\n return this.props.getVariables()\n }\n\n case ResourceType.Tasks: {\n return this.props.getTasks()\n }\n\n case ResourceType.Authorizations: {\n return this.props.getAuthorizations()\n }\n\n case ResourceType.Templates: {\n return this.props.getTemplates()\n }\n\n case ResourceType.Members: {\n return this.props.getMembers()\n }\n\n case ResourceType.Checks: {\n return this.props.getChecks()\n }\n\n case ResourceType.NotificationRules: {\n return this.props.getNotificationRules()\n }\n\n case ResourceType.NotificationEndpoints: {\n return this.props.getEndpoints()\n }\n\n default: {\n throw new Error('incorrect resource type provided')\n }\n }\n }\n\n public render() {\n const {children, remoteDataState} = this.props\n\n return (\n }\n >\n {children}\n \n )\n }\n}\n\nconst mstp = (state: AppState, {resources}: OwnProps) => {\n const remoteDataState = getResourcesStatus(state, resources)\n\n return {\n remoteDataState,\n }\n}\n\nconst mdtp = {\n getLabels: getLabels,\n getBuckets: getBuckets,\n getTelegrafs: getTelegrafs,\n getPlugins: getPlugins,\n getVariables: getVariables,\n getScrapers: getScrapers,\n getAuthorizations: getAuthorizations,\n getDashboards: getDashboards,\n getTasks: getTasks,\n getTemplates: getTemplates,\n getMembers: getMembers,\n getChecks: getChecks,\n getNotificationRules: getNotificationRules,\n getEndpoints: getEndpoints,\n}\n\nconst connector = connect(mstp, mdtp)\n\nexport default connector(GetResources)\n","// Types\nimport {AppState, RemoteDataState, ResourceType} from 'src/types'\n\nexport const getResourcesStatus = (\n state: AppState,\n resources: Array\n): RemoteDataState => {\n const statuses = resources.map(resource => {\n if (!state.resources || !state.resources[resource].status) {\n throw new Error(\n `RemoteDataState status for resource \"${resource}\" is undefined in getResourcesStatus`\n )\n }\n\n return state.resources[resource].status\n })\n\n let status = RemoteDataState.NotStarted\n\n if (statuses.every(s => s === RemoteDataState.Done)) {\n status = RemoteDataState.Done\n } else if (statuses.includes(RemoteDataState.Error)) {\n status = RemoteDataState.Error\n } else if (statuses.includes(RemoteDataState.Loading)) {\n status = RemoteDataState.Loading\n }\n\n return status\n}\n","import React, {PureComponent} from 'react'\n\nexport interface InjectedHoverProps {\n hoverTime: number | null\n onSetHoverTime: (hoverTime: number | null) => void\n}\n\nconst {Provider, Consumer} = React.createContext(null)\n\nexport class HoverTimeProvider extends PureComponent<{}, InjectedHoverProps> {\n public state: InjectedHoverProps = {\n hoverTime: null,\n onSetHoverTime: (hoverTime: number | null) => this.setState({hoverTime}),\n }\n\n public render() {\n return {this.props.children}\n }\n}\n\nexport const withHoverTime =

    (\n Component: React.ComponentType

    \n) => (props: P) => (\n \n {hoverTimeProps => }\n \n)\n","// Types\nimport {AppState, Bucket, ResourceType} from 'src/types'\n\n// Selectors\nimport {getAll} from 'src/resources/selectors'\n\nexport const SYSTEM = 'system'\n\nexport const getBucketByName = (\n state: AppState,\n bucketName: string\n): Bucket => {\n const buckets = getAll(state, ResourceType.Buckets)\n const bucket = buckets.find(b => b.name === bucketName)\n return bucket\n}\n\nexport const isSystemBucket = (type: string): boolean => type === SYSTEM\n\nconst sortFunc = (a: Bucket, b: Bucket) => {\n const firstBucket = `${a.name}`.toLowerCase()\n const secondBucket = `${b.name}`.toLowerCase()\n if (firstBucket === secondBucket) {\n return 0\n }\n if (firstBucket < secondBucket) {\n return -1\n }\n if (firstBucket > secondBucket) {\n return 1\n }\n return 0\n}\n\nexport const getSortedBuckets = (state: AppState) => {\n const systemBuckets = []\n const otherBuckets = []\n const buckets = getAll(state, ResourceType.Buckets)\n\n buckets.forEach(bucket => {\n // separate system buckets from the rest\n if (isSystemBucket(bucket.type)) {\n systemBuckets.push(bucket)\n } else {\n otherBuckets.push(bucket)\n }\n })\n // alphabetize system buckets\n systemBuckets.sort(sortFunc)\n // alphabetize other buckets\n otherBuckets.sort(sortFunc)\n // concat the system buckets to the end of the other buckets\n return otherBuckets.concat(systemBuckets)\n}\n","//Utils\nimport {buildQuery} from 'src/timeMachine/utils/queryBuilder'\nimport {get, isNull} from 'lodash'\n\n// Constants\nimport {defaultBuilderConfig} from 'src/views/helpers'\nimport {\n AGG_WINDOW_AUTO,\n DEFAULT_FILLVALUES,\n} from 'src/timeMachine/constants/queryBuilder'\n\ninterface ViewWithQuery {\n properties: {\n queries: Array<{\n editMode?: 'advanced' | 'builder'\n builderConfig?: {\n functions?: Array<{name?: string}>\n aggregateWindow?: {period?: string; fillValues?: boolean}\n }\n text?: string\n }>\n }\n}\n\nfunction applyAutoAggregateRequirements(view: T): T {\n const autoAggregateableQueries = view.properties.queries.map(q => {\n if (q.editMode === 'advanced') {\n return q\n }\n\n const functions = get(q, 'builderConfig.functions', [])\n const queryText = get(q, 'text', '')\n const queryIsNotEmpty = !!queryText.trim()\n\n const originalQueryInScriptEditorMode = {\n ...q,\n editMode: 'advanced' as 'advanced',\n builderConfig: defaultBuilderConfig(),\n }\n\n if (functions.length === 0 && queryIsNotEmpty) {\n return originalQueryInScriptEditorMode\n }\n\n let alteredQuery = false\n\n let period = get(q, 'builderConfig.aggregateWindow.period', null)\n if (isNull(period)) {\n alteredQuery = true\n period = AGG_WINDOW_AUTO\n }\n\n let fillValues = get(q, 'builderConfig.aggregateWindow.fillValues', null)\n if (isNull(fillValues)) {\n alteredQuery = true\n fillValues = DEFAULT_FILLVALUES\n }\n\n let builderConfig = get(q, 'builderConfig', {})\n builderConfig = {...builderConfig, aggregateWindow: {period, fillValues}}\n\n const originalQueryText = get(q, 'text', '')\n\n try {\n const text = alteredQuery ? buildQuery(builderConfig) : originalQueryText\n\n return {\n ...q,\n text,\n builderConfig,\n }\n } catch (e) {\n return originalQueryInScriptEditorMode\n }\n })\n\n return {\n ...view,\n properties: {...view.properties, queries: autoAggregateableQueries},\n }\n}\n\nexport default applyAutoAggregateRequirements\n","// Libraries\nimport {normalize} from 'normalizr'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// APIs\nimport {\n getView as getViewAJAX,\n updateView as updateViewAJAX,\n} from 'src/dashboards/apis'\nimport {getCachedResultsOrRunQuery} from 'src/shared/apis/queryCache'\n\n// Constants\nimport * as copy from 'src/shared/copy/notifications'\nimport {viewSchema} from 'src/schemas'\n\n// Utils\nimport applyAutoAggregateRequirements from 'src/utils/autoAggregateRequirements'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\nimport {setActiveTimeMachine} from 'src/timeMachine/actions'\nimport {executeQueries} from 'src/timeMachine/actions/queries'\nimport {setView, Action} from 'src/views/actions/creators'\nimport {setQueryResults} from 'src/timeMachine/actions/queries'\n\n// Selectors\nimport {getViewsForDashboard} from 'src/views/selectors'\nimport {getByID} from 'src/resources/selectors'\nimport {getOrg} from 'src/organizations/selectors'\n\n// Types\nimport {\n RemoteDataState,\n QueryView,\n GetState,\n View,\n ViewEntities,\n TimeMachineID,\n ResourceType,\n} from 'src/types'\nimport {RunQuerySuccessResult} from 'src/shared/apis/query'\nimport {Dispatch} from 'redux'\n\nexport const getView = (dashboardID: string, cellID: string) => async (\n dispatch: Dispatch\n): Promise => {\n dispatch(setView(cellID, RemoteDataState.Loading))\n try {\n const view = await getViewAJAX(dashboardID, cellID)\n\n const normView = normalize(view, viewSchema)\n\n dispatch(setView(cellID, RemoteDataState.Done, normView))\n } catch {\n dispatch(setView(cellID, RemoteDataState.Error))\n }\n}\n\nexport const updateView = (dashboardID: string, view: View) => async (\n dispatch: Dispatch\n): Promise => {\n const viewID = view.cellID\n\n dispatch(setView(viewID, RemoteDataState.Loading))\n\n try {\n const newView = await updateViewAJAX(dashboardID, viewID, view)\n\n const normView = normalize(newView, viewSchema)\n\n dispatch(setView(viewID, RemoteDataState.Done, normView))\n\n return newView\n } catch (error) {\n console.error(error)\n dispatch(setView(viewID, RemoteDataState.Error))\n }\n}\n\nexport const updateViewAndVariables = (\n dashboardID: string,\n view: View\n) => async (dispatch, getState: GetState) => {\n const cellID = view.cellID\n\n try {\n const newView = await updateViewAJAX(dashboardID, cellID, view)\n\n const views = getViewsForDashboard(getState(), dashboardID)\n\n views.splice(\n views.findIndex(v => v.id === newView.id),\n 1,\n newView\n )\n\n const normView = normalize(newView, viewSchema)\n\n dispatch(setView(cellID, RemoteDataState.Done, normView))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.cellUpdateFailed()))\n dispatch(setView(cellID, RemoteDataState.Error))\n }\n}\n\nexport const getViewAndResultsForVEO = (\n dashboardID: string,\n cellID: string,\n timeMachineID: TimeMachineID\n) => async (dispatch, getState: GetState): Promise => {\n try {\n const state = getState()\n let view = getByID(state, ResourceType.Views, cellID) as QueryView\n\n if (!view) {\n dispatch(setView(cellID, RemoteDataState.Loading))\n view = (await getViewAJAX(dashboardID, cellID)) as QueryView\n }\n\n const updatedView = applyAutoAggregateRequirements(view)\n\n dispatch(\n setActiveTimeMachine(timeMachineID, {\n contextID: dashboardID,\n view: updatedView,\n })\n )\n\n if (isFlagEnabled('queryCacheForDashboards')) {\n const queries = view.properties.queries.filter(({text}) => !!text.trim())\n if (!queries.length) {\n dispatch(setQueryResults(RemoteDataState.Done, [], null))\n }\n const {id: orgID} = getOrg(state)\n const pendingResults = queries.map(({text}) => {\n return getCachedResultsOrRunQuery(orgID, text, state)\n })\n\n // Wait for new queries to complete\n const results = await Promise.all(pendingResults.map(r => r.promise))\n const files = (results as RunQuerySuccessResult[]).map(r => r.csv)\n\n if (files) {\n dispatch(setQueryResults(RemoteDataState.Done, files, null, null))\n return\n }\n }\n\n dispatch(executeQueries())\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.getViewFailed(error.message)))\n dispatch(setView(cellID, RemoteDataState.Error))\n }\n}\n","// Types\nimport {AppState, View, ResourceType, Dashboard} from 'src/types'\n\n// Selectors\nimport {getByID} from 'src/resources/selectors'\n\nexport const getViewsForDashboard = (\n state: AppState,\n dashboardID: string\n): View[] => {\n const dashboard = getByID(\n state,\n ResourceType.Dashboards,\n dashboardID\n )\n\n const cellIDs = new Set(dashboard.cells.map(cellID => cellID))\n\n const views = Object.values(state.resources.views.byID).filter(\n view => view && cellIDs.has(view.cellID)\n )\n\n return views\n}\n","// Libraries\nimport React, {FC, RefObject, useContext} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {Icon, IconFont} from '@influxdata/clockface'\n\n// Types\nimport {Visibility} from 'src/notebooks/shared/Resizer'\nimport {PipeContext} from 'src/notebooks/context/pipe'\n\ninterface Props {\n visibility: Visibility\n onUpdateVisibility: (visibility: Visibility) => void\n onStartDrag: () => void\n resizingEnabled: boolean\n dragHandleRef: RefObject\n /** Icon to display when resizing is disabled */\n emptyIcon?: IconFont\n /** If true a button to toggle visibility will be rendered */\n toggleVisibilityEnabled: boolean\n /** Renders this element beneath the visibility toggle */\n additionalControls?: JSX.Element | JSX.Element[]\n}\n\nconst ResizerHeader: FC = ({\n emptyIcon,\n visibility,\n onStartDrag,\n dragHandleRef,\n resizingEnabled,\n additionalControls,\n onUpdateVisibility,\n toggleVisibilityEnabled,\n}) => {\n const {readOnly} = useContext(PipeContext)\n const glyph = visibility === 'visible' ? IconFont.EyeOpen : IconFont.EyeClosed\n const className = classnames('panel-resizer--header', {\n 'panel-resizer--header__multiple-controls':\n toggleVisibilityEnabled || additionalControls,\n [`panel-resizer--header__${visibility}`]: resizingEnabled && visibility,\n })\n\n if (!resizingEnabled) {\n return (\n

    \n \n
    \n )\n }\n\n const handleToggleVisibility = (): void => {\n if (visibility === 'visible') {\n onUpdateVisibility('hidden')\n } else {\n onUpdateVisibility('visible')\n }\n }\n\n let visibilityToggle =
    \n\n if (toggleVisibilityEnabled) {\n visibilityToggle = (\n
    \n \n
    \n )\n }\n\n if (readOnly) {\n return null\n }\n\n return (\n
    \n {visibilityToggle}\n {additionalControls}\n \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ResizerHeader\n","// Libraries\nimport React, {\n FC,\n useRef,\n useEffect,\n useContext,\n ReactNode,\n useState,\n useCallback,\n} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport ResizerHeader from 'src/notebooks/shared/ResizerHeader'\nimport {PipeContext} from 'src/notebooks/context/pipe'\n\n// Types\nimport {IconFont} from '@influxdata/clockface'\n\n// Styles\nimport 'src/notebooks/shared/Resizer.scss'\n\nexport type Visibility = 'visible' | 'hidden'\n\ninterface Props {\n children: ReactNode\n /** If true the resizer can be toggled between Hidden & Visible */\n toggleVisibilityEnabled: boolean\n /** If true the resizer cannot be resized, have its visibility toggled, and children will be hidden */\n resizingEnabled: boolean\n /** Icon to display in header when resizing is disabled */\n emptyIcon?: IconFont\n /** Text to display when resizing is disabled */\n emptyText: string\n /** Text to display when there is an error with the results */\n error?: string\n /** Text to display when the resizer is collapsed */\n hiddenText?: string\n /** When resizing is enabled the panel cannot be resized below this amount */\n minimumHeight?: number\n /** Renders this element beneath the visibility toggle in the header */\n additionalControls?: JSX.Element | JSX.Element[]\n}\n\nconst MINIMUM_RESIZER_HEIGHT = 180\n\nconst Resizer: FC = ({\n children,\n emptyIcon,\n emptyText,\n error,\n hiddenText = 'Hidden',\n minimumHeight = MINIMUM_RESIZER_HEIGHT,\n resizingEnabled,\n additionalControls,\n toggleVisibilityEnabled,\n}) => {\n const {data, update} = useContext(PipeContext)\n const height = data.panelHeight\n const visibility = data.panelVisibility\n\n const [size, updateSize] = useState(height)\n const [isDragging, updateDragging] = useState(false)\n const bodyRef = useRef(null)\n const dragHandleRef = useRef(null)\n\n const bodyClassName = classnames('panel-resizer--body', {\n [`panel-resizer--body__${visibility}`]: resizingEnabled && visibility,\n })\n\n let _emptyIcon = emptyIcon\n if (error) {\n _emptyIcon = IconFont.AlertTriangle\n } else {\n _emptyIcon = emptyIcon || IconFont.Zap\n }\n\n const handleUpdateVisibility = (panelVisibility: Visibility): void => {\n update({panelVisibility})\n }\n\n const handleUpdateHeight = (panelHeight: number): void => {\n update({panelHeight})\n }\n\n const updateResultsStyle = useCallback((): void => {\n if (bodyRef.current && resizingEnabled && visibility === 'visible') {\n bodyRef.current.setAttribute('style', `height: ${size}px`)\n } else {\n bodyRef.current.setAttribute('style', '')\n }\n }, [size, resizingEnabled, visibility])\n\n // Ensure styles update when state & props update\n useEffect(() => {\n updateResultsStyle()\n }, [size, resizingEnabled, visibility, updateResultsStyle])\n\n // Handle changes in drag state\n useEffect(() => {\n if (isDragging === true) {\n dragHandleRef.current &&\n dragHandleRef.current.classList.add(\n 'panel-resizer--drag-handle__dragging'\n )\n }\n\n if (isDragging === false) {\n dragHandleRef.current &&\n dragHandleRef.current.classList.remove(\n 'panel-resizer--drag-handle__dragging'\n )\n handleUpdateHeight(size)\n }\n }, [isDragging]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleMouseMove = (e: MouseEvent): void => {\n if (!bodyRef.current) {\n return\n }\n\n const {pageY} = e\n const {top} = bodyRef.current.getBoundingClientRect()\n\n const updatedHeight = Math.round(Math.max(pageY - top, minimumHeight))\n\n updateSize(updatedHeight)\n }\n\n const handleMouseDown = (): void => {\n updateDragging(true)\n const body = document.getElementsByTagName('body')[0]\n body && body.classList.add('panel-resizer-dragging')\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n }\n\n const handleMouseUp = (): void => {\n updateDragging(false)\n const body = document.getElementsByTagName('body')[0]\n body && body.classList.remove('panel-resizer-dragging')\n\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n }\n\n let body = children\n\n if (error) {\n body =
    {error}
    \n } else {\n if (!resizingEnabled) {\n body =
    {emptyText}
    \n }\n\n if (resizingEnabled && visibility === 'hidden') {\n body =
    {hiddenText}
    \n }\n }\n\n const klass = classnames('panel-resizer', {\n 'panel-resizer--error-state': error,\n })\n\n return (\n
    \n \n
    \n {body}\n
    \n
    \n )\n}\n\nexport default Resizer\n","import {\n StatusRule,\n NotificationRuleBase,\n TagRule,\n SlackNotificationEndpoint,\n PagerDutyNotificationEndpoint,\n HTTPNotificationEndpoint,\n SlackNotificationRuleBase,\n SMTPNotificationRuleBase,\n PagerDutyNotificationRuleBase,\n HTTPNotificationRuleBase,\n Check as GCheck,\n ThresholdCheck as GThresholdCheck,\n DeadmanCheck as GDeadmanCheck,\n CustomCheck as GenCustomCheck,\n NotificationRule as GRule,\n NotificationEndpoint as GEndpoint,\n TaskStatusType,\n Threshold,\n CheckBase as GenCheckBase,\n NotificationEndpointBase as GenEndpointBase,\n} from 'src/client'\n\nimport {RemoteDataState} from 'src/types'\nimport {ResourceType} from './resources'\n\ntype Omit = Pick>\ntype Overwrite = Omit & U\n\ninterface WithClientID {\n cid: string\n value: T\n}\n\nexport type ColumnTypes =\n | ResourceType.NotificationRules\n | ResourceType.NotificationEndpoints\n | ResourceType.Checks\n\n/* Endpoints */\ntype EndpointOverrides = {\n status: RemoteDataState\n activeStatus: TaskStatusType\n labels: string[]\n}\n// GenEndpoint is the shape of a NotificationEndpoint from the server -- before any UI specific fields are or modified\nexport type GenEndpoint = GEndpoint\nexport type NotificationEndpoint =\n | (Omit & EndpointOverrides)\n | (Omit &\n EndpointOverrides)\n | (Omit & EndpointOverrides)\nexport type NotificationEndpointBase = Omit &\n EndpointOverrides\n\n/* Rule */\ntype RuleOverrides = {status: RemoteDataState; activeStatus: TaskStatusType}\n\n// GenRule is the shape of a NotificationRule from the server -- before any UI specific fields are added or modified\nexport type GenRule = GRule\nexport type NotificationRule = GenRule & RuleOverrides\n\nexport type StatusRuleDraft = WithClientID\n\nexport type TagRuleDraft = WithClientID\n\nexport type NotificationRuleBaseDraft = Overwrite<\n NotificationRuleBase,\n {\n id?: string\n status: RemoteDataState\n activeStatus: TaskStatusType\n statusRules: StatusRuleDraft[]\n tagRules: TagRuleDraft[]\n labels?: string[]\n }\n>\n\ntype RuleDraft = SlackRule | SMTPRule | PagerDutyRule | HTTPRule\n\nexport type NotificationRuleDraft = RuleDraft\n\ntype SlackRule = NotificationRuleBaseDraft &\n SlackNotificationRuleBase &\n RuleOverrides\n\ntype SMTPRule = NotificationRuleBaseDraft &\n SMTPNotificationRuleBase &\n RuleOverrides\n\ntype PagerDutyRule = NotificationRuleBaseDraft &\n PagerDutyNotificationRuleBase &\n RuleOverrides\n\ntype HTTPRule = NotificationRuleBaseDraft &\n HTTPNotificationRuleBase &\n RuleOverrides\n\nexport type LowercaseCheckStatusLevel =\n | 'crit'\n | 'warn'\n | 'info'\n | 'ok'\n | 'unknown'\n\n// The data for a row in the status history table\nexport interface StatusRow {\n time: number\n level: LowercaseCheckStatusLevel\n checkID: string\n checkName: string\n message: string\n}\n\n// The data for a row in the notification history table\nexport interface NotificationRow {\n time: number\n level: LowercaseCheckStatusLevel\n checkID: string\n checkName: string\n notificationRuleID: string\n notificationRuleName: string\n notificationEndpointID: string\n notificationEndpointName: string\n sent: 'true' | 'false' // See https://github.com/influxdata/idpe/issues/4645\n}\n\n/* Checks */\ntype CheckOverrides = {\n status: RemoteDataState\n activeStatus: TaskStatusType\n labels: string[]\n}\nexport type CheckBase = Omit & CheckOverrides\n\n// GenCheck is the shape of a Check from the server -- before UI specific properties are added\nexport type GenCheck = GCheck\nexport type GenThresholdCheck = GThresholdCheck\nexport type GenDeadmanCheck = GDeadmanCheck\n\nexport type ThresholdCheck = Omit &\n CheckOverrides\n\nexport type DeadmanCheck = Omit &\n CheckOverrides\n\nexport type CustomCheck = Omit &\n CheckOverrides\n\nexport type Check = ThresholdCheck | DeadmanCheck | CustomCheck\n\nexport type CheckType = Check['type']\n\nexport type ThresholdType = Threshold['type']\n\nexport type CheckTagSet = ThresholdCheck['tags'][0]\n\nexport type AlertHistoryType = 'statuses' | 'notifications'\n\nexport type HTTPMethodType = HTTPNotificationEndpoint['method']\nexport type HTTPAuthMethodType = HTTPNotificationEndpoint['authMethod']\n\nexport {\n Threshold,\n StatusRule,\n TagRule,\n PostCheck,\n CheckStatusLevel,\n RuleStatusLevel,\n GreaterThreshold,\n LesserThreshold,\n RangeThreshold,\n PostNotificationEndpoint,\n NotificationRuleBase,\n NotificationRuleUpdate,\n NotificationEndpointType,\n SMTPNotificationRuleBase,\n SlackNotificationRuleBase,\n PagerDutyNotificationRuleBase,\n HTTPNotificationRuleBase,\n SMTPNotificationRule,\n SlackNotificationRule,\n PagerDutyNotificationRule,\n HTTPNotificationRule,\n PagerDutyNotificationEndpoint,\n SlackNotificationEndpoint,\n HTTPNotificationEndpoint,\n NotificationEndpointUpdate,\n PostNotificationRule,\n CheckPatch,\n TaskStatusType,\n} from '../client'\n","export const getRootNode = () => document.getElementById('react-root')\n","// Libraries\nimport React, {Component, KeyboardEvent, ChangeEvent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport {Input, Icon} from '@influxdata/clockface'\nimport {ClickOutside} from 'src/shared/components/ClickOutside'\n\n// Types\nimport {ComponentSize, IconFont} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n onUpdate: (name: string) => void\n description: string\n placeholder?: string\n}\n\ninterface State {\n isEditing: boolean\n workingDescription: string\n}\n\n@ErrorHandling\nclass EditableDescription extends Component {\n constructor(props: Props) {\n super(props)\n\n this.state = {\n isEditing: false,\n workingDescription: props.description,\n }\n }\n\n public render() {\n const {description} = this.props\n const {isEditing} = this.state\n\n if (isEditing) {\n return (\n
    \n \n {this.input}\n \n
    \n )\n }\n\n return (\n
    \n \n {description || 'No description'}\n \n
    \n
    \n )\n }\n\n private get input(): JSX.Element {\n const {placeholder} = this.props\n const {workingDescription} = this.state\n\n return (\n \n )\n }\n\n private handleStartEditing = (): void => {\n this.setState({isEditing: true})\n }\n\n private handleStopEditing = () => {\n const {workingDescription} = this.state\n const {onUpdate} = this.props\n\n onUpdate(workingDescription)\n this.setState({isEditing: false})\n }\n\n private handleInputChange = (e: ChangeEvent): void => {\n this.setState({workingDescription: e.target.value})\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n const {onUpdate, description} = this.props\n const {workingDescription} = this.state\n\n if (e.key === 'Enter') {\n onUpdate(workingDescription)\n this.setState({isEditing: false})\n }\n\n if (e.key === 'Escape') {\n this.setState({isEditing: false, workingDescription: description})\n }\n }\n\n private handleInputFocus = (e: ChangeEvent): void => {\n e.currentTarget.select()\n }\n\n private get previewClassName(): string {\n const {description} = this.props\n\n return classnames('editable-description--preview', {\n untitled: !description,\n })\n }\n}\n\nexport default EditableDescription\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport uuid from 'uuid'\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// Components\nimport {\n IndexList,\n ComponentSize,\n Alignment,\n ConfirmationButton,\n ComponentColor,\n Appearance,\n} from '@influxdata/clockface'\nimport EditableDescription from 'src/shared/components/editable_description/EditableDescription'\n\ninterface Item {\n text?: string\n name?: string\n}\n\ninterface RowProps {\n confirmText?: string\n item: Item\n onDelete: (item: Item) => void\n fieldName: string\n index: number\n onChange: (index: number, value: string) => void\n}\n\n@ErrorHandling\nclass Row extends PureComponent {\n public static defaultProps: Partial = {\n confirmText: 'Delete',\n }\n\n public render() {\n const {item, fieldName} = this.props\n return (\n \n } columnCount={2}>\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleClickDelete = (item: Item) => {\n this.props.onDelete(item)\n }\n\n private handleKeyDown = (value: string) => {\n const {onChange, index} = this.props\n\n onChange(index, value)\n }\n}\n\nexport default Row\n","// Libraries\nimport React, {SFC} from 'react'\nimport uuid from 'uuid'\n\n// Components\nimport Row from 'src/clockface/components/inputs/multipleInput/Row'\n\ninterface Item {\n text?: string\n name?: string\n}\n\ninterface RowsProps {\n tags: Item[]\n confirmText?: string\n onDeleteTag?: (item: Item) => void\n onChange?: (index: number, value: string) => void\n}\n\nconst Rows: SFC = ({tags, onDeleteTag, onChange}) => {\n return (\n
    \n {tags.map(item => {\n return (\n \n )\n })}\n
    \n )\n}\n\nexport default Rows\n","// Libraries\nimport React, {PureComponent, ChangeEvent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {Button, Form, Input, Grid} from '@influxdata/clockface'\nimport Rows from 'src/clockface/components/inputs/multipleInput/MultipleRows'\n\n// Utils\nimport {validateURI} from 'src/shared/utils/validateURI'\n\n// Types\nimport {\n AutoComplete,\n Columns,\n ComponentColor,\n ComponentSize,\n ComponentStatus,\n InputType,\n} from '@influxdata/clockface'\n\n// Decorators\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\nconst VALIDATE_DEBOUNCE_MS = 350\n\nexport interface Item {\n text?: string\n name?: string\n}\n\nexport enum MultiInputType {\n String = 'string',\n URI = 'uri',\n}\n\ninterface Props {\n onAddRow: (item: string) => void\n onDeleteRow: (item: string) => void\n onEditRow: (index: number, item: string) => void\n tags: Item[]\n title: string\n helpText: string\n inputID?: string\n inputType?: MultiInputType\n autoFocus?: boolean\n}\n\ninterface State {\n editingText: string\n status: ComponentStatus\n}\n\n@ErrorHandling\nclass MultipleInput extends PureComponent {\n private debouncedValidate: (value: string) => void\n private inputRef\n\n constructor(props: Props) {\n super(props)\n this.state = {editingText: '', status: ComponentStatus.Default}\n\n this.inputRef = React.createRef()\n\n this.debouncedValidate = _.debounce(\n this.handleValidateURI,\n VALIDATE_DEBOUNCE_MS\n )\n }\n\n public render() {\n const {title, helpText, tags, autoFocus, onEditRow} = this.props\n const {editingText} = this.state\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n private handleInputChange = (e: ChangeEvent) => {\n const {inputType} = this.props\n const {value} = e.target\n\n this.setState({editingText: value})\n if (inputType === MultiInputType.URI) {\n this.debouncedValidate(value)\n }\n }\n\n private handleSubmit = e => {\n e.preventDefault()\n const newItem = this.inputRef.current.value.trim()\n const {tags, onAddRow} = this.props\n if (!this.shouldAddToList(newItem, tags)) {\n return\n }\n this.setState({editingText: ''})\n onAddRow(this.inputRef.current.value)\n }\n\n private handleKeyDown = e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n const newItem = e.target.value.trim()\n const {tags, onAddRow} = this.props\n if (!this.shouldAddToList(newItem, tags)) {\n return\n }\n this.setState({editingText: ''})\n onAddRow(e.target.value)\n }\n }\n\n private handleDeleteRow = (item: Item) => {\n this.props.onDeleteRow(item.name || item.text)\n }\n\n private shouldAddToList(item: Item, tags: Item[]): boolean {\n return !_.isEmpty(item) && !tags.find(l => l === item)\n }\n\n private handleValidateURI = (value: string): void => {\n if (validateURI(value)) {\n this.setState({status: ComponentStatus.Valid})\n } else {\n this.setState({status: ComponentStatus.Error})\n }\n }\n}\n\nexport default MultipleInput\n","// Libraries\nimport React, {SFC} from 'react'\n\ninterface Props {\n children: any\n}\n\nconst WizardFullScreen: SFC = (props: Props) => {\n return (\n <>\n
    \n {props.children}\n
    \n Powered by {' '}\n \n InfluxData\n \n
    \n
    \n
    \n \n )\n}\n\nexport default WizardFullScreen\n","// Libraries\nimport React, {PureComponent} from 'react'\n\n// Components\nimport {Overlay} from '@influxdata/clockface'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n children: string | React.ReactNode\n footer?: string | React.ReactNode\n title: string\n maxWidth: number\n onDismiss: () => void\n}\n\n@ErrorHandling\nclass WizardOverlay extends PureComponent {\n public static defaultProps = {\n maxWidth: 1200,\n }\n\n public render() {\n const {title, maxWidth, children, footer, onDismiss} = this.props\n\n return (\n \n \n \n \n
    {children}
    \n
    \n {footer && {footer}}\n
    \n
    \n )\n }\n}\n\nexport default WizardOverlay\n","// Libraries\nimport React, {SFC} from 'react'\n\ninterface Props {\n children: any\n}\n\nconst WizardProgressHeader: SFC = (props: Props) => {\n const {children} = props\n return
    {children}
    \n}\n\nexport default WizardProgressHeader\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport _ from 'lodash'\n\n// Components\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\n// constants\nimport {StepStatus, ConnectorState} from 'src/clockface/constants/wizard'\n\ninterface Props {\n currentStepIndex: number\n handleSetCurrentStep: (stepNumber: number) => void\n stepStatuses: StepStatus[]\n stepTitles: string[]\n stepTestIds: string[]\n stepSkippable: boolean[]\n hideFirstStep?: boolean\n}\n\n@ErrorHandling\nclass ProgressBar extends PureComponent {\n public render() {\n return
    {this.WizardProgress}
    \n }\n\n private handleSetCurrentStep = (i: number) => () => {\n const {handleSetCurrentStep, currentStepIndex} = this.props\n\n const isAfterCurrentUnskippableStep =\n !this.isStepSkippable && i > currentStepIndex\n const isAfterNextUnskippableStep =\n this.nextNonSkippableStep !== -1 && i > this.nextNonSkippableStep\n\n const preventSkip =\n isAfterCurrentUnskippableStep || isAfterNextUnskippableStep\n\n if (preventSkip) {\n return\n }\n\n handleSetCurrentStep(i)\n }\n\n private get nextNonSkippableStep(): number {\n const {currentStepIndex, stepSkippable, stepStatuses} = this.props\n return _.findIndex(stepSkippable, (isSkippable, i) => {\n return (\n !isSkippable &&\n i > currentStepIndex &&\n stepStatuses[i] !== StepStatus.Complete\n )\n })\n }\n\n private get isStepSkippable(): boolean {\n const {stepSkippable, stepStatuses, currentStepIndex} = this.props\n\n return (\n stepSkippable[currentStepIndex] ||\n stepStatuses[currentStepIndex] === StepStatus.Complete\n )\n }\n\n private getStepClass(i: number): string {\n if (!this.isStepSkippable && i > this.props.currentStepIndex) {\n return 'wizard--progress-button unclickable'\n }\n return 'wizard--progress-button'\n }\n\n private get WizardProgress(): JSX.Element[] {\n const {\n hideFirstStep,\n stepStatuses,\n stepTitles,\n stepTestIds,\n currentStepIndex,\n } = this.props\n\n const lastIndex = stepStatuses.length - 1\n\n const progressBar: JSX.Element[] = stepStatuses.reduce(\n (acc, stepStatus, i) => {\n if (hideFirstStep && i === 0) {\n return [...acc]\n }\n\n let currentStep = ''\n\n // STEP STATUS\n if (i === currentStepIndex && stepStatus !== StepStatus.Error) {\n currentStep = 'current'\n }\n\n const stepEle = (\n \n \n \n \n \n {stepTitles[i]}\n
    \n
    \n )\n\n if (i === lastIndex) {\n return [...acc, stepEle]\n }\n\n // PROGRESS BAR CONNECTOR\n let connectorStatus = ConnectorState.None\n\n if (i === currentStepIndex && stepStatus !== StepStatus.Error) {\n connectorStatus = ConnectorState.Some\n }\n if (i === lastIndex || stepStatus === StepStatus.Complete) {\n connectorStatus = ConnectorState.Full\n }\n const connectorEle = (\n \n )\n return [...acc, stepEle, connectorEle]\n },\n []\n )\n return progressBar\n }\n}\n\nexport default ProgressBar\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\ninterface Props {\n label: string\n action: (value?: any) => void\n description: string\n testID: string\n value?: any\n disabled?: boolean\n onCollapseMenu?: () => void\n}\n\nclass ContextMenuItem extends Component {\n public static defaultProps = {\n description: '',\n testID: 'context-menu-item',\n }\n\n public render() {\n const {label, disabled, testID} = this.props\n\n return (\n \n {label}\n {this.description}\n \n )\n }\n\n private get className(): string {\n const {disabled} = this.props\n\n return classnames('context-menu--item', {\n 'context-menu--item__disabled': disabled,\n })\n }\n\n private get description(): JSX.Element {\n const {description} = this.props\n if (description) {\n return
    {description}
    \n }\n }\n\n private handleClick = (): void => {\n const {action, onCollapseMenu, value} = this.props\n\n action(value)\n\n if (onCollapseMenu) {\n onCollapseMenu()\n }\n }\n}\n\nexport default ContextMenuItem\n","// Libraries\nimport React, {Component} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport ContextMenuItem from 'src/clockface/components/context_menu/ContextMenuItem'\nimport {ClickOutside} from 'src/shared/components/ClickOutside'\nimport {Button} from '@influxdata/clockface'\n\n// Types\nimport {\n ComponentColor,\n IconFont,\n ComponentSize,\n ButtonShape,\n} from '@influxdata/clockface'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n children: JSX.Element | JSX.Element[]\n icon: IconFont\n onBoostZIndex?: (boostZIndex: boolean) => void\n text: string\n color: ComponentColor\n shape: ButtonShape\n testID: string\n}\n\ninterface State {\n isExpanded: boolean\n}\n\n@ErrorHandling\nclass ContextMenu extends Component {\n public static defaultProps = {\n color: ComponentColor.Primary,\n shape: ButtonShape.Square,\n text: '',\n testID: 'context-menu',\n }\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n isExpanded: false,\n }\n }\n\n public render() {\n const {icon, text, shape, color, testID} = this.props\n\n return (\n \n
    \n \n {this.menu}\n
    \n
    \n )\n }\n\n private handleExpandMenu = (): void => {\n const {onBoostZIndex} = this.props\n\n if (onBoostZIndex) {\n onBoostZIndex(true)\n }\n\n this.setState({isExpanded: true})\n }\n\n private handleCollapseMenu = (): void => {\n const {onBoostZIndex} = this.props\n\n if (onBoostZIndex) {\n onBoostZIndex(false)\n }\n\n this.setState({isExpanded: false})\n }\n\n private get menu(): JSX.Element {\n const {children} = this.props\n\n return (\n
    \n
    \n {React.Children.map(children, (child: JSX.Element) => {\n if (child.type === ContextMenuItem) {\n return (\n \n )\n } else {\n return child\n }\n })}\n
    \n
    \n )\n }\n\n private get listClassName(): string {\n const {color} = this.props\n\n return classnames('context-menu--list', {\n [`context-menu--${color}`]: color,\n })\n }\n\n private get menuClassName(): string {\n const {isExpanded} = this.state\n\n return classnames('context-menu--list-container', {open: isExpanded})\n }\n\n private get toggleClassName(): string {\n const {color} = this.props\n const {isExpanded} = this.state\n\n return classnames('context-menu--toggle', {\n [`context-menu--${color}`]: color,\n active: isExpanded,\n })\n }\n}\n\nexport default ContextMenu\n","export enum ComponentColor {\n Default = 'default',\n Primary = 'primary',\n Secondary = 'secondary',\n Success = 'success',\n Warning = 'warning',\n Danger = 'danger',\n Alert = 'alert',\n}\n\nexport enum ComponentSize {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\n\nexport enum ComponentStatus {\n Default = 'default',\n Loading = 'loading',\n Error = 'error',\n Valid = 'valid',\n Disabled = 'disabled',\n}\n\nexport enum DropdownMenuColors {\n Amethyst = 'amethyst',\n Malachite = 'malachite',\n Sapphire = 'sapphire',\n Onyx = 'onyx',\n}\n\nexport enum DropdownMenuPosition {\n Above = 'above',\n Below = 'below',\n}\n\nexport type DropdownChild =\n | Array\n | string\n | JSX.Element\n | Element\n\nexport enum ButtonShape {\n Default = 'none',\n Square = 'square',\n StretchToFit = 'stretch',\n}\n\nexport enum ButtonType {\n Button = 'button',\n Submit = 'submit',\n}\n\nexport enum Greys {\n Obsidian = '#0f0e15',\n Raven = '#181820',\n Kevlar = '#202028',\n Castle = '#292933',\n Onyx = '#31313d',\n Pepper = '#383846',\n Smoke = '#434453',\n Graphite = '#545667',\n Storm = '#676978',\n Mountain = '#757888',\n Wolf = '#8e91a1',\n Sidewalk = '#999dab',\n Forge = '#a4a8b6',\n Mist = '#bec2cc',\n Chromium = '#c6cad3',\n Platinum = '#d4d7dd',\n Pearl = '#e7e8eb',\n Whisper = '#eeeff2',\n Cloud = '#f6f6f8',\n Ghost = '#fafafc',\n White = '#ffffff',\n}\n\nexport enum IconFont {\n AddCell = 'add-cell',\n AlertTriangle = 'alert-triangle',\n Alerts = 'alerts',\n Annotate = 'annotate',\n AnnotatePlus = 'annotate-plus',\n AuthZero = 'authzero',\n BarChart = 'bar-chart',\n Bell = 'bell',\n BellRinging = 'bell-ringing',\n BellSolid = 'bell-solid',\n Calendar = 'calendar',\n Capacitor = 'capacitor2',\n CaretDown = 'caret-down',\n CaretLeft = 'caret-left',\n CaretRight = 'caret-right',\n CaretUp = 'caret-up',\n Chat = 'chat',\n Checkmark = 'checkmark',\n Circle = 'circle',\n CircleThick = 'circle-thick',\n Clock = 'clock',\n CogOutline = 'cog-outline',\n CogThick = 'cog-thick',\n Collapse = 'collapse',\n CrownOutline = 'crown-outline',\n CrownSolid = 'crown2',\n Cube = 'cube',\n Cubouniform = 'cubo-uniform',\n CuboNav = 'cubo-nav',\n Dashboards = 'dashboards',\n DashF = 'dash-f',\n DashH = 'dash-h',\n DashJ = 'dash-j',\n Disks = 'disks',\n Download = 'download',\n Duplicate = 'duplicate',\n ExpandA = 'expand-a',\n ExpandB = 'expand-b',\n Export = 'export',\n Eye = 'eye',\n EyeClosed = 'eye-closed',\n EyeOpen = 'eye-open',\n GitHub = 'github',\n Google = 'google',\n GraphLine = 'graphline-2',\n Group = 'group',\n Heroku = 'heroku',\n HerokuSimple = '',\n Import = 'import',\n Link = 'link',\n OAuth = 'oauth',\n Octagon = 'octagon',\n Okta = 'okta',\n Pause = 'pause',\n Pencil = 'pencil',\n Play = 'play',\n Plus = 'plus',\n PlusSkinny = 'plus-skinny',\n Pulse = 'pulse-c',\n Refresh = 'refresh',\n Remove = 'remove',\n Search = 'search',\n Server = 'server2',\n Shuffle = 'shuffle',\n Square = 'square',\n TextBlock = 'text-block',\n Trash = 'trash',\n Triangle = 'triangle',\n User = 'user',\n UserAdd = 'user-add',\n UserOutline = 'user-outline',\n UserRemove = 'user-remove',\n UsersDuo = 'users-duo',\n UsersTrio = 'users-trio',\n Wood = 'wood',\n Wrench = 'wrench',\n Star = 'star',\n Stop = 'stop',\n Zap = 'zap',\n}\n\nexport enum Columns {\n One = 1,\n Two = 2,\n Three = 3,\n Four = 4,\n Five = 5,\n Six = 6,\n Seven = 7,\n Eight = 8,\n Nine = 9,\n Ten = 10,\n Eleven = 11,\n Twelve = 12,\n}\n\nexport enum Alignment {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport enum Sort {\n Descending = 'desc',\n Ascending = 'asc',\n None = 'none',\n}\n\nexport enum Stack {\n Rows = 'rows',\n Columns = 'columns',\n}\n\nexport enum NavMenuType {\n RouterLink = 'router',\n HTTPLink = 'http',\n ShowDropdown = 'showDropdown',\n}\n","// Libraries\nimport React, {PureComponent} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport ContextMenu from 'src/clockface/components/context_menu/ContextMenu'\nimport ContextMenuItem from 'src/clockface/components/context_menu/ContextMenuItem'\n\n// Types\nimport {Alignment} from 'src/clockface/types'\n\nimport {ErrorHandling} from 'src/shared/decorators/errors'\n\ninterface Props {\n children: JSX.Element | JSX.Element[]\n align: Alignment\n className?: string\n}\n\ninterface State {\n boostZIndex: boolean\n}\n\n@ErrorHandling\nclass Context extends PureComponent {\n public static defaultProps = {\n align: Alignment.Right,\n }\n\n public static Menu = ContextMenu\n public static Item = ContextMenuItem\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n boostZIndex: false,\n }\n }\n\n public render() {\n const {children} = this.props\n\n return (\n
    \n {React.Children.map(children, (child: JSX.Element) => {\n if (child.type === ContextMenu) {\n return (\n \n )\n } else {\n return child\n }\n })}\n
    \n )\n }\n\n private handleBoostZIndex = (boostZIndex: boolean): void => {\n this.setState({boostZIndex})\n }\n\n private get className(): string {\n const {align, className} = this.props\n const {boostZIndex} = this.state\n\n return classnames('context-menu', {\n [`${className}`]: className,\n 'context-menu--boost-z': boostZIndex,\n 'context-menu--align-left': align === Alignment.Left,\n 'context-menu--align-right': align === Alignment.Right,\n })\n }\n}\n\nexport default Context\n","export {Authorization, Permission} from 'src/client'\n\nexport enum Auth0Connection {\n Google = 'google-oauth2',\n Github = 'github',\n Authentication = 'Username-Password-Authentication',\n}\n\nexport type Auth0Config = {\n clientID: string\n domain: string\n redirectURL: string\n state: string\n}\n","export enum AutoRefreshStatus {\n Active = 'active',\n Disabled = 'disabled',\n Paused = 'paused',\n}\n\nexport interface AutoRefresh {\n status: AutoRefreshStatus\n interval: number\n}\n","export {Bucket as GenBucket} from 'src/client'\n\nimport {Bucket as GenBucket} from 'src/client'\n\nexport interface OwnBucket extends Omit {\n labels?: string[]\n readableRetention: string\n}\n\nexport interface DemoBucket extends Omit {\n type: 'demodata'\n}\n\nexport type Bucket = DemoBucket | OwnBucket\n\nexport type RetentionRule = GenBucket['retentionRules'][0]\n","// Write Data Modes\nexport enum WriteDataMode {\n Manual = 'Manual Entry',\n File = 'File Upload',\n}\n","// function definitions\nimport {Source} from 'src/types'\nexport type OnDeleteFuncNode = (ids: DeleteFuncNodeArgs) => void\nexport type OnChangeArg = (inputArg: InputArg) => void\nexport type OnAddNode = (\n bodyID: string,\n funcName: string,\n declarationID: string\n) => void\nexport type OnToggleYield = (\n bodyID: string,\n declarationID: string,\n funcNodeIndex: number\n) => void\nexport type OnGenerateScript = () => void\nexport type OnChangeScript = (script: string) => void\nexport type ScriptUpToYield = (\n bodyID: string,\n declarationID: string,\n yieldNodeIndex: number,\n isYieldable: boolean\n) => string\nexport type OnDeleteBody = (bodyID: string) => void\n\nexport interface ScriptStatus {\n type: string\n text: string\n}\n\nexport interface Context {\n source: Source\n onAddNode: OnAddNode\n onChangeArg: OnChangeArg\n onChangeScript: OnChangeScript\n onDeleteFuncNode: OnDeleteFuncNode\n onGenerateScript: OnGenerateScript\n onToggleYield: OnToggleYield\n data: FluxTable[]\n scriptUpToYield: ScriptUpToYield\n}\n\nexport interface DeleteFuncNodeArgs {\n funcID: string\n bodyID: string\n declarationID?: string\n yieldNodeID?: string\n}\n\nexport interface InputArg {\n funcID: string\n bodyID: string\n declarationID?: string\n key: string\n value: string | boolean | {[x: string]: string}\n generate?: boolean\n}\n\n// Flattened AST\nexport interface BinaryExpressionNode {\n source: string\n type: string\n}\n\ninterface ObjectNode {\n name: string\n type: string\n}\n\ninterface PropertyNode {\n name?: string\n value?: string\n type: string\n}\n\nexport interface MemberExpressionNode {\n type: string\n source: string\n object: ObjectNode\n property: PropertyNode\n}\n\nexport type FilterNode = BinaryExpressionNode | MemberExpressionNode\n\nexport interface FilterTagCondition {\n key: string\n operator: string\n value: string\n}\n\nexport interface FilterClause {\n [tagKey: string]: FilterTagCondition[]\n}\n\nexport type SetFilterTagValue = (\n key: string,\n value: string,\n selected: boolean\n) => void\n\nexport type SetEquality = (tagKey: string, equal: boolean) => void\n\nexport interface FlatBody {\n type: string\n source: string\n funcs?: Func[]\n declarations?: FlatDeclaration[]\n}\nexport interface Body extends FlatBody {\n id: string\n}\n\nexport interface Func {\n type: string\n name: string\n args: Arg[]\n source: string\n id: string\n}\n\nexport type Arg = ArgString\n\nexport interface ArgString {\n key: string\n value: string\n type: string\n}\n\ninterface FlatExpression {\n id: string\n funcs?: Func[]\n}\n\ninterface FlatDeclaration extends FlatExpression {\n name: string\n value: string\n type: string\n}\n\n// Semantic Graph list of available functions for flux queries\nexport interface Suggestion {\n name: string\n params: {\n [key: string]: string\n }\n}\n\nexport interface FluxLinks {\n self: string\n suggestions: string\n ast: string\n}\n\n// FluxTable is the result of a request to Flux\n// https://github.com/influxdata/influxdb/blob/master/query/docs/SPEC.md#response-format\nexport interface FluxTable {\n id: string\n name: string\n data: string[][]\n result: string\n groupKey: {\n [columnName: string]: string\n }\n dataTypes: {\n [columnName: string]: string\n }\n}\n\nexport interface SchemaFilter {\n key: string\n value: string\n}\n\nexport enum RemoteDataState {\n NotStarted = 'NotStarted',\n Loading = 'Loading',\n Done = 'Done',\n Error = 'Error',\n}\n","export {LogEvent} from 'src/client'\n","import {Action} from 'src/shared/actions/notifications'\nimport {IconFont} from '@influxdata/clockface'\n\nexport type NotificationAction = Action\n\nexport interface Notification {\n id?: string\n style: NotificationStyle\n icon: IconFont\n duration?: number\n message: string\n type?: string\n link?: string\n linkText?: string\n}\n\nexport enum NotificationStyle {\n Error = 'error',\n Success = 'success',\n Info = 'info',\n Primary = 'primary',\n Warning = 'warning',\n}\n","export {Organization} from 'src/client'\n","export {Query, Dialect} from 'src/client'\n\nexport type SelectableTimeRangeLower =\n | 'now() - 5m'\n | 'now() - 15m'\n | 'now() - 1h'\n | 'now() - 6h'\n | 'now() - 12h'\n | 'now() - 24h'\n | 'now() - 2d'\n | 'now() - 7d'\n | 'now() - 30d'\n\nexport type TimeRange =\n | SelectableDurationTimeRange\n | DurationTimeRange\n | CustomTimeRange\n\nexport interface SelectableDurationTimeRange {\n lower: SelectableTimeRangeLower\n upper: null\n seconds: number\n format?: string\n label: string\n duration: string\n type: 'selectable-duration'\n windowPeriod: number\n}\n\nexport interface DurationTimeRange {\n lower: string\n upper: null\n type: 'duration'\n}\n\nexport interface CustomTimeRange {\n lower: string\n upper: string\n type: 'custom'\n}\n","import {\n Authorization,\n Bucket,\n Cell,\n Check,\n Dashboard,\n Member,\n NotificationEndpoint,\n NotificationRule,\n Organization,\n RemoteDataState,\n Scraper,\n TasksState,\n Telegraf,\n TemplatesState,\n VariablesState,\n View,\n Label,\n} from 'src/types'\n\nexport enum ResourceType {\n Authorizations = 'tokens',\n Buckets = 'buckets',\n Cells = 'cells',\n Checks = 'checks',\n Dashboards = 'dashboards',\n Labels = 'labels',\n Orgs = 'orgs',\n Members = 'members',\n NotificationRules = 'rules',\n NotificationEndpoints = 'endpoints',\n Plugins = 'plugins',\n Scrapers = 'scrapers',\n Tasks = 'tasks',\n Templates = 'templates',\n Telegrafs = 'telegrafs',\n Variables = 'variables',\n Views = 'views',\n}\n\nexport interface NormalizedState {\n byID: {\n [uuid: string]: R\n }\n allIDs: string[]\n status: RemoteDataState\n}\n\nexport interface OrgsState extends NormalizedState {\n org: Organization\n}\n\nexport interface TelegrafsState extends NormalizedState {\n currentConfig: {status: RemoteDataState; item: string}\n}\n\nexport interface RulesState extends NormalizedState {\n current: {status: RemoteDataState; rule: NotificationRule}\n}\n\n// Cells \"allIDs\" are Dashboard.cells\ntype CellsState = Omit, 'allIDs'>\n\n// ResourceState defines the types for normalized resources\nexport interface ResourceState {\n [ResourceType.Authorizations]: NormalizedState\n [ResourceType.Buckets]: NormalizedState\n [ResourceType.Cells]: CellsState\n [ResourceType.Checks]: NormalizedState\n [ResourceType.Dashboards]: NormalizedState\n [ResourceType.Labels]: NormalizedState
    \n )\n }\n\n private calculateWidth(): number {\n const {maxColumnCount} = this.props\n return _.reduce(\n _.range(0, maxColumnCount),\n (acc, index) => acc + this.columnWidth({index}),\n 0\n )\n }\n\n private getCellData(row, column) {\n const {data} = this.props\n return data[row][column]\n }\n}\n","// Libraries\nimport {normalize} from 'normalizr'\nimport {get} from 'lodash'\n\n// Actions\nimport {notify} from 'src/shared/actions/notifications'\nimport {setExportTemplate} from 'src/templates/actions/creators'\nimport {\n setVariables,\n setVariable,\n selectValue as selectValueInState,\n removeVariable,\n moveVariable as moveVariableInState,\n} from 'src/variables/actions/creators'\nimport {updateQueryVars} from 'src/dashboards/actions/ranges'\n\n// Schemas\nimport {variableSchema, arrayOfVariables} from 'src/schemas/variables'\n\n// APIs\nimport * as api from 'src/client'\nimport {hydrateVars} from 'src/variables/utils/hydrateVars'\nimport {createVariableFromTemplate as createVariableFromTemplateAJAX} from 'src/templates/api'\n\n// Utils\nimport {\n getVariable as getVariableFromState,\n getVariables as getVariablesFromState,\n getAllVariables as getAllVariablesFromState,\n normalizeValues,\n} from 'src/variables/selectors'\nimport {variableToTemplate} from 'src/shared/utils/resourceToTemplate'\nimport {findDependentVariables} from 'src/variables/utils/exportVariables'\nimport {getOrg} from 'src/organizations/selectors'\nimport {getLabels, getStatus} from 'src/resources/selectors'\nimport {currentContext} from 'src/shared/selectors/currentContext'\nimport {isFlagEnabled} from 'src/shared/utils/featureFlag'\n\n// Constants\nimport * as copy from 'src/shared/copy/notifications'\n\n// Types\nimport {Dispatch} from 'react'\nimport {\n AppState,\n GetState,\n RemoteDataState,\n VariableTemplate,\n Label,\n GenVariable,\n Variable,\n VariableEntities,\n ResourceType,\n} from 'src/types'\nimport {Action as NotifyAction} from 'src/shared/actions/notifications'\nimport {\n Action as VariableAction,\n EditorAction,\n} from 'src/variables/actions/creators'\nimport {RouterAction} from 'connected-react-router'\nimport {filterUnusedVars} from 'src/shared/utils/filterUnusedVars'\nimport {getActiveTimeMachine} from 'src/timeMachine/selectors'\n\ntype Action = VariableAction | EditorAction | NotifyAction\n\nexport const getVariables = (controller?: AbortController) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n const state = getState()\n\n if (\n getStatus(state, ResourceType.Variables) === RemoteDataState.NotStarted\n ) {\n dispatch(setVariables(RemoteDataState.Loading))\n }\n\n const org = getOrg(state)\n const resp = await api.getVariables(\n {query: {orgID: org.id}},\n {signal: controller?.signal}\n )\n if (!resp) {\n return\n }\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variables = normalize(\n resp.data.variables,\n arrayOfVariables\n )\n\n const varsByID = getVariablesFromState(state).reduce((prev, curr) => {\n prev[curr.id] = curr\n return prev\n }, {})\n\n // migrate the selected values from the existing variables into the new ones\n variables.result\n .map(k => {\n return variables.entities.variables[k]\n })\n .filter(e => {\n return varsByID.hasOwnProperty(e.id)\n })\n .forEach(v => {\n variables.entities.variables[v.id].selected = varsByID[v.id].selected\n })\n\n // Make sure all the queries are marked for update\n variables.result\n .map(k => {\n return variables.entities.variables[k]\n })\n .filter(e => {\n return e.arguments.type === 'query'\n })\n .forEach(v => {\n variables.entities.variables[v.id].status = RemoteDataState.NotStarted\n })\n\n await dispatch(setVariables(RemoteDataState.Done, variables))\n } catch (error) {\n console.error(error)\n dispatch(setVariables(RemoteDataState.Error))\n dispatch(notify(copy.getVariablesFailed()))\n }\n}\n\nconst getActiveView = (state: AppState) => {\n if (state.currentPage === 'dashboard') {\n const dashboardID = state.currentDashboard.id\n return Object.values(state.resources.views.byID).filter(\n variable => variable.dashboardID === dashboardID\n )\n }\n if (get(state, ['timeMachines', 'activeTimeMachineID']) === 'de') {\n const de = getActiveTimeMachine(state)\n return [de.view]\n }\n return []\n}\n\nexport const hydrateVariables = (\n skipCache?: boolean,\n controller?: AbortController\n) => async (dispatch: Dispatch, getState: GetState) => {\n const state = getState()\n const org = getOrg(state)\n const vars = getVariablesFromState(state)\n const views = getActiveView(state)\n const usedVars = views.length ? filterUnusedVars(vars, views) : vars\n\n const hydration = hydrateVars(usedVars, getAllVariablesFromState(state), {\n orgID: org.id,\n url: state.links.query.self,\n skipCache,\n controller,\n })\n\n hydration.on('status', (variable, status) => {\n if (status === RemoteDataState.Loading) {\n dispatch(setVariable(variable.id, status))\n return\n }\n if (status === RemoteDataState.Done) {\n const _variable = normalize(\n variable,\n variableSchema\n )\n dispatch(setVariable(variable.id, RemoteDataState.Done, _variable))\n }\n })\n await hydration.promise\n}\n\nexport const hydrateChangedVariable = (variableID: string) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n const state = getState()\n const org = getOrg(state)\n const variable = getVariableFromState(state, variableID)\n const hydration = hydrateVars([variable], getAllVariablesFromState(state), {\n orgID: org.id,\n url: state.links.query.self,\n skipCache: true,\n })\n hydration.on('status', (variable, status) => {\n if (status === RemoteDataState.Loading) {\n dispatch(setVariable(variable.id, status))\n return\n }\n if (status === RemoteDataState.Done) {\n const _variable = normalize(\n variable,\n variableSchema\n )\n dispatch(setVariable(variable.id, RemoteDataState.Done, _variable))\n }\n })\n await hydration.promise\n}\n\nexport const getVariable = (id: string) => async (\n dispatch: Dispatch\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n\n const resp = await api.getVariable({variableID: id})\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(id, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Error))\n dispatch(notify(copy.getVariableFailed()))\n }\n}\n\nexport const createVariable = (\n variable: Pick\n) => async (dispatch: Dispatch, getState: GetState) => {\n try {\n const org = getOrg(getState())\n const resp = await api.postVariable({\n data: {\n ...variable,\n orgID: org.id,\n },\n })\n\n if (resp.status !== 201) {\n throw new Error(resp.data.message)\n }\n\n const createdVar = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(resp.data.id, RemoteDataState.Done, createdVar))\n dispatch(notify(copy.createVariableSuccess(variable.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createVariableFailed(error.message)))\n }\n}\n\nexport const createVariableFromTemplate = (\n template: VariableTemplate\n) => async (dispatch: Dispatch, getState: GetState) => {\n try {\n const state = getState()\n const org = getOrg(state)\n const resp = await createVariableFromTemplateAJAX(template, org.id)\n\n const createdVar = normalize(\n resp,\n variableSchema\n )\n\n dispatch(setVariable(resp.id, RemoteDataState.Done, createdVar))\n dispatch(notify(copy.createVariableSuccess(resp.name)))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.createVariableFailed(error.message)))\n }\n}\n\nexport const updateVariable = (id: string, props: Variable) => async (\n dispatch: Dispatch,\n getState: GetState\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n\n const state = getState()\n const labels = getLabels(state, props.labels)\n\n const resp = await api.patchVariable({\n variableID: id,\n data: {\n ...(props as GenVariable),\n labels,\n },\n })\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(id, RemoteDataState.Done, variable))\n dispatch(notify(copy.updateVariableSuccess(resp.data.name)))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Error))\n dispatch(notify(copy.updateVariableFailed(error.message)))\n }\n}\n\nexport const deleteVariable = (id: string) => async (\n dispatch: Dispatch\n) => {\n try {\n dispatch(setVariable(id, RemoteDataState.Loading))\n const resp = await api.deleteVariable({variableID: id})\n if (resp.status !== 204) {\n throw new Error(resp.data.message)\n }\n dispatch(removeVariable(id))\n dispatch(notify(copy.deleteVariableSuccess()))\n } catch (error) {\n console.error(error)\n dispatch(setVariable(id, RemoteDataState.Done))\n dispatch(notify(copy.deleteVariableFailed(error.message)))\n }\n}\n\nexport const moveVariable = (originalIndex: number, newIndex: number) => async (\n dispatch,\n getState: GetState\n) => {\n const contextID = currentContext(getState())\n await dispatch(moveVariableInState(originalIndex, newIndex, contextID))\n}\n\nexport const convertToTemplate = (variableID: string) => async (\n dispatch,\n getState: GetState\n): Promise => {\n try {\n dispatch(setExportTemplate(RemoteDataState.Loading))\n const state = getState()\n const org = getOrg(state)\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const allVariables = await api.getVariables({query: {orgID: org.id}})\n\n if (allVariables.status !== 200) {\n throw new Error(allVariables.data.message)\n }\n\n const normVariable = normalize(\n resp.data,\n variableSchema\n )\n\n const normVariables = normalize(\n allVariables.data.variables,\n arrayOfVariables\n )\n\n const variable = normVariable.entities.variables[normVariable.result]\n const variables = Object.values(normVariables.entities.variables)\n\n const dependencies = findDependentVariables(variable, variables)\n const variableTemplate = variableToTemplate(state, variable, dependencies)\n\n dispatch(setExportTemplate(RemoteDataState.Done, variableTemplate))\n } catch (error) {\n dispatch(setExportTemplate(RemoteDataState.Error))\n dispatch(notify(copy.createTemplateFailed(error)))\n }\n}\n\nexport const addVariableLabelAsync = (\n variableID: string,\n label: Label\n) => async (dispatch): Promise => {\n try {\n const posted = await api.postVariablesLabel({\n variableID,\n data: {labelID: label.id},\n })\n\n if (posted.status !== 201) {\n throw new Error(posted.data.message)\n }\n\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(variableID, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.addVariableLabelFailed()))\n }\n}\n\nexport const removeVariableLabelAsync = (\n variableID: string,\n label: Label\n) => async (dispatch: Dispatch) => {\n try {\n const deleted = await api.deleteVariablesLabel({\n variableID,\n labelID: label.id,\n })\n\n if (deleted.status !== 204) {\n throw new Error(deleted.data.message)\n }\n\n const resp = await api.getVariable({variableID})\n\n if (resp.status !== 200) {\n throw new Error(resp.data.message)\n }\n\n const variable = normalize(\n resp.data,\n variableSchema\n )\n\n dispatch(setVariable(variableID, RemoteDataState.Done, variable))\n } catch (error) {\n console.error(error)\n dispatch(notify(copy.removeVariableLabelFailed()))\n }\n}\n\nexport const selectValue = (variableID: string, selected: string) => async (\n dispatch: Dispatch<\n Action | ReturnType | RouterAction\n >,\n getState: GetState\n) => {\n const state = getState()\n const contextID = currentContext(state)\n const variable = getVariableFromState(state, variableID)\n // Validate that we can make this selection\n const vals = normalizeValues(variable)\n if (!vals.includes(selected)) {\n // TODO: there is an issue that's causing non-state set values to\n // return with no results and not respect query params\n return\n }\n\n await dispatch(selectValueInState(contextID, variableID, selected))\n // only hydrate the changedVariable\n if (isFlagEnabled('hydratevars')) {\n dispatch(hydrateChangedVariable(variableID))\n } else {\n dispatch(hydrateVariables(true))\n }\n dispatch(updateQueryVars({[variable.name]: selected}))\n}\n","import fromFlux from 'src/shared/utils/fromFlux'\nimport {newTable, Table} from '@influxdata/giraffe'\n\n/*\\\n\n This module translates interfaces between giraffe and influxdb\n as we migrate the flux parsing over from the vis library, closer\n to the api response layer\n\n\\*/\nexport interface FromFluxResult {\n // The single parsed `Table`\n table: Table\n\n // The union of unique group keys from all input Flux tables\n fluxGroupKeyUnion: string[]\n}\n\nexport default function fromFluxLegacy(csv: string): FromFluxResult {\n const parsedFlux = fromFlux(csv)\n\n return {\n table: Object.entries(parsedFlux.table.columns).reduce(\n (table, [key, column]) => {\n return table.addColumn(\n key,\n column.type,\n column.data as string[],\n column.name\n )\n },\n newTable(parsedFlux.table.length)\n ),\n fluxGroupKeyUnion: parsedFlux.fluxGroupKeyUnion,\n }\n}\n","import {AppState, TimeZone} from 'src/types'\n\nexport const timeZone = (state: AppState): TimeZone =>\n state.app.persisted.timeZone || ('Local' as TimeZone)\n\nexport const hasUpdatedTimeRangeInVEO = (state: AppState): boolean =>\n state.app.ephemeral.hasUpdatedTimeRangeInVEO || false\n","import {\n Resource,\n ResourceManipulator,\n ResourceUpdater,\n ResourceGenerator,\n} from 'src/notebooks'\n\nfunction useResource(\n resource: Resource,\n onChange: ResourceUpdater,\n generator?: ResourceGenerator\n): ResourceManipulator {\n return {\n get: (id: string): T => {\n if (!resource.byID.hasOwnProperty(id)) {\n throw new Error(`Could not find resource [${id}]`)\n }\n\n return resource.byID[id]\n },\n add: (id: string, data?: T) => {\n if (data) {\n resource.byID[id] = data\n resource.allIDs.push(id)\n onChange(resource)\n return\n }\n\n let _data\n if (typeof generator === 'function') {\n _data = generator()\n } else {\n _data = generator\n }\n\n if (!_data) {\n throw new Error(`No valid data when adding [${id}]`)\n }\n\n resource.byID[id] = _data\n resource.allIDs.push(id)\n onChange(resource)\n },\n update: (id: string, data: Partial) => {\n if (!resource.byID.hasOwnProperty(id)) {\n throw new Error(`Could not update resource [${id}]`)\n }\n\n resource.byID = {\n ...resource.byID,\n [id]: {\n ...resource.byID[id],\n ...data,\n },\n }\n\n onChange(resource)\n },\n remove: (id: string) => {\n if (!resource.byID.hasOwnProperty(id)) {\n return\n }\n\n delete resource.byID[id]\n resource.allIDs = resource.allIDs.filter(i => i !== id)\n\n onChange(resource)\n },\n\n get allIDs() {\n return resource.allIDs\n },\n get all() {\n return resource.allIDs.map(id => resource.byID[id])\n },\n\n indexOf: (id: string): number => {\n return resource.allIDs.indexOf(id)\n },\n move: (id: string, index: number) => {\n const _index =\n ((index % resource.allIDs.length) + resource.allIDs.length) %\n resource.allIDs.length\n\n resource.allIDs.splice(\n _index,\n 0,\n resource.allIDs.splice(resource.allIDs.indexOf(id), 1)[0]\n )\n onChange(resource)\n },\n\n serialize: () => {\n return resource\n },\n }\n}\n\nexport default useResource\n","import {AppState} from 'src/types'\n\nexport const getDataLoaders = (state: AppState) => {\n return state.dataLoading.dataLoaders\n}\n\nexport const getSteps = (state: AppState) => {\n return state.dataLoading.steps\n}\n","import {Dispatch, Action, Middleware} from 'redux'\n\n// Trigger resize event to re-layout the React Layout plugin\nexport const resizeLayout: Middleware = () => (next: Dispatch) => (\n action: Action\n) => {\n next(action)\n\n if (\n action.type === 'ENABLE_PRESENTATION_MODE' ||\n action.type === 'DISABLE_PRESENTATION_MODE'\n ) {\n // Uses longer event object creation method due to IE compatibility.\n const evt = document.createEvent('HTMLEvents')\n evt.initEvent('resize', false, true)\n window.dispatchEvent(evt)\n }\n}\n","import {Middleware, Dispatch, Action} from 'redux'\n// Middleware generally used for actions needing parsed queryStrings\nimport qs from 'qs'\n\nimport {enablePresentationMode} from 'src/shared/actions/app'\n\nexport const queryStringConfig: Middleware = () => (\n dispatch: Dispatch\n) => (action: Action) => {\n dispatch(action)\n\n const urlQueryParams = qs.parse(window.location.search, {\n ignoreQueryPrefix: true,\n })\n\n if (urlQueryParams.present === 'true') {\n dispatch(enablePresentationMode())\n }\n}\n","import {combineReducers} from 'redux'\n\n// Types\nimport {ActionTypes, Action} from 'src/shared/actions/app'\nimport {AUTOREFRESH_DEFAULT_INTERVAL} from 'src/shared/constants'\nimport {TimeZone, NavBarState, Theme, NotebookMiniMapState} from 'src/types'\n\nexport interface AppState {\n ephemeral: {\n inPresentationMode: boolean\n hasUpdatedTimeRangeInVEO: boolean\n }\n persisted: {\n autoRefresh: number\n showTemplateControlBar: boolean\n timeZone: TimeZone\n navBarState: NavBarState\n theme: Theme\n notebookMiniMapState: NotebookMiniMapState\n }\n}\n\nconst initialState: AppState = {\n ephemeral: {\n inPresentationMode: false,\n hasUpdatedTimeRangeInVEO: false,\n },\n persisted: {\n theme: 'dark',\n autoRefresh: AUTOREFRESH_DEFAULT_INTERVAL,\n showTemplateControlBar: false,\n timeZone: 'Local',\n navBarState: 'collapsed',\n notebookMiniMapState: 'collapsed',\n },\n}\n\nconst {\n ephemeral: initialAppEphemeralState,\n persisted: initialAppPersistedState,\n} = initialState\n\nconst appEphemeralReducer = (\n state = initialAppEphemeralState,\n action: Action\n): AppState['ephemeral'] => {\n switch (action.type) {\n case ActionTypes.EnablePresentationMode: {\n return {\n ...state,\n inPresentationMode: true,\n }\n }\n\n case ActionTypes.DisablePresentationMode: {\n return {\n ...state,\n inPresentationMode: false,\n }\n }\n\n case ActionTypes.EnableUpdatedTimeRangeInVEO: {\n return {\n ...state,\n hasUpdatedTimeRangeInVEO: true,\n }\n }\n\n case ActionTypes.DisableUpdatedTimeRangeInVEO: {\n return {\n ...state,\n hasUpdatedTimeRangeInVEO: false,\n }\n }\n\n default:\n return state\n }\n}\n\nconst appPersistedReducer = (\n state = initialAppPersistedState,\n action: Action\n): AppState['persisted'] => {\n switch (action.type) {\n case 'SET_THEME': {\n return {...state, theme: action.theme}\n }\n\n case ActionTypes.SetAutoRefresh: {\n return {\n ...state,\n autoRefresh: action.payload.milliseconds,\n }\n }\n\n case ActionTypes.SetTimeZone: {\n const {timeZone} = action.payload\n\n return {...state, timeZone}\n }\n\n case ActionTypes.SetNotebookMiniMapState: {\n const notebookMiniMapState = action.notebookMiniMapState\n\n return {...state, notebookMiniMapState}\n }\n\n case 'SET_NAV_BAR_STATE': {\n const navBarState = action.navBarState\n return {\n ...state,\n navBarState,\n }\n }\n\n default:\n return state\n }\n}\n\nconst appReducer = combineReducers({\n ephemeral: appEphemeralReducer,\n persisted: appPersistedReducer,\n})\n\nexport default appReducer\n","import {Action, ActionTypes} from 'src/shared/actions/links'\nimport {Links} from 'src/types/links'\n\nconst initialState: Links = {\n authorizations: '',\n buckets: '',\n dashboards: '',\n external: {\n statusFeed: '',\n },\n query: {\n self: '',\n ast: '',\n suggestions: '',\n },\n orgs: '',\n setup: '',\n signin: '',\n signout: '',\n sources: '',\n system: {debug: '', health: '', metrics: ''},\n tasks: '',\n users: '',\n write: '',\n variables: '',\n views: '',\n defaultDashboard: '',\n me: '',\n}\n\nconst linksReducer = (state = initialState, action: Action): Links => {\n switch (action.type) {\n case ActionTypes.LinksGetCompleted: {\n const {links} = action.payload\n return {...links, defaultDashboard: '/v2/dashboards/029d13fda9c5b000'}\n }\n }\n\n return state\n}\n\nexport default linksReducer\n","import {\n Action,\n SET_CURRENT_DASHBOARD,\n} from 'src/shared/actions/currentDashboard'\n\nexport interface CurrentDashboardState {\n id: string\n}\n\nexport const initialState: CurrentDashboardState = {\n id: '',\n}\n\nconst reducer = (\n state: CurrentDashboardState = initialState,\n action: Action\n): CurrentDashboardState => {\n switch (action.type) {\n case SET_CURRENT_DASHBOARD:\n state.id = action.id\n return {...state}\n default:\n return state\n }\n}\n\nexport default reducer\n","import {produce} from 'immer'\nimport uuid from 'uuid'\nimport {Action} from 'src/shared/actions/notifications'\nimport {Notification} from 'src/types'\n\nexport const initialState: Notification[] = []\n\nexport const notificationsReducer = (\n state = initialState,\n action: Action\n): Notification[] =>\n produce(state, draftState => {\n switch (action.type) {\n case 'PUBLISH_NOTIFICATION': {\n const {notification} = action.payload\n const publishedNotification = {\n ...notification,\n id: uuid.v4(),\n }\n const matchIndex = state.findIndex(\n n => n.type && notification.type && n.type === notification.type\n )\n const isUnique = matchIndex === -1\n if (isUnique) {\n draftState.unshift(publishedNotification)\n }\n return\n }\n\n case 'DISMISS_NOTIFICATION': {\n const {id} = action.payload\n return draftState.filter(n => n.id !== id)\n }\n\n case 'DISMISS_ALL_NOTIFICATIONS': {\n return []\n }\n }\n })\n","import app from 'src/shared/reducers/app'\nimport links from 'src/shared/reducers/links'\nimport currentDashboard from 'src/shared/reducers/currentDashboard'\nimport {notificationsReducer} from 'src/shared/reducers/notifications'\n\nexport default {\n app,\n links,\n currentDashboard,\n notifications: notificationsReducer,\n}\n","import {Actions, SET_ME} from 'src/shared/actions/me'\n\nexport interface MeLinks {\n self: string\n log: string\n}\n\nexport interface MeState {\n id: string\n name: string\n links: MeLinks\n}\n\nconst defaultState: MeState = {\n id: '',\n name: '',\n links: {\n self: '',\n log: '',\n },\n}\n\nexport default (state = defaultState, action: Actions): MeState => {\n switch (action.type) {\n case SET_ME:\n return {\n ...state,\n ...action.payload.me,\n }\n default:\n return state\n }\n}\n","import {\n Actions,\n SET_FEATURE_FLAGS,\n RESET_FEATURE_FLAGS,\n CLEAR_FEATURE_FLAG_OVERRIDES,\n SET_FEATURE_FLAG_OVERRIDE,\n} from 'src/shared/actions/flags'\nimport {RemoteDataState} from 'src/types'\n\nexport interface FlagMap {\n [key: string]: string | boolean\n}\n\nexport interface FlagState {\n status: RemoteDataState\n original: FlagMap\n override: FlagMap\n}\n\nconst defaultState: FlagState = {\n status: RemoteDataState.NotStarted,\n original: {},\n override: {},\n}\n\nexport default (state = defaultState, action: Actions): FlagState => {\n switch (action.type) {\n case SET_FEATURE_FLAGS:\n // just setting the loading state\n if (!action.payload.flags) {\n const newState = {\n ...state,\n status: action.payload.status,\n }\n\n if (!state.hasOwnProperty('original')) {\n newState.original = defaultState.original\n }\n\n return newState\n }\n return {\n ...state,\n status: action.payload.status,\n original: action.payload.flags,\n }\n case RESET_FEATURE_FLAGS:\n return {\n ...defaultState,\n }\n case CLEAR_FEATURE_FLAG_OVERRIDES:\n return {\n ...state,\n override: {},\n }\n case SET_FEATURE_FLAG_OVERRIDE:\n const override = {\n ...(state.override || {}),\n ...action.payload,\n }\n return {\n ...state,\n override,\n }\n default:\n return state\n }\n}\n","import {\n RemoteDataState,\n ResourceState,\n TaskOptions,\n TaskSchedule,\n} from 'src/types'\n\nexport const initialState = (): ResourceState['tasks'] => ({\n allIDs: [],\n byID: {},\n status: RemoteDataState.NotStarted,\n newScript: '',\n currentTask: null,\n currentScript: '',\n searchTerm: '',\n showInactive: true,\n taskOptions: defaultOptions,\n runStatus: RemoteDataState.NotStarted,\n runs: [],\n logs: [],\n})\n\nexport const defaultOptions: TaskOptions = {\n name: '',\n interval: '',\n offset: '',\n cron: '',\n taskScheduleType: TaskSchedule.unselected,\n orgID: '',\n toBucketName: '',\n toOrgName: '',\n}\n","// Libraries\nimport {get} from 'lodash'\n\n// Types\nimport {ResourceType, NormalizedState, RemoteDataState} from 'src/types'\n\nexport const setResourceAtID = (\n draftState: NormalizedState,\n action,\n resource: ResourceType\n) => {\n const {schema, status, id} = action\n\n const prevResource = get(draftState, ['byID', id], {})\n const currentResource = get(schema, ['entities', resource, id], {})\n\n if (!draftState.allIDs.includes(id)) {\n draftState.allIDs.push(id)\n }\n\n draftState.byID[id] = {...prevResource, ...currentResource, status}\n}\n\nexport const setResource = (\n draftState: NormalizedState,\n action,\n resource: ResourceType\n) => {\n const {status, schema} = action\n\n draftState.status = status\n\n if (get(schema, ['entities', resource])) {\n draftState.byID = schema.entities[resource]\n draftState.allIDs = schema.result\n }\n\n return\n}\n\nexport const addResource = (\n draftState: NormalizedState,\n action,\n resource: ResourceType\n) => {\n const {result, entities} = action.schema\n\n draftState.byID[result] = entities[resource][result]\n draftState.allIDs.push(result)\n}\n\nexport const editResource = (\n draftState: NormalizedState,\n action,\n resource: ResourceType\n) => {\n const {entities, result} = action.schema\n\n draftState.byID[result] = entities[resource][result]\n}\n\ninterface RemoveAction {\n type: string\n id: string\n}\n\nexport const removeResource = (\n draftState: NormalizedState,\n action: RemoveAction\n) => {\n const {id} = action\n delete draftState.byID[id]\n draftState.allIDs = draftState.allIDs.filter(uuid => uuid !== id)\n\n return\n}\n\nexport const setRelation = (\n draftState: NormalizedState,\n childType: ResourceType,\n childID: string,\n parentID: string\n) => {\n const resource = draftState.byID[parentID]\n\n if (!resource) {\n return\n }\n\n const child = draftState.byID[parentID][childType]\n\n if (!child) {\n return\n }\n\n draftState.byID[parentID][childType].push(childID)\n}\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {\n Action,\n ADD_TASK,\n SET_TASKS,\n CLEAR_TASK,\n CLEAR_CURRENT_TASK,\n SET_RUNS,\n SET_TASK_OPTION,\n SET_ALL_TASK_OPTIONS,\n SET_NEW_SCRIPT,\n SET_CURRENT_SCRIPT,\n SET_CURRENT_TASK,\n SET_SEARCH_TERM,\n SET_SHOW_INACTIVE,\n SET_LOGS,\n EDIT_TASK,\n REMOVE_TASK,\n} from 'src/tasks/actions/creators'\nimport {ResourceType, ResourceState, TaskSchedule, Task} from 'src/types'\n\n// Utils\nimport {initialState, defaultOptions} from 'src/tasks/reducers/helpers'\nimport {\n setResource,\n editResource,\n removeResource,\n addResource,\n} from 'src/resources/reducers/helpers'\n\ntype TasksState = ResourceState['tasks']\n\nexport default (\n state: TasksState = initialState(),\n action: Action\n): TasksState =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_TASKS: {\n setResource(draftState, action, ResourceType.Tasks)\n\n return\n }\n\n case EDIT_TASK: {\n editResource(draftState, action, ResourceType.Tasks)\n\n return\n }\n\n case REMOVE_TASK: {\n removeResource(draftState, action)\n\n return\n }\n\n case ADD_TASK: {\n addResource(draftState, action, ResourceType.Tasks)\n\n return\n }\n\n case CLEAR_TASK: {\n draftState.taskOptions = defaultOptions\n draftState.currentScript = ''\n draftState.newScript = ''\n\n return\n }\n\n case CLEAR_CURRENT_TASK: {\n draftState.currentScript = ''\n draftState.currentTask = null\n\n return\n }\n\n case SET_ALL_TASK_OPTIONS: {\n const {schema} = action\n const {entities, result} = schema\n const {name, every, cron, orgID, offset} = entities.tasks[result]\n let taskScheduleType = TaskSchedule.interval\n\n if (cron) {\n taskScheduleType = TaskSchedule.cron\n }\n\n draftState.taskOptions = {\n ...state.taskOptions,\n name,\n cron,\n interval: every,\n orgID,\n taskScheduleType,\n offset,\n }\n\n return\n }\n\n case SET_TASK_OPTION: {\n const {key, value} = action\n\n draftState.taskOptions[`${key}`] = value\n\n return\n }\n\n case SET_NEW_SCRIPT: {\n draftState.newScript = action.script\n\n return\n }\n\n case SET_CURRENT_SCRIPT: {\n draftState.currentScript = action.script\n\n return\n }\n\n case SET_CURRENT_TASK: {\n const {schema} = action\n const {entities, result} = schema\n\n const task = entities.tasks[result]\n\n const currentScript = task.flux || ''\n\n draftState.currentScript = currentScript\n draftState.currentTask = task\n\n return\n }\n\n case SET_SEARCH_TERM: {\n const {searchTerm} = action\n\n draftState.searchTerm = searchTerm\n\n return\n }\n\n case SET_SHOW_INACTIVE: {\n draftState.showInactive = !state.showInactive\n\n return\n }\n\n case SET_RUNS: {\n const {runs, runStatus} = action\n\n draftState.runs = runs\n draftState.runStatus = runStatus\n\n return\n }\n\n case SET_LOGS: {\n draftState.logs = action.logs\n\n return\n }\n }\n })\n","import {TimeRange} from 'src/types'\nimport {Action, ActionTypes} from 'src/dashboards/actions/ranges'\n\nexport type RangeState = {\n [contextID: string]: TimeRange\n}\n\nconst initialState: RangeState = {}\n\nexport default (\n state: RangeState = initialState,\n action: Action\n): RangeState => {\n switch (action.type) {\n case ActionTypes.DeleteTimeRange: {\n const {dashboardID} = action.payload\n const {[dashboardID]: _, ...filteredRanges} = state\n\n return filteredRanges\n }\n\n case ActionTypes.RetainRangesDashboardTimeV1: {\n const {dashboardIDs} = action.payload\n const ranges = {}\n for (const key in state) {\n if (dashboardIDs.includes(key)) {\n ranges[key] = state[key]\n }\n }\n return ranges\n }\n\n case ActionTypes.SetDashboardTimeRange: {\n const {dashboardID, timeRange} = action.payload\n return {...state, [dashboardID]: timeRange}\n }\n }\n\n return state\n}\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {\n RemoteDataState,\n ResourceState,\n Dashboard,\n ResourceType,\n} from 'src/types'\n\n// Actions\nimport {\n Action,\n SET_DASHBOARD,\n SET_DASHBOARD_SORT,\n REMOVE_DASHBOARD,\n SET_DASHBOARDS,\n REMOVE_DASHBOARD_LABEL,\n EDIT_DASHBOARD,\n} from 'src/dashboards/actions/creators'\nimport {\n SET_CELLS,\n REMOVE_CELL,\n SET_CELL,\n Action as CellAction,\n} from 'src/cells/actions/creators'\nimport {SET_LABEL_ON_RESOURCE} from 'src/labels/actions/creators'\n\n// Utils\nimport {\n setResource,\n setResourceAtID,\n removeResource,\n editResource,\n setRelation,\n} from 'src/resources/reducers/helpers'\n\nimport {DEFAULT_DASHBOARD_SORT_OPTIONS} from 'src/dashboards/constants'\n\ntype DashboardsState = ResourceState['dashboards']\n\nconst initialState = () => ({\n byID: {},\n allIDs: [],\n status: RemoteDataState.NotStarted,\n sortOptions: DEFAULT_DASHBOARD_SORT_OPTIONS,\n})\n\nexport const dashboardsReducer = (\n state: DashboardsState = initialState(),\n action: Action | CellAction\n): DashboardsState => {\n return produce(state, draftState => {\n switch (action.type) {\n case SET_DASHBOARDS: {\n setResource(draftState, action, ResourceType.Dashboards)\n\n return\n }\n\n case REMOVE_DASHBOARD: {\n removeResource(draftState, action)\n\n return\n }\n\n case SET_DASHBOARD: {\n setResourceAtID(draftState, action, ResourceType.Dashboards)\n\n return\n }\n\n case SET_DASHBOARD_SORT: {\n const {sortOptions} = action\n\n draftState['sortOptions'] = sortOptions\n\n return\n }\n\n case EDIT_DASHBOARD: {\n editResource(draftState, action, ResourceType.Dashboards)\n\n return\n }\n\n case REMOVE_CELL: {\n const {dashboardID, id} = action\n\n const {cells} = draftState.byID[dashboardID]\n\n draftState.byID[dashboardID].cells = cells.filter(cID => cID !== id)\n\n return\n }\n\n case SET_CELL: {\n const {schema} = action\n\n const cellID = schema.result\n const cell = schema.entities.cells[cellID]\n const {cells} = draftState.byID[cell.dashboardID]\n\n if (cells.includes(cellID)) {\n return\n }\n\n draftState.byID[cell.dashboardID].cells.push(cellID)\n\n return\n }\n\n case SET_CELLS: {\n const {dashboardID, schema} = action\n\n const cellIDs = schema && schema.result\n\n if (!cellIDs) {\n return\n }\n\n draftState.byID[dashboardID].cells = cellIDs\n\n return\n }\n\n case SET_LABEL_ON_RESOURCE: {\n const {resourceID, schema} = action\n const labelID = schema.result\n\n setRelation(\n draftState,\n ResourceType.Labels,\n labelID,\n resourceID\n )\n\n return\n }\n\n case REMOVE_DASHBOARD_LABEL: {\n const {dashboardID, labelID} = action\n\n const {labels} = draftState.byID[dashboardID]\n\n draftState.byID[dashboardID].labels = labels.filter(\n label => label !== labelID\n )\n\n return\n }\n }\n })\n}\n","// Libraries\nimport {produce} from 'immer'\nimport {get} from 'lodash'\n\n// Actions\nimport {\n SET_CELLS,\n REMOVE_CELL,\n SET_CELL,\n Action,\n} from 'src/cells/actions/creators'\nimport {\n SET_DASHBOARD,\n Action as DashboardAction,\n} from 'src/dashboards/actions/creators'\nimport {SET_VIEWS_AND_CELLS} from 'src/views/actions/creators'\n\n// Types\nimport {Cell, ResourceState, RemoteDataState} from 'src/types'\n\ntype CellsState = ResourceState['cells']\n\nconst initialState = () => ({\n byID: {},\n status: RemoteDataState.NotStarted,\n})\n\nexport const cellsReducer = (\n state: CellsState = initialState(),\n action: Action | DashboardAction\n) =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_DASHBOARD: {\n const {schema, status} = action\n\n draftState.status = status\n\n if (get(schema, ['entities', 'cells'])) {\n draftState.byID = schema.entities.cells\n }\n\n return\n }\n\n case SET_CELLS: {\n const {status, schema} = action\n\n draftState.status = status\n\n if (get(schema, ['entities', 'cells'])) {\n draftState.byID = schema.entities['cells']\n }\n\n return\n }\n\n case SET_VIEWS_AND_CELLS: {\n const {status, cellsArray} = action\n\n cellsArray.forEach(cellSchema => {\n draftState.status = status\n\n if (get(cellSchema, ['entities', 'cells'])) {\n draftState.byID = cellSchema.entities['cells']\n }\n })\n\n return\n }\n\n case SET_CELL: {\n const {id, schema, status} = action\n\n const cell: Cell = get(schema, ['entities', 'cells', id])\n const cellExists = !!draftState.byID[id]\n\n if (cell || !cellExists) {\n draftState.byID[id] = {...cell, status}\n } else {\n draftState.byID[id].status = status\n }\n\n return\n }\n\n case REMOVE_CELL: {\n delete draftState.byID[action.id]\n\n return\n }\n }\n })\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {\n RESET_VIEWS,\n SET_VIEW,\n SET_VIEWS,\n SET_VIEWS_AND_CELLS,\n Action,\n} from 'src/views/actions/creators'\nimport {SET_DASHBOARD} from 'src/dashboards/actions/creators'\nimport {View, RemoteDataState, ResourceState, ResourceType} from 'src/types'\n\n// Helpers\nimport {setResource, setResourceAtID} from 'src/resources/reducers/helpers'\n\nexport type ViewsState = ResourceState['views']\n\nconst initialState = (): ViewsState => ({\n status: RemoteDataState.NotStarted,\n byID: {},\n allIDs: [],\n})\n\nconst viewsReducer = (\n state: ViewsState = initialState(),\n action: Action\n): ViewsState =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_DASHBOARD: {\n setResource(draftState, action, ResourceType.Views)\n }\n\n case SET_VIEWS: {\n setResource(draftState, action, ResourceType.Views)\n\n return\n }\n case SET_VIEWS_AND_CELLS: {\n const {viewsArray} = action\n viewsArray.forEach(view => {\n setResource(draftState, view, ResourceType.Views)\n })\n\n return\n }\n case SET_VIEW: {\n setResourceAtID(draftState, action, ResourceType.Views)\n\n return\n }\n case RESET_VIEWS: {\n return initialState()\n }\n }\n })\n\nexport default viewsReducer\n","// Libraries\nimport {cloneDeep, isNumber, get, map} from 'lodash'\nimport {produce} from 'immer'\n\n// Utils\nimport {createView, defaultViewQuery} from 'src/views/helpers'\nimport {isConfigValid, buildQuery} from 'src/timeMachine/utils/queryBuilder'\n\n// Constants\nimport {AUTOREFRESH_DEFAULT} from 'src/shared/constants'\nimport {\n THRESHOLD_TYPE_TEXT,\n THRESHOLD_TYPE_BG,\n} from 'src/shared/constants/thresholds'\nimport {pastHourTimeRange} from 'src/shared/constants/timeRanges'\nimport {DEFAULT_TIME_RANGE} from 'src/shared/constants/timeRanges'\nimport {\n AGG_WINDOW_AUTO,\n DEFAULT_FILLVALUES,\n} from 'src/timeMachine/constants/queryBuilder'\n\n// Types\nimport {\n AutoRefresh,\n StatusRow,\n TableViewProperties,\n TimeRange,\n View,\n ViewType,\n QueryView,\n QueryViewProperties,\n ExtractWorkingView,\n DashboardDraftQuery,\n BuilderConfig,\n BuilderConfigAggregateWindow,\n RemoteDataState,\n TimeMachineID,\n Color,\n} from 'src/types'\nimport {Action} from 'src/timeMachine/actions'\nimport {TimeMachineTab} from 'src/types/timeMachine'\nimport {BuilderAggregateFunctionType} from 'src/client/generatedRoutes'\n\ninterface QueryBuilderState {\n buckets: string[]\n bucketsStatus: RemoteDataState\n functions: Array<[{name: string}]>\n aggregateWindow: BuilderConfigAggregateWindow\n tags: Array<{\n aggregateFunctionType: BuilderAggregateFunctionType\n valuesSearchTerm: string\n keysSearchTerm: string\n keys: string[]\n keysStatus: RemoteDataState\n values: string[]\n valuesStatus: RemoteDataState\n }>\n}\n\ninterface QueryResultsState {\n files: string[] | null\n status: RemoteDataState\n isInitialFetch: boolean\n fetchDuration: number\n errorMessage: string\n statuses: StatusRow[][]\n}\n\nexport interface TimeMachineState {\n view: QueryView\n timeRange: TimeRange\n autoRefresh: AutoRefresh\n draftQueries: DashboardDraftQuery[]\n isViewingRawData: boolean\n isViewingVisOptions: boolean\n activeTab: TimeMachineTab\n activeQueryIndex: number | null\n queryBuilder: QueryBuilderState\n queryResults: QueryResultsState\n contextID?: string | null\n}\n\nexport interface TimeMachinesState {\n activeTimeMachineID: TimeMachineID\n timeMachines: {\n ['de']: TimeMachineState\n ['veo']: TimeMachineState\n ['alerting']: TimeMachineState\n }\n}\n\nexport const initialStateHelper = (): TimeMachineState => {\n return {\n timeRange: pastHourTimeRange,\n autoRefresh: AUTOREFRESH_DEFAULT,\n view: createView(),\n draftQueries: [{...defaultViewQuery(), hidden: false}],\n isViewingRawData: false,\n isViewingVisOptions: false,\n activeTab: 'queries',\n activeQueryIndex: 0,\n queryResults: initialQueryResultsState(),\n queryBuilder: {\n buckets: [],\n bucketsStatus: RemoteDataState.NotStarted,\n aggregateWindow: {\n period: AGG_WINDOW_AUTO,\n fillValues: DEFAULT_FILLVALUES,\n },\n functions: [[{name: 'mean'}]],\n tags: [\n {\n aggregateFunctionType: 'filter',\n keys: [],\n keysSearchTerm: '',\n keysStatus: RemoteDataState.NotStarted,\n values: [],\n valuesSearchTerm: '',\n valuesStatus: RemoteDataState.NotStarted,\n },\n ],\n },\n }\n}\n\nexport const initialState = (): TimeMachinesState => ({\n activeTimeMachineID: 'de',\n timeMachines: {\n veo: initialStateHelper(),\n de: initialStateHelper(),\n alerting: initialStateHelper(),\n },\n})\n\nconst getTableProperties = (view, files) => {\n if (!files || !files[0]) {\n return {...view.properties, fieldOptions: []}\n }\n const csv = files[0]\n let pointer = 0,\n ni\n\n // cut off the first 3 lines\n for (ni = 0; ni < 3; ni++) {\n pointer = csv.indexOf('\\r\\n', pointer) + 2\n }\n\n const existing = (view.properties.fieldOptions || []).reduce((prev, curr) => {\n prev[curr.internalName] = curr\n return prev\n }, {})\n\n csv\n .slice(pointer, csv.indexOf('\\r\\n', pointer))\n .split(',')\n .filter(o => !existing.hasOwnProperty(o))\n .filter(o => !['result', '', 'table', 'time'].includes(o))\n .forEach(o => {\n existing[o] = {\n internalName: o,\n displayName: o,\n visible: true,\n }\n })\n\n const fieldOptions = Object.keys(existing).map(e => existing[e])\n const properties = {...view.properties, fieldOptions}\n\n return properties\n}\n\nexport const timeMachinesReducer = (\n state: TimeMachinesState = initialState(),\n action: Action\n): TimeMachinesState => {\n if (action.type === 'SET_ACTIVE_TIME_MACHINE') {\n const {activeTimeMachineID, initialState} = action.payload\n const activeTimeMachine = state.timeMachines[activeTimeMachineID]\n const view = initialState.view || activeTimeMachine.view\n\n const draftQueries = map(cloneDeep(view.properties.queries), q => ({\n ...q,\n hidden: false,\n }))\n\n const queryBuilder = initialQueryBuilderState(draftQueries[0].builderConfig)\n\n const queryResults = initialQueryResultsState()\n const timeRange =\n activeTimeMachineID === 'alerting'\n ? DEFAULT_TIME_RANGE\n : activeTimeMachine.timeRange\n\n return {\n ...state,\n activeTimeMachineID,\n timeMachines: {\n ...state.timeMachines,\n [activeTimeMachineID]: {\n ...activeTimeMachine,\n activeTab: 'queries',\n timeRange,\n ...initialState,\n isViewingRawData: false,\n activeQueryIndex: 0,\n draftQueries,\n queryBuilder,\n queryResults,\n },\n },\n }\n }\n\n // All other actions act upon whichever single `TimeMachineState` is\n // specified by the `activeTimeMachineID` property\n\n const {activeTimeMachineID, timeMachines} = state\n const activeTimeMachine = timeMachines[activeTimeMachineID]\n\n if (!activeTimeMachine) {\n return state\n }\n\n const newActiveTimeMachine = timeMachineReducer(activeTimeMachine, action)\n\n const s = {\n ...state,\n timeMachines: {\n ...timeMachines,\n [activeTimeMachineID]: newActiveTimeMachine,\n },\n }\n\n return s\n}\n\nexport const timeMachineReducer = (\n state: TimeMachineState,\n action: Action\n): TimeMachineState => {\n switch (action.type) {\n case 'SET_VIEW_NAME': {\n const {name} = action.payload\n const view = {...state.view, name}\n\n return {...state, view}\n }\n\n case 'SET_AUTO_REFRESH': {\n return produce(state, draftState => {\n draftState.autoRefresh = action.payload.autoRefresh\n\n buildAllQueries(draftState)\n })\n }\n\n case 'SET_VIEW_TYPE': {\n const {type} = action.payload\n const view = convertView(state.view, state.queryResults.files, type)\n\n return {...state, view}\n }\n\n case 'SET_ACTIVE_QUERY_TEXT': {\n const {text} = action.payload\n const draftQueries = [...state.draftQueries]\n draftQueries[state.activeQueryIndex] = {\n ...draftQueries[state.activeQueryIndex],\n text,\n }\n\n return {...state, draftQueries}\n }\n\n case 'SET_QUERY_RESULTS': {\n return produce(state, draftState => {\n const {\n status,\n files,\n fetchDuration,\n errorMessage,\n statuses,\n } = action.payload\n\n draftState.queryResults.status = status\n draftState.queryResults.errorMessage = errorMessage\n\n if (files && files.length) {\n if (\n state.view &&\n state.view.properties &&\n state.view.properties.type === 'table'\n ) {\n const properties = getTableProperties(state.view, files)\n draftState.view = {...state.view, properties}\n }\n draftState.queryResults.files = files\n draftState.queryResults.isInitialFetch = false\n }\n if (statuses) {\n draftState.queryResults.statuses = statuses\n }\n\n if (isNumber(fetchDuration)) {\n draftState.queryResults.fetchDuration = fetchDuration\n }\n })\n }\n\n case 'SET_IS_VIEWING_RAW_DATA': {\n const {isViewingRawData} = action.payload\n\n return {...state, isViewingRawData}\n }\n\n case 'SET_ACTIVE_TAB': {\n const {activeTab} = action.payload\n\n return {...state, activeTab}\n }\n\n case 'TOGGLE_VIS_OPTIONS': {\n return {...state, isViewingVisOptions: !state.isViewingVisOptions}\n }\n\n case 'SET_GEOM': {\n const {geom} = action.payload\n\n return setViewProperties(state, {geom})\n }\n\n case 'SET_Y_AXIS_BOUNDS': {\n const {bounds} = action.payload\n\n return setYAxis(state, {bounds})\n }\n\n case 'SET_AXIS_PREFIX': {\n const {prefix, axis} = action.payload\n const viewType = state.view.properties.type\n\n if (viewType === 'heatmap' || viewType == 'scatter') {\n if (axis === 'x') {\n return setViewProperties(state, {xPrefix: prefix})\n }\n return setViewProperties(state, {yPrefix: prefix})\n }\n return setYAxis(state, {prefix})\n }\n\n case 'SET_AXIS_SUFFIX': {\n const {suffix, axis} = action.payload\n const viewType = state.view.properties.type\n\n if (viewType === 'heatmap' || viewType === 'scatter') {\n if (axis === 'x') {\n return setViewProperties(state, {xSuffix: suffix})\n }\n return setViewProperties(state, {ySuffix: suffix})\n }\n return setYAxis(state, {suffix})\n }\n\n case 'SET_Y_AXIS_BASE': {\n const {base} = action.payload\n\n return setYAxis(state, {base})\n }\n\n case 'SET_X_COLUMN': {\n const {xColumn} = action.payload\n return setViewProperties(state, {xColumn})\n }\n\n case 'SET_Y_COLUMN': {\n const {yColumn} = action.payload\n return setViewProperties(state, {yColumn})\n }\n\n case 'SET_X_AXIS_LABEL': {\n const {xAxisLabel} = action.payload\n\n switch (state.view.properties.type) {\n case 'histogram':\n case 'heatmap':\n case 'scatter':\n return setViewProperties(state, {xAxisLabel})\n default:\n return setYAxis(state, {label: xAxisLabel})\n }\n }\n\n case 'SET_Y_AXIS_LABEL': {\n const {yAxisLabel} = action.payload\n\n switch (state.view.properties.type) {\n case 'histogram':\n case 'heatmap':\n case 'scatter':\n return setViewProperties(state, {yAxisLabel})\n default:\n return setYAxis(state, {label: yAxisLabel})\n }\n }\n\n case 'SET_FILL_COLUMNS': {\n const {fillColumns} = action.payload\n\n return setViewProperties(state, {fillColumns})\n }\n\n case 'SET_SYMBOL_COLUMNS': {\n const {symbolColumns} = action.payload\n\n return setViewProperties(state, {symbolColumns})\n }\n\n case 'SET_HISTOGRAM_POSITION': {\n const {position} = action.payload\n\n return setViewProperties(state, {position})\n }\n\n case 'SET_LINE_POSITION': {\n const {position} = action.payload\n\n return setViewProperties(state, {position})\n }\n\n case 'SET_BIN_COUNT': {\n const {binCount} = action.payload\n\n return setViewProperties(state, {binCount})\n }\n\n case 'SET_BIN_SIZE': {\n const {binSize} = action.payload\n\n return setViewProperties(state, {binSize})\n }\n\n case 'SET_COLOR_HEXES': {\n const {colors} = action.payload\n\n return setViewProperties(state, {colors})\n }\n\n case 'SET_VIEW_X_DOMAIN': {\n const {xDomain} = action.payload\n\n return setViewProperties(state, {xDomain})\n }\n\n case 'SET_VIEW_Y_DOMAIN': {\n const {yDomain} = action.payload\n\n return setViewProperties(state, {yDomain})\n }\n\n case 'SET_PREFIX': {\n const {prefix} = action.payload\n\n switch (state.view.properties.type) {\n case 'gauge':\n case 'single-stat':\n case 'line-plus-single-stat':\n return setViewProperties(state, {prefix})\n case 'check':\n case 'xy':\n return setYAxis(state, {prefix})\n default:\n return state\n }\n }\n\n case 'SET_TICK_PREFIX': {\n const {tickPrefix} = action.payload\n\n switch (state.view.properties.type) {\n case 'gauge':\n case 'single-stat':\n case 'line-plus-single-stat':\n return setViewProperties(state, {tickPrefix})\n case 'check':\n case 'xy':\n return setYAxis(state, {tickPrefix})\n default:\n return state\n }\n }\n\n case 'SET_SUFFIX': {\n const {suffix} = action.payload\n\n switch (state.view.properties.type) {\n case 'gauge':\n case 'single-stat':\n case 'line-plus-single-stat':\n return setViewProperties(state, {suffix})\n case 'check':\n case 'xy':\n return setYAxis(state, {suffix})\n default:\n return state\n }\n }\n\n case 'SET_TICK_SUFFIX': {\n const {tickSuffix} = action.payload\n\n switch (state.view.properties.type) {\n case 'gauge':\n case 'single-stat':\n case 'line-plus-single-stat':\n return setViewProperties(state, {tickSuffix})\n case 'check':\n case 'xy':\n return setYAxis(state, {tickSuffix})\n default:\n return state\n }\n }\n\n case 'SET_COLORS': {\n const {colors} = action.payload\n\n switch (state.view.properties.type) {\n case 'gauge':\n case 'table':\n case 'single-stat':\n case 'scatter':\n case 'check':\n case 'xy':\n case 'histogram':\n return setViewProperties(state, {colors})\n case 'line-plus-single-stat':\n return setViewProperties(state, {\n colors: updateCorrectColors(state, colors),\n })\n default:\n return state\n }\n }\n\n case 'SET_DECIMAL_PLACES': {\n const {decimalPlaces} = action.payload\n\n return setViewProperties(state, {decimalPlaces})\n }\n\n case 'SET_SHADE_BELOW': {\n const {shadeBelow} = action.payload\n\n return setViewProperties(state, {shadeBelow})\n }\n\n case 'SET_HOVER_DIMENSION': {\n const {hoverDimension} = action.payload\n\n return setViewProperties(state, {hoverDimension})\n }\n\n case 'SET_BACKGROUND_THRESHOLD_COLORING': {\n const viewColors = state.view.properties.colors as Color[]\n\n const colors = viewColors.map(color => {\n if (color.type !== 'scale') {\n return {\n ...color,\n type: THRESHOLD_TYPE_BG,\n }\n }\n\n return color\n })\n\n return setViewProperties(state, {colors})\n }\n\n case 'SET_TEXT_THRESHOLD_COLORING': {\n const viewColors = state.view.properties.colors as Color[]\n\n const colors = viewColors.map(color => {\n if (color.type !== 'scale') {\n return {\n ...color,\n type: THRESHOLD_TYPE_TEXT,\n }\n }\n return color\n })\n\n return setViewProperties(state, {colors})\n }\n\n case 'EDIT_ACTIVE_QUERY_WITH_BUILDER': {\n return produce(state, draftState => {\n const query = draftState.draftQueries[draftState.activeQueryIndex]\n\n query.editMode = 'builder'\n query.hidden = false\n\n buildAllQueries(draftState)\n })\n }\n\n case 'RESET_QUERY_AND_EDIT_WITH_BUILDER': {\n return produce(state, draftState => {\n draftState.draftQueries[draftState.activeQueryIndex] = {\n ...defaultViewQuery(),\n editMode: 'builder',\n hidden: false,\n }\n })\n }\n\n case 'EDIT_ACTIVE_QUERY_AS_FLUX': {\n const {activeQueryIndex} = state\n const draftQueries = [...state.draftQueries]\n\n draftQueries[activeQueryIndex] = {\n ...draftQueries[activeQueryIndex],\n editMode: 'advanced',\n }\n\n return {\n ...state,\n draftQueries,\n }\n }\n\n case 'SET_ACTIVE_QUERY_INDEX': {\n return produce(state, draftState => {\n const {activeQueryIndex} = action.payload\n\n if (activeQueryIndex < draftState.draftQueries.length) {\n draftState.activeQueryIndex = activeQueryIndex\n resetBuilderState(draftState)\n }\n })\n }\n\n case 'ADD_QUERY': {\n return produce(state, draftState => {\n draftState.draftQueries = [\n ...state.draftQueries,\n {...defaultViewQuery(), hidden: false},\n ]\n draftState.activeQueryIndex = draftState.draftQueries.length - 1\n\n resetBuilderState(draftState)\n })\n }\n\n case 'REMOVE_QUERY': {\n return produce(state, draftState => {\n const {queryIndex} = action.payload\n\n draftState.draftQueries.splice(queryIndex, 1)\n\n const queryLength = draftState.draftQueries.length\n\n let activeQueryIndex: number\n\n if (queryIndex < queryLength) {\n activeQueryIndex = queryIndex\n } else if (queryLength === queryIndex && queryLength > 0) {\n activeQueryIndex = queryLength - 1\n } else {\n activeQueryIndex = 0\n }\n\n draftState.activeQueryIndex = activeQueryIndex\n\n resetBuilderState(draftState)\n })\n }\n\n case 'TOGGLE_QUERY': {\n return produce(state, draftState => {\n const draftQuery = draftState.draftQueries[action.payload.queryIndex]\n\n draftQuery.hidden = !draftQuery.hidden\n })\n }\n\n case 'SET_BUILDER_AGGREGATE_FUNCTION_TYPE': {\n return produce(state, draftState => {\n const {index, builderAggregateFunctionType} = action.payload\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n\n buildActiveQuery(draftState)\n if (\n draftQuery &&\n draftQuery.builderConfig &&\n draftQuery.builderConfig.tags[index]\n ) {\n // When switching between filtering and grouping\n // we want to clear out any previously selected values\n draftQuery.builderConfig.tags[index].values = []\n\n draftQuery.builderConfig.tags[\n index\n ].aggregateFunctionType = builderAggregateFunctionType\n }\n })\n }\n\n case 'SET_BUILDER_BUCKET_SELECTION': {\n return produce(state, draftState => {\n const builderConfig =\n draftState.draftQueries[draftState.activeQueryIndex].builderConfig\n\n builderConfig.buckets = [action.payload.bucket]\n\n if (action.payload.resetSelections) {\n const defaultAggregateFunctionType = initialStateHelper().queryBuilder\n .tags[0].aggregateFunctionType\n\n builderConfig.tags = [\n {\n key: '',\n values: [],\n aggregateFunctionType: defaultAggregateFunctionType,\n },\n ]\n buildActiveQuery(draftState)\n }\n })\n }\n\n case 'SET_BUILDER_BUCKETS': {\n return produce(state, draftState => {\n draftState.queryBuilder.buckets = action.payload.buckets\n draftState.queryBuilder.bucketsStatus = RemoteDataState.Done\n })\n }\n\n case 'SET_BUILDER_BUCKETS_STATUS': {\n return produce(state, draftState => {\n draftState.queryBuilder.bucketsStatus = action.payload.bucketsStatus\n })\n }\n\n case 'SET_BUILDER_TAGS_STATUS': {\n return produce(state, draftState => {\n const {status} = action.payload\n const tags = draftState.queryBuilder.tags\n\n for (const tag of tags) {\n tag.keysStatus = status\n tag.valuesStatus = status\n }\n })\n }\n\n case 'SET_BUILDER_TAG_KEYS': {\n return produce(state, draftState => {\n const {index, keys} = action.payload\n\n draftState.queryBuilder.tags[index].keys = keys\n draftState.queryBuilder.tags[index].keysStatus = RemoteDataState.Done\n })\n }\n\n case 'SET_BUILDER_TAG_KEYS_STATUS': {\n return produce(state, draftState => {\n const {index, status} = action.payload\n const tags = draftState.queryBuilder.tags\n\n tags[index].keysStatus = status\n\n if (status === RemoteDataState.Loading) {\n tags[index].valuesStatus = RemoteDataState.NotStarted\n for (let i = index + 1; i < tags.length; i++) {\n tags[i].keysStatus = RemoteDataState.NotStarted\n }\n }\n })\n }\n\n case 'SET_BUILDER_TAG_VALUES': {\n return produce(state, draftState => {\n const {index, values} = action.payload\n\n draftState.queryBuilder.tags[index].values = values\n draftState.queryBuilder.tags[index].valuesStatus = RemoteDataState.Done\n })\n }\n\n case 'SET_BUILDER_TAG_VALUES_STATUS': {\n return produce(state, draftState => {\n const {index, status} = action.payload\n\n draftState.queryBuilder.tags[index].valuesStatus = status\n })\n }\n\n case 'SET_BUILDER_TAG_KEY_SELECTION': {\n return produce(state, draftState => {\n const {index, key} = action.payload\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n const tag = draftQuery.builderConfig.tags[index]\n\n tag.key = key\n tag.values = []\n tag.aggregateFunctionType = 'filter'\n })\n }\n\n case 'SET_BUILDER_TAG_VALUES_SELECTION': {\n return produce(state, draftState => {\n const {index, values} = action.payload\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n\n draftQuery.builderConfig.tags[index].values = values\n buildActiveQuery(draftState)\n })\n }\n\n case 'SET_BUILDER_VALUES_SEARCH_TERM': {\n return produce(state, draftState => {\n const {index, searchTerm} = action.payload\n\n draftState.queryBuilder.tags[index].valuesSearchTerm = searchTerm\n })\n }\n\n case 'SET_BUILDER_KEYS_SEARCH_TERM': {\n return produce(state, draftState => {\n const {index, searchTerm} = action.payload\n\n draftState.queryBuilder.tags[index].keysSearchTerm = searchTerm\n })\n }\n\n case 'ADD_TAG_SELECTOR': {\n return produce(state, draftState => {\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n const [initialTags] = initialStateHelper().queryBuilder.tags\n\n draftQuery.builderConfig.tags.push({\n key: '',\n values: [],\n aggregateFunctionType: initialTags.aggregateFunctionType,\n })\n draftState.queryBuilder.tags.push(initialTags)\n })\n }\n\n case 'REMOVE_TAG_SELECTOR': {\n return produce(state, draftState => {\n const {index} = action.payload\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n\n let selectedValues = []\n if (draftQuery) {\n selectedValues = draftQuery.builderConfig.tags[index].values\n\n draftQuery.builderConfig.tags.splice(index, 1)\n draftState.queryBuilder.tags.splice(index, 1)\n }\n\n if (selectedValues.length) {\n buildActiveQuery(draftState)\n }\n })\n }\n\n case 'SELECT_BUILDER_FUNCTION': {\n return produce(state, draftState => {\n const {functions} = action.payload\n\n const functionsWithNames = functions.map(f => ({\n name: f,\n }))\n\n draftState.draftQueries[\n draftState.activeQueryIndex\n ].builderConfig.functions = functionsWithNames\n\n buildActiveQuery(draftState)\n })\n }\n\n case 'SET_AGGREGATE_WINDOW': {\n return produce(state, draftState => {\n const {activeQueryIndex, draftQueries} = draftState\n const {period} = action.payload\n\n draftQueries[\n activeQueryIndex\n ].builderConfig.aggregateWindow.period = period\n buildActiveQuery(draftState)\n })\n }\n\n case 'SET_AGGREGATE_FILL_VALUES': {\n return produce(state, draftState => {\n const {activeQueryIndex, draftQueries} = draftState\n const {fillValues} = action.payload\n\n draftQueries[\n activeQueryIndex\n ].builderConfig.aggregateWindow.fillValues = fillValues\n buildActiveQuery(draftState)\n })\n }\n\n case 'UPDATE_ACTIVE_QUERY_NAME': {\n const {activeQueryIndex} = state\n const {queryName} = action.payload\n const draftQueries = [...state.draftQueries]\n\n draftQueries[activeQueryIndex] = {\n ...draftQueries[activeQueryIndex],\n name: queryName,\n }\n\n return {...state, draftQueries}\n }\n\n case 'SET_FIELD_OPTIONS': {\n const workingView = state.view\n const {fieldOptions} = action.payload\n const properties = {\n ...workingView.properties,\n fieldOptions,\n }\n const view = {...state.view, properties}\n return {...state, view}\n }\n\n case 'UPDATE_FIELD_OPTION': {\n const workingView = state.view as ExtractWorkingView\n const {option} = action.payload\n const field = option.internalName\n\n const properties = {...workingView.properties}\n properties.fieldOptions = properties.fieldOptions.slice(0)\n\n const names = workingView.properties.fieldOptions.map(o => o.internalName)\n const idx = names.indexOf(field)\n\n if (idx < 0) {\n return state\n }\n\n properties.fieldOptions[idx] = option\n\n const view = {...state.view, properties}\n return {...state, view}\n }\n\n case 'SET_TABLE_OPTIONS': {\n const workingView = state.view\n const {tableOptions} = action.payload\n const properties = {...workingView.properties, tableOptions}\n const view = {...state.view, properties}\n\n return {...state, view}\n }\n\n case 'SET_TIME_FORMAT': {\n const workingView = state.view\n\n const {timeFormat} = action.payload\n const properties = {...workingView.properties, timeFormat}\n const view = {...state.view, properties}\n\n return {...state, view}\n }\n\n case 'SAVE_DRAFT_QUERIES': {\n return produce(state, draftState => {\n draftState.view.properties.queries = draftState.draftQueries.filter(\n q => !q.hidden\n )\n })\n }\n }\n\n return state\n}\n\nconst setViewProperties = (\n state: TimeMachineState,\n update: {[key: string]: any}\n): TimeMachineState => {\n const view: any = state.view\n const properties = view.properties\n\n return {\n ...state,\n view: {...view, properties: {...properties, ...update}},\n }\n}\n\nconst setYAxis = (state: TimeMachineState, update: {[key: string]: any}) => {\n const view: any = state.view\n const properties = view.properties\n const axes = get(properties, 'axes', {})\n const yAxis = get(axes, 'y', {})\n\n return {\n ...state,\n view: {\n ...view,\n properties: {\n ...properties,\n axes: {...axes, y: {...yAxis, ...update}},\n },\n },\n }\n}\n\nconst updateCorrectColors = (\n state: TimeMachineState,\n update: Color[]\n): Color[] => {\n const view: any = state.view\n const colors = view.properties.colors\n\n if (get(update, '0.type', '') === 'scale') {\n return [...colors.filter(c => c.type !== 'scale'), ...update]\n }\n return [...colors.filter(c => c.type === 'scale'), ...update]\n}\n\nconst convertView = (\n view: QueryView,\n files,\n outType: ViewType\n): View => {\n const newView: any = createView(outType)\n newView.properties.queries = cloneDeep(view.properties.queries)\n if (outType === 'table' && files) {\n newView.properties = getTableProperties(newView, files)\n }\n newView.name = view.name\n newView.cellID = view.cellID\n newView.dashboardID = view.dashboardID\n newView.id = (view as any).id\n newView.links = (view as any).links\n\n return newView\n}\n\nconst initialQueryBuilderState = (\n builderConfig: BuilderConfig\n): QueryBuilderState => {\n const defaultFunctions = initialStateHelper().queryBuilder.functions\n const [defaultTag] = initialStateHelper().queryBuilder.tags\n return {\n buckets: builderConfig.buckets,\n bucketsStatus: RemoteDataState.NotStarted,\n functions: [...defaultFunctions],\n aggregateWindow: {period: AGG_WINDOW_AUTO, fillValues: DEFAULT_FILLVALUES},\n tags: builderConfig.tags.map(() => {\n return {...defaultTag}\n }),\n }\n}\n\nconst initialQueryResultsState = (): QueryResultsState => ({\n files: null,\n status: RemoteDataState.NotStarted,\n isInitialFetch: true,\n fetchDuration: null,\n errorMessage: null,\n statuses: null,\n})\n\nexport const buildActiveQuery = (draftState: TimeMachineState) => {\n const draftQuery = draftState.draftQueries[draftState.activeQueryIndex]\n\n if (isConfigValid(draftQuery.builderConfig)) {\n draftQuery.text = buildQuery(draftQuery.builderConfig)\n } else if (!draftQuery.text) {\n draftQuery.text = ''\n }\n}\n\nconst buildAllQueries = (draftState: TimeMachineState) => {\n draftState.draftQueries\n .filter(query => query.editMode === 'builder')\n .forEach(query => {\n if (isConfigValid(query.builderConfig)) {\n query.text = buildQuery(query.builderConfig)\n } else {\n query.text = ''\n }\n })\n}\n\nconst resetBuilderState = (draftState: TimeMachineState) => {\n const newBuilderConfig =\n draftState.draftQueries[draftState.activeQueryIndex].builderConfig\n\n draftState.queryBuilder = initialQueryBuilderState(newBuilderConfig)\n}\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {\n SET_ORGS,\n SET_ORG,\n ADD_ORG,\n REMOVE_ORG,\n Action,\n EDIT_ORG,\n} from 'src/organizations/actions/creators'\nimport {\n ResourceState,\n Organization,\n ResourceType,\n RemoteDataState,\n} from 'src/types'\n\n// Utils\nimport {\n setResource,\n addResource,\n removeResource,\n editResource,\n} from 'src/resources/reducers/helpers'\n\nconst {Orgs} = ResourceType\ntype OrgsState = ResourceState['orgs']\n\nconst initialState = (): OrgsState => ({\n byID: {},\n allIDs: [],\n status: RemoteDataState.NotStarted,\n org: null,\n})\n\nexport const orgsReducer = (\n state: OrgsState = initialState(),\n action: Action\n) =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_ORGS: {\n setResource(draftState, action, Orgs)\n\n return\n }\n case ADD_ORG: {\n addResource(draftState, action, Orgs)\n\n return\n }\n\n case REMOVE_ORG: {\n removeResource(draftState, action)\n\n return\n }\n\n case EDIT_ORG: {\n editResource(draftState, action, Orgs)\n\n // NOTE: this is a normalization issue because the current org\n // is being updated, but the selected org object isn't being\n // updated. Since we have only one org at a time in this app\n // i've taken some liberties here\n if (action.schema.result === draftState.org.id) {\n draftState.org = action.schema.entities.orgs[action.schema.result]\n }\n\n return\n }\n\n case SET_ORG: {\n draftState.org = action.org\n\n return\n }\n }\n })\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {ActionTypes, Actions} from 'src/overlays/actions/overlays'\n\nexport type OverlayID =\n | 'add-note'\n | 'edit-note'\n | 'add-master-token'\n | 'add-token'\n | 'telegraf-config'\n | 'telegraf-output'\n | 'switch-organizations'\n | 'create-bucket'\n | 'asset-limit'\n\nexport interface OverlayParams {\n [key: string]: string\n}\n\nexport interface OverlayState {\n id: OverlayID | null\n params: OverlayParams\n onClose: () => void\n}\n\nconst nullParams = {}\n\nconst defaultState: OverlayState = {\n id: null,\n params: nullParams,\n onClose: () => {},\n}\n\nexport const overlaysReducer = (\n state = defaultState,\n action: Actions\n): OverlayState =>\n produce(state, draftState => {\n switch (action.type) {\n case ActionTypes.ShowOverlay: {\n const {overlayID, overlayParams, onClose} = action.payload\n draftState.id = overlayID\n draftState.params = overlayParams\n draftState.onClose = onClose\n return\n }\n case ActionTypes.DismissOverlay: {\n draftState.id = null\n draftState.params = nullParams\n draftState.onClose = () => {}\n return\n }\n }\n })\n\nexport default overlaysReducer\n","// Constants\nimport {StepStatus} from 'src/clockface/constants/wizard'\n\n// Types\nimport {Action} from 'src/onboarding/actions'\nimport {ISetupParams} from '@influxdata/influx'\n\nexport interface OnboardingState {\n stepStatuses: StepStatus[]\n setupParams: ISetupParams\n orgID: string\n bucketID: string\n}\n\nconst INITIAL_STATE: OnboardingState = {\n stepStatuses: new Array(3).fill(StepStatus.Incomplete),\n setupParams: null,\n orgID: '',\n bucketID: '',\n}\n\nexport default (state = INITIAL_STATE, action: Action): OnboardingState => {\n switch (action.type) {\n case 'SET_SETUP_PARAMS':\n return {...state, setupParams: action.payload.setupParams}\n case 'SET_STEP_STATUS':\n const stepStatuses = [...state.stepStatuses]\n stepStatuses[action.payload.index] = action.payload.status\n return {...state, stepStatuses}\n case 'SET_ORG_ID':\n return {...state, orgID: action.payload.orgID}\n case 'SET_ONBOARDING_BUCKET_ID':\n return {...state, bucketID: action.payload.bucketID}\n default:\n return state\n }\n}\n","import {Action} from 'src/dashboards/actions/notes'\nimport {NoteEditorMode} from 'src/types/dashboards'\n\nexport interface NoteEditorState {\n mode: NoteEditorMode\n note: string\n showNoteWhenEmpty: boolean\n isPreviewing: boolean\n viewID?: string\n}\n\nconst initialState = (): NoteEditorState => ({\n mode: NoteEditorMode.Adding,\n note: '',\n showNoteWhenEmpty: false,\n isPreviewing: false,\n})\n\nconst noteEditorReducer = (\n state: NoteEditorState = initialState(),\n action: Action\n) => {\n switch (action.type) {\n case 'RESET_NOTE_STATE': {\n return initialState()\n }\n case 'SET_NOTE_STATE': {\n const initialState = action.payload\n\n return {\n ...state,\n ...initialState,\n isPreviewing: false,\n }\n }\n\n case 'CLOSE_NOTE_EDITOR': {\n return {...state, overlayVisible: false}\n }\n\n case 'SET_IS_PREVIEWING': {\n const {isPreviewing} = action.payload\n\n return {...state, isPreviewing}\n }\n\n case 'TOGGLE_SHOW_NOTE_WHEN_EMPTY': {\n const {showNoteWhenEmpty} = state\n\n return {...state, showNoteWhenEmpty: !showNoteWhenEmpty}\n }\n\n case 'SET_NOTE': {\n const {note} = action.payload\n\n return {...state, note}\n }\n }\n\n return state\n}\n\nexport default noteEditorReducer\n","// Libraries\nimport _ from 'lodash'\n\n// Utils\nimport {\n createNewPlugin,\n updateConfigFields,\n isPluginInBundle,\n isPluginUniqueToBundle,\n getConfigFields,\n} from 'src/dataLoaders/utils/pluginConfigs'\nimport {getDeep} from 'src/utils/wrappers'\nimport {validateURI} from 'src/shared/utils/validateURI'\n\n// Types\nimport {Action} from 'src/dataLoaders/actions/dataLoaders'\nimport {\n DataLoaderType,\n LineProtocolTab,\n DataLoadersState,\n ConfigurationState,\n ConfigFieldType,\n Plugin,\n} from 'src/types/dataLoaders'\nimport {RemoteDataState} from 'src/types'\nimport {WritePrecision} from '@influxdata/influx'\nimport {QUICKSTART_SCRAPER_TARGET_URL} from 'src/dataLoaders/constants/pluginConfigs'\n\nexport const INITIAL_STATE: DataLoadersState = {\n telegrafPlugins: [],\n type: DataLoaderType.Empty,\n lineProtocolBody: '',\n activeLPTab: LineProtocolTab.UploadFile,\n lpStatus: RemoteDataState.NotStarted,\n lpError: '',\n precision: WritePrecision.Ns,\n telegrafConfigID: null,\n pluginBundles: [],\n scraperTarget: {\n bucket: '',\n url: QUICKSTART_SCRAPER_TARGET_URL,\n name: 'Name this Scraper Target',\n },\n telegrafConfigName: 'Name this Configuration',\n telegrafConfigDescription: '',\n token: '',\n}\n\nexport default (state = INITIAL_STATE, action: Action): DataLoadersState => {\n switch (action.type) {\n case 'CLEAR_DATA_LOADERS':\n return {...INITIAL_STATE}\n case 'SET_DATA_LOADERS_TYPE':\n return {\n ...state,\n type: action.payload.type,\n }\n case 'SET_TELEGRAF_CONFIG_ID':\n return {\n ...state,\n telegrafConfigID: action.payload.id,\n }\n case 'ADD_PLUGIN_BUNDLE':\n return {\n ...state,\n pluginBundles: [...state.pluginBundles, action.payload.bundle],\n }\n case 'REMOVE_PLUGIN_BUNDLE':\n return {\n ...state,\n pluginBundles: state.pluginBundles.filter(\n b => b !== action.payload.bundle\n ),\n }\n case 'REMOVE_BUNDLE_PLUGINS':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.filter(tp => {\n if (isPluginInBundle(tp.name, action.payload.bundle)) {\n return !isPluginUniqueToBundle(\n tp.name,\n action.payload.bundle,\n state.pluginBundles\n )\n }\n\n return true\n }),\n }\n case 'ADD_TELEGRAF_PLUGINS':\n return {\n ...state,\n telegrafPlugins: _.sortBy(\n _.uniqBy(\n [...state.telegrafPlugins, ...action.payload.telegrafPlugins],\n 'name'\n ),\n ['name']\n ),\n }\n case 'UPDATE_TELEGRAF_PLUGIN':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.plugin.name) {\n return {\n ...tp,\n plugin: action.payload.plugin,\n }\n }\n\n return tp\n }),\n }\n case 'UPDATE_TELEGRAF_PLUGIN_CONFIG':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.name) {\n const plugin = _.get(tp, 'plugin', createNewPlugin(tp.name))\n\n return {\n ...tp,\n plugin: updateConfigFields(\n plugin,\n action.payload.field,\n action.payload.value\n ),\n }\n }\n return tp\n }),\n }\n case 'ADD_TELEGRAF_PLUGIN_CONFIG_VALUE':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.pluginName) {\n const plugin = _.get(tp, 'plugin', createNewPlugin(tp.name))\n\n const config = _.get(\n plugin,\n ['config', action.payload.fieldName],\n []\n )\n\n const updatedConfigFieldValue: string[] = [\n ...config,\n action.payload.value,\n ]\n\n return {\n ...tp,\n plugin: updateConfigFields(\n plugin,\n action.payload.fieldName,\n updatedConfigFieldValue\n ),\n }\n }\n return tp\n }),\n }\n case 'REMOVE_TELEGRAF_PLUGIN_CONFIG_VALUE':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.pluginName) {\n const plugin = _.get(tp, 'plugin', createNewPlugin(tp.name))\n\n const configFieldValues = _.get(\n plugin,\n `config.${action.payload.fieldName}`,\n []\n )\n const filteredConfigFieldValue = configFieldValues.filter(\n v => v !== action.payload.value\n )\n\n return {\n ...tp,\n plugin: updateConfigFields(\n plugin,\n action.payload.fieldName,\n filteredConfigFieldValue\n ),\n }\n }\n return tp\n }),\n }\n case 'SET_TELEGRAF_PLUGIN_CONFIG_VALUE':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.pluginName) {\n const plugin = _.get(tp, 'plugin', createNewPlugin(tp.name))\n const configValues = _.get(\n plugin,\n `config.${action.payload.field}`,\n []\n )\n configValues[action.payload.valueIndex] = action.payload.value\n return {\n ...tp,\n plugin: updateConfigFields(plugin, action.payload.field, [\n ...configValues,\n ]),\n }\n }\n return tp\n }),\n }\n case 'SET_ACTIVE_TELEGRAF_PLUGIN':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n if (tp.name === action.payload.telegrafPlugin) {\n return {...tp, active: true}\n }\n return {...tp, active: false}\n }),\n }\n case 'SET_PLUGIN_CONFIGURATION_STATE':\n return {\n ...state,\n telegrafPlugins: state.telegrafPlugins.map(tp => {\n const name = _.get(tp, 'name')\n if (name === action.payload.telegrafPlugin) {\n const configFields = getConfigFields(name)\n if (!configFields) {\n return {...tp, configured: ConfigurationState.Configured}\n }\n\n const plugin = getDeep(tp, 'plugin', createNewPlugin(name))\n const config = _.get(plugin, 'config', {})\n\n let isValidConfig = true\n\n Object.entries(configFields).forEach(\n ([fieldName, {type: fieldType, isRequired}]) => {\n if (isRequired) {\n const fieldValue = config[fieldName]\n\n switch (fieldType) {\n case ConfigFieldType.Uri:\n isValidConfig = validateURI(fieldValue as string)\n break\n case ConfigFieldType.String:\n isValidConfig = (fieldValue as string) !== ''\n break\n case ConfigFieldType.StringArray:\n isValidConfig = !!(fieldValue as string[]).length\n break\n case ConfigFieldType.UriArray:\n isValidConfig =\n !!(fieldValue as string[]).length &&\n !fieldValue.find(uri => !validateURI(uri))\n break\n }\n }\n }\n )\n\n if (!isValidConfig || _.isEmpty(config)) {\n return {\n ...tp,\n configured: ConfigurationState.InvalidConfiguration,\n }\n } else {\n return {...tp, configured: ConfigurationState.Configured}\n }\n }\n\n return {...tp}\n }),\n }\n case 'SET_TELEGRAF_CONFIG_NAME':\n return {\n ...state,\n telegrafConfigName: action.payload.name,\n }\n case 'SET_TELEGRAF_CONFIG_DESCRIPTION':\n return {\n ...state,\n telegrafConfigDescription: action.payload.description,\n }\n case 'SET_SCRAPER_TARGET_NAME':\n const {name} = action.payload\n return {\n ...state,\n scraperTarget: {...state.scraperTarget, name},\n }\n case 'SET_SCRAPER_TARGET_BUCKET':\n const {bucket} = action.payload\n return {\n ...state,\n scraperTarget: {...state.scraperTarget, bucket},\n }\n case 'SET_SCRAPER_TARGET_URL':\n const {url} = action.payload\n return {\n ...state,\n scraperTarget: {\n ...state.scraperTarget,\n url,\n },\n }\n case 'SET_SCRAPER_TARGET_ID':\n const {id} = action.payload\n return {\n ...state,\n scraperTarget: {\n ...state.scraperTarget,\n id,\n },\n }\n case 'SET_LINE_PROTOCOL_BODY':\n return {\n ...state,\n lineProtocolBody: action.payload.lineProtocolBody,\n }\n case 'SET_ACTIVE_LP_TAB':\n return {\n ...state,\n activeLPTab: action.payload.activeLPTab,\n }\n case 'SET_LP_STATUS':\n const {lpStatus, lpError} = action.payload\n if (lpStatus === RemoteDataState.Error) {\n return {\n ...state,\n lpStatus,\n lpError,\n }\n }\n return {\n ...state,\n lpStatus,\n lpError: '',\n }\n case 'SET_PRECISION':\n return {\n ...state,\n precision: action.payload.precision,\n }\n case 'SET_TOKEN':\n return {\n ...state,\n token: action.payload.token,\n }\n default:\n return state\n }\n}\n","// Types\nimport {Action} from 'src/dataLoaders/actions/steps'\nimport {Substep} from 'src/types/dataLoaders'\n\nexport interface DataLoadersStepsState {\n currentStep: number\n substep?: Substep\n orgID: string\n bucketID: string\n org: string\n bucket: string\n}\n\nconst INITIAL_STATE: DataLoadersStepsState = {\n org: '',\n bucket: '',\n orgID: '',\n bucketID: '',\n currentStep: 0,\n}\n\nexport default (\n state = INITIAL_STATE,\n action: Action\n): DataLoadersStepsState => {\n switch (action.type) {\n case 'CLEAR_STEPS':\n return {...INITIAL_STATE}\n case 'INCREMENT_CURRENT_STEP_INDEX':\n return {...state, currentStep: state.currentStep + 1}\n case 'DECREMENT_CURRENT_STEP_INDEX':\n return {...state, currentStep: state.currentStep - 1}\n case 'SET_CURRENT_STEP_INDEX':\n return {...state, currentStep: action.payload.index}\n case 'SET_SUBSTEP_INDEX':\n return {\n ...state,\n currentStep: action.payload.stepIndex,\n substep: action.payload.substep,\n }\n case 'SET_BUCKET_INFO':\n return {...state, ...action.payload}\n case 'SET_BUCKET_ID':\n return {...state, bucketID: action.payload.bucketID}\n default:\n return state\n }\n}\n","// Libraries\nimport {combineReducers} from 'redux'\n\n// Reducers\nimport dataLoadersReducer from 'src/dataLoaders/reducers/dataLoaders'\nimport {DataLoadersState} from 'src/types/dataLoaders'\nimport stepsReducer, {\n DataLoadersStepsState,\n} from 'src/dataLoaders/reducers/steps'\n\nexport interface DataLoadingState {\n steps: DataLoadersStepsState\n dataLoaders: DataLoadersState\n}\n\nexport default combineReducers({\n steps: stepsReducer,\n dataLoaders: dataLoadersReducer,\n})\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {VariableEditorState} from 'src/types'\nimport {\n EditorAction,\n CLEAR_VARIABLE_EDITOR,\n CHANGE_VARIABLE_EDITOR_TYPE,\n UPDATE_VARIABLE_EDITOR_NAME,\n UPDATE_VARIABLE_EDITOR_QUERY,\n UPDATE_VARIABLE_EDITOR_MAP,\n UPDATE_VARIABLE_EDITOR_CONSTANT,\n} from 'src/variables/actions/creators'\n\nexport const initialEditorState = (): VariableEditorState => ({\n name: '',\n selected: 'query',\n argsQuery: null,\n argsMap: null,\n argsConstant: null,\n})\n\nexport const variableEditorReducer = (\n state: VariableEditorState = initialEditorState(),\n action: EditorAction\n): VariableEditorState =>\n produce(state, draftState => {\n switch (action.type) {\n case CLEAR_VARIABLE_EDITOR: {\n return initialEditorState()\n }\n case CHANGE_VARIABLE_EDITOR_TYPE: {\n draftState.selected = action.editorType\n return\n }\n case UPDATE_VARIABLE_EDITOR_NAME: {\n draftState.name = action.name\n return\n }\n case UPDATE_VARIABLE_EDITOR_QUERY: {\n draftState.argsQuery = action.payload\n return\n }\n case UPDATE_VARIABLE_EDITOR_MAP: {\n draftState.argsMap = action.payload\n return\n }\n case UPDATE_VARIABLE_EDITOR_CONSTANT: {\n draftState.argsConstant = action.payload\n return\n }\n default:\n return\n }\n })\n","// Libraries\nimport {produce} from 'immer'\nimport {get} from 'lodash'\n\n// Types\nimport {\n Variable,\n RemoteDataState,\n VariablesState,\n ResourceType,\n} from 'src/types'\nimport {\n Action,\n SET_VARIABLES,\n SET_VARIABLE,\n REMOVE_VARIABLE,\n MOVE_VARIABLE,\n SELECT_VARIABLE_VALUE,\n} from 'src/variables/actions/creators'\n\n// Utils\nimport {setResource, removeResource} from 'src/resources/reducers/helpers'\n\nexport const initialState = (): VariablesState => ({\n status: RemoteDataState.NotStarted,\n byID: {},\n allIDs: [],\n values: {},\n})\n\nexport const variablesReducer = (\n state: VariablesState = initialState(),\n action: Action\n): VariablesState =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_VARIABLES: {\n setResource(draftState, action, ResourceType.Variables)\n\n return\n }\n\n case SET_VARIABLE: {\n const {id, status, schema} = action\n\n const variable = get(schema, ['entities', 'variables', id])\n const variableExists = !!draftState.byID[id]\n\n if (variable) {\n draftState.byID[id] = {...variable, status}\n\n if (!variableExists) {\n draftState.allIDs.push(id)\n }\n } else {\n draftState.byID[id].status = status\n }\n\n return\n }\n\n case REMOVE_VARIABLE: {\n removeResource(draftState, action)\n\n return\n }\n\n case SELECT_VARIABLE_VALUE: {\n const {contextID, variableID, selectedValue} = action\n\n if (!draftState.values[contextID]) {\n draftState.values[contextID] = {\n status: RemoteDataState.Done,\n order: draftState.allIDs,\n values: {},\n }\n }\n\n if (!draftState.values[contextID].values[variableID]) {\n draftState.values[contextID].values[variableID] = {\n selected: [selectedValue],\n }\n\n return\n }\n\n draftState.values[contextID].values[variableID].selected = [\n selectedValue,\n ]\n\n return\n }\n\n case MOVE_VARIABLE: {\n const {originalIndex, newIndex, contextID} = action\n let newOrder = get(draftState, `values.${contextID}.order`)\n\n // if no order, take it from allIDs\n if (!newOrder) {\n newOrder = get(draftState, `allIDs`)\n }\n\n newOrder = newOrder.slice(0)\n\n const idToMove = newOrder[originalIndex]\n const idToSwap = newOrder[newIndex]\n\n newOrder[originalIndex] = idToSwap\n newOrder[newIndex] = idToMove\n\n draftState.values[contextID] = {\n ...(draftState.values[contextID] || {\n status: RemoteDataState.NotStarted,\n values: {},\n }),\n order: newOrder,\n }\n\n return\n }\n }\n })\n\nexport {variableEditorReducer} from 'src/variables/reducers/editor'\n","// Libraries\nimport {produce} from 'immer'\n\n// Types\nimport {RemoteDataState, ResourceState, Label, ResourceType} from 'src/types'\nimport {\n Action,\n SET_LABELS,\n SET_LABEL,\n REMOVE_LABEL,\n} from 'src/labels/actions/creators'\n\n// Utils\nimport {\n setResource,\n setResourceAtID,\n removeResource,\n} from 'src/resources/reducers/helpers'\n\ntype LabelsState = ResourceState['labels']\n\nexport const initialState = (): LabelsState => ({\n status: RemoteDataState.NotStarted,\n byID: {},\n allIDs: [],\n})\n\nexport const labelsReducer = (\n state: LabelsState = initialState(),\n action: Action\n): LabelsState =>\n produce(state, draftState => {\n switch (action.type) {\n case SET_LABELS: {\n setResource