@kando-env/kando-ui 1.2.382 → 1.2.383
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 +36 -73
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
- package/lib/Widgets/EventsRow/EventsRow.js +27 -39
- package/lib/Widgets/Map/GraphUtils.js +3 -3
- package/lib/Widgets/Map/Map.js +86 -122
- package/lib/Widgets/Map/MapUtils.js +81 -95
- package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
- package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
- package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
- package/lib/Widgets/Map/areas/Patterns.js +4 -4
- package/lib/Widgets/Map/edges/Edge.js +33 -37
- package/lib/Widgets/Map/edges/Edges.js +21 -26
- package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
- package/lib/Widgets/Map/events/Event.js +18 -21
- package/lib/Widgets/Map/events/EventIndicator.js +65 -60
- package/lib/Widgets/Map/events/EventPath.js +49 -24
- package/lib/Widgets/Map/events/EventUtils.js +60 -80
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
- package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
- package/lib/Widgets/Map/events/Snail.js +21 -22
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
- package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
- package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
- package/lib/Widgets/Map/points/PointIcon.js +22 -15
- package/lib/Widgets/Map/points/PointMarker.js +71 -87
- package/lib/Widgets/Map/points/PointMarkers.js +45 -66
- package/lib/Widgets/Map/points/PointUtils.js +145 -83
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
- package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
- package/lib/Widgets/MostPolluting/MostPolluting.js +25 -35
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
- package/lib/Widgets/MostPolluting/assets/index.js +10 -10
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
- package/lib/Widgets/MostPolluting/styles.js +3 -3
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
- package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
- package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
- package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
- package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
- package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
- package/lib/Widgets/QualitySummary/styles.js +23 -15
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -37
- package/lib/Widgets/UtilityInformation/styles.js +34 -25
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
- package/lib/assets/icons/TopNavbar/index.js +6 -6
- package/lib/assets/icons/TrendSvg.js +6 -6
- package/lib/assets/icons/index.js +15 -15
- package/lib/assets/icons/kandoStepper/index.js +5 -5
- package/lib/assets/icons/siteTypes/index.js +1 -1
- package/lib/components/ApplyButton/ApplyButton.js +9 -9
- package/lib/components/Backdrop/Backdrop.js +6 -4
- package/lib/components/ContentLoader/ContentLoader.js +11 -9
- package/lib/components/ContentLoader/index.js +1 -1
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
- package/lib/components/CustomInputs/Search/Search.js +42 -63
- package/lib/components/CustomInputs/Select/Select.js +45 -58
- package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
- package/lib/components/DamageType/DamageType.js +35 -57
- package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
- package/lib/components/DischargeHeatmap/popupText.js +10 -10
- package/lib/components/DischargeHeatmap/titles.js +3 -3
- package/lib/components/ErrorBoundary.js +27 -41
- package/lib/components/Events/Events.js +41 -58
- package/lib/components/Graph/Graph.js +77 -96
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/Header/DoubleTabs/styles.js +4 -4
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.stories.js +3 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +22 -34
- package/lib/components/Header/InfoBar/InfoBar.js +74 -103
- package/lib/components/Header/InfoBar/Search/Control.js +9 -9
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
- package/lib/components/Header/InfoBar/Search/Search.js +16 -21
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
- package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
- package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
- package/lib/components/Header/Slideshow/Slideshow.js +68 -90
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
- package/lib/components/Header/Toolbar/Toolbar.js +55 -74
- package/lib/components/InfoBar/InfoBar.js +10 -23
- package/lib/components/InfoBar/InfoBar.stories.js +3 -5
- package/lib/components/KandoModal/KandoModal.js +27 -41
- package/lib/components/Link.js +8 -7
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
- package/lib/components/Links/StyledLink/StyledLink.js +12 -12
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
- package/lib/components/LiveEvents/CarouselSlide.js +9 -7
- package/lib/components/LiveEvents/LiveEvents.js +5 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
- package/lib/components/Map/Map.js +20 -23
- package/lib/components/Modal/Modal.js +9 -9
- package/lib/components/NarrowHeader.js +17 -31
- package/lib/components/PointInfo/PointInfo.js +19 -17
- package/lib/components/PopupModal/PopupModal.js +12 -16
- package/lib/components/PopupModal/PopupModal.stories.js +15 -19
- package/lib/components/Sector/Sector.js +8 -6
- package/lib/components/Sector/Sector.test.js +19 -20
- package/lib/components/Sector/sectorIcons.js +2 -2
- package/lib/components/SevereEvent/Eta/Eta.js +49 -52
- package/lib/components/SevereEvent/Eta/styles.js +10 -6
- package/lib/components/SevereEvent/SevereEvent.js +30 -37
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +4 -6
- package/lib/components/Spinner/styles.js +22 -14
- package/lib/components/Tabs/Tabs.js +21 -29
- package/lib/components/Tabs/Tabs.stories.js +4 -6
- package/lib/components/Tabs/assets/index.js +5 -5
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
- package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
- package/lib/components/TimeRangeSelector/constants.js +3 -3
- package/lib/components/Toggle/Toggle.js +12 -17
- package/lib/components/TrendGraph/TrendGraph.js +23 -39
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/development-environment/index.js +8 -12
- package/lib/development-environment/mock/browser.js +2 -4
- package/lib/development-environment/mock/get.js +8 -10
- package/lib/development-environment/mock/handlers.js +2 -2
- package/lib/development-environment/mock/mockBus.js +4 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
- package/lib/development-environment/togly/ToglyDashboard.js +13 -22
- package/lib/development-environment/togly/ToglyItem.js +36 -31
- package/lib/development-environment/togly/init.js +2 -2
- package/lib/development-environment/togly/macro.js +14 -10
- package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
- package/lib/development-environment/togly/useLocalStorage.js +13 -18
- package/lib/hooks/useApi.js +19 -55
- package/lib/hooks/useApiWithDashboardQuery.js +30 -49
- package/lib/hooks/useClickOutside.js +3 -3
- package/lib/hooks/useInitializeHeaders.js +5 -5
- package/lib/hooks/useKandoFetch.js +16 -29
- package/lib/hooks/useMap.js +22 -34
- package/lib/hooks/useNavContext.js +22 -26
- package/lib/hooks/useRemoveExistingLayers.js +6 -6
- package/lib/hooks/useUpdateEventBodyTail.js +13 -17
- package/lib/hooks/useUserTimeZone.js +33 -30
- package/lib/hooks/useUserTimeZone.test.js +19 -22
- package/lib/hooks/useWindowSize.js +7 -14
- package/lib/index.js +11 -12
- package/lib/macros/getVersion.js +3 -3
- package/lib/pages/AreaPage/AreaPage.js +34 -67
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -31
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
- package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
- package/lib/pages/CannyWidget/Feedback.js +13 -13
- package/lib/pages/CovidPage/CovidPage.js +8 -13
- package/lib/pages/CovidPage/components/Body.js +25 -27
- package/lib/pages/CovidPage/components/Map.js +29 -39
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +20 -27
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
- package/lib/pages/CovidPage/components/areas/Area.js +29 -40
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
- package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
- package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +28 -28
- package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
- package/lib/pages/DashboardMap/Capacity.js +31 -80
- package/lib/pages/DashboardMap/FactoryCard.js +31 -26
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
- package/lib/pages/DashboardMap/List.js +74 -105
- package/lib/pages/DashboardMap/ListContext.js +15 -19
- package/lib/pages/DashboardMap/Loader.js +2 -2
- package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
- package/lib/pages/DashboardMap/WWTPMap.js +48 -60
- package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
- package/lib/pages/DashboardMap/Widget.js +54 -71
- package/lib/pages/DashboardMap/utils.js +48 -65
- package/lib/pages/EventsPage/Body/Body.js +20 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
- package/lib/pages/EventsPage/EventsPage.js +7 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
- package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
- package/lib/pages/EventsPage/events/Sidebar.js +21 -16
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +44 -43
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
- package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
- package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
- package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
- package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
- package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
- package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
- package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
- package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
- package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
- package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
- package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
- package/lib/pages/ImportGisProcess/index.js +12 -15
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
- package/lib/pages/NotificationsPage/assets/index.js +9 -9
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
- package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
- package/lib/pages/OldSitePage/OldSitePage.js +57 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/ProfilePage/Container.js +2 -2
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
- package/lib/pages/ProfilePage/ProfilePage.js +121 -214
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
- package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
- package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
- package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -30
- package/lib/pages/SitePage/SitePage.js +42 -81
- package/lib/pages/UploadLabResult/index.js +13 -13
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +21 -29
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -17
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
- package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
- package/lib/pages/WbeDashboard/SearchInput.js +15 -20
- package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
- package/lib/pages/WwtpPage/DashboardCard.js +26 -23
- package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
- package/lib/pages/WwtpPage/Map.js +5 -3
- package/lib/pages/WwtpPage/OrganicCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
- package/lib/pages/WwtpPage/PredictionCard.js +2 -2
- package/lib/pages/WwtpPage/TrendCard.js +18 -19
- package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
- package/lib/pages/WwtpPage/WwtpPage.js +8 -8
- package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
- package/lib/providers/Slideshow/SlideshowContext.js +11 -9
- package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
- package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
- package/lib/providers/UrlHistory/index.js +2 -2
- package/lib/providers/UrlHistory/useLastVisited.js +5 -5
- package/lib/store/ImportGis/actionTypes.js +1 -1
- package/lib/store/ImportGis/actionsCreator.js +7 -5
- package/lib/store/ImportGis/reducer.js +40 -29
- package/lib/store/WBE/actionTypes.js +2 -2
- package/lib/store/WBE/reducer.js +13 -9
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
- package/lib/store/areas/actionTypes.js +4 -4
- package/lib/store/areas/actions.js +7 -13
- package/lib/store/areas/reducer.js +8 -6
- package/lib/store/context/actionTypes.js +3 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +14 -16
- package/lib/store/context/reducer.js +13 -9
- package/lib/store/dashboard/dashboardSlice.js +18 -10
- package/lib/store/edges/actionTypes.js +5 -5
- package/lib/store/edges/actions.js +4 -8
- package/lib/store/edges/reducer.js +13 -17
- package/lib/store/events/actionTypes.js +17 -17
- package/lib/store/events/actions.js +3 -7
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/reducer.js +42 -49
- package/lib/store/global/actionTypes.js +11 -11
- package/lib/store/global/actions.js +8 -6
- package/lib/store/global/reducer.js +11 -10
- package/lib/store/permissions/permissionsSlice.js +12 -8
- package/lib/store/points/actionTypes.js +3 -3
- package/lib/store/points/actions.js +4 -8
- package/lib/store/points/reducer.js +7 -5
- package/lib/store/rootActionTypes.js +2 -2
- package/lib/store/rootReducer.js +17 -12
- package/lib/store/rootStore.js +5 -5
- package/lib/store/samplings/actionTypes.js +1 -1
- package/lib/store/samplings/reducer.js +16 -14
- package/lib/styles/StylesLayout.js +5 -3
- package/lib/styles/theme/theme.js +26 -27
- package/lib/test/mocks/browser.js +2 -4
- package/lib/test/test-utils.js +17 -15
- package/lib/ui-kit/Button/Button.js +128 -80
- package/lib/ui-kit/Button/Button.test.js +24 -29
- package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
- package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
- package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
- package/lib/ui-kit/DropDown/DropDown.js +23 -24
- package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
- package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
- package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
- package/lib/ui-kit/IconAction/IconAction.js +7 -5
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
- package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
- package/lib/ui-kit/InletsPie/options.js +6 -6
- package/lib/ui-kit/KandoList/KandoList.js +14 -12
- package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
- package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
- package/lib/ui-kit/Layout/Layout.js +6 -4
- package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
- package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
- package/lib/ui-kit/ScoreGauge/constant.js +3 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
- package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
- package/lib/ui-kit/siteName/SiteName.js +11 -8
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +21 -17
- package/lib/utilities/Analytics.js +11 -11
- package/lib/utilities/Array.js +4 -5
- package/lib/utilities/Enum.js +15 -51
- package/lib/utilities/ErrorBoundary.js +27 -41
- package/lib/utilities/File.js +40 -69
- package/lib/utilities/GetDir.js +8 -7
- package/lib/utilities/KandoDate.js +7 -15
- package/lib/utilities/KandoModal.js +16 -26
- package/lib/utilities/LocalStorage.js +8 -10
- package/lib/utilities/ThousandsToK.js +3 -3
- package/lib/utilities/TimeFormat.js +21 -20
- package/lib/utilities/Truncate.js +17 -25
- package/lib/utilities/edgesMath.js +14 -15
- package/lib/utilities/i18n.js +3 -3
- package/lib/utilities/kql.js +12 -14
- package/lib/utilities/map/icons.js +3 -3
- package/lib/utilities/polylinedecorator.js +87 -112
- package/lib/utilities/scoreToData.js +17 -17
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +8 -8
- package/lib/utilities/uploadToS3.js +11 -11
- package/lib/utilities/urls.js +61 -59
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -13,58 +12,64 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
12
|
var _reactRedux = require("react-redux");
|
|
14
13
|
var _actions = require("store/events/actions");
|
|
15
14
|
var _useUpdateEventBodyTail = _interopRequireDefault(require("hooks/useUpdateEventBodyTail"));
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
17
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
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; }
|
|
18
17
|
// @ts-ignore
|
|
19
18
|
|
|
20
19
|
function mapStateToProps(state) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const {
|
|
21
|
+
events_data,
|
|
22
|
+
global_data,
|
|
23
|
+
edges_data
|
|
24
|
+
} = state;
|
|
24
25
|
return {
|
|
25
|
-
events_data
|
|
26
|
-
global_data
|
|
27
|
-
edges_data
|
|
26
|
+
events_data,
|
|
27
|
+
global_data,
|
|
28
|
+
edges_data
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
const EventIndicator = props => {
|
|
32
|
+
const {
|
|
33
|
+
map,
|
|
34
|
+
events_data,
|
|
35
|
+
edges_data,
|
|
36
|
+
global_data,
|
|
37
|
+
event,
|
|
38
|
+
paths
|
|
39
|
+
} = props;
|
|
40
|
+
const {
|
|
41
|
+
eventIndicator
|
|
42
|
+
} = events_data;
|
|
43
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
44
|
+
let eventParts = [];
|
|
40
45
|
// eslint-disable-next-line etc/no-commented-out-code
|
|
41
46
|
|
|
42
|
-
|
|
47
|
+
const removeExistingIndicator = () => {
|
|
43
48
|
if (eventIndicator !== null) {
|
|
44
|
-
eventIndicator.eachLayer(
|
|
49
|
+
eventIndicator.eachLayer(layer => {
|
|
45
50
|
map.removeLayer(layer);
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
for (
|
|
54
|
+
const makePairs = array => {
|
|
55
|
+
let pairs = [];
|
|
56
|
+
for (let i = 0; i < array.length; i++) {
|
|
52
57
|
if (i < array.length - 1) {
|
|
53
58
|
pairs.push([array[i], array[i + 1]]);
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
return pairs;
|
|
57
62
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
for (
|
|
67
|
-
|
|
63
|
+
const calculateBodyAndTail = (segment, bodyStart, bodyEnd) => {
|
|
64
|
+
let tailPath = [];
|
|
65
|
+
let bodyPath = [];
|
|
66
|
+
let foundBodyStart = false;
|
|
67
|
+
let eventBodyStartMarker = bodyStart._latlng;
|
|
68
|
+
let eventBodyEndMarker = bodyEnd._latlng;
|
|
69
|
+
let subSegments = makePairs(segment._latlngs);
|
|
70
|
+
let shouldContinue = true;
|
|
71
|
+
for (let i = 0; i < subSegments.length; i++) {
|
|
72
|
+
let foundBodyStartOnCurrentSubSegment = false;
|
|
68
73
|
if (shouldContinue && !foundBodyStart) {
|
|
69
74
|
// if bodyStartMarker exist on subSegment
|
|
70
75
|
|
|
@@ -77,7 +82,7 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
if (shouldContinue && foundBodyStart) {
|
|
80
|
-
|
|
85
|
+
let beginningOfBody = foundBodyStartOnCurrentSubSegment ? eventBodyStartMarker : subSegments[i][0];
|
|
81
86
|
if ((0, _leafletGeometryutil.belongsSegment)(eventBodyEndMarker, subSegments[i][0], subSegments[i][1], 0.0000001)) {
|
|
82
87
|
bodyPath.push([beginningOfBody, eventBodyEndMarker]);
|
|
83
88
|
shouldContinue = false;
|
|
@@ -91,12 +96,12 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
91
96
|
bodyPath: bodyPath
|
|
92
97
|
};
|
|
93
98
|
};
|
|
94
|
-
|
|
99
|
+
const renderEventIndicator = () => {
|
|
95
100
|
if (event !== null && event.path.length >= 1) {
|
|
96
101
|
removeExistingIndicator();
|
|
97
|
-
for (
|
|
102
|
+
for (let i = 0; i < event.path.length; i++) {
|
|
98
103
|
if (event.path[i] !== undefined && event.path[i].event_body_part <= 100 && event.path[i].event_body_part > 0 && paths[i] !== undefined) {
|
|
99
|
-
|
|
104
|
+
let eventBodyStart = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, event.path[i].event_tail_part / 100).latLng, {
|
|
100
105
|
icon: L.divIcon({
|
|
101
106
|
iconAnchor: [0, 0],
|
|
102
107
|
iconSize: [0, 0]
|
|
@@ -105,7 +110,7 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
105
110
|
}).addTo(map);
|
|
106
111
|
eventBodyStart['kando_object_id'] = event.id;
|
|
107
112
|
eventBodyStart['kando_object'] = 'EventBodyStart';
|
|
108
|
-
|
|
113
|
+
let eventBodyEnd = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, (event.path[i].event_body_part + event.path[i].event_tail_part) / 100).latLng, {
|
|
109
114
|
icon: L.divIcon({
|
|
110
115
|
iconAnchor: [0, 0],
|
|
111
116
|
iconSize: [0, 0]
|
|
@@ -114,8 +119,8 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
114
119
|
}).addTo(map);
|
|
115
120
|
eventBodyEnd['kando_object_id'] = event.id;
|
|
116
121
|
eventBodyEnd['kando_object'] = 'EventBodyEnd';
|
|
117
|
-
|
|
118
|
-
|
|
122
|
+
let path = calculateBodyAndTail(paths[i], eventBodyStart, eventBodyEnd);
|
|
123
|
+
let eventTail = L.polyline(path.tailPath, {
|
|
119
124
|
color: '#f50b56',
|
|
120
125
|
weight: 12,
|
|
121
126
|
className: 'event-tail',
|
|
@@ -123,7 +128,7 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
123
128
|
}).addTo(map);
|
|
124
129
|
eventTail['kando_object_id'] = event.id;
|
|
125
130
|
eventTail['kando_object'] = 'EventTail';
|
|
126
|
-
|
|
131
|
+
let eventBody = L.polyline(path.bodyPath, {
|
|
127
132
|
color: '#f50b56',
|
|
128
133
|
weight: 12,
|
|
129
134
|
className: 'event-body'
|
|
@@ -131,7 +136,7 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
131
136
|
eventBody['kando_object_id'] = event.id;
|
|
132
137
|
eventBody['kando_object'] = 'EventBody';
|
|
133
138
|
eventBody.bringToFront();
|
|
134
|
-
|
|
139
|
+
let tailDash;
|
|
135
140
|
if (window.L.Symbol !== undefined) {
|
|
136
141
|
tailDash = window.L.polylineDecorator(eventTail._latlngs, {
|
|
137
142
|
patterns: [
|
|
@@ -162,7 +167,7 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
162
167
|
weight: 1
|
|
163
168
|
}).addTo(map);
|
|
164
169
|
tailLine['kando_object'] = 'Decorator';
|
|
165
|
-
|
|
170
|
+
let arrowHead;
|
|
166
171
|
if (window.L.Symbol !== undefined) {
|
|
167
172
|
arrowHead = window.L.polylineDecorator(eventBody, {
|
|
168
173
|
patterns: [
|
|
@@ -186,17 +191,17 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
186
191
|
if (L.Symbol !== undefined) eventParts.push(tailDash);
|
|
187
192
|
eventParts.push(eventBody, eventTail, bodyLine, arrowHead, tailLine);
|
|
188
193
|
} else if (event.path[i] !== undefined && event.path[i].event_body_part === 0 && event.path[i].event_tail_part > 0 && paths[i] !== undefined) {
|
|
189
|
-
|
|
194
|
+
let eventTail = L.polyline(paths[i]._latlngs, {
|
|
190
195
|
color: '#f50b56',
|
|
191
196
|
weight: 12,
|
|
192
197
|
className: 'event-tail',
|
|
193
198
|
opacity: 0.3
|
|
194
199
|
}).addTo(map);
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
200
|
+
eventTail['kando_object_id'] = event.id;
|
|
201
|
+
eventTail['kando_object'] = 'EventTail';
|
|
202
|
+
let tailDash;
|
|
198
203
|
if (window.L.Symbol !== undefined) {
|
|
199
|
-
|
|
204
|
+
tailDash = window.L.polylineDecorator(eventTail._latlngs, {
|
|
200
205
|
patterns: [
|
|
201
206
|
// defines a pattern of 10px-wide dashes, repeated every 20px on the line
|
|
202
207
|
{
|
|
@@ -213,25 +218,25 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
213
218
|
})
|
|
214
219
|
}]
|
|
215
220
|
}).addTo(map);
|
|
216
|
-
|
|
221
|
+
tailDash['kando_object'] = 'Decorator';
|
|
217
222
|
}
|
|
218
|
-
tailLine = L.polyline(
|
|
223
|
+
tailLine = L.polyline(eventTail._latlngs, {
|
|
219
224
|
color: 'rgba(255, 255, 255)',
|
|
220
225
|
weight: 1
|
|
221
226
|
}).addTo(map);
|
|
222
227
|
tailLine['kando_object'] = 'Decorator';
|
|
223
|
-
|
|
224
|
-
eventParts.push(
|
|
225
|
-
if (L.Symbol !== undefined) eventParts.push(
|
|
228
|
+
tailDash.bringToFront();
|
|
229
|
+
eventParts.push(eventTail, tailLine);
|
|
230
|
+
if (L.Symbol !== undefined) eventParts.push(tailDash);
|
|
226
231
|
}
|
|
227
232
|
}
|
|
228
233
|
dispatch((0, _actions.setEventIndicator)(L.layerGroup(eventParts)));
|
|
229
|
-
|
|
230
|
-
eventParts.forEach(
|
|
234
|
+
const bringToFront = () => {
|
|
235
|
+
eventParts.forEach(layer => {
|
|
231
236
|
layer.bringToFront();
|
|
232
237
|
});
|
|
233
238
|
};
|
|
234
|
-
setTimeout(
|
|
239
|
+
setTimeout(() => {
|
|
235
240
|
bringToFront();
|
|
236
241
|
}, 100);
|
|
237
242
|
map.on('zoomend', function () {
|
|
@@ -240,12 +245,12 @@ var EventIndicator = function EventIndicator(props) {
|
|
|
240
245
|
}
|
|
241
246
|
};
|
|
242
247
|
(0, _useUpdateEventBodyTail.default)(event !== null ? global_data.current_time : 0, event, edges_data, event.hovered);
|
|
243
|
-
(0, _react.useEffect)(
|
|
248
|
+
(0, _react.useEffect)(() => {
|
|
244
249
|
renderEventIndicator();
|
|
245
250
|
}, [paths, global_data.current_time]);
|
|
246
251
|
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
247
252
|
};
|
|
248
|
-
|
|
253
|
+
const connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
249
254
|
var _default = connector(EventIndicator);
|
|
250
255
|
exports.default = _default;
|
|
251
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldEdlb21ldHJ5dXRpbCIsInJlcXVpcmUiLCJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3QiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX3VzZVVwZGF0ZUV2ZW50Qm9keVRhaWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwiRXZlbnRJbmRpY2F0b3IiLCJwcm9wcyIsIm1hcCIsImV2ZW50IiwicGF0aHMiLCJldmVudEluZGljYXRvciIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudFBhcnRzIiwicmVtb3ZlRXhpc3RpbmdJbmRpY2F0b3IiLCJlYWNoTGF5ZXIiLCJsYXllciIsInJlbW92ZUxheWVyIiwibWFrZVBhaXJzIiwiYXJyYXkiLCJwYWlycyIsImkiLCJsZW5ndGgiLCJwdXNoIiwiY2FsY3VsYXRlQm9keUFuZFRhaWwiLCJzZWdtZW50IiwiYm9keVN0YXJ0IiwiYm9keUVuZCIsInRhaWxQYXRoIiwiYm9keVBhdGgiLCJmb3VuZEJvZHlTdGFydCIsImV2ZW50Qm9keVN0YXJ0TWFya2VyIiwiX2xhdGxuZyIsImV2ZW50Qm9keUVuZE1hcmtlciIsInN1YlNlZ21lbnRzIiwiX2xhdGxuZ3MiLCJzaG91bGRDb250aW51ZSIsImZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudCIsImJlbG9uZ3NTZWdtZW50IiwiYmVnaW5uaW5nT2ZCb2R5IiwicmVuZGVyRXZlbnRJbmRpY2F0b3IiLCJwYXRoIiwidW5kZWZpbmVkIiwiZXZlbnRfYm9keV9wYXJ0IiwiZXZlbnRCb2R5U3RhcnQiLCJtYXJrZXIiLCJpbnRlcnBvbGF0ZU9uTGluZSIsImV2ZW50X3RhaWxfcGFydCIsImxhdExuZyIsImljb24iLCJkaXZJY29uIiwiaWNvbkFuY2hvciIsImljb25TaXplIiwib3BhY2l0eSIsImFkZFRvIiwiaWQiLCJldmVudEJvZHlFbmQiLCJldmVudFRhaWwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwiZXZlbnRCb2R5IiwiYnJpbmdUb0Zyb250IiwidGFpbERhc2giLCJ3aW5kb3ciLCJTeW1ib2wiLCJwb2x5bGluZURlY29yYXRvciIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYm9keUxpbmUiLCJ0YWlsTGluZSIsInNldEV2ZW50SW5kaWNhdG9yIiwibGF5ZXJHcm91cCIsImZvckVhY2giLCJzZXRUaW1lb3V0Iiwib24iLCJ1c2VVcGRhdGVFdmVudEJvZHlUYWlsIiwiY3VycmVudF90aW1lIiwiaG92ZXJlZCIsInVzZUVmZmVjdCIsImNyZWF0ZUVsZW1lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudEluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgaW50ZXJwb2xhdGVPbkxpbmUsIGJlbG9uZ3NTZWdtZW50IH0gZnJvbSAnbGVhZmxldC1nZW9tZXRyeXV0aWwnO1xuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgc2V0RXZlbnRJbmRpY2F0b3IgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB1c2VVcGRhdGVFdmVudEJvZHlUYWlsIGZyb20gJ3NyYy9ob29rcy91c2VVcGRhdGVFdmVudEJvZHlUYWlsJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgZ2xvYmFsX2RhdGEsIGVkZ2VzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBhdGhzOiBhbnk7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5jb25zdCBFdmVudEluZGljYXRvcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1hcCwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIGdsb2JhbF9kYXRhLCBldmVudCwgcGF0aHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGV2ZW50SW5kaWNhdG9yIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBsZXQgZXZlbnRQYXJ0czogYW55W10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGVcblxuICBjb25zdCByZW1vdmVFeGlzdGluZ0luZGljYXRvciA9ICgpID0+IHtcbiAgICBpZiAoZXZlbnRJbmRpY2F0b3IgIT09IG51bGwpIHtcbiAgICAgIGV2ZW50SW5kaWNhdG9yLmVhY2hMYXllcigobGF5ZXI6IGFueSkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG1ha2VQYWlycyA9IChhcnJheTogW10pID0+IHtcbiAgICBsZXQgcGFpcnM6IGFueVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGkgPCBhcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgIHBhaXJzLnB1c2goW2FycmF5W2ldLCBhcnJheVtpICsgMV1dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFpcnM7XG4gIH07XG5cbiAgY29uc3QgY2FsY3VsYXRlQm9keUFuZFRhaWwgPSAoc2VnbWVudDogYW55LCBib2R5U3RhcnQ6IGFueSwgYm9keUVuZDogYW55KSA9PiB7XG4gICAgbGV0IHRhaWxQYXRoOiBhbnlbXSA9IFtdO1xuICAgIGxldCBib2R5UGF0aDogYW55W10gPSBbXTtcbiAgICBsZXQgZm91bmRCb2R5U3RhcnQgPSBmYWxzZTtcbiAgICBsZXQgZXZlbnRCb2R5U3RhcnRNYXJrZXIgPSBib2R5U3RhcnQuX2xhdGxuZztcbiAgICBsZXQgZXZlbnRCb2R5RW5kTWFya2VyID0gYm9keUVuZC5fbGF0bG5nO1xuICAgIGxldCBzdWJTZWdtZW50cyA9IG1ha2VQYWlycyhzZWdtZW50Ll9sYXRsbmdzKTtcbiAgICBsZXQgc2hvdWxkQ29udGludWUgPSB0cnVlO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudCA9IGZhbHNlO1xuXG4gICAgICBpZiAoc2hvdWxkQ29udGludWUgJiYgIWZvdW5kQm9keVN0YXJ0KSB7XG4gICAgICAgIC8vIGlmIGJvZHlTdGFydE1hcmtlciBleGlzdCBvbiBzdWJTZWdtZW50XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGJlbG9uZ3NTZWdtZW50KFxuICAgICAgICAgICAgZXZlbnRCb2R5U3RhcnRNYXJrZXIsXG4gICAgICAgICAgICBzdWJTZWdtZW50c1tpXVswXSxcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzFdLFxuICAgICAgICAgICAgMC4wMDAwMDAxLFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGFpbFBhdGgucHVzaChbc3ViU2VnbWVudHNbaV1bMF0sIGV2ZW50Qm9keVN0YXJ0TWFya2VyXSk7XG5cbiAgICAgICAgICBmb3VuZEJvZHlTdGFydCA9IHRydWU7XG4gICAgICAgICAgZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YWlsUGF0aC5wdXNoKFtzdWJTZWdtZW50c1tpXVswXSwgc3ViU2VnbWVudHNbaV1bMV1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkQ29udGludWUgJiYgZm91bmRCb2R5U3RhcnQpIHtcbiAgICAgICAgbGV0IGJlZ2lubmluZ09mQm9keSA9IGZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudFxuICAgICAgICAgID8gZXZlbnRCb2R5U3RhcnRNYXJrZXJcbiAgICAgICAgICA6IHN1YlNlZ21lbnRzW2ldWzBdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBiZWxvbmdzU2VnbWVudChcbiAgICAgICAgICAgIGV2ZW50Qm9keUVuZE1hcmtlcixcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzBdLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMV0sXG4gICAgICAgICAgICAwLjAwMDAwMDEsXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICBib2R5UGF0aC5wdXNoKFtiZWdpbm5pbmdPZkJvZHksIGV2ZW50Qm9keUVuZE1hcmtlcl0pO1xuICAgICAgICAgIHNob3VsZENvbnRpbnVlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYm9keVBhdGgucHVzaChbYmVnaW5uaW5nT2ZCb2R5LCBzdWJTZWdtZW50c1tpXVsxXV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhaWxQYXRoOiB0YWlsUGF0aCxcbiAgICAgIGJvZHlQYXRoOiBib2R5UGF0aCxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50SW5kaWNhdG9yID0gKCkgPT4ge1xuICAgIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudC5wYXRoLmxlbmd0aCA+PSAxKSB7XG4gICAgICByZW1vdmVFeGlzdGluZ0luZGljYXRvcigpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC5wYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5wYXRoW2ldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA8PSAxMDAgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA+IDAgJiZcbiAgICAgICAgICBwYXRoc1tpXSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGxldCBldmVudEJvZHlTdGFydCA9IEwubWFya2VyKFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVPbkxpbmUoXG4gICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgcGF0aHNbaV0uX2xhdGxuZ3MsXG4gICAgICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0IC8gMTAwLFxuICAgICAgICAgICAgKS5sYXRMbmcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzAsIDBdLFxuICAgICAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5U3RhcnRbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgICAgICAgZXZlbnRCb2R5U3RhcnRbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50Qm9keVN0YXJ0JztcblxuICAgICAgICAgIGxldCBldmVudEJvZHlFbmQgPSBMLm1hcmtlcihcbiAgICAgICAgICAgIGludGVycG9sYXRlT25MaW5lKFxuICAgICAgICAgICAgICBtYXAsXG4gICAgICAgICAgICAgIHBhdGhzW2ldLl9sYXRsbmdzLFxuICAgICAgICAgICAgICAoZXZlbnQucGF0aFtpXS5ldmVudF9ib2R5X3BhcnQgKyBldmVudC5wYXRoW2ldLmV2ZW50X3RhaWxfcGFydCkgL1xuICAgICAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgICkubGF0TG5nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFswLCAwXSxcbiAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKS5hZGRUbyhtYXApO1xuICAgICAgICAgIGV2ZW50Qm9keUVuZFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudEJvZHlFbmRbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50Qm9keUVuZCc7XG5cbiAgICAgICAgICBsZXQgcGF0aCA9IGNhbGN1bGF0ZUJvZHlBbmRUYWlsKFxuICAgICAgICAgICAgcGF0aHNbaV0sXG4gICAgICAgICAgICBldmVudEJvZHlTdGFydCxcbiAgICAgICAgICAgIGV2ZW50Qm9keUVuZCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgbGV0IGV2ZW50VGFpbCA9IEwucG9seWxpbmUocGF0aC50YWlsUGF0aCwge1xuICAgICAgICAgICAgY29sb3I6ICcjZjUwYjU2JyxcbiAgICAgICAgICAgIHdlaWdodDogMTIsXG4gICAgICAgICAgICBjbGFzc05hbWU6ICdldmVudC10YWlsJyxcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMyxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudFRhaWxbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50VGFpbCc7XG5cbiAgICAgICAgICBsZXQgZXZlbnRCb2R5ID0gTC5wb2x5bGluZShwYXRoLmJvZHlQYXRoLCB7XG4gICAgICAgICAgICBjb2xvcjogJyNmNTBiNTYnLFxuICAgICAgICAgICAgd2VpZ2h0OiAxMixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LWJvZHknLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5WydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50Qm9keVsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5JztcbiAgICAgICAgICBldmVudEJvZHkuYnJpbmdUb0Zyb250KCk7XG5cbiAgICAgICAgICBsZXQgdGFpbERhc2g6IGFueTtcbiAgICAgICAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRhaWxEYXNoID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDEpJyxcbiAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBib2R5TGluZSA9IEwucG9seWxpbmUoZXZlbnRCb2R5Ll9sYXRsbmdzLCB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgLjYpJyxcbiAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIGJvZHlMaW5lWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgICAgICAgdmFyIHRhaWxMaW5lID0gTC5wb2x5bGluZShldmVudFRhaWwuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1KScsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICB0YWlsTGluZVsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcblxuICAgICAgICAgIGxldCBhcnJvd0hlYWQ6IGFueTtcbiAgICAgICAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFycm93SGVhZCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50Qm9keSwge1xuICAgICAgICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDUsXG4gICAgICAgICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDEpJyxcbiAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICAgIGFycm93SGVhZFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKEwuU3ltYm9sICE9PSB1bmRlZmluZWQpIGV2ZW50UGFydHMucHVzaCh0YWlsRGFzaCk7XG4gICAgICAgICAgZXZlbnRQYXJ0cy5wdXNoKGV2ZW50Qm9keSwgZXZlbnRUYWlsLCBib2R5TGluZSwgYXJyb3dIZWFkLCB0YWlsTGluZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgZXZlbnQucGF0aFtpXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgZXZlbnQucGF0aFtpXS5ldmVudF9ib2R5X3BhcnQgPT09IDAgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X3RhaWxfcGFydCA+IDAgJiZcbiAgICAgICAgICBwYXRoc1tpXSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGxldCBldmVudFRhaWwgPSBMLnBvbHlsaW5lKHBhdGhzW2ldLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBjb2xvcjogJyNmNTBiNTYnLFxuICAgICAgICAgICAgd2VpZ2h0OiAxMixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXRhaWwnLFxuICAgICAgICAgICAgb3BhY2l0eTogMC4zLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgICAgICBldmVudFRhaWxbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgICAgICAgZXZlbnRUYWlsWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFRhaWwnO1xuXG4gICAgICAgICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgICAgICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50VGFpbC5fbGF0bG5ncywge1xuICAgICAgICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwxKScsXG4gICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTGluZSA9IEwucG9seWxpbmUoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSknLFxuICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgdGFpbExpbmVbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG4gICAgICAgICAgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICAgICAgICBldmVudFBhcnRzLnB1c2goZXZlbnRUYWlsLCB0YWlsTGluZSk7XG4gICAgICAgICAgaWYgKEwuU3ltYm9sICE9PSB1bmRlZmluZWQpIGV2ZW50UGFydHMucHVzaCh0YWlsRGFzaCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc2V0RXZlbnRJbmRpY2F0b3IoTC5sYXllckdyb3VwKGV2ZW50UGFydHMpKSk7XG4gICAgICBjb25zdCBicmluZ1RvRnJvbnQgPSAoKSA9PiB7XG4gICAgICAgIGV2ZW50UGFydHMuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgICAgICBsYXllci5icmluZ1RvRnJvbnQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgYnJpbmdUb0Zyb250KCk7XG4gICAgICB9LCAxMDApO1xuXG4gICAgICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGJyaW5nVG9Gcm9udCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIHVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwoXG4gICAgZXZlbnQgIT09IG51bGwgPyBnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWUgOiAwLFxuICAgIGV2ZW50LFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgZXZlbnQuaG92ZXJlZCxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckV2ZW50SW5kaWNhdG9yKCk7XG4gIH0sIFtwYXRocywgZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lXSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50SW5kaWNhdG9yKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFELHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFHQSxJQUFBTSx1QkFBQSxHQUFBQyxzQkFBQSxDQUFBUCxPQUFBO0FBQXNFLFNBQUFRLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUCx3QkFBQVcsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFB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
|
|
256
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldEdlb21ldHJ5dXRpbCIsInJlcXVpcmUiLCJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3QiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX3VzZVVwZGF0ZUV2ZW50Qm9keVRhaWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsImVkZ2VzX2RhdGEiLCJFdmVudEluZGljYXRvciIsInByb3BzIiwibWFwIiwiZXZlbnQiLCJwYXRocyIsImV2ZW50SW5kaWNhdG9yIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImV2ZW50UGFydHMiLCJyZW1vdmVFeGlzdGluZ0luZGljYXRvciIsImVhY2hMYXllciIsImxheWVyIiwicmVtb3ZlTGF5ZXIiLCJtYWtlUGFpcnMiLCJhcnJheSIsInBhaXJzIiwiaSIsImxlbmd0aCIsInB1c2giLCJjYWxjdWxhdGVCb2R5QW5kVGFpbCIsInNlZ21lbnQiLCJib2R5U3RhcnQiLCJib2R5RW5kIiwidGFpbFBhdGgiLCJib2R5UGF0aCIsImZvdW5kQm9keVN0YXJ0IiwiZXZlbnRCb2R5U3RhcnRNYXJrZXIiLCJfbGF0bG5nIiwiZXZlbnRCb2R5RW5kTWFya2VyIiwic3ViU2VnbWVudHMiLCJfbGF0bG5ncyIsInNob3VsZENvbnRpbnVlIiwiZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50IiwiYmVsb25nc1NlZ21lbnQiLCJiZWdpbm5pbmdPZkJvZHkiLCJyZW5kZXJFdmVudEluZGljYXRvciIsInBhdGgiLCJ1bmRlZmluZWQiLCJldmVudF9ib2R5X3BhcnQiLCJldmVudEJvZHlTdGFydCIsIm1hcmtlciIsImludGVycG9sYXRlT25MaW5lIiwiZXZlbnRfdGFpbF9wYXJ0IiwibGF0TG5nIiwiaWNvbiIsImRpdkljb24iLCJpY29uQW5jaG9yIiwiaWNvblNpemUiLCJvcGFjaXR5IiwiYWRkVG8iLCJpZCIsImV2ZW50Qm9keUVuZCIsImV2ZW50VGFpbCIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJjbGFzc05hbWUiLCJldmVudEJvZHkiLCJicmluZ1RvRnJvbnQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInBvbHlsaW5lRGVjb3JhdG9yIiwicGF0dGVybnMiLCJvZmZzZXQiLCJyZXBlYXQiLCJzeW1ib2wiLCJhcnJvd0hlYWQiLCJwaXhlbFNpemUiLCJwb2x5Z29uIiwicGF0aE9wdGlvbnMiLCJzdHJva2UiLCJib2R5TGluZSIsInRhaWxMaW5lIiwic2V0RXZlbnRJbmRpY2F0b3IiLCJsYXllckdyb3VwIiwiZm9yRWFjaCIsInNldFRpbWVvdXQiLCJvbiIsInVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwiLCJjdXJyZW50X3RpbWUiLCJob3ZlcmVkIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50SW5kaWNhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBpbnRlcnBvbGF0ZU9uTGluZSwgYmVsb25nc1NlZ21lbnQgfSBmcm9tICdsZWFmbGV0LWdlb21ldHJ5dXRpbCc7XG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdzcmMvdXRpbGl0aWVzL3BvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBzZXRFdmVudEluZGljYXRvciB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwgZnJvbSAnc3JjL2hvb2tzL3VzZVVwZGF0ZUV2ZW50Qm9keVRhaWwnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgZWRnZXNfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgcGF0aHM6IGFueTtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmNvbnN0IEV2ZW50SW5kaWNhdG9yOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgbWFwLCBldmVudHNfZGF0YSwgZWRnZXNfZGF0YSwgZ2xvYmFsX2RhdGEsIGV2ZW50LCBwYXRocyB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZXZlbnRJbmRpY2F0b3IgfSA9IGV2ZW50c19kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGxldCBldmVudFBhcnRzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZVxuXG4gIGNvbnN0IHJlbW92ZUV4aXN0aW5nSW5kaWNhdG9yID0gKCkgPT4ge1xuICAgIGlmIChldmVudEluZGljYXRvciAhPT0gbnVsbCkge1xuICAgICAgZXZlbnRJbmRpY2F0b3IuZWFjaExheWVyKChsYXllcjogYW55KSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcik7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgbWFrZVBhaXJzID0gKGFycmF5OiBbXSkgPT4ge1xuICAgIGxldCBwYWlyczogYW55W10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaSA8IGFycmF5Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcGFpcnMucHVzaChbYXJyYXlbaV0sIGFycmF5W2kgKyAxXV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYWlycztcbiAgfTtcblxuICBjb25zdCBjYWxjdWxhdGVCb2R5QW5kVGFpbCA9IChzZWdtZW50OiBhbnksIGJvZHlTdGFydDogYW55LCBib2R5RW5kOiBhbnkpID0+IHtcbiAgICBsZXQgdGFpbFBhdGg6IGFueVtdID0gW107XG4gICAgbGV0IGJvZHlQYXRoOiBhbnlbXSA9IFtdO1xuICAgIGxldCBmb3VuZEJvZHlTdGFydCA9IGZhbHNlO1xuICAgIGxldCBldmVudEJvZHlTdGFydE1hcmtlciA9IGJvZHlTdGFydC5fbGF0bG5nO1xuICAgIGxldCBldmVudEJvZHlFbmRNYXJrZXIgPSBib2R5RW5kLl9sYXRsbmc7XG4gICAgbGV0IHN1YlNlZ21lbnRzID0gbWFrZVBhaXJzKHNlZ21lbnQuX2xhdGxuZ3MpO1xuICAgIGxldCBzaG91bGRDb250aW51ZSA9IHRydWU7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1YlNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50ID0gZmFsc2U7XG5cbiAgICAgIGlmIChzaG91bGRDb250aW51ZSAmJiAhZm91bmRCb2R5U3RhcnQpIHtcbiAgICAgICAgLy8gaWYgYm9keVN0YXJ0TWFya2VyIGV4aXN0IG9uIHN1YlNlZ21lbnRcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgYmVsb25nc1NlZ21lbnQoXG4gICAgICAgICAgICBldmVudEJvZHlTdGFydE1hcmtlcixcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzBdLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMV0sXG4gICAgICAgICAgICAwLjAwMDAwMDEsXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICB0YWlsUGF0aC5wdXNoKFtzdWJTZWdtZW50c1tpXVswXSwgZXZlbnRCb2R5U3RhcnRNYXJrZXJdKTtcblxuICAgICAgICAgIGZvdW5kQm9keVN0YXJ0ID0gdHJ1ZTtcbiAgICAgICAgICBmb3VuZEJvZHlTdGFydE9uQ3VycmVudFN1YlNlZ21lbnQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhaWxQYXRoLnB1c2goW3N1YlNlZ21lbnRzW2ldWzBdLCBzdWJTZWdtZW50c1tpXVsxXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRDb250aW51ZSAmJiBmb3VuZEJvZHlTdGFydCkge1xuICAgICAgICBsZXQgYmVnaW5uaW5nT2ZCb2R5ID0gZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50XG4gICAgICAgICAgPyBldmVudEJvZHlTdGFydE1hcmtlclxuICAgICAgICAgIDogc3ViU2VnbWVudHNbaV1bMF07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGJlbG9uZ3NTZWdtZW50KFxuICAgICAgICAgICAgZXZlbnRCb2R5RW5kTWFya2VyLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMF0sXG4gICAgICAgICAgICBzdWJTZWdtZW50c1tpXVsxXSxcbiAgICAgICAgICAgIDAuMDAwMDAwMSxcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIGJvZHlQYXRoLnB1c2goW2JlZ2lubmluZ09mQm9keSwgZXZlbnRCb2R5RW5kTWFya2VyXSk7XG4gICAgICAgICAgc2hvdWxkQ29udGludWUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBib2R5UGF0aC5wdXNoKFtiZWdpbm5pbmdPZkJvZHksIHN1YlNlZ21lbnRzW2ldWzFdXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFpbFBhdGg6IHRhaWxQYXRoLFxuICAgICAgYm9keVBhdGg6IGJvZHlQYXRoLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyRXZlbnRJbmRpY2F0b3IgPSAoKSA9PiB7XG4gICAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50LnBhdGgubGVuZ3RoID49IDEpIHtcbiAgICAgIHJlbW92ZUV4aXN0aW5nSW5kaWNhdG9yKCk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfYm9keV9wYXJ0IDw9IDEwMCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfYm9keV9wYXJ0ID4gMCAmJlxuICAgICAgICAgIHBhdGhzW2ldICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbGV0IGV2ZW50Qm9keVN0YXJ0ID0gTC5tYXJrZXIoXG4gICAgICAgICAgICBpbnRlcnBvbGF0ZU9uTGluZShcbiAgICAgICAgICAgICAgbWFwLFxuICAgICAgICAgICAgICBwYXRoc1tpXS5fbGF0bG5ncyxcbiAgICAgICAgICAgICAgZXZlbnQucGF0aFtpXS5ldmVudF90YWlsX3BhcnQgLyAxMDAsXG4gICAgICAgICAgICApLmxhdExuZyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogTC5kaXZJY29uKHtcbiAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMCwgMF0sXG4gICAgICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICkuYWRkVG8obWFwKTtcbiAgICAgICAgICBldmVudEJvZHlTdGFydFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudEJvZHlTdGFydFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5U3RhcnQnO1xuXG4gICAgICAgICAgbGV0IGV2ZW50Qm9keUVuZCA9IEwubWFya2VyKFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVPbkxpbmUoXG4gICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgcGF0aHNbaV0uX2xhdGxuZ3MsXG4gICAgICAgICAgICAgIChldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCArIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0KSAvXG4gICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgKS5sYXRMbmcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzAsIDBdLFxuICAgICAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5RW5kWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50Qm9keUVuZFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5RW5kJztcblxuICAgICAgICAgIGxldCBwYXRoID0gY2FsY3VsYXRlQm9keUFuZFRhaWwoXG4gICAgICAgICAgICBwYXRoc1tpXSxcbiAgICAgICAgICAgIGV2ZW50Qm9keVN0YXJ0LFxuICAgICAgICAgICAgZXZlbnRCb2R5RW5kLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBsZXQgZXZlbnRUYWlsID0gTC5wb2x5bGluZShwYXRoLnRhaWxQYXRoLCB7XG4gICAgICAgICAgICBjb2xvcjogJyNmNTBiNTYnLFxuICAgICAgICAgICAgd2VpZ2h0OiAxMixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXRhaWwnLFxuICAgICAgICAgICAgb3BhY2l0eTogMC4zLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRUYWlsWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRUYWlsJztcblxuICAgICAgICAgIGxldCBldmVudEJvZHkgPSBMLnBvbHlsaW5lKHBhdGguYm9keVBhdGgsIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2Y1MGI1NicsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEyLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtYm9keScsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICBldmVudEJvZHlbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgICAgICAgZXZlbnRCb2R5WydrYW5kb19vYmplY3QnXSA9ICdFdmVudEJvZHknO1xuICAgICAgICAgIGV2ZW50Qm9keS5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgICAgIGxldCB0YWlsRGFzaDogYW55O1xuICAgICAgICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGFpbERhc2ggPSB3aW5kb3cuTC5wb2x5bGluZURlY29yYXRvcihldmVudFRhaWwuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgICAgICAgICBzeW1ib2w6IHdpbmRvdy5MLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMSknLFxuICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGJvZHlMaW5lID0gTC5wb2x5bGluZShldmVudEJvZHkuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAuNiknLFxuICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgYm9keUxpbmVbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICB2YXIgdGFpbExpbmUgPSBMLnBvbHlsaW5lKGV2ZW50VGFpbC5fbGF0bG5ncywge1xuICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUpJyxcbiAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIHRhaWxMaW5lWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgICAgICAgbGV0IGFycm93SGVhZDogYW55O1xuICAgICAgICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYXJyb3dIZWFkID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRCb2R5LCB7XG4gICAgICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogNSxcbiAgICAgICAgICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgICAgICAgICBzeW1ib2w6IHdpbmRvdy5MLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMSknLFxuICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgICAgYXJyb3dIZWFkWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgZXZlbnRQYXJ0cy5wdXNoKHRhaWxEYXNoKTtcbiAgICAgICAgICBldmVudFBhcnRzLnB1c2goZXZlbnRCb2R5LCBldmVudFRhaWwsIGJvZHlMaW5lLCBhcnJvd0hlYWQsIHRhaWxMaW5lKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBldmVudC5wYXRoW2ldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA9PT0gMCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0ID4gMCAmJlxuICAgICAgICAgIHBhdGhzW2ldICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbGV0IGV2ZW50VGFpbCA9IEwucG9seWxpbmUocGF0aHNbaV0uX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2Y1MGI1NicsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEyLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtdGFpbCcsXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjMsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcblxuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudFRhaWxbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50VGFpbCc7XG5cbiAgICAgICAgICBsZXQgdGFpbERhc2g6IGFueTtcbiAgICAgICAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRhaWxEYXNoID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDEpJyxcbiAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhaWxMaW5lID0gTC5wb2x5bGluZShldmVudFRhaWwuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1KScsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICB0YWlsTGluZVsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgICAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgICAgIGV2ZW50UGFydHMucHVzaChldmVudFRhaWwsIHRhaWxMaW5lKTtcbiAgICAgICAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgZXZlbnRQYXJ0cy5wdXNoKHRhaWxEYXNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzZXRFdmVudEluZGljYXRvcihMLmxheWVyR3JvdXAoZXZlbnRQYXJ0cykpKTtcbiAgICAgIGNvbnN0IGJyaW5nVG9Gcm9udCA9ICgpID0+IHtcbiAgICAgICAgZXZlbnRQYXJ0cy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgICAgIGxheWVyLmJyaW5nVG9Gcm9udCgpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBicmluZ1RvRnJvbnQoKTtcbiAgICAgIH0sIDEwMCk7XG5cbiAgICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYnJpbmdUb0Zyb250KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgdXNlVXBkYXRlRXZlbnRCb2R5VGFpbChcbiAgICBldmVudCAhPT0gbnVsbCA/IGdsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSA6IDAsXG4gICAgZXZlbnQsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBldmVudC5ob3ZlcmVkLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVuZGVyRXZlbnRJbmRpY2F0b3IoKTtcbiAgfSwgW3BhdGhzLCBnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWVdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRJbmRpY2F0b3IpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsb0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBRCx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBR0EsSUFBQU0sdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUFzRSxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUCx3QkFBQVcsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFB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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -10,20 +9,23 @@ var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
|
10
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
10
|
var _reactRedux = require("react-redux");
|
|
12
11
|
var _actions = require("store/events/actions");
|
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
14
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
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; }
|
|
15
14
|
// @ts-ignore
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
eventPaths =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
const EventPath = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
event,
|
|
19
|
+
global_data,
|
|
20
|
+
eventPaths = []
|
|
21
|
+
} = _ref;
|
|
22
|
+
const {
|
|
23
|
+
map
|
|
24
|
+
} = global_data;
|
|
25
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
26
|
+
const drawPolyline = (event, layerLatlngs, eventPathsAsMapObjects) => {
|
|
27
|
+
let eventPath = _leaflet.default.polyline(layerLatlngs, {
|
|
28
|
+
color: 'rgb(236,119,156)',
|
|
27
29
|
weight: 10,
|
|
28
30
|
className: 'event-path',
|
|
29
31
|
stroke: true
|
|
@@ -31,34 +33,57 @@ var EventPath = function EventPath(_ref) {
|
|
|
31
33
|
eventPathsAsMapObjects.push(eventPath);
|
|
32
34
|
eventPath['kando_object_id'] = event.id;
|
|
33
35
|
eventPath['kando_object'] = 'EventPath';
|
|
36
|
+
let tailDash;
|
|
37
|
+
if (window.L.Symbol !== undefined) {
|
|
38
|
+
tailDash = window.L.polylineDecorator(eventPath._latlngs, {
|
|
39
|
+
patterns: [
|
|
40
|
+
// defines a pattern of 10px-wide dashes, repeated every 20px on the line
|
|
41
|
+
{
|
|
42
|
+
offset: 15,
|
|
43
|
+
repeat: 25,
|
|
44
|
+
symbol: window.L.Symbol.arrowHead({
|
|
45
|
+
pixelSize: 3,
|
|
46
|
+
polygon: false,
|
|
47
|
+
pathOptions: {
|
|
48
|
+
stroke: true,
|
|
49
|
+
color: 'rgb(255,255,255)',
|
|
50
|
+
weight: 1,
|
|
51
|
+
opacity: 1
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
}]
|
|
55
|
+
}).addTo(map);
|
|
56
|
+
tailDash['kando_object'] = 'Arrow';
|
|
57
|
+
}
|
|
58
|
+
eventPathsAsMapObjects.push(tailDash);
|
|
34
59
|
if (event.hovered) {
|
|
35
60
|
dispatch((0, _actions.setHoveredEventPaths)(eventPathsAsMapObjects));
|
|
36
61
|
} else {
|
|
37
62
|
dispatch((0, _actions.setFocusedEventPaths)(eventPathsAsMapObjects));
|
|
38
63
|
}
|
|
39
64
|
};
|
|
40
|
-
|
|
65
|
+
const renderEventPath = (event, isHover) => {
|
|
41
66
|
if (map !== undefined) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
event.
|
|
45
|
-
for (
|
|
67
|
+
let eventPathsAsMapObjects = [];
|
|
68
|
+
let layers = map._layers;
|
|
69
|
+
event.snail_path.forEach(path => {
|
|
70
|
+
for (const property in layers) {
|
|
46
71
|
if (layers[property].kando_object_id !== undefined && layers[property].kando_object_id === path.edge_id && layers[property].kando_object === 'Edge') {
|
|
47
|
-
|
|
72
|
+
let layerLatlngs = layers[property].getLatLngs();
|
|
48
73
|
drawPolyline(event, layerLatlngs, eventPathsAsMapObjects);
|
|
49
74
|
}
|
|
50
75
|
}
|
|
51
76
|
});
|
|
52
|
-
if (!isHover &&
|
|
53
|
-
setTimeout(
|
|
77
|
+
if (!isHover && eventPathsAsMapObjects.length !== 0) {
|
|
78
|
+
setTimeout(() => {
|
|
54
79
|
map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
|
|
55
80
|
}, 1000);
|
|
56
81
|
}
|
|
57
82
|
}
|
|
58
83
|
};
|
|
59
|
-
(0, _react.useEffect)(
|
|
84
|
+
(0, _react.useEffect)(() => {
|
|
60
85
|
if (eventPaths) {
|
|
61
|
-
eventPaths.forEach(
|
|
86
|
+
eventPaths.forEach(path => {
|
|
62
87
|
map.removeLayer(path);
|
|
63
88
|
});
|
|
64
89
|
renderEventPath(event, event.hovered);
|
|
@@ -68,4 +93,4 @@ var EventPath = function EventPath(_ref) {
|
|
|
68
93
|
};
|
|
69
94
|
var _default = EventPath;
|
|
70
95
|
exports.default = _default;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwic2V0VGltZW91dCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZCIsInVzZUVmZmVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgZXZlbnRQYXRocz86IGFueVtdO1xufTtcblxuY29uc3QgRXZlbnRQYXRoOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgZXZlbnQsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudFBhdGhzID0gW10sXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgbGV0IGV2ZW50UGF0aCA9IEwucG9seWxpbmUobGF5ZXJMYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYmEoMCwwLDAsMCknLFxuICAgICAgd2VpZ2h0OiAxMCxcbiAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXBhdGgnLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueVtdID0gW107XG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG5cbiAgICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBhdGguZWRnZV9pZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyc1twcm9wZXJ0eV0uZ2V0TGF0TG5ncygpO1xuICAgICAgICAgICAgZHJhd1BvbHlsaW5lKGV2ZW50LCBsYXllckxhdGxuZ3MsIGV2ZW50UGF0aHNBc01hcE9iamVjdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgIWlzSG92ZXIgJiZcbiAgICAgICAgZXZlbnRQYXRocy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5sZW5ndGggPiAwXG4gICAgICApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICAgIEwuZmVhdHVyZUdyb3VwKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpLmdldEJvdW5kcygpLnBhZCgwLjEpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnRdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudFBhdGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixP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
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50UGF0aCIsIl9yZWYiLCJldmVudCIsImdsb2JhbF9kYXRhIiwiZXZlbnRQYXRocyIsIm1hcCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJkcmF3UG9seWxpbmUiLCJsYXllckxhdGxuZ3MiLCJldmVudFBhdGhzQXNNYXBPYmplY3RzIiwiZXZlbnRQYXRoIiwiTCIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJjbGFzc05hbWUiLCJzdHJva2UiLCJhZGRUbyIsInB1c2giLCJpZCIsInRhaWxEYXNoIiwid2luZG93IiwiU3ltYm9sIiwidW5kZWZpbmVkIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwib3BhY2l0eSIsImhvdmVyZWQiLCJzZXRIb3ZlcmVkRXZlbnRQYXRocyIsInNldEZvY3VzZWRFdmVudFBhdGhzIiwicmVuZGVyRXZlbnRQYXRoIiwiaXNIb3ZlciIsImxheWVycyIsIl9sYXllcnMiLCJzbmFpbF9wYXRoIiwiZm9yRWFjaCIsInBhdGgiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwic2V0VGltZW91dCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZCIsInVzZUVmZmVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgZXZlbnRQYXRocz86IGFueVtdO1xufTtcblxuY29uc3QgRXZlbnRQYXRoOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgZXZlbnQsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudFBhdGhzID0gW10sXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgbGV0IGV2ZW50UGF0aCA9IEwucG9seWxpbmUobGF5ZXJMYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMzYsMTE5LDE1NiknLFxuICAgICAgd2VpZ2h0OiAxMCxcbiAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXBhdGgnLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50UGF0aC5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDI1NSwyNTUsMjU1KScsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdBcnJvdyc7XG4gICAgfVxuXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5wdXNoKHRhaWxEYXNoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGV2ZW50LnNuYWlsX3BhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBhdGguZWRnZV9pZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyc1twcm9wZXJ0eV0uZ2V0TGF0TG5ncygpO1xuICAgICAgICAgICAgZHJhd1BvbHlsaW5lKGV2ZW50LCBsYXllckxhdGxuZ3MsIGV2ZW50UGF0aHNBc01hcE9iamVjdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICghaXNIb3ZlciAmJiBldmVudFBhdGhzQXNNYXBPYmplY3RzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgICAgTC5mZWF0dXJlR3JvdXAoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykuZ2V0Qm91bmRzKCkucGFkKDAuMSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZW50UGF0aHMpIHtcbiAgICAgIGV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgcmVuZGVyRXZlbnRQYXRoKGV2ZW50LCBldmVudC5ob3ZlcmVkKTtcbiAgICB9XG4gIH0sIFtldmVudF0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50UGF0aDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUdr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
|