@kando-env/kando-ui 1.2.241 → 1.2.244
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Router.js +4 -66
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +11 -41
- package/lib/Widgets/EventsRow/EventsRow.js +14 -41
- package/lib/Widgets/Map/GraphUtils.js +1 -4
- package/lib/Widgets/Map/Map.js +20 -42
- package/lib/Widgets/Map/MapUtils.js +4 -58
- package/lib/Widgets/Map/areas/AreaPolygon.js +7 -27
- package/lib/Widgets/Map/areas/AreaPolygons.js +8 -21
- package/lib/Widgets/Map/edges/Edge.js +9 -30
- package/lib/Widgets/Map/edges/Edges.js +11 -17
- package/lib/Widgets/Map/edges/arrows/Arrows.js +7 -22
- package/lib/Widgets/Map/events/Event.js +7 -23
- package/lib/Widgets/Map/events/EventIndicator.js +19 -42
- package/lib/Widgets/Map/events/EventPath.js +5 -20
- package/lib/Widgets/Map/events/EventUtils.js +4 -53
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -16
- package/lib/Widgets/Map/events/PointOfEvent.js +3 -32
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +4 -14
- package/lib/Widgets/Map/events/Snail.js +7 -19
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +15 -54
- package/lib/Widgets/Map/map/FloatingGraph.js +3 -19
- package/lib/Widgets/Map/map/GraphDateButton.js +3 -9
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +5 -11
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +4 -10
- package/lib/Widgets/Map/points/PointMarker.js +3 -19
- package/lib/Widgets/Map/points/PointMarkers.js +6 -19
- package/lib/Widgets/Map/points/PointUtils.js +7 -78
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +15 -49
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +4 -19
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +1 -13
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +1 -5
- package/lib/Widgets/MostPolluting/Areas/Areas.js +19 -53
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +1 -7
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +3 -11
- package/lib/Widgets/MostPolluting/Factories/Factories.js +30 -64
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +4 -21
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +1 -10
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +4 -17
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -7
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +1 -7
- package/lib/Widgets/MostPolluting/MostPolluting.js +4 -17
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +13 -17
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +2 -9
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +1 -5
- package/lib/Widgets/MostPolluting/assets/index.js +17 -28
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +1 -16
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +15 -26
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +4 -26
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +25 -33
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +4 -20
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +29 -43
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +1 -7
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +2 -9
- package/lib/Widgets/PotentialImpactSummary/Icon.js +1 -11
- package/lib/Widgets/PotentialImpactSummary/index.js +7 -29
- package/lib/Widgets/PotentialImpactSummary/index.test.js +17 -36
- package/lib/Widgets/PotentialImpactSummary/styles.js +2 -15
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +4 -10
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +7 -21
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +19 -29
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +15 -24
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +7 -21
- package/lib/Widgets/QualitySummary/QualitySummary.js +8 -24
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +2 -15
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +9 -20
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +9 -34
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +9 -18
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +22 -45
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +2 -22
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
- package/lib/assets/icons/index.js +5 -8
- package/lib/assets/icons/kandoStepper/index.js +9 -14
- package/lib/components/ApplyButton/ApplyButton.js +5 -11
- package/lib/components/ApplyButton/index.js +1 -4
- package/lib/components/Backdrop/Backdrop.js +2 -8
- package/lib/components/ContentLoader/ContentLoader.js +7 -12
- package/lib/components/ContentLoader/index.js +1 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +7 -14
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +2 -8
- package/lib/components/CustomInputs/DoubleTabs/styles.js +2 -10
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +5 -18
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +1 -5
- package/lib/components/CustomInputs/Search/Search.js +13 -38
- package/lib/components/CustomInputs/Search/index.js +1 -4
- package/lib/components/CustomInputs/Select/Select.js +13 -31
- package/lib/components/CustomInputs/Select/Select.stories.js +2 -8
- package/lib/components/DamageType/DamageType.js +37 -76
- package/lib/components/DamageType/index.js +1 -4
- package/lib/components/DataLoaderError/DataLoaderError.js +4 -10
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +6 -16
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +17 -37
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +12 -37
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +6 -10
- package/lib/components/DischargeHeatmap/index.js +1 -4
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
- package/lib/components/DischargeHeatmap/popupText.js +1 -16
- package/lib/components/DischargeHeatmap/titles.js +1 -8
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +3 -15
- package/lib/components/Events/Events.js +5 -30
- package/lib/components/Events/index.js +1 -4
- package/lib/components/Graph/Graph.js +31 -74
- package/lib/components/Graph/index.js +1 -4
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +1 -7
- package/lib/components/Header/Breadcrumbs/index.js +1 -4
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +14 -30
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +2 -8
- package/lib/components/Header/DoubleTabs/styles.js +2 -10
- package/lib/components/Header/Header.js +1 -7
- package/lib/components/Header/Header.stories.js +2 -8
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +1 -11
- package/lib/components/Header/InfoBar/InfoBar.js +4 -30
- package/lib/components/Header/InfoBar/Search/Control.js +2 -13
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +1 -12
- package/lib/components/Header/InfoBar/Search/Search.js +5 -26
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -21
- package/lib/components/Header/InfoBar/Search/index.js +1 -4
- package/lib/components/Header/InfoBar/Search/searchStyle.js +1 -4
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +46 -91
- package/lib/components/Header/KandoNavbar/index.js +1 -4
- package/lib/components/Header/Slideshow/Slideshow.js +31 -67
- package/lib/components/Header/Slideshow/index.js +1 -4
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +1 -7
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +2 -15
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +1 -15
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +7 -24
- package/lib/components/Header/Toolbar/Toolbar.js +46 -84
- package/lib/components/InfoBar/InfoBar.js +8 -23
- package/lib/components/InfoBar/InfoBar.stories.js +2 -8
- package/lib/components/KandoModal/KandoModal.js +19 -42
- package/lib/components/KandoModal/index.js +1 -4
- package/lib/components/Link.js +2 -11
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +3 -12
- package/lib/components/Links/StyledLink/StyledLink.js +6 -16
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +4 -14
- package/lib/components/LiveEvents/CarouselSlide.js +5 -11
- package/lib/components/LiveEvents/LiveEvents.js +1 -10
- package/lib/components/LiveEvents/index.js +1 -4
- package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -23
- package/lib/components/Map/Map.js +12 -26
- package/lib/components/Map/index.js +1 -4
- package/lib/components/Modal/Modal.js +3 -10
- package/lib/components/NarrowHeader.js +1 -12
- package/lib/components/PointInfo/PointInfo.js +10 -22
- package/lib/components/PointInfo/index.js +1 -4
- package/lib/components/PopupModal/PopupModal.js +6 -17
- package/lib/components/PopupModal/PopupModal.stories.js +2 -11
- package/lib/components/Sector/Sector.js +4 -13
- package/lib/components/Sector/Sector.test.js +3 -8
- package/lib/components/Sector/index.js +1 -4
- package/lib/components/Sector/sectorIcons.js +1 -27
- package/lib/components/SevereEvent/Eta/Eta.js +14 -39
- package/lib/components/SevereEvent/Eta/styles.js +1 -5
- package/lib/components/SevereEvent/SevereEvent.js +15 -36
- package/lib/components/Spinner/Spinner.js +5 -10
- package/lib/components/Spinner/Spinner.stories.js +2 -8
- package/lib/components/Spinner/index.js +1 -4
- package/lib/components/Spinner/styles.js +1 -9
- package/lib/components/Tabs/Tabs.js +4 -24
- package/lib/components/Tabs/Tabs.stories.js +2 -8
- package/lib/components/Tabs/assets/index.js +1 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +2 -12
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +12 -43
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +12 -36
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +1 -4
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +9 -29
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +4 -9
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +1 -4
- package/lib/components/TimeRangeSelector/TimeRangeList.js +4 -13
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +11 -24
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +11 -36
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +2 -10
- package/lib/components/TimeRangeSelector/constants.js +2 -2
- package/lib/components/TimeRangeSelector/index.js +1 -4
- package/lib/components/Toggle/Toggle.js +7 -21
- package/lib/components/Toggle/index.js +1 -4
- package/lib/components/TrendGraph/TrendGraph.js +16 -49
- package/lib/components/TrendGraph/index.js +1 -4
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +11 -36
- package/lib/components/TrendGraphNVL/index.js +1 -4
- package/lib/development-environment/index.js +1 -13
- package/lib/development-environment/mock/browser.js +1 -8
- package/lib/development-environment/mock/get.js +1 -5
- package/lib/development-environment/mock/handlers.js +1 -26
- package/lib/development-environment/mock/mockBus.js +2 -7
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
- package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
- package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
- package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
- package/lib/development-environment/togly/ToglyDashboard.js +4 -22
- package/lib/development-environment/togly/ToglyItem.js +5 -25
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +1 -6
- package/lib/development-environment/togly/macro.js +7 -9
- package/lib/development-environment/togly/useDoubleKeyDown.js +1 -8
- package/lib/development-environment/togly/useLocalStorage.js +12 -19
- package/lib/hooks/useApi.js +10 -29
- package/lib/hooks/useApiWithDashboardQuery.js +10 -30
- package/lib/hooks/useClickOutside.js +1 -5
- package/lib/hooks/useInitializeHeaders.js +1 -7
- package/lib/hooks/useKandoFetch.js +13 -27
- package/lib/hooks/useMap.js +8 -39
- package/lib/hooks/useNavContext.js +13 -22
- package/lib/hooks/useQueryURL.js +1 -4
- package/lib/hooks/useRemoveExistingLayers.js +2 -7
- package/lib/hooks/useUpdateEventBodyTail.js +1 -10
- package/lib/hooks/useUserTimeZone.js +1 -9
- package/lib/hooks/useUserTimeZone.test.js +1 -9
- package/lib/hooks/useWindowSize.js +14 -19
- package/lib/i18n/en_uk.json +1 -1
- package/lib/index.js +13 -29
- package/lib/macros/getVersion.js +2 -3
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +5 -34
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +6 -17
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -23
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +11 -35
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +6 -8
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +28 -64
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +1 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +3 -15
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -7
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +2 -10
- package/lib/pages/AssessmentPage/AssessmentPage.js +5 -30
- package/lib/pages/CannyWidget/Feedback.js +10 -25
- package/lib/pages/CovidPage/CovidPage.js +1 -14
- package/lib/pages/CovidPage/components/Body.js +9 -33
- package/lib/pages/CovidPage/components/Map.js +20 -38
- package/lib/pages/CovidPage/components/Sidebar.js +4 -18
- package/lib/pages/CovidPage/components/Summary.js +8 -29
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +11 -36
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +1 -4
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +13 -41
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +1 -4
- package/lib/pages/CovidPage/components/areas/Area.js +6 -33
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +4 -45
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +5 -18
- package/lib/pages/CovidPage/components/areas/AreasList.js +14 -33
- package/lib/pages/CovidPage/components/areas/Sort.js +5 -19
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +2 -11
- package/lib/pages/EventsPage/Body/Body.js +2 -19
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +11 -28
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +11 -31
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +4 -11
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +3 -11
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +5 -10
- package/lib/pages/EventsPage/DragAndDropArea/index.js +1 -4
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +7 -33
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +2 -21
- package/lib/pages/EventsPage/EventsPage.js +1 -13
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +9 -32
- package/lib/pages/EventsPage/events/MoreInfo.js +1 -19
- package/lib/pages/EventsPage/events/Sidebar.js +5 -18
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +5 -29
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +8 -32
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +12 -41
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +2 -14
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +10 -40
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +1 -12
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +8 -30
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +1 -8
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +7 -27
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +2 -10
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +5 -21
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +4 -23
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +4 -22
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +6 -33
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +3 -15
- package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +2 -10
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +8 -31
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +4 -20
- package/lib/pages/EventsPage/events/events_list/EventItem.js +3 -24
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +2 -13
- package/lib/pages/EventsPage/events/events_list/EventsList.js +38 -102
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +11 -32
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +31 -96
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +10 -55
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +5 -17
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -38
- package/lib/pages/EventsPage/events/events_list/Sort.js +4 -23
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +4 -19
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +2 -8
- package/lib/pages/ImportFileWizard/ImportFile.js +10 -29
- package/lib/pages/ImportFileWizard/ResponseBody.js +3 -12
- package/lib/pages/ImportFileWizard/ValidationForm.js +7 -27
- package/lib/pages/ImportFileWizard/ValidationResponse.js +6 -30
- package/lib/pages/ImportFileWizard/importFileUtils.js +1 -2
- package/lib/pages/ImportFileWizard/index.js +1 -4
- package/lib/pages/ImportGisPage/ImportGisContainer.js +7 -27
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +10 -27
- package/lib/pages/ImportGisPage/importGisUtils.js +1 -13
- package/lib/pages/ImportGisProcess/index.js +4 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +5 -19
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +3 -10
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +1 -8
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +25 -58
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +2 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +8 -16
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.stories.js +2 -10
- package/lib/pages/NotificationsPage/NotificationsPage.js +11 -35
- package/lib/pages/NotificationsPage/assets/index.js +15 -24
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +35 -83
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +4 -24
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +15 -40
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +18 -49
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +4 -47
- package/lib/pages/NotificationsPageV2/notificationUtils.js +2 -30
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +16 -77
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +3 -16
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +5 -12
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -23
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +28 -59
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +3 -18
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +2 -15
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +8 -16
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +1 -16
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +2 -10
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +2 -7
- package/lib/pages/ProfilePage/Container.js +1 -5
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +16 -43
- package/lib/pages/ProfilePage/ProfilePage.js +39 -88
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +9 -32
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +7 -17
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +3 -14
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +7 -43
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +4 -21
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +7 -15
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +8 -29
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +6 -25
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +9 -21
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +1 -13
- package/lib/pages/SamplingsPage/DesktopActions/index.js +1 -4
- package/lib/pages/SamplingsPage/NavigationDropdown.js +3 -21
- package/lib/pages/SamplingsPage/NewSamplingAction.js +38 -84
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +12 -65
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +5 -19
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -13
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +22 -56
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +4 -20
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +1 -14
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +34 -107
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +11 -42
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +14 -47
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +15 -49
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +5 -21
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +2 -8
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +1 -11
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +7 -36
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +10 -34
- package/lib/pages/SamplingsPage/SamplingsPage.js +14 -39
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +14 -48
- package/lib/pages/SamplingsPage/index.js +1 -3
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +7 -30
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +2 -10
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +3 -17
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -11
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +15 -23
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +7 -16
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +18 -27
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -26
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +32 -68
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +4 -19
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +2 -15
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +17 -38
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +13 -29
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +3 -7
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +2 -10
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +2 -8
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +5 -12
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +1 -10
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +5 -15
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +17 -48
- package/lib/pages/SitePage/SiteInformation/style.js +2 -8
- package/lib/pages/SitePage/SitePage.js +10 -49
- package/lib/pages/UploadLabResult/index.js +1 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +9 -37
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +2 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +2 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +2 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +9 -35
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +1 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +1 -7
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +1 -10
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +7 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +1 -10
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +1 -5
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +3 -25
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +13 -19
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +6 -17
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +5 -20
- package/lib/pages/WbeDashboard/ExpandableComponent.js +2 -12
- package/lib/pages/WbeDashboard/GraphWrapper.js +6 -27
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +6 -19
- package/lib/pages/WbeDashboard/SearchInput.js +4 -22
- package/lib/pages/WbeDashboard/SummaryGraph.js +16 -49
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +1 -13
- package/lib/pages/WbeDashboard/Tabs.js +3 -9
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +25 -114
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +9 -43
- package/lib/providers/Slideshow/SlideshowContext.js +3 -5
- package/lib/providers/Slideshow/SlideshowProvider.js +16 -31
- package/lib/providers/Slideshow/SlideshowRunner.js +7 -17
- package/lib/providers/UrlHistory/UrlHistoryContext.js +3 -7
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +1 -13
- package/lib/providers/UrlHistory/index.js +5 -8
- package/lib/providers/UrlHistory/useLastVisited.js +1 -7
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +1 -2
- package/lib/store/ImportGis/actionsCreator.js +7 -17
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +1 -17
- package/lib/store/WBE/actionTypes.js +1 -1
- package/lib/store/WBE/actions.js +1 -3
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +2 -9
- package/lib/store/areas/actionTypes.js +2 -2
- package/lib/store/areas/actions.js +2 -11
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +1 -9
- package/lib/store/context/actionTypes.js +2 -2
- package/lib/store/context/actions.js +2 -6
- package/lib/store/context/contextMiddlewares.js +1 -9
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +2 -9
- package/lib/store/dashboard/dashboardSlice.js +1 -3
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +2 -2
- package/lib/store/edges/actions.js +3 -9
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +2 -16
- package/lib/store/events/actionTypes.js +2 -2
- package/lib/store/events/actions.js +10 -28
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +3 -41
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +2 -2
- package/lib/store/global/actions.js +8 -20
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +2 -18
- package/lib/store/permissions/permissionsSlice.js +1 -6
- package/lib/store/points/actionTypes.js +2 -2
- package/lib/store/points/actions.js +1 -5
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +1 -7
- package/lib/store/rootActionTypes.js +1 -1
- package/lib/store/rootActions.js +1 -3
- package/lib/store/rootReducer.js +4 -23
- package/lib/store/rootStore.js +4 -12
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +1 -2
- package/lib/store/samplings/actionsCreator.js +2 -5
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +1 -9
- package/lib/styles/StylesLayout.js +1 -7
- package/lib/styles/theme/theme.js +2 -4
- package/lib/test/mocks/browser.js +3 -7
- package/lib/test/test-utils.js +11 -21
- package/lib/ui-kit/Button/Button.js +15 -23
- package/lib/ui-kit/Button/Button.test.js +6 -26
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +7 -21
- package/lib/ui-kit/DropDown/DropDown.js +5 -16
- package/lib/ui-kit/DropDown/DropDown.test.js +6 -12
- package/lib/ui-kit/DropDown/DropDownItem.js +5 -13
- package/lib/ui-kit/DropDown/DropdownToggle.js +2 -13
- package/lib/ui-kit/IconAction/IconAction.js +3 -9
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +16 -54
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +16 -27
- package/lib/ui-kit/KandoList/KandoList.js +5 -16
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +22 -36
- package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -16
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +1 -8
- package/lib/ui-kit/MobileInput/MobileInput.js +18 -33
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +8 -14
- package/lib/ui-kit/ModalConfirmation/index.js +1 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +5 -10
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +3 -11
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -11
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +5 -14
- package/lib/ui-kit/Tooltip/Tooltip.js +3 -8
- package/lib/ui-kit/index.js +1 -15
- package/lib/ui-kit/kandoStepper/KandoStepper.js +2 -7
- package/lib/utilities/ActionUtility.js +1 -2
- package/lib/utilities/Alert.js +2 -10
- package/lib/utilities/Analytics.js +1 -12
- package/lib/utilities/Array.js +2 -6
- package/lib/utilities/Enum.js +1 -16
- package/lib/utilities/ErrorBoundary.js +3 -18
- package/lib/utilities/File.js +5 -24
- package/lib/utilities/GetDir.js +4 -8
- package/lib/utilities/KandoDate.js +1 -7
- package/lib/utilities/KandoModal.js +7 -22
- package/lib/utilities/LocalStorage.js +2 -13
- package/lib/utilities/ThousandsToK.js +1 -3
- package/lib/utilities/TimeFormat.js +6 -19
- package/lib/utilities/Truncate.js +7 -27
- package/lib/utilities/edgesMath.js +5 -24
- package/lib/utilities/i18n.js +1 -14
- package/lib/utilities/kql.js +3 -10
- package/lib/utilities/map/icons.js +1 -14
- package/lib/utilities/scoreToColor.js +1 -8
- package/lib/utilities/time.js +2 -9
- package/lib/utilities/uploadToS3.js +1 -9
- package/lib/utilities/urls.js +4 -12
- package/package.json +1 -1
|
@@ -1,47 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _reactRedux = require("react-redux");
|
|
15
|
-
|
|
16
11
|
var _EventsList = _interopRequireDefault(require("./events_list/EventsList"));
|
|
17
|
-
|
|
18
12
|
var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
|
|
19
|
-
|
|
20
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
15
|
function mapStateToProps(state) {
|
|
25
16
|
var global_data = state.global_data,
|
|
26
|
-
|
|
17
|
+
events_data = state.events_data;
|
|
27
18
|
return {
|
|
28
19
|
global_data: global_data,
|
|
29
20
|
events_data: events_data
|
|
30
21
|
};
|
|
31
22
|
}
|
|
32
|
-
|
|
33
23
|
var Sidebar = function Sidebar(props) {
|
|
34
24
|
var global_data = props.global_data,
|
|
35
|
-
|
|
25
|
+
events_data = props.events_data;
|
|
36
26
|
var focusedEvent = events_data.focusedEvent,
|
|
37
|
-
|
|
27
|
+
hoveredEvent = events_data.hoveredEvent;
|
|
38
28
|
(0, _react.useEffect)(function () {
|
|
39
29
|
if (global_data.map !== null && events_data.items.length !== 0 && focusedEvent !== null && global_data.map._mapPane !== undefined && !hoveredEvent) {
|
|
40
30
|
document.getElementsByClassName('event-timerange')[0].classList.toggle('timerange--sidenav-collapsed');
|
|
41
31
|
}
|
|
42
|
-
|
|
43
32
|
if (global_data.map !== null && global_data.map !== undefined) {
|
|
44
33
|
// Timerange control icon moves when the Sidenav collapses
|
|
34
|
+
|
|
45
35
|
setTimeout(function () {
|
|
46
36
|
try {
|
|
47
37
|
global_data.map.invalidateSize(true);
|
|
@@ -55,10 +45,7 @@ var Sidebar = function Sidebar(props) {
|
|
|
55
45
|
sidenavExpanded: global_data.sidenavExpanded
|
|
56
46
|
}));
|
|
57
47
|
};
|
|
58
|
-
|
|
59
48
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
60
|
-
|
|
61
49
|
var _default = connector(Sidebar);
|
|
62
|
-
|
|
63
50
|
exports.default = _default;
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNMaXN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9FcnJvckJvdW5kYXJ5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwiZXZlbnRzX2RhdGEiLCJTaWRlYmFyIiwicHJvcHMiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJ1c2VFZmZlY3QiLCJtYXAiLCJpdGVtcyIsImxlbmd0aCIsIl9tYXBQYW5lIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwiY2xhc3NMaXN0IiwidG9nZ2xlIiwic2V0VGltZW91dCIsImludmFsaWRhdGVTaXplIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic2lkZW5hdkV4cGFuZGVkIiwiY3JlYXRlRWxlbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvU2lkZWJhci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IEV2ZW50c0xpc3QgZnJvbSAnLi9ldmVudHNfbGlzdC9FdmVudHNMaXN0JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIGV2ZW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGdsb2JhbF9kYXRhLFxuICAgIGV2ZW50c19kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+O1xuXG5jb25zdCBTaWRlYmFyOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIGV2ZW50c19kYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCB9ID0gZXZlbnRzX2RhdGE7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBnbG9iYWxfZGF0YS5tYXAgIT09IG51bGwgJiZcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmXG4gICAgICBnbG9iYWxfZGF0YS5tYXAuX21hcFBhbmUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIWhvdmVyZWRFdmVudFxuICAgICkge1xuICAgICAgZG9jdW1lbnRcbiAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2V2ZW50LXRpbWVyYW5nZScpWzBdXG4gICAgICAgIC5jbGFzc0xpc3QudG9nZ2xlKCd0aW1lcmFuZ2UtLXNpZGVuYXYtY29sbGFwc2VkJyk7XG4gICAgfVxuXG4gICAgaWYgKGdsb2JhbF9kYXRhLm1hcCAhPT0gbnVsbCAmJiBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGltZXJhbmdlIGNvbnRyb2wgaWNvbiBtb3ZlcyB3aGVuIHRoZSBTaWRlbmF2IGNvbGxhcHNlc1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5tYXAuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH0sIDQwMCk7XG4gICAgfVxuICB9LCBbZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkLCBnbG9iYWxfZGF0YS5tYXBdKTtcblxuICByZXR1cm4gKFxuICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgPEV2ZW50c0xpc3Qgc2lkZW5hdkV4cGFuZGVkPXtnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWR9PjwvRXZlbnRzTGlzdD5cbiAgICA8L0Vycm9yQm91bmRhcnk+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoU2lkZWJhcik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQXdELFNBQUFLLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFB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
|
|
@@ -1,58 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _reactRedux = require("react-redux");
|
|
15
|
-
|
|
16
11
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
17
|
-
|
|
18
12
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
19
|
-
|
|
20
13
|
var _TimeFormat = _interopRequireDefault(require("utilities/TimeFormat"));
|
|
21
|
-
|
|
22
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
16
|
function mapStateToProps(state) {
|
|
27
17
|
var points_data = state.points_data,
|
|
28
|
-
|
|
18
|
+
global_data = state.global_data;
|
|
29
19
|
return {
|
|
30
20
|
points_data: points_data,
|
|
31
21
|
global_data: global_data
|
|
32
22
|
};
|
|
33
23
|
}
|
|
34
|
-
|
|
35
24
|
var EarlyWarnings = function EarlyWarnings(props) {
|
|
36
25
|
var event = props.event,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
points_data = props.points_data,
|
|
27
|
+
global_data = props.global_data;
|
|
40
28
|
var getPointName = function getPointName(point_id) {
|
|
41
29
|
var _points_data$items$fi;
|
|
42
|
-
|
|
43
30
|
return ((_points_data$items$fi = points_data.items.filter(function (point) {
|
|
44
31
|
return point.id === point_id;
|
|
45
32
|
})[0]) === null || _points_data$items$fi === void 0 ? void 0 : _points_data$items$fi.name) || 'No Name';
|
|
46
33
|
};
|
|
47
|
-
|
|
48
34
|
var ETAToTarget = function ETAToTarget(observation, early_warning) {
|
|
49
35
|
return observation.start_time + early_warning.distance * 60;
|
|
50
36
|
};
|
|
51
|
-
|
|
52
37
|
var countDownToTarget = function countDownToTarget(early_warning, observation) {
|
|
53
38
|
return early_warning.distance * 60 - (global_data.current_time - observation.start_time);
|
|
54
39
|
};
|
|
55
|
-
|
|
56
40
|
var getEarlyWarnings = function getEarlyWarnings() {
|
|
57
41
|
var observations = [];
|
|
58
42
|
event.observations.filter(function (obs) {
|
|
@@ -62,14 +46,12 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
62
46
|
var existingEarlyWarning = observations.find(function (obs) {
|
|
63
47
|
return obs.earlyWarning.target_point_id === early_warning.target_point_id;
|
|
64
48
|
});
|
|
65
|
-
|
|
66
49
|
if (existingEarlyWarning !== undefined) {
|
|
67
50
|
// Checks if observation exists with same target
|
|
51
|
+
|
|
68
52
|
observations.splice(observations.indexOf(existingEarlyWarning), 1);
|
|
69
53
|
}
|
|
70
|
-
|
|
71
54
|
var arrivedButNotObserved, arrived;
|
|
72
|
-
|
|
73
55
|
if (global_data.current_time < ETAToTarget(observation, early_warning)) {
|
|
74
56
|
// Event have not reached the target yet
|
|
75
57
|
arrived = false;
|
|
@@ -83,7 +65,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
83
65
|
arrivedButNotObserved = false;
|
|
84
66
|
arrived = true;
|
|
85
67
|
}
|
|
86
|
-
|
|
87
68
|
observations.push({
|
|
88
69
|
arrivedButNotObserved: arrivedButNotObserved,
|
|
89
70
|
arrived: arrived,
|
|
@@ -94,7 +75,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
94
75
|
});
|
|
95
76
|
return observations;
|
|
96
77
|
};
|
|
97
|
-
|
|
98
78
|
var renderEarlyWarnings = function renderEarlyWarnings(observation) {
|
|
99
79
|
if (!observation.arrived) {
|
|
100
80
|
if (!observation.arrivedButNotObserved) {
|
|
@@ -132,7 +112,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
132
112
|
}))));
|
|
133
113
|
}
|
|
134
114
|
};
|
|
135
|
-
|
|
136
115
|
(0, _react.useEffect)(function () {}, [global_data.current_time]);
|
|
137
116
|
var observations = getEarlyWarnings();
|
|
138
117
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("ul", {
|
|
@@ -141,10 +120,7 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
141
120
|
return renderEarlyWarnings(observation);
|
|
142
121
|
})));
|
|
143
122
|
};
|
|
144
|
-
|
|
145
123
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
146
|
-
|
|
147
124
|
var _default = connector(EarlyWarnings);
|
|
148
|
-
|
|
149
125
|
exports.default = _default;
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0Vhcmx5V2FybmluZ3MudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIkVhcmx5V2FybmluZ3MiLCJwcm9wcyIsImV2ZW50IiwiZ2V0UG9pbnROYW1lIiwicG9pbnRfaWQiLCJpdGVtcyIsImZpbHRlciIsInBvaW50IiwiaWQiLCJuYW1lIiwiRVRBVG9UYXJnZXQiLCJvYnNlcnZhdGlvbiIsImVhcmx5X3dhcm5pbmciLCJzdGFydF90aW1lIiwiZGlzdGFuY2UiLCJjb3VudERvd25Ub1RhcmdldCIsImN1cnJlbnRfdGltZSIsImdldEVhcmx5V2FybmluZ3MiLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJmb3JFYWNoIiwiZWFybHlfd2FybmluZ3MiLCJleGlzdGluZ0Vhcmx5V2FybmluZyIsImZpbmQiLCJlYXJseVdhcm5pbmciLCJ0YXJnZXRfcG9pbnRfaWQiLCJ1bmRlZmluZWQiLCJzcGxpY2UiLCJpbmRleE9mIiwiYXJyaXZlZEJ1dE5vdE9ic2VydmVkIiwiYXJyaXZlZCIsImVuZF90aW1lIiwicHVzaCIsInJlbmRlckVhcmx5V2FybmluZ3MiLCJpMThuIiwidCIsIm1vbWVudCIsInVuaXgiLCJmb3JtYXQiLCJkdXJhdGlvbiIsImh1bWFuaXplIiwidGltZV96b25lIiwibWFwIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxlQUFULENBQXlCQyxLQUF6QixFQUEyQztBQUN6QyxNQUFRQyxXQUFSLEdBQXFDRCxLQUFyQyxDQUFRQyxXQUFSO0FBQUEsTUFBcUJDLFdBQXJCLEdBQXFDRixLQUFyQyxDQUFxQkUsV0FBckI7QUFFQSxTQUFPO0FBQ0xELElBQUFBLFdBQVcsRUFBWEEsV0FESztBQUVMQyxJQUFBQSxXQUFXLEVBQVhBO0FBRkssR0FBUDtBQUlEOztBQU1ELElBQU1DLGFBQStCLEdBQUcsU0FBbENBLGFBQWtDLENBQUNDLEtBQUQsRUFBVztBQUNqRCxNQUFRQyxLQUFSLEdBQTRDRCxLQUE1QyxDQUFRQyxLQUFSO0FBQUEsTUFBZUosV0FBZixHQUE0Q0csS0FBNUMsQ0FBZUgsV0FBZjtBQUFBLE1BQTRCQyxXQUE1QixHQUE0Q0UsS0FBNUMsQ0FBNEJGLFdBQTVCOztBQUVBLE1BQU1JLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLFFBQUQsRUFBc0I7QUFBQTs7QUFDekMsV0FDRSwwQkFBQU4sV0FBVyxDQUFDTyxLQUFaLENBQWtCQyxNQUFsQixDQUF5QixVQUFDQyxLQUFEO0FBQUEsYUFBV0EsS0FBSyxDQUFDQyxFQUFOLEtBQWFKLFFBQXhCO0FBQUEsS0FBekIsRUFBMkQsQ0FBM0QsaUZBQStESyxJQUEvRCxLQUNBLFNBRkY7QUFJRCxHQUxEOztBQU9BLE1BQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNDLFdBQUQsRUFBbUJDLGFBQW5CLEVBQTBDO0FBQzVELFdBQU9ELFdBQVcsQ0FBQ0UsVUFBWixHQUF5QkQsYUFBYSxDQUFDRSxRQUFkLEdBQXlCLEVBQXpEO0FBQ0QsR0FGRDs7QUFJQSxNQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNILGFBQUQsRUFBcUJELFdBQXJCLEVBQTBDO0FBQ2xFLFdBQ0VDLGFBQWEsQ0FBQ0UsUUFBZCxHQUF5QixFQUF6QixJQUNDZixXQUFXLENBQUNpQixZQUFaLEdBQTJCTCxXQUFXLENBQUNFLFVBRHhDLENBREY7QUFJRCxHQUxEOztBQU9BLE1BQU1JLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsR0FBTTtBQUM3QixRQUFJQyxZQUFtQixHQUFHLEVBQTFCO0FBQ0FoQixJQUFBQSxLQUFLLENBQUNnQixZQUFOLENBQ0daLE1BREgsQ0FDVSxVQUFDYSxHQUFEO0FBQUEsYUFBU3BCLFdBQVcsQ0FBQ2lCLFlBQVosR0FBMkJHLEdBQUcsQ0FBQ04sVUFBeEM7QUFBQSxLQURWLEVBRUdPLE9BRkgsQ0FFVyxVQUFDVCxXQUFELEVBQWlCO0FBQ3hCQSxNQUFBQSxXQUFXLENBQUNVLGNBQVosQ0FBMkJELE9BQTNCLENBQW1DLFVBQUNSLGFBQUQsRUFBd0I7QUFDekQsWUFBSVUsb0JBQW9CLEdBQUdKLFlBQVksQ0FBQ0ssSUFBYixDQUN6QixVQUFDSixHQUFEO0FBQUEsaUJBQ0VBLEdBQUcsQ0FBQ0ssWUFBSixDQUFpQkMsZUFBakIsS0FDQWIsYUFBYSxDQUFDYSxlQUZoQjtBQUFBLFNBRHlCLENBQTNCOztBQUtBLFlBQUlILG9CQUFvQixLQUFLSSxTQUE3QixFQUF3QztBQUN0QztBQUVBUixVQUFBQSxZQUFZLENBQUNTLE1BQWIsQ0FBb0JULFlBQVksQ0FBQ1UsT0FBYixDQUFxQk4sb0JBQXJCLENBQXBCLEVBQWdFLENBQWhFO0FBQ0Q7O0FBRUQsWUFBSU8scUJBQUosRUFBMkJDLE9BQTNCOztBQUVBLFlBQ0UvQixXQUFXLENBQUNpQixZQUFaLEdBQTJCTixXQUFXLENBQUNDLFdBQUQsRUFBY0MsYUFBZCxDQUR4QyxFQUVFO0FBQ0E7QUFDQWtCLFVBQUFBLE9BQU8sR0FBRyxLQUFWO0FBQ0FELFVBQUFBLHFCQUFxQixHQUFHLEtBQXhCO0FBQ0QsU0FORCxNQU1PLElBQUkzQixLQUFLLENBQUM2QixRQUFOLEdBQWlCckIsV0FBVyxDQUFDQyxXQUFELEVBQWNDLGFBQWQsQ0FBaEMsRUFBOEQ7QUFDbkU7QUFDQWlCLFVBQUFBLHFCQUFxQixHQUFHLElBQXhCO0FBQ0FDLFVBQUFBLE9BQU8sR0FBRyxLQUFWO0FBQ0QsU0FKTSxNQUlBO0FBQ0w7QUFDQUQsVUFBQUEscUJBQXFCLEdBQUcsS0FBeEI7QUFDQUMsVUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDRDs7QUFFRFosUUFBQUEsWUFBWSxDQUFDYyxJQUFiLENBQWtCO0FBQ2hCSCxVQUFBQSxxQkFBcUIsRUFBRUEscUJBRFA7QUFFaEJDLFVBQUFBLE9BQU8sRUFBRUEsT0FGTztBQUdoQk4sVUFBQUEsWUFBWSxFQUFFWixhQUhFO0FBSWhCRCxVQUFBQSxXQUFXLEVBQUVBO0FBSkcsU0FBbEI7QUFNRCxPQXBDRDtBQXFDRCxLQXhDSDtBQTBDQSxXQUFPTyxZQUFQO0FBQ0QsR0E3Q0Q7O0FBK0NBLE1BQU1lLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0IsQ0FBQ3RCLFdBQUQsRUFBc0I7QUFDaEQsUUFBSSxDQUFDQSxXQUFXLENBQUNtQixPQUFqQixFQUEwQjtBQUN4QixVQUFJLENBQUNuQixXQUFXLENBQUNrQixxQkFBakIsRUFBd0M7QUFDdEMsNEJBQ0U7QUFBSSxVQUFBLEdBQUcsRUFBRWxCLFdBQVcsQ0FBQ2EsWUFBWixDQUF5QkM7QUFBbEMsd0JBQ0UsdURBQ0Usd0NBQ0csR0FESCxFQUVHUyxjQUFLQyxDQUFMLENBQU8scUJBQVAsQ0FGSCxFQUVrQyxHQUZsQyxFQUdHaEMsWUFBWSxDQUFDUSxXQUFXLENBQUNhLFlBQVosQ0FBeUJDLGVBQTFCLENBSGYsT0FHNEQsR0FINUQsQ0FERixDQURGLGVBUUU7QUFBSyxVQUFBLFNBQVMsRUFBRTtBQUFoQixXQUNHVyx3QkFDRUMsSUFERixDQUVHM0IsV0FBVyxDQUNUQyxXQUFXLENBQUNBLFdBREgsRUFFVEEsV0FBVyxDQUFDYSxZQUZILENBRmQsRUFPRWMsTUFQRixDQU9TLFFBUFQsQ0FESCxFQVNHdkMsV0FBVyxDQUFDaUIsWUFBWixLQUE2QixDQUE3QixpQkFDQztBQUFNLFVBQUEsU0FBUyxFQUFFO0FBQWpCLFdBQ0csR0FESCxPQUVJa0IsY0FBS0MsQ0FBTCxDQUFPLHdCQUFQLENBRkosRUFFc0MsR0FGdEMsRUFHR0Msd0JBQ0VHLFFBREYsQ0FFR3hCLGlCQUFpQixDQUNmSixXQUFXLENBQUNhLFlBREcsRUFFZmIsV0FBVyxDQUFDQSxXQUZHLENBRnBCLEVBTUcsU0FOSCxFQVFFNkIsUUFSRixFQUhILE1BVkosZUF5QkU7QUFBRyxVQUFBLFNBQVMsRUFBRTtBQUFkLFdBQ0dOLGNBQUtDLENBQUwsQ0FBTywwQ0FBUCxDQURILENBekJGLENBUkYsQ0FERjtBQXdDRCxPQXpDRCxNQXlDTztBQUNMLDRCQUNFO0FBQUksVUFBQSxHQUFHLEVBQUV4QixXQUFXLENBQUNhLFlBQVosQ0FBeUJDO0FBQWxDLHdCQUNFLHVEQUNFLHdDQUNHUyxjQUFLQyxDQUFMLENBQU8scURBQVAsQ0FESCxFQUNrRSxHQURsRSxFQUVHaEMsWUFBWSxDQUFDUSxXQUFXLENBQUNhLFlBQVosQ0FBeUJDLGVBQTFCLENBRmYsQ0FERixDQURGLGVBT0U7QUFBSyxVQUFBLFNBQVMsRUFBRTtBQUFoQixXQUNHMUIsV0FBVyxDQUFDaUIsWUFBWixLQUE2QixDQUE3QixpQkFDQztBQUFNLFVBQUEsU0FBUyxFQUFFO0FBQWpCLFdBQ0drQixjQUFLQyxDQUFMLENBQU8sb0JBQVAsQ0FESCxFQUNpQyxHQURqQyxlQUdJLDZCQUFDLG1CQUFEO0FBQ0UsVUFBQSxTQUFTLEVBQUV6QixXQUFXLENBQ3BCQyxXQUFXLENBQUNBLFdBRFEsRUFFcEJBLFdBQVcsQ0FBQ2EsWUFGUSxDQUR4QjtBQUtFLFVBQUEsU0FBUyxFQUFFYixXQUFXLENBQUNBLFdBQVosQ0FBd0I4QjtBQUxyQyxVQUhKLENBRkosQ0FQRixDQURGO0FBMEJEO0FBQ0YsS0F0RUQsTUFzRU87QUFDTCwwQkFDRTtBQUFJLFFBQUEsR0FBRyxFQUFFOUIsV0FBVyxDQUFDYSxZQUFaLENBQXlCQztBQUFsQyxzQkFDRSx1REFDRSx3Q0FDR1MsY0FBS0MsQ0FBTCxDQUFPLHVDQUFQLENBREgsRUFDb0QsR0FEcEQsRUFFR2hDLFlBQVksQ0FBQ1EsV0FBVyxDQUFDYSxZQUFaLENBQXlCQyxlQUExQixDQUZmLENBREYsQ0FERixlQU9FO0FBQUssUUFBQSxTQUFTLEVBQUU7QUFBaEIsc0JBQ0U7QUFBTSxRQUFBLFNBQVMsRUFBRTtBQUFqQixTQUNHUyxjQUFLQyxDQUFMLENBQU8sb0JBQVAsQ0FESCxFQUNpQyxHQURqQyxlQUdJLDZCQUFDLG1CQUFEO0FBQ0UsUUFBQSxTQUFTLEVBQUV6QixXQUFXLENBQ3BCQyxXQUFXLENBQUNBLFdBRFEsRUFFcEJBLFdBQVcsQ0FBQ2EsWUFGUSxDQUR4QjtBQUtFLFFBQUEsU0FBUyxFQUFFYixXQUFXLENBQUNBLFdBQVosQ0FBd0I4QjtBQUxyQyxRQUhKLENBREYsQ0FQRixDQURGO0FBd0JEO0FBQ0YsR0FqR0Q7O0FBbUdBLHdCQUFVLFlBQU0sQ0FBRSxDQUFsQixFQUFvQixDQUFDMUMsV0FBVyxDQUFDaUIsWUFBYixDQUFwQjtBQUVBLE1BQUlFLFlBQVksR0FBR0QsZ0JBQWdCLEVBQW5DO0FBQ0Esc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAscUJBQ0U7QUFBSSxJQUFBLFNBQVMsRUFBRTtBQUFmLEtBQ0dDLFlBQVksS0FBS1EsU0FBakIsSUFDQ1IsWUFBWSxDQUFDd0IsR0FBYixDQUFpQixVQUFDL0IsV0FBRDtBQUFBLFdBQWlCc0IsbUJBQW1CLENBQUN0QixXQUFELENBQXBDO0FBQUEsR0FBakIsQ0FGSixDQURGLENBREY7QUFRRCxDQWxMRDs7QUFvTEEsSUFBTWdDLFNBQVMsR0FBRyx5QkFBUS9DLGVBQVIsQ0FBbEI7O2VBQ2UrQyxTQUFTLENBQUMzQyxhQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xufTtcblxuY29uc3QgRWFybHlXYXJuaW5nczogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGV2ZW50LCBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuXG4gIGNvbnN0IGdldFBvaW50TmFtZSA9IChwb2ludF9pZDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocG9pbnQpID0+IHBvaW50LmlkID09PSBwb2ludF9pZClbMF0/Lm5hbWUgfHxcbiAgICAgICdObyBOYW1lJ1xuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRVRBVG9UYXJnZXQgPSAob2JzZXJ2YXRpb246IGFueSwgZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIG9ic2VydmF0aW9uLnN0YXJ0X3RpbWUgKyBlYXJseV93YXJuaW5nLmRpc3RhbmNlICogNjA7XG4gIH07XG5cbiAgY29uc3QgY291bnREb3duVG9UYXJnZXQgPSAoZWFybHlfd2FybmluZzogYW55LCBvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVhcmx5X3dhcm5pbmcuZGlzdGFuY2UgKiA2MCAtXG4gICAgICAoZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIC0gb2JzZXJ2YXRpb24uc3RhcnRfdGltZSlcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldEVhcmx5V2FybmluZ3MgPSAoKSA9PiB7XG4gICAgbGV0IG9ic2VydmF0aW9uczogYW55W10gPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9icykgPT4gZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lID4gb2JzLnN0YXJ0X3RpbWUpXG4gICAgICAuZm9yRWFjaCgob2JzZXJ2YXRpb24pID0+IHtcbiAgICAgICAgb2JzZXJ2YXRpb24uZWFybHlfd2FybmluZ3MuZm9yRWFjaCgoZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IGV4aXN0aW5nRWFybHlXYXJuaW5nID0gb2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgICAob2JzKSA9PlxuICAgICAgICAgICAgICBvYnMuZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCA9PT1cbiAgICAgICAgICAgICAgZWFybHlfd2FybmluZy50YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdFYXJseVdhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gQ2hlY2tzIGlmIG9ic2VydmF0aW9uIGV4aXN0cyB3aXRoIHNhbWUgdGFyZ2V0XG5cbiAgICAgICAgICAgIG9ic2VydmF0aW9ucy5zcGxpY2Uob2JzZXJ2YXRpb25zLmluZGV4T2YoZXhpc3RpbmdFYXJseVdhcm5pbmcpLCAxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgYXJyaXZlZEJ1dE5vdE9ic2VydmVkLCBhcnJpdmVkO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBFdmVudCBoYXZlIG5vdCByZWFjaGVkIHRoZSB0YXJnZXQgeWV0XG4gICAgICAgICAgICBhcnJpdmVkID0gZmFsc2U7XG4gICAgICAgICAgICBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmVuZF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpKSB7XG4gICAgICAgICAgICAvLyBFVEEgcmVhY2hlZCBhZnRlciBldmVudCBlbmRlZFxuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGFycml2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRXZlbnQgcmVhY2hlZCB0byB0YXJnZXRcbiAgICAgICAgICAgIGFycml2ZWRCdXROb3RPYnNlcnZlZCA9IGZhbHNlO1xuICAgICAgICAgICAgYXJyaXZlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkOiBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQsXG4gICAgICAgICAgICBhcnJpdmVkOiBhcnJpdmVkLFxuICAgICAgICAgICAgZWFybHlXYXJuaW5nOiBlYXJseV93YXJuaW5nLFxuICAgICAgICAgICAgb2JzZXJ2YXRpb246IG9ic2VydmF0aW9uLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIG9ic2VydmF0aW9ucztcbiAgfTtcblxuICBjb25zdCByZW5kZXJFYXJseVdhcm5pbmdzID0gKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICBpZiAoIW9ic2VydmF0aW9uLmFycml2ZWQpIHtcbiAgICAgIGlmICghb2JzZXJ2YXRpb24uYXJyaXZlZEJ1dE5vdE9ic2VydmVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldGEnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9OnsnICd9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgIC51bml4KFxuICAgICAgICAgICAgICAgICAgRVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZm9ybWF0KCdoOm1tIGEnKX1cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgKHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy53aXRoaW4nKX17JyAnfVxuICAgICAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgICAgICAuZHVyYXRpb24oXG4gICAgICAgICAgICAgICAgICAgICAgY291bnREb3duVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRzJyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuaHVtYW5pemUoKX1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5oaWdoX2NoYW5jZXNfb2ZfcmVhY2hpbmcnKX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXhwZWN0ZWRfdG9fYXJyaXZlX2J1dF9ub3Rfb2JzZXJ2ZWQnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzZXJ2YXRpb24ub2JzZXJ2YXRpb24udGltZV96b25lfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaSBrZXk9e29ic2VydmF0aW9uLmVhcmx5V2FybmluZy50YXJnZXRfcG9pbnRfaWR9PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnBvbGx1dGlvbl9oYXNfcmVhY2hlZCcpfXsnICd9XG4gICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICA8L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lXSk7XG5cbiAgbGV0IG9ic2VydmF0aW9ucyA9IGdldEVhcmx5V2FybmluZ3MoKTtcbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8dWwgY2xhc3NOYW1lPXsnZWFybHlfd2FybmluZ3MnfT5cbiAgICAgICAge29ic2VydmF0aW9ucyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLm1hcCgob2JzZXJ2YXRpb24pID0+IHJlbmRlckVhcmx5V2FybmluZ3Mob2JzZXJ2YXRpb24pKX1cbiAgICAgIDwvdWw+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFYXJseVdhcm5pbmdzKTtcbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9tb21lbnRUaW1lem9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9UaW1lRm9ybWF0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJFYXJseVdhcm5pbmdzIiwicHJvcHMiLCJldmVudCIsImdldFBvaW50TmFtZSIsInBvaW50X2lkIiwiX3BvaW50c19kYXRhJGl0ZW1zJGZpIiwiaXRlbXMiLCJmaWx0ZXIiLCJwb2ludCIsImlkIiwibmFtZSIsIkVUQVRvVGFyZ2V0Iiwib2JzZXJ2YXRpb24iLCJlYXJseV93YXJuaW5nIiwic3RhcnRfdGltZSIsImRpc3RhbmNlIiwiY291bnREb3duVG9UYXJnZXQiLCJjdXJyZW50X3RpbWUiLCJnZXRFYXJseVdhcm5pbmdzIiwib2JzZXJ2YXRpb25zIiwib2JzIiwiZm9yRWFjaCIsImVhcmx5X3dhcm5pbmdzIiwiZXhpc3RpbmdFYXJseVdhcm5pbmciLCJmaW5kIiwiZWFybHlXYXJuaW5nIiwidGFyZ2V0X3BvaW50X2lkIiwidW5kZWZpbmVkIiwic3BsaWNlIiwiaW5kZXhPZiIsImFycml2ZWRCdXROb3RPYnNlcnZlZCIsImFycml2ZWQiLCJlbmRfdGltZSIsInB1c2giLCJyZW5kZXJFYXJseVdhcm5pbmdzIiwiY3JlYXRlRWxlbWVudCIsImkxOG4iLCJ0IiwiY2xhc3NOYW1lIiwibW9tZW50IiwidW5peCIsImZvcm1hdCIsImR1cmF0aW9uIiwiaHVtYW5pemUiLCJ0aW1lc3RhbXAiLCJ0aW1lX3pvbmUiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsIm1hcCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9FYXJseVdhcm5pbmdzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xufTtcblxuY29uc3QgRWFybHlXYXJuaW5nczogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGV2ZW50LCBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuXG4gIGNvbnN0IGdldFBvaW50TmFtZSA9IChwb2ludF9pZDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocG9pbnQpID0+IHBvaW50LmlkID09PSBwb2ludF9pZClbMF0/Lm5hbWUgfHxcbiAgICAgICdObyBOYW1lJ1xuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRVRBVG9UYXJnZXQgPSAob2JzZXJ2YXRpb246IGFueSwgZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIG9ic2VydmF0aW9uLnN0YXJ0X3RpbWUgKyBlYXJseV93YXJuaW5nLmRpc3RhbmNlICogNjA7XG4gIH07XG5cbiAgY29uc3QgY291bnREb3duVG9UYXJnZXQgPSAoZWFybHlfd2FybmluZzogYW55LCBvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVhcmx5X3dhcm5pbmcuZGlzdGFuY2UgKiA2MCAtXG4gICAgICAoZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIC0gb2JzZXJ2YXRpb24uc3RhcnRfdGltZSlcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldEVhcmx5V2FybmluZ3MgPSAoKSA9PiB7XG4gICAgbGV0IG9ic2VydmF0aW9uczogYW55W10gPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9icykgPT4gZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lID4gb2JzLnN0YXJ0X3RpbWUpXG4gICAgICAuZm9yRWFjaCgob2JzZXJ2YXRpb24pID0+IHtcbiAgICAgICAgb2JzZXJ2YXRpb24uZWFybHlfd2FybmluZ3MuZm9yRWFjaCgoZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IGV4aXN0aW5nRWFybHlXYXJuaW5nID0gb2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgICAob2JzKSA9PlxuICAgICAgICAgICAgICBvYnMuZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCA9PT1cbiAgICAgICAgICAgICAgZWFybHlfd2FybmluZy50YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdFYXJseVdhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gQ2hlY2tzIGlmIG9ic2VydmF0aW9uIGV4aXN0cyB3aXRoIHNhbWUgdGFyZ2V0XG5cbiAgICAgICAgICAgIG9ic2VydmF0aW9ucy5zcGxpY2Uob2JzZXJ2YXRpb25zLmluZGV4T2YoZXhpc3RpbmdFYXJseVdhcm5pbmcpLCAxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgYXJyaXZlZEJ1dE5vdE9ic2VydmVkLCBhcnJpdmVkO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBFdmVudCBoYXZlIG5vdCByZWFjaGVkIHRoZSB0YXJnZXQgeWV0XG4gICAgICAgICAgICBhcnJpdmVkID0gZmFsc2U7XG4gICAgICAgICAgICBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmVuZF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpKSB7XG4gICAgICAgICAgICAvLyBFVEEgcmVhY2hlZCBhZnRlciBldmVudCBlbmRlZFxuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGFycml2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRXZlbnQgcmVhY2hlZCB0byB0YXJnZXRcbiAgICAgICAgICAgIGFycml2ZWRCdXROb3RPYnNlcnZlZCA9IGZhbHNlO1xuICAgICAgICAgICAgYXJyaXZlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkOiBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQsXG4gICAgICAgICAgICBhcnJpdmVkOiBhcnJpdmVkLFxuICAgICAgICAgICAgZWFybHlXYXJuaW5nOiBlYXJseV93YXJuaW5nLFxuICAgICAgICAgICAgb2JzZXJ2YXRpb246IG9ic2VydmF0aW9uLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIG9ic2VydmF0aW9ucztcbiAgfTtcblxuICBjb25zdCByZW5kZXJFYXJseVdhcm5pbmdzID0gKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICBpZiAoIW9ic2VydmF0aW9uLmFycml2ZWQpIHtcbiAgICAgIGlmICghb2JzZXJ2YXRpb24uYXJyaXZlZEJ1dE5vdE9ic2VydmVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldGEnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9OnsnICd9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgIC51bml4KFxuICAgICAgICAgICAgICAgICAgRVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZm9ybWF0KCdoOm1tIGEnKX1cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgKHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy53aXRoaW4nKX17JyAnfVxuICAgICAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgICAgICAuZHVyYXRpb24oXG4gICAgICAgICAgICAgICAgICAgICAgY291bnREb3duVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRzJyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuaHVtYW5pemUoKX1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5oaWdoX2NoYW5jZXNfb2ZfcmVhY2hpbmcnKX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXhwZWN0ZWRfdG9fYXJyaXZlX2J1dF9ub3Rfb2JzZXJ2ZWQnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzZXJ2YXRpb24ub2JzZXJ2YXRpb24udGltZV96b25lfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaSBrZXk9e29ic2VydmF0aW9uLmVhcmx5V2FybmluZy50YXJnZXRfcG9pbnRfaWR9PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnBvbGx1dGlvbl9oYXNfcmVhY2hlZCcpfXsnICd9XG4gICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICA8L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lXSk7XG5cbiAgbGV0IG9ic2VydmF0aW9ucyA9IGdldEVhcmx5V2FybmluZ3MoKTtcbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8dWwgY2xhc3NOYW1lPXsnZWFybHlfd2FybmluZ3MnfT5cbiAgICAgICAge29ic2VydmF0aW9ucyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLm1hcCgob2JzZXJ2YXRpb24pID0+IHJlbmRlckVhcmx5V2FybmluZ3Mob2JzZXJ2YXRpb24pKX1cbiAgICAgIDwvdWw+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFYXJseVdhcm5pbmdzKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSSxLQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFBa0QsU0FBQU0seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJB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
|
|
@@ -1,39 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
13
|
-
|
|
14
10
|
var _TimeFormat = _interopRequireDefault(require("utilities/TimeFormat"));
|
|
15
|
-
|
|
16
11
|
var _EarlyWarnings = _interopRequireDefault(require("./EarlyWarnings"));
|
|
17
|
-
|
|
18
12
|
var _Samplings = _interopRequireDefault(require("./samplings/Samplings"));
|
|
19
|
-
|
|
20
13
|
var _EventUtils = require("../events_list/EventUtils");
|
|
21
|
-
|
|
22
14
|
var _useQueryURL = _interopRequireDefault(require("hooks/useQueryURL"));
|
|
23
|
-
|
|
24
15
|
var _reactToastify = require("react-toastify");
|
|
25
|
-
|
|
26
16
|
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
27
|
-
|
|
28
17
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
29
|
-
|
|
30
18
|
/* eslint-disable local-rules/no-hard-coded-jsx-literals */
|
|
19
|
+
|
|
31
20
|
var EventDetails = function EventDetails(props) {
|
|
32
21
|
var _event$samplings;
|
|
33
|
-
|
|
34
22
|
var event = props.event,
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
points = props.points;
|
|
37
24
|
var buildDateRange = function buildDateRange(timestamp) {
|
|
38
25
|
var date = new Date(timestamp).getTime();
|
|
39
26
|
var dayMs = 86400000;
|
|
@@ -46,17 +33,14 @@ var EventDetails = function EventDetails(props) {
|
|
|
46
33
|
lateDate: dateLate
|
|
47
34
|
};
|
|
48
35
|
};
|
|
49
|
-
|
|
50
36
|
var joinKQL = function joinKQL(KQL) {
|
|
51
37
|
KQL += " TimeFilterItem IN ( ".concat(buildDateRange(event.last_seen_time).earlyDate, ":").concat(buildDateRange(event.last_seen_time).lateDate, " )");
|
|
52
38
|
return KQL;
|
|
53
39
|
};
|
|
54
|
-
|
|
55
40
|
var cutKQL = function cutKQL(KQL) {
|
|
56
41
|
KQL = "TimeFilterItem IN ( ".concat(buildDateRange(event.last_seen_time).earlyDate, ":").concat(buildDateRange(event.last_seen_time).lateDate, " ) ORDER_BY severity");
|
|
57
42
|
return KQL;
|
|
58
43
|
};
|
|
59
|
-
|
|
60
44
|
var buildKQLWithTimeRange = function buildKQLWithTimeRange() {
|
|
61
45
|
var href = window.location.href;
|
|
62
46
|
var KQL = query.get('valuesFromKQL');
|
|
@@ -64,25 +48,20 @@ var EventDetails = function EventDetails(props) {
|
|
|
64
48
|
if (KQL === null) return url.href;
|
|
65
49
|
var includesALL = KQL.includes('ALL');
|
|
66
50
|
var timeFilterPresent = KQL.match('(?=TimeFilterItem)(.*?)(?:(\\)))');
|
|
67
|
-
|
|
68
51
|
if (timeFilterPresent) {
|
|
69
52
|
var findTimeFilter = timeFilterPresent;
|
|
70
|
-
|
|
71
53
|
if (findTimeFilter !== null) {
|
|
72
54
|
KQL = KQL.replace(findTimeFilter[0], ' ');
|
|
73
55
|
}
|
|
74
|
-
|
|
75
56
|
KQL = joinKQL(KQL);
|
|
76
57
|
} else {
|
|
77
58
|
KQL = includesALL ? cutKQL(KQL) : joinKQL(KQL);
|
|
78
59
|
}
|
|
79
|
-
|
|
80
60
|
url.searchParams.set('valuesFromKQL', KQL);
|
|
81
61
|
return url.href;
|
|
82
62
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
63
|
+
var query = (0, _useQueryURL.default)();
|
|
64
|
+
//eslint-disable-next-line
|
|
86
65
|
var copyUrl = function copyUrl() {
|
|
87
66
|
navigator.clipboard.writeText(buildKQLWithTimeRange()).then(function () {
|
|
88
67
|
_reactToastify.toast.success(_i18n.default.t('copy.success'), {
|
|
@@ -98,12 +77,10 @@ var EventDetails = function EventDetails(props) {
|
|
|
98
77
|
});
|
|
99
78
|
});
|
|
100
79
|
};
|
|
101
|
-
|
|
102
80
|
var _parseEventData = (0, _EventUtils.parseEventData)(event),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
81
|
+
firstseen = _parseEventData.firstseen,
|
|
82
|
+
lastseen = _parseEventData.lastseen,
|
|
83
|
+
total = _parseEventData.total;
|
|
107
84
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
108
85
|
className: 'event-details event-info__card'
|
|
109
86
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -162,7 +139,6 @@ var EventDetails = function EventDetails(props) {
|
|
|
162
139
|
points: points
|
|
163
140
|
}))));
|
|
164
141
|
};
|
|
165
|
-
|
|
166
142
|
var _default = EventDetails;
|
|
167
143
|
exports.default = _default;
|
|
168
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50RGV0YWlscy50c3giXSwibmFtZXMiOlsiRXZlbnREZXRhaWxzIiwicHJvcHMiLCJldmVudCIsInBvaW50cyIsImJ1aWxkRGF0ZVJhbmdlIiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJnZXRUaW1lIiwiZGF5TXMiLCJkYXRlTWludXNPbmUiLCJkYXRlUGx1c09uZSIsImRhdGVFYXJseSIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZGF0ZUxhdGUiLCJlYXJseURhdGUiLCJsYXRlRGF0ZSIsImpvaW5LUUwiLCJLUUwiLCJsYXN0X3NlZW5fdGltZSIsImN1dEtRTCIsImJ1aWxkS1FMV2l0aFRpbWVSYW5nZSIsImhyZWYiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInF1ZXJ5IiwiZ2V0IiwidXJsIiwiVVJMIiwiaW5jbHVkZXNBTEwiLCJpbmNsdWRlcyIsInRpbWVGaWx0ZXJQcmVzZW50IiwibWF0Y2giLCJmaW5kVGltZUZpbHRlciIsInJlcGxhY2UiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJjb3B5VXJsIiwibmF2aWdhdG9yIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwidGhlbiIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJ0IiwicG9zaXRpb24iLCJhdXRvQ2xvc2UiLCJoaWRlUHJvZ3Jlc3NCYXIiLCJmaXJzdHNlZW4iLCJsYXN0c2VlbiIsInRvdGFsIiwiZmFDb3B5Iiwic2V2ZXJpdHkiLCJwb2ludF9uYW1lIiwic3RhcnRfdGltZSIsInRpbWVfem9uZSIsInNhbXBsaW5ncyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBWkE7QUFtQkEsSUFBTUEsWUFBOEIsR0FBRyxTQUFqQ0EsWUFBaUMsQ0FBQ0Ms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QUFFRSxJQUFBLFNBQVMsRUFBRU4sU0FBUyxDQUFDTztBQUZ2QixJQURGLENBRkYsQ0FMRixDQWhDRixlQStDRTtBQUFLLElBQUEsU0FBUyxFQUFFO0FBQWhCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHWixjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FESCxNQURGLGVBS0UsdURBQ0Usd0NBQUlLLFFBQVEsQ0FBQ0ksVUFBYixDQURGLGVBRUUsd0RBQ0UsNkJBQUMsbUJBQUQ7QUFDRSxJQUFBLFNBQVMsRUFBRUosUUFBUSxDQUFDL0IsY0FEdEI7QUFFRSxJQUFBLFNBQVMsRUFBRStCLFFBQVEsQ0FBQ007QUFGdEIsSUFERixDQUZGLENBTEYsQ0EvQ0YsZUE4REU7QUFBSyxJQUFBLFNBQVMsRUFBRTtBQUFoQixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDR1osY0FBS0MsQ0FBTCxDQUFPLDRCQUFQLENBREgsTUFERixlQUtFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUE2Qk0sS0FBN0IsQ0FMRixDQTlERixFQXFFRyxDQUFBbkQsS0FBSyxTQUFMLElBQUFBLEtBQUssV0FBTCxnQ0FBQUEsS0FBSyxDQUFFeUQsU0FBUCxzRUFBa0JDLE1BQWxCLElBQTJCLENBQTNCLGlCQUNDO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0UsNkJBQUMsa0JBQUQ7QUFBVyxJQUFBLEtBQUssRUFBRTFELEtBQWxCO0FBQXlCLElBQUEsTUFBTSxFQUFFQztBQUFqQyxJQURGLENBdEVKLENBWkYsQ0FERjtBQTBGRCxDQS9LRDs7ZUFpTGVILFkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBsb2NhbC1ydWxlcy9uby1oYXJkLWNvZGVkLWpzeC1saXRlcmFscyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJUG9pbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnRzU3RhdGUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgRWFybHlXYXJuaW5ncyBmcm9tICcuL0Vhcmx5V2FybmluZ3MnO1xuaW1wb3J0IFNhbXBsaW5ncyBmcm9tICcuL3NhbXBsaW5ncy9TYW1wbGluZ3MnO1xuaW1wb3J0IHsgcGFyc2VFdmVudERhdGEgfSBmcm9tICcuLi9ldmVudHNfbGlzdC9FdmVudFV0aWxzJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDb3B5IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHBvaW50czogSVBvaW50c1N0YXRlO1xufTtcblxuY29uc3QgRXZlbnREZXRhaWxzOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIHBvaW50cyB9ID0gcHJvcHM7XG5cbiAgY29uc3QgYnVpbGREYXRlUmFuZ2UgPSAodGltZXN0YW1wKSA9PiB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApLmdldFRpbWUoKTtcbiAgICBsZXQgZGF5TXMgPSA4NjQwMDAwMDtcbiAgICBsZXQgZGF0ZU1pbnVzT25lID0gbmV3IERhdGUoZGF0ZSAtIGRheU1zKTtcbiAgICBsZXQgZGF0ZVBsdXNPbmUgPSBuZXcgRGF0ZShkYXRlICsgZGF5TXMpO1xuICAgIGxldCBkYXRlRWFybHkgPSBgJHtkYXRlTWludXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVNaW51c09uZS5nZXRNb250aCgpICsgMVxuICAgIH0tJHtkYXRlTWludXNPbmUuZ2V0RGF0ZSgpfWA7XG4gICAgbGV0IGRhdGVMYXRlID0gYCR7ZGF0ZVBsdXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVQbHVzT25lLmdldE1vbnRoKCkgKyAxXG4gICAgfS0ke2RhdGVQbHVzT25lLmdldERhdGUoKX1gO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVhcmx5RGF0ZTogZGF0ZUVhcmx5LFxuICAgICAgbGF0ZURhdGU6IGRhdGVMYXRlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgam9pbktRTCA9IChLUUw6IHN0cmluZykgPT4ge1xuICAgIEtRTCArPSBgIFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApYDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgY3V0S1FMID0gKEtRTDogc3RyaW5nKSA9PiB7XG4gICAgS1FMID0gYFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApIE9SREVSX0JZIHNldmVyaXR5YDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRLUUxXaXRoVGltZVJhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICBsZXQgS1FMID0gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoaHJlZik7XG5cbiAgICBpZiAoS1FMID09PSBudWxsKSByZXR1cm4gdXJsLmhyZWY7XG5cbiAgICBsZXQgaW5jbHVkZXNBTEwgPSBLUUwuaW5jbHVkZXMoJ0FMTCcpO1xuICAgIGxldCB0aW1lRmlsdGVyUHJlc2VudCA9IEtRTC5tYXRjaCgnKD89VGltZUZpbHRlckl0ZW0pKC4qPykoPzooXFxcXCkpKScpO1xuXG4gICAgaWYgKHRpbWVGaWx0ZXJQcmVzZW50KSB7XG4gICAgICBsZXQgZmluZFRpbWVGaWx0ZXIgPSB0aW1lRmlsdGVyUHJlc2VudDtcbiAgICAgIGlmIChmaW5kVGltZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgICBLUUwgPSBLUUwucmVwbGFjZShmaW5kVGltZUZpbHRlclswXSwgJyAnKTtcbiAgICAgIH1cblxuICAgICAgS1FMID0gam9pbktRTChLUUwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBLUUwgPSBpbmNsdWRlc0FMTCA/IGN1dEtRTChLUUwpIDogam9pbktRTChLUUwpO1xuICAgIH1cblxuICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd2YWx1ZXNGcm9tS1FMJywgS1FMISk7XG4gICAgcmV0dXJuIHVybC5ocmVmO1xuICB9O1xuXG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgY29weVVybCA9ICgpID0+IHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChidWlsZEtRTFdpdGhUaW1lUmFuZ2UoKSkudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgdG9hc3Quc3VjY2VzcyhpMThuLnQoJ2NvcHkuc3VjY2VzcycpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoaTE4bi50KCdjb3B5LmZhaWxlZCcpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4sIHRvdGFsIH0gPSBwYXJzZUV2ZW50RGF0YShldmVudCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWRldGFpbHMgZXZlbnQtaW5mb19fY2FyZCd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGV0YWlscycpfTwvZGl2PlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzTmFtZT1cImNvcHktYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBjb3B5VXJsKCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFDb3B5fSAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19ldmVudF9zZXZlcml0eSd9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5Jyl9OjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc2V2ZXJpdGllcyd9PlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJpdGllc19fc2V2ZXJpdHkgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAke1xuICAgICAgICAgICAgICAgIGV2ZW50LnNldmVyaXR5ID09PSAnMCcgPyAnLS1hY3RpdmUnIDogJydcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjBgKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHNldmVyaXRpZXNfX3NldmVyaXR5IHNldmVyaXRpZXNfX3NldmVyaXR5LS0xIHNldmVyaXRpZXNfX3NldmVyaXR5LS0xJHtcbiAgICAgICAgICAgICAgICBldmVudC5zZXZlcml0eSA9PT0gJzEnID8gJy0tYWN0aXZlJyA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4xYCl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BzZXZlcml0aWVzX19zZXZlcml0eSBzZXZlcml0aWVzX19zZXZlcml0eS0tMiBzZXZlcml0aWVzX19zZXZlcml0eS0tMiR7XG4gICAgICAgICAgICAgICAgZXZlbnQuc2V2ZXJpdHkgPT09ICcyJyA/ICctLWFjdGl2ZScgOiAnJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuMmApfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX2Vhcmx5LXdhcm5pbmdzJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxFYXJseVdhcm5pbmdzIGV2ZW50PXtldmVudH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbicpfTp7JyAnfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntmaXJzdHNlZW4ucG9pbnRfbmFtZX08L3A+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2ZpcnN0c2Vlbi5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17Zmlyc3RzZWVuLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntsYXN0c2Vlbi5wb2ludF9uYW1lfTwvcD5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17bGFzdHNlZW4ubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtsYXN0c2Vlbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX3NlZW4nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnRvdGFsX3RpbWUnKX06XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj57dG90YWx9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXZlbnQ/LnNhbXBsaW5ncz8ubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19kZXRhaWwnfT5cbiAgICAgICAgICAgIDxTYW1wbGluZ3MgZXZlbnQ9e2V2ZW50fSBwb2ludHM9e3BvaW50c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnREZXRhaWxzO1xuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1RpbWVGb3JtYXQiLCJfRWFybHlXYXJuaW5ncyIsIl9TYW1wbGluZ3MiLCJfRXZlbnRVdGlscyIsIl91c2VRdWVyeVVSTCIsIl9yZWFjdFRvYXN0aWZ5IiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJFdmVudERldGFpbHMiLCJwcm9wcyIsIl9ldmVudCRzYW1wbGluZ3MiLCJldmVudCIsInBvaW50cyIsImJ1aWxkRGF0ZVJhbmdlIiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJnZXRUaW1lIiwiZGF5TXMiLCJkYXRlTWludXNPbmUiLCJkYXRlUGx1c09uZSIsImRhdGVFYXJseSIsImNvbmNhdCIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZGF0ZUxhdGUiLCJlYXJseURhdGUiLCJsYXRlRGF0ZSIsImpvaW5LUUwiLCJLUUwiLCJsYXN0X3NlZW5fdGltZSIsImN1dEtRTCIsImJ1aWxkS1FMV2l0aFRpbWVSYW5nZSIsImhyZWYiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInF1ZXJ5IiwiZ2V0IiwidXJsIiwiVVJMIiwiaW5jbHVkZXNBTEwiLCJpbmNsdWRlcyIsInRpbWVGaWx0ZXJQcmVzZW50IiwibWF0Y2giLCJmaW5kVGltZUZpbHRlciIsInJlcGxhY2UiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJ1c2VRdWVyeVVSTCIsImNvcHlVcmwiLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJ0aGVuIiwidG9hc3QiLCJzdWNjZXNzIiwiaTE4biIsInQiLCJwb3NpdGlvbiIsImF1dG9DbG9zZSIsImhpZGVQcm9ncmVzc0JhciIsIl9wYXJzZUV2ZW50RGF0YSIsInBhcnNlRXZlbnREYXRhIiwiZmlyc3RzZWVuIiwibGFzdHNlZW4iLCJ0b3RhbCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNvcHkiLCJzZXZlcml0eSIsInBvaW50X25hbWUiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwic2FtcGxpbmdzIiwibGVuZ3RoIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vRXZlbnREZXRhaWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBsb2NhbC1ydWxlcy9uby1oYXJkLWNvZGVkLWpzeC1saXRlcmFscyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJUG9pbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnRzU3RhdGUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgRWFybHlXYXJuaW5ncyBmcm9tICcuL0Vhcmx5V2FybmluZ3MnO1xuaW1wb3J0IFNhbXBsaW5ncyBmcm9tICcuL3NhbXBsaW5ncy9TYW1wbGluZ3MnO1xuaW1wb3J0IHsgcGFyc2VFdmVudERhdGEgfSBmcm9tICcuLi9ldmVudHNfbGlzdC9FdmVudFV0aWxzJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDb3B5IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHBvaW50czogSVBvaW50c1N0YXRlO1xufTtcblxuY29uc3QgRXZlbnREZXRhaWxzOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIHBvaW50cyB9ID0gcHJvcHM7XG5cbiAgY29uc3QgYnVpbGREYXRlUmFuZ2UgPSAodGltZXN0YW1wKSA9PiB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApLmdldFRpbWUoKTtcbiAgICBsZXQgZGF5TXMgPSA4NjQwMDAwMDtcbiAgICBsZXQgZGF0ZU1pbnVzT25lID0gbmV3IERhdGUoZGF0ZSAtIGRheU1zKTtcbiAgICBsZXQgZGF0ZVBsdXNPbmUgPSBuZXcgRGF0ZShkYXRlICsgZGF5TXMpO1xuICAgIGxldCBkYXRlRWFybHkgPSBgJHtkYXRlTWludXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVNaW51c09uZS5nZXRNb250aCgpICsgMVxuICAgIH0tJHtkYXRlTWludXNPbmUuZ2V0RGF0ZSgpfWA7XG4gICAgbGV0IGRhdGVMYXRlID0gYCR7ZGF0ZVBsdXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVQbHVzT25lLmdldE1vbnRoKCkgKyAxXG4gICAgfS0ke2RhdGVQbHVzT25lLmdldERhdGUoKX1gO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVhcmx5RGF0ZTogZGF0ZUVhcmx5LFxuICAgICAgbGF0ZURhdGU6IGRhdGVMYXRlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgam9pbktRTCA9IChLUUw6IHN0cmluZykgPT4ge1xuICAgIEtRTCArPSBgIFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApYDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgY3V0S1FMID0gKEtRTDogc3RyaW5nKSA9PiB7XG4gICAgS1FMID0gYFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApIE9SREVSX0JZIHNldmVyaXR5YDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRLUUxXaXRoVGltZVJhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICBsZXQgS1FMID0gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoaHJlZik7XG5cbiAgICBpZiAoS1FMID09PSBudWxsKSByZXR1cm4gdXJsLmhyZWY7XG5cbiAgICBsZXQgaW5jbHVkZXNBTEwgPSBLUUwuaW5jbHVkZXMoJ0FMTCcpO1xuICAgIGxldCB0aW1lRmlsdGVyUHJlc2VudCA9IEtRTC5tYXRjaCgnKD89VGltZUZpbHRlckl0ZW0pKC4qPykoPzooXFxcXCkpKScpO1xuXG4gICAgaWYgKHRpbWVGaWx0ZXJQcmVzZW50KSB7XG4gICAgICBsZXQgZmluZFRpbWVGaWx0ZXIgPSB0aW1lRmlsdGVyUHJlc2VudDtcbiAgICAgIGlmIChmaW5kVGltZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgICBLUUwgPSBLUUwucmVwbGFjZShmaW5kVGltZUZpbHRlclswXSwgJyAnKTtcbiAgICAgIH1cblxuICAgICAgS1FMID0gam9pbktRTChLUUwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBLUUwgPSBpbmNsdWRlc0FMTCA/IGN1dEtRTChLUUwpIDogam9pbktRTChLUUwpO1xuICAgIH1cblxuICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd2YWx1ZXNGcm9tS1FMJywgS1FMISk7XG4gICAgcmV0dXJuIHVybC5ocmVmO1xuICB9O1xuXG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgY29weVVybCA9ICgpID0+IHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChidWlsZEtRTFdpdGhUaW1lUmFuZ2UoKSkudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgdG9hc3Quc3VjY2VzcyhpMThuLnQoJ2NvcHkuc3VjY2VzcycpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoaTE4bi50KCdjb3B5LmZhaWxlZCcpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4sIHRvdGFsIH0gPSBwYXJzZUV2ZW50RGF0YShldmVudCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWRldGFpbHMgZXZlbnQtaW5mb19fY2FyZCd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGV0YWlscycpfTwvZGl2PlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzTmFtZT1cImNvcHktYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBjb3B5VXJsKCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFDb3B5fSAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19ldmVudF9zZXZlcml0eSd9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5Jyl9OjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc2V2ZXJpdGllcyd9PlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJpdGllc19fc2V2ZXJpdHkgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAke1xuICAgICAgICAgICAgICAgIGV2ZW50LnNldmVyaXR5ID09PSAnMCcgPyAnLS1hY3RpdmUnIDogJydcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjBgKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHNldmVyaXRpZXNfX3NldmVyaXR5IHNldmVyaXRpZXNfX3NldmVyaXR5LS0xIHNldmVyaXRpZXNfX3NldmVyaXR5LS0xJHtcbiAgICAgICAgICAgICAgICBldmVudC5zZXZlcml0eSA9PT0gJzEnID8gJy0tYWN0aXZlJyA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4xYCl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BzZXZlcml0aWVzX19zZXZlcml0eSBzZXZlcml0aWVzX19zZXZlcml0eS0tMiBzZXZlcml0aWVzX19zZXZlcml0eS0tMiR7XG4gICAgICAgICAgICAgICAgZXZlbnQuc2V2ZXJpdHkgPT09ICcyJyA/ICctLWFjdGl2ZScgOiAnJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuMmApfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX2Vhcmx5LXdhcm5pbmdzJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxFYXJseVdhcm5pbmdzIGV2ZW50PXtldmVudH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbicpfTp7JyAnfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntmaXJzdHNlZW4ucG9pbnRfbmFtZX08L3A+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2ZpcnN0c2Vlbi5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17Zmlyc3RzZWVuLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntsYXN0c2Vlbi5wb2ludF9uYW1lfTwvcD5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17bGFzdHNlZW4ubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtsYXN0c2Vlbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX3NlZW4nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnRvdGFsX3RpbWUnKX06XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj57dG90YWx9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXZlbnQ/LnNhbXBsaW5ncz8ubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19kZXRhaWwnfT5cbiAgICAgICAgICAgIDxTYW1wbGluZ3MgZXZlbnQ9e2V2ZW50fSBwb2ludHM9e3BvaW50c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnREZXRhaWxzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsY0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsaUJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFaQTs7QUFtQkEsSUFBTVUsWUFBOEIsR0FBRyxTQUFqQ0EsWUFBOEJBLENBQUlDLEtBQUssRUFBSztFQUFBLElBQUFDLGdCQUFBO0VBQ2hELElBQVFDLEtBQUssR0FBYUYsS0FBSyxDQUF2QkUsS0FBSztJQUFFQyxNQUFNLEdBQUtILEtBQUssQ0FBaEJHLE1BQU07RUFFckIsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxTQUFTLEVBQUs7SUFDcEMsSUFBSUMsSUFBSSxHQUFHLElBQUlDLElBQUksQ0FBQ0YsU0FBUyxDQUFDLENBQUNHLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLElBQUlDLEtBQUssR0FBRyxRQUFRO0lBQ3BCLElBQUlDLFlBQVksR0FBRyxJQUFJSCxJQUFJLENBQUNELElBQUksR0FBR0csS0FBSyxDQUFDO0lBQ3pDLElB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
|