@kando-env/kando-ui 1.2.382-alpha.9 → 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 -78
- 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 -123
- package/lib/Widgets/Map/MapUtils.js +82 -99
- 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 +17 -17
- package/lib/Widgets/Map/events/EventIndicator.js +65 -60
- package/lib/Widgets/Map/events/EventPath.js +25 -23
- 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 +19 -20
- 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 +12 -10
- 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 +18 -23
- 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/i18n/en.json +0 -15
- package/lib/index.js +11 -13
- 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 +14 -21
- 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 +22 -18
- 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 +43 -42
- 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/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 +27 -28
- 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 +31 -26
- 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 -64
- package/package.json +1 -3
- package/lib/components/Sector/SectorIconsNew.js +0 -112
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +0 -130
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +0 -64
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +0 -36
- package/lib/pages/PollutionRiskAssessment/Map.js +0 -49
- package/lib/pages/PollutionRiskAssessment/Map.scss +0 -59
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +0 -51
- package/lib/pages/PollutionRiskAssessment/UseCases.js +0 -53
- package/lib/pages/PollutionRiskAssessment/contact_us.svg +0 -18
- package/lib/pages/PollutionRiskAssessment/filter_button.svg +0 -5
- package/lib/pages/PollutionRiskAssessment/index.js +0 -246
- package/lib/pages/PollutionRiskAssessment/index.scss +0 -45
- package/lib/pages/PollutionRiskAssessment/pig.svg +0 -3
- package/lib/pages/PollutionRiskAssessment/useMap.js +0 -135
- package/lib/pages/PollutionRiskAssessment/use_cases.json +0 -50
- package/lib/store/points/models/IGeoPoint.js +0 -6
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +0 -44
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.scss +0 -18
|
@@ -24,145 +24,175 @@ var _actionsCreator = require("store/samplings/actionsCreator");
|
|
|
24
24
|
var _urls = require("utilities/urls");
|
|
25
25
|
var _styleModule = _interopRequireDefault(require("./style.module.scss"));
|
|
26
26
|
var _samplingsPageUtils = require("./samplingsPageUtils");
|
|
27
|
-
|
|
27
|
+
const SamplingMobileModalStyle = _styledComponents.default.div.withConfig({
|
|
28
28
|
displayName: "SamplingMobileModal__SamplingMobileModalStyle",
|
|
29
29
|
componentId: "sc-ksxd5-0"
|
|
30
|
-
})(["*{font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;}.dropright{button{width:100vw;::after{display:none;}}}img{width:18px;height:18px;color:", ";}"],
|
|
31
|
-
|
|
30
|
+
})(["*{font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;}.dropright{button{width:100vw;::after{display:none;}}}img{width:18px;height:18px;color:", ";}"], _ref => {
|
|
31
|
+
let {
|
|
32
|
+
theme
|
|
33
|
+
} = _ref;
|
|
32
34
|
return theme.colorScheme.primary.p1;
|
|
33
35
|
});
|
|
34
|
-
|
|
36
|
+
const ListGroupStyle = (0, _styledComponents.default)(_reactBootstrap.ListGroup).withConfig({
|
|
35
37
|
displayName: "SamplingMobileModal__ListGroupStyle",
|
|
36
38
|
componentId: "sc-ksxd5-1"
|
|
37
39
|
})(["padding:0 10px !important;border-radius:14px;"]);
|
|
38
|
-
|
|
40
|
+
const ModalContainerStyle = _styledComponents.default.div.withConfig({
|
|
39
41
|
displayName: "SamplingMobileModal__ModalContainerStyle",
|
|
40
42
|
componentId: "sc-ksxd5-2"
|
|
41
|
-
})(["position:fixed;width:100vw;left:0;bottom:0;z-index:", ";"],
|
|
42
|
-
|
|
43
|
+
})(["position:fixed;width:100vw;left:0;bottom:0;z-index:", ";"], _ref2 => {
|
|
44
|
+
let {
|
|
45
|
+
theme
|
|
46
|
+
} = _ref2;
|
|
43
47
|
return theme.zIndexes.modal;
|
|
44
48
|
});
|
|
45
|
-
|
|
49
|
+
const ListGroupItemStyle = (0, _styledComponents.default)(_reactBootstrap.ListGroup.Item).withConfig({
|
|
46
50
|
displayName: "SamplingMobileModal__ListGroupItemStyle",
|
|
47
51
|
componentId: "sc-ksxd5-3"
|
|
48
|
-
})(["font-size:", ";height:55px !important;justify-content:center !important;align-items:center;gap:5px;border-bottom:0.5px solid #858a947d !important;color:", " !important;"],
|
|
49
|
-
|
|
52
|
+
})(["font-size:", ";height:55px !important;justify-content:center !important;align-items:center;gap:5px;border-bottom:0.5px solid #858a947d !important;color:", " !important;"], _ref3 => {
|
|
53
|
+
let {
|
|
54
|
+
theme
|
|
55
|
+
} = _ref3;
|
|
50
56
|
return theme.fontSize.md;
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
|
|
57
|
+
}, _ref4 => {
|
|
58
|
+
let {
|
|
59
|
+
disabled,
|
|
60
|
+
theme
|
|
61
|
+
} = _ref4;
|
|
54
62
|
return disabled ? theme.colorScheme.natural.n50 : theme.samplingsPage.mobile.modalListItemColor;
|
|
55
63
|
});
|
|
56
|
-
|
|
64
|
+
const RowInfoStyle = _styledComponents.default.div.withConfig({
|
|
57
65
|
displayName: "SamplingMobileModal__RowInfoStyle",
|
|
58
66
|
componentId: "sc-ksxd5-4"
|
|
59
|
-
})(["display:block;background:", ";border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:0.5px solid #858a947d;padding:22px 32px 0;"],
|
|
60
|
-
|
|
67
|
+
})(["display:block;background:", ";border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:0.5px solid #858a947d;padding:22px 32px 0;"], _ref5 => {
|
|
68
|
+
let {
|
|
69
|
+
theme
|
|
70
|
+
} = _ref5;
|
|
61
71
|
return theme.colorScheme.natural.n1;
|
|
62
72
|
});
|
|
63
|
-
|
|
73
|
+
const InfoLineStyle = _styledComponents.default.div.withConfig({
|
|
64
74
|
displayName: "SamplingMobileModal__InfoLineStyle",
|
|
65
75
|
componentId: "sc-ksxd5-5"
|
|
66
|
-
})(["border-top:1px solid #858a947d;color:", ";display:flex;justify-content:space-between;width:100%;padding:16px 0;"],
|
|
67
|
-
|
|
76
|
+
})(["border-top:1px solid #858a947d;color:", ";display:flex;justify-content:space-between;width:100%;padding:16px 0;"], _ref6 => {
|
|
77
|
+
let {
|
|
78
|
+
theme
|
|
79
|
+
} = _ref6;
|
|
68
80
|
return theme.colorScheme.natural.n60;
|
|
69
81
|
});
|
|
70
|
-
|
|
82
|
+
const OverlayStyle = _styledComponents.default.div.withConfig({
|
|
71
83
|
displayName: "SamplingMobileModal__OverlayStyle",
|
|
72
84
|
componentId: "sc-ksxd5-6"
|
|
73
|
-
})(["background-color:", ";width:100%;height:100vh;left:0;bottom:0;position:fixed;z-index:", ";"],
|
|
74
|
-
|
|
85
|
+
})(["background-color:", ";width:100%;height:100vh;left:0;bottom:0;position:fixed;z-index:", ";"], _ref7 => {
|
|
86
|
+
let {
|
|
87
|
+
theme
|
|
88
|
+
} = _ref7;
|
|
75
89
|
return theme.samplingsPage.mobile.modalOverlayBackground;
|
|
76
|
-
},
|
|
77
|
-
|
|
90
|
+
}, _ref8 => {
|
|
91
|
+
let {
|
|
92
|
+
theme
|
|
93
|
+
} = _ref8;
|
|
78
94
|
return theme.zIndexes.modal;
|
|
79
95
|
});
|
|
80
|
-
|
|
96
|
+
const MainButtonStyle = (0, _styledComponents.default)(_uiKit.Button).withConfig({
|
|
81
97
|
displayName: "SamplingMobileModal__MainButtonStyle",
|
|
82
98
|
componentId: "sc-ksxd5-7"
|
|
83
|
-
})(["font-size:18px;margin:10px;width:calc(100vw - 20px);border:none;height:53px;background-color:", " !important;border-radius:14px !important;"],
|
|
84
|
-
|
|
99
|
+
})(["font-size:18px;margin:10px;width:calc(100vw - 20px);border:none;height:53px;background-color:", " !important;border-radius:14px !important;"], _ref9 => {
|
|
100
|
+
let {
|
|
101
|
+
theme
|
|
102
|
+
} = _ref9;
|
|
85
103
|
return theme.colorScheme.natural.n1;
|
|
86
104
|
});
|
|
87
|
-
|
|
105
|
+
const SiteStyle = _styledComponents.default.div.withConfig({
|
|
88
106
|
displayName: "SamplingMobileModal__SiteStyle",
|
|
89
107
|
componentId: "sc-ksxd5-8"
|
|
90
108
|
})(["font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;font-weight:bold;font-size:16px;color:#000;"]);
|
|
91
|
-
|
|
109
|
+
const ContactNumberRowStyle = _styledComponents.default.a.withConfig({
|
|
92
110
|
displayName: "SamplingMobileModal__ContactNumberRowStyle",
|
|
93
111
|
componentId: "sc-ksxd5-9"
|
|
94
112
|
})(["img{margin:0 5px;}"]);
|
|
95
|
-
|
|
113
|
+
const SiteDetailsStyle = _styledComponents.default.div.withConfig({
|
|
96
114
|
displayName: "SamplingMobileModal__SiteDetailsStyle",
|
|
97
115
|
componentId: "sc-ksxd5-10"
|
|
98
|
-
})(["font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;font-size:12px;display:flex;justify-content:space-between;margin:0 0 10px;line-height:30px;color:", ";"],
|
|
99
|
-
|
|
116
|
+
})(["font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;font-size:12px;display:flex;justify-content:space-between;margin:0 0 10px;line-height:30px;color:", ";"], _ref10 => {
|
|
117
|
+
let {
|
|
118
|
+
theme
|
|
119
|
+
} = _ref10;
|
|
100
120
|
return theme.colorScheme.natural.n60;
|
|
101
121
|
});
|
|
102
|
-
|
|
122
|
+
const SiteDetailsFirstStyle = _styledComponents.default.div.withConfig({
|
|
103
123
|
displayName: "SamplingMobileModal__SiteDetailsFirstStyle",
|
|
104
124
|
componentId: "sc-ksxd5-11"
|
|
105
125
|
})([""]);
|
|
106
|
-
|
|
126
|
+
const SiteDetailsSecondStyle = _styledComponents.default.div.withConfig({
|
|
107
127
|
displayName: "SamplingMobileModal__SiteDetailsSecondStyle",
|
|
108
128
|
componentId: "sc-ksxd5-12"
|
|
109
129
|
})(["display:flex;flex-direction:column;align-items:flex-end;margin:5px 0 0;"]);
|
|
110
|
-
|
|
130
|
+
const BottomSectionStyle = _styledComponents.default.div.withConfig({
|
|
111
131
|
displayName: "SamplingMobileModal__BottomSectionStyle",
|
|
112
132
|
componentId: "sc-ksxd5-13"
|
|
113
133
|
})(["display:flex;gap:10px;"]);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
};
|
|
118
|
-
}).withConfig({
|
|
134
|
+
const StatusContainerStyle = _styledComponents.default.div.attrs(props => ({
|
|
135
|
+
isMobileProperties: props.isMobileProperties
|
|
136
|
+
})).withConfig({
|
|
119
137
|
displayName: "SamplingMobileModal__StatusContainerStyle",
|
|
120
138
|
componentId: "sc-ksxd5-14"
|
|
121
|
-
})(["display:flex;flex-direction:row-reverse;align-items:center;gap:4px;img{height:14px;width:14px;}", ""],
|
|
122
|
-
|
|
123
|
-
|
|
139
|
+
})(["display:flex;flex-direction:row-reverse;align-items:center;gap:4px;img{height:14px;width:14px;}", ""], _ref11 => {
|
|
140
|
+
let {
|
|
141
|
+
isMobileProperties
|
|
142
|
+
} = _ref11;
|
|
143
|
+
return isMobileProperties && `
|
|
144
|
+
justify-content: flex-end;
|
|
145
|
+
`;
|
|
124
146
|
});
|
|
125
|
-
|
|
147
|
+
const CloseTopButtonStyle = _styledComponents.default.div.withConfig({
|
|
126
148
|
displayName: "SamplingMobileModal__CloseTopButtonStyle",
|
|
127
149
|
componentId: "sc-ksxd5-15"
|
|
128
|
-
})(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;padding:2px 0 0;"],
|
|
129
|
-
|
|
150
|
+
})(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;padding:2px 0 0;"], _ref12 => {
|
|
151
|
+
let {
|
|
152
|
+
theme
|
|
153
|
+
} = _ref12;
|
|
130
154
|
return theme.colorScheme.natural.n100;
|
|
131
|
-
},
|
|
132
|
-
|
|
155
|
+
}, _ref13 => {
|
|
156
|
+
let {
|
|
157
|
+
theme
|
|
158
|
+
} = _ref13;
|
|
133
159
|
return theme.colorScheme.natural.n1;
|
|
134
|
-
},
|
|
135
|
-
|
|
160
|
+
}, _ref14 => {
|
|
161
|
+
let {
|
|
162
|
+
theme
|
|
163
|
+
} = _ref14;
|
|
136
164
|
return theme.colorScheme.natural.n100;
|
|
137
165
|
});
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
166
|
+
const SamplingMobileModal = _ref15 => {
|
|
167
|
+
let {
|
|
168
|
+
onCloseModal,
|
|
169
|
+
sampling,
|
|
170
|
+
isMobileProperties
|
|
171
|
+
} = _ref15;
|
|
172
|
+
const {
|
|
173
|
+
contact,
|
|
174
|
+
contact_number: contactNumber,
|
|
175
|
+
lab_name: labName,
|
|
176
|
+
manhole_address: manholeAddress,
|
|
177
|
+
status,
|
|
178
|
+
site,
|
|
179
|
+
sampling_id: samplingId,
|
|
180
|
+
sampling_date: samplingDate,
|
|
181
|
+
sampling_time: samplingTime
|
|
182
|
+
} = sampling;
|
|
183
|
+
const history = (0, _reactRouterDom.useHistory)();
|
|
184
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
185
|
+
const navContext = (0, _reactRedux.useSelector)(state => state.nav_context_data.navContext);
|
|
186
|
+
const waterAuthorityId = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityId);
|
|
187
|
+
const handleActionClick = op => {
|
|
160
188
|
if (!op) {
|
|
161
189
|
return;
|
|
162
190
|
}
|
|
163
|
-
|
|
191
|
+
const {
|
|
192
|
+
id
|
|
193
|
+
} = sampling;
|
|
164
194
|
dispatch((0, _actionsCreator.getSamplingById)(id));
|
|
165
|
-
|
|
195
|
+
const samplingPropertiesUrlParams = (0, _urls.urls)({
|
|
166
196
|
id: id,
|
|
167
197
|
locale: navContext.locale,
|
|
168
198
|
waterAuthorityId: waterAuthorityId,
|
|
@@ -170,13 +200,15 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
170
200
|
});
|
|
171
201
|
history.push(samplingPropertiesUrlParams.samplingsPage.samplingPropertiesRoute.url);
|
|
172
202
|
};
|
|
173
|
-
|
|
174
|
-
return _samplingsPageUtils.MOBILE_MODAL_TEXT_LENGTH < manholeAddress.text.length ? manholeAddress.text.slice(0, _samplingsPageUtils.MOBILE_MODAL_TEXT_LENGTH) +
|
|
203
|
+
const getAddress = () => {
|
|
204
|
+
return _samplingsPageUtils.MOBILE_MODAL_TEXT_LENGTH < manholeAddress.text.length ? manholeAddress.text.slice(0, _samplingsPageUtils.MOBILE_MODAL_TEXT_LENGTH) + '\u2026' : manholeAddress.text;
|
|
175
205
|
};
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
206
|
+
const {
|
|
207
|
+
lat_lng
|
|
208
|
+
} = manholeAddress;
|
|
209
|
+
const locationStr = `${lat_lng[0]},${lat_lng[1]}`;
|
|
210
|
+
const locationStrWaze = `ll=${locationStr}`;
|
|
211
|
+
const mobileActionsOptsMap = {
|
|
180
212
|
collect: {
|
|
181
213
|
clickOp: _samplingsPageUtils.COLLECT_SAMPLING_OP,
|
|
182
214
|
value: _i18n.default.t('samplings_page.cancel_sampling')
|
|
@@ -198,26 +230,24 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
198
230
|
value: _i18n.default.t('samplings_page.sampling_properties')
|
|
199
231
|
}
|
|
200
232
|
};
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
233
|
+
const buildActionItem = (key, props) => {
|
|
234
|
+
const opt = mobileActionsOptsMap[key];
|
|
235
|
+
const disabled = props ? props['disabled'] : false;
|
|
236
|
+
const clickOp = disabled ? false : opt['clickOp'];
|
|
205
237
|
return /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, {
|
|
206
|
-
onClick:
|
|
207
|
-
return handleActionClick(clickOp);
|
|
208
|
-
},
|
|
238
|
+
onClick: () => handleActionClick(clickOp),
|
|
209
239
|
disabled: disabled
|
|
210
240
|
}, opt['value']);
|
|
211
241
|
};
|
|
212
|
-
|
|
213
|
-
|
|
242
|
+
const mainButtonAction = status => {
|
|
243
|
+
const fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
|
|
214
244
|
if (['planned', 'active', 'ready'].includes(fmtStatus)) {
|
|
215
245
|
return _samplingsPageUtils.COLLECT_SAMPLING_OP;
|
|
216
246
|
}
|
|
217
247
|
return _samplingsPageUtils.EDIT_PROPERTIES_OP;
|
|
218
248
|
};
|
|
219
|
-
|
|
220
|
-
|
|
249
|
+
const mainButtonTitle = status => {
|
|
250
|
+
const fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
|
|
221
251
|
if (['planned', 'active', 'ready'].includes(fmtStatus)) {
|
|
222
252
|
return _i18n.default.t('samplings_page.collect');
|
|
223
253
|
} else if (fmtStatus === 'collected') {
|
|
@@ -225,9 +255,9 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
225
255
|
}
|
|
226
256
|
return _i18n.default.t('samplings_page.sampling_properties');
|
|
227
257
|
};
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
258
|
+
const buildMobileActions = () => {
|
|
259
|
+
const fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
|
|
260
|
+
let result = [];
|
|
231
261
|
if (['planned', 'active', 'ready'].includes(fmtStatus)) {
|
|
232
262
|
result.push(buildActionItem('cancel'));
|
|
233
263
|
} else if (fmtStatus === 'collected') {
|
|
@@ -253,7 +283,7 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
253
283
|
src: _samplingModalPin.default,
|
|
254
284
|
alt: "pin"
|
|
255
285
|
}), /*#__PURE__*/_react.default.createElement("span", null, getAddress()), /*#__PURE__*/_react.default.createElement("a", {
|
|
256
|
-
href:
|
|
286
|
+
href: `https://www.waze.com/ul?${locationStrWaze}&navigate=yes`,
|
|
257
287
|
target: "_blank",
|
|
258
288
|
rel: "noreferrer"
|
|
259
289
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -261,7 +291,7 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
261
291
|
src: _wazeIcon.default,
|
|
262
292
|
alt: "waze-icon"
|
|
263
293
|
})), /*#__PURE__*/_react.default.createElement("a", {
|
|
264
|
-
href:
|
|
294
|
+
href: `https://www.google.com/maps/dir/?api=1&origin=Current+Location&destination=${locationStr}`,
|
|
265
295
|
rel: "noreferrer",
|
|
266
296
|
target: "_blank"
|
|
267
297
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -269,7 +299,7 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
269
299
|
src: _google_maps_icon.default,
|
|
270
300
|
alt: "google-map-icon"
|
|
271
301
|
}))), /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, null, /*#__PURE__*/_react.default.createElement(ContactNumberRowStyle, {
|
|
272
|
-
href: contactNumber ?
|
|
302
|
+
href: contactNumber ? `tel:${contactNumber}` : '#'
|
|
273
303
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
274
304
|
src: _samplingModalPhone.default,
|
|
275
305
|
alt: "pin"
|
|
@@ -277,10 +307,8 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
277
307
|
variant: "primary",
|
|
278
308
|
rounded: false,
|
|
279
309
|
outline: true,
|
|
280
|
-
onClick:
|
|
281
|
-
return handleActionClick(mainButtonAction(status));
|
|
282
|
-
}
|
|
310
|
+
onClick: () => handleActionClick(mainButtonAction(status))
|
|
283
311
|
}, mainButtonTitle(status))));
|
|
284
312
|
};
|
|
285
313
|
exports.SamplingMobileModal = SamplingMobileModal;
|
|
286
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEZvbnRhd2Vzb21lIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfc2FtcGxpbmdNb2RhbFBob25lIiwiX3NhbXBsaW5nTW9kYWxQaW4iLCJfU2FtcGxpbmdTdGF0dXMiLCJfZ29vZ2xlX21hcHNfaWNvbiIsIl9pMThuIiwiX3dhemVJY29uIiwiX3VpS2l0IiwiX1NhbXBsaW5nU3RhdHVzSGVscGVyIiwiX2FjdGlvbnNDcmVhdG9yIiwiX3VybHMiLCJfc3R5bGVNb2R1bGUiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwMSIsIkxpc3RHcm91cFN0eWxlIiwiTGlzdEdyb3VwIiwiTW9kYWxDb250YWluZXJTdHlsZSIsIl9yZWYyIiwiekluZGV4ZXMiLCJtb2RhbCIsIkxpc3RHcm91cEl0ZW1TdHlsZSIsIkl0ZW0iLCJfcmVmMyIsImZvbnRTaXplIiwibWQiLCJfcmVmNCIsImRpc2FibGVkIiwibmF0dXJhbCIsIm41MCIsInNhbXBsaW5nc1BhZ2UiLCJtb2JpbGUiLCJtb2RhbExpc3RJdGVtQ29sb3IiLCJSb3dJbmZvU3R5bGUiLCJfcmVmNSIsIm4xIiwiSW5mb0xpbmVTdHlsZSIsIl9yZWY2IiwibjYwIiwiT3ZlcmxheVN0eWxlIiwiX3JlZjciLCJtb2RhbE92ZXJsYXlCYWNrZ3JvdW5kIiwiX3JlZjgiLCJNYWluQnV0dG9uU3R5bGUiLCJCdXR0b24iLCJfcmVmOSIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiX3JlZjEwIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIl9yZWYxMSIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJfcmVmMTIiLCJuMTAwIiwiX3JlZjEzIiwiX3JlZjE0IiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIl9yZWYxNSIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImdsb2JhbF9kYXRhIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJvcCIsImlkIiwiZ2V0U2FtcGxpbmdCeUlkIiwic2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zIiwidXJscyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJjb25jYXQiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyIsIm1hY2hpbmVfbmFtZSIsImluY2x1ZGVzIiwibWFpbkJ1dHRvblRpdGxlIiwiYnVpbGRNb2JpbGVBY3Rpb25zIiwicmVzdWx0IiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhVGltZXMiLCJzcmMiLCJQaW4iLCJhbHQiLCJocmVmIiwidGFyZ2V0IiwicmVsIiwiY2xhc3NOYW1lIiwiU3R5bGUiLCJ3YXplTGluayIsIndhemVJY29uIiwiZ29vZ2xlTGluayIsImdvb2dsZU1hcHNJY29uIiwiUGhvbmUiLCJ2YXJpYW50Iiwicm91bmRlZCIsIm91dGxpbmUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdNb2JpbGVNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGdvb2dsZU1hcHNJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi9nb29nbGVfbWFwc19pY29uLnBuZyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHdhemVJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi93YXplLWljb24ucG5nJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNhbXBsaW5nRGF0YSxcbn0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdNb2JpbGVQcm9wcyB7XG4gIG9uQ2xvc2VNb2RhbDogKCkgPT4gdm9pZDtcbiAgc2FtcGxpbmc6IFNhbXBsaW5nRGF0YTtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cbmNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSA9IHN0eWxlZC5kaXZgXG4gICoge1xuICAgIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgfVxuICAuZHJvcHJpZ2h0IHtcbiAgICBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wMX07XG4gIH1cbmA7XG5cbmNvbnN0IExpc3RHcm91cFN0eWxlID0gc3R5bGVkKExpc3RHcm91cClgXG4gIC8qIG92ZXJyaWRlIHNlcnZlciBzdHlsZSAqL1xuICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbmA7XG5jb25zdCBNb2RhbENvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBJdGVtU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwLkl0ZW0pYFxuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICBoZWlnaHQ6IDU1cHggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM4NThhOTQ3ZCAhaW1wb3J0YW50IDtcbiAgY29sb3I6ICR7KHsgZGlzYWJsZWQsIHRoZW1lIH0pID0+XG4gICAgZGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNTBcbiAgICAgIDogdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxMaXN0SXRlbUNvbG9yfSAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgUm93SW5mb1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2Q7XG4gIHBhZGRpbmc6IDIycHggMzJweCAwO1xuYDtcblxuY29uc3QgSW5mb0xpbmVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODU4YTk0N2Q7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTZweCAwO1xuYDtcblxuY29uc3QgT3ZlcmxheVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTWFpbkJ1dHRvblN0eWxlID0gc3R5bGVkKEJ1dHRvbilgXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogNTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBTaXRlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMDAwO1xuYDtcblxuY29uc3QgQ29udGFjdE51bWJlclJvd1N0eWxlID0gc3R5bGVkLmFgXG4gIGltZyB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuYDtcblxuY29uc3QgU2l0ZURldGFpbHNTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc0ZpcnN0U3R5bGUgPSBzdHlsZWQuZGl2YGA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU2Vjb25kU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbjogNXB4IDAgMDtcbmA7XG5cbmNvbnN0IEJvdHRvbVNlY3Rpb25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbmA7XG5cbmludGVyZmFjZSBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzIHtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3RhdHVzQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKFxuICAocHJvcHM6IFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMpID0+ICh7XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzOiBwcm9wcy5pc01vYmlsZVByb3BlcnRpZXMsXG4gIH0pLFxuKWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbiAgJHsoeyBpc01vYmlsZVByb3BlcnRpZXMgfSkgPT5cbiAgICBpc01vYmlsZVByb3BlcnRpZXMgJiZcbiAgICBgXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYH1cbmA7XG5cbmNvbnN0IENsb3NlVG9wQnV0dG9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgbWFyZ2luOiAwIDhweCAwIDA7XG4gIHBhZGRpbmc6IDJweCAwIDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbDogRkM8U2FtcGxpbmdNb2JpbGVQcm9wcz4gPSAoe1xuICBvbkNsb3NlTW9kYWwsXG4gIHNhbXBsaW5nLFxuICBpc01vYmlsZVByb3BlcnRpZXMsXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb250YWN0LFxuICAgIGNvbnRhY3RfbnVtYmVyOiBjb250YWN0TnVtYmVyLFxuICAgIGxhYl9uYW1lOiBsYWJOYW1lLFxuICAgIG1hbmhvbGVfYWRkcmVzczogbWFuaG9sZUFkZHJlc3MsXG4gICAgc3RhdHVzLFxuICAgIHNpdGUsXG4gICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nSWQsXG4gICAgc2FtcGxpbmdfZGF0ZTogc2FtcGxpbmdEYXRlLFxuICAgIHNhbXBsaW5nX3RpbWU6IHNhbXBsaW5nVGltZSxcbiAgfSA9IHNhbXBsaW5nO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUFjdGlvbkNsaWNrID0gKG9wOiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFvcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaWQgfSA9IHNhbXBsaW5nO1xuICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChpZCkpO1xuICAgIGNvbnN0IHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyA9IHVybHMoe1xuICAgICAgaWQ6IGlkLFxuICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBvcDogb3AsXG4gICAgfSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUudXJsLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QWRkcmVzcyA9ICgpID0+IHtcbiAgICByZXR1cm4gTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIDwgbWFuaG9sZUFkZHJlc3MudGV4dC5sZW5ndGhcbiAgICAgID8gbWFuaG9sZUFkZHJlc3MudGV4dC5zbGljZSgwLCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgpICsgJ1xcdTIwMjYnXG4gICAgICA6IG1hbmhvbGVBZGRyZXNzLnRleHQ7XG4gIH07XG5cbiAgY29uc3QgeyBsYXRfbG5nIH0gPSBtYW5ob2xlQWRkcmVzcztcbiAgY29uc3QgbG9jYXRpb25TdHIgPSBgJHtsYXRfbG5nWzBdfSwke2xhdF9sbmdbMV19YDtcbiAgY29uc3QgbG9jYXRpb25TdHJXYXplID0gYGxsPSR7bG9jYXRpb25TdHJ9YDtcblxuICBjb25zdCBtb2JpbGVBY3Rpb25zT3B0c01hcDogeyBba2V5OiBzdHJpbmddOiBPYmplY3QgfSA9IHtcbiAgICBjb2xsZWN0OiB7XG4gICAgICBjbGlja09wOiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgfSxcbiAgICBjYW5jZWw6IHtcbiAgICAgIGNsaWNrT3A6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgIH0sXG4gICAgcmV2ZXJ0X2NhbmNlbDoge1xuICAgICAgY2xpY2tPcDogUkVWRVJUX0NBTkNFTExBVElPTixcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnJldmVydF9jYW5jZWxsYXRpb24nKSxcbiAgICB9LFxuICAgIGRlbGV0ZToge1xuICAgICAgY2xpY2tPcDogREVMRVRFX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuZGVsZXRlJyksXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzX2VkaXQ6IHtcbiAgICAgIGNsaWNrT3A6IEVESVRfUFJPUEVSVElFU19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX3Byb3BlcnRpZXMnKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQWN0aW9uSXRlbSA9IChrZXk6IHN0cmluZywgcHJvcHM/OiBvYmplY3QpOiBSZWFjdEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG9wdCA9IG1vYmlsZUFjdGlvbnNPcHRzTWFwW2tleV07XG4gICAgY29uc3QgZGlzYWJsZWQgPSBwcm9wcyA/IHByb3BzWydkaXNhYmxlZCddIDogZmFsc2U7XG4gICAgY29uc3QgY2xpY2tPcCA9IGRpc2FibGVkID8gZmFsc2UgOiBvcHRbJ2NsaWNrT3AnXTtcbiAgICByZXR1cm4gKFxuICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhjbGlja09wKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICB7b3B0Wyd2YWx1ZSddfVxuICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYWluQnV0dG9uQWN0aW9uID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBFRElUX1BST1BFUlRJRVNfT1A7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvblRpdGxlID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyk7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRNb2JpbGVBY3Rpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGxldCByZXN1bHQ6IFJlYWN0RWxlbWVudFtdID0gW107XG5cbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdjYW5jZWwnKSk7XG4gICAgfSBlbHNlIGlmIChmbXRTdGF0dXMgPT09ICdjYW5jZWxlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgncmV2ZXJ0X2NhbmNlbCcpKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICAgICA8T3ZlcmxheVN0eWxlIC8+XG4gICAgICA8TW9kYWxDb250YWluZXJTdHlsZT5cbiAgICAgICAgPExpc3RHcm91cFN0eWxlPlxuICAgICAgICAgIDxSb3dJbmZvU3R5bGU+XG4gICAgICAgICAgICA8Q2xvc2VUb3BCdXR0b25TdHlsZSBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICAgICAgICA8L0Nsb3NlVG9wQnV0dG9uU3R5bGU+XG4gICAgICAgICAgICA8U2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgICA8U2l0ZVN0eWxlPntzaXRlfTwvU2l0ZVN0eWxlPlxuICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nSWR9PC9kaXY+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNGaXJzdFN0eWxlPlxuICAgICAgICAgICAgICA8U2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgICAgICA8U3RhdHVzQ29udGFpbmVyU3R5bGUgaXNNb2JpbGVQcm9wZXJ0aWVzPXtpc01vYmlsZVByb3BlcnRpZXN9PlxuICAgICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgICAgICAgICAgICAgIDwvU3RhdHVzQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgPEJvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nRGF0ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1NlY29uZFN0eWxlPlxuICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1N0eWxlPlxuICAgICAgICAgICAgPEluZm9MaW5lU3R5bGU+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2xhYk5hbWUgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS53YXNfbm90X3NlbGVjdGVkJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvSW5mb0xpbmVTdHlsZT5cbiAgICAgICAgICA8L1Jvd0luZm9TdHlsZT5cblxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICA8aW1nIHNyYz17UGlufSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgPHNwYW4+e2dldEFkZHJlc3MoKX08L3NwYW4+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cud2F6ZS5jb20vdWw/JHtsb2NhdGlvblN0cldhemV9Jm5hdmlnYXRlPXllc2B9XG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT17U3R5bGUud2F6ZUxpbmt9IHNyYz17d2F6ZUljb259IGFsdD1cIndhemUtaWNvblwiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8/YXBpPTEmb3JpZ2luPUN1cnJlbnQrTG9jYXRpb24mZGVzdGluYXRpb249JHtsb2NhdGlvblN0cn1gfVxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZ29vZ2xlTGlua31cbiAgICAgICAgICAgICAgICBzcmM9e2dvb2dsZU1hcHNJY29ufVxuICAgICAgICAgICAgICAgIGFsdD1cImdvb2dsZS1tYXAtaWNvblwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJSb3dTdHlsZVxuICAgICAgICAgICAgICBocmVmPXtjb250YWN0TnVtYmVyID8gYHRlbDoke2NvbnRhY3ROdW1iZXJ9YCA6ICcjJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e1Bob25lfSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgICB7Y29udGFjdCB8fCBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3QnKX1cbiAgICAgICAgICAgIDwvQ29udGFjdE51bWJlclJvd1N0eWxlPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAge2J1aWxkTW9iaWxlQWN0aW9ucygpfVxuICAgICAgICA8L0xpc3RHcm91cFN0eWxlPlxuICAgICAgICA8TWFpbkJ1dHRvblN0eWxlXG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgIHJvdW5kZWQ9e2ZhbHNlfVxuICAgICAgICAgIG91dGxpbmVcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhtYWluQnV0dG9uQWN0aW9uKHN0YXR1cykpfVxuICAgICAgICA+XG4gICAgICAgICAge21haW5CdXR0b25UaXRsZShzdGF0dXMpfVxuICAgICAgICA8L01haW5CdXR0b25TdHlsZT5cbiAgICAgIDwvTW9kYWxDb250YWluZXJTdHlsZT5cbiAgICA8L1NhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZT5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGtCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFMLE9BQUE7QUFBOEMsSUFBQU0sbUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFPLGlCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFJOUMsSUFBQVEsZUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsaUJBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLEtBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLFNBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFZLE1BQUEsR0FBQVosT0FBQTtBQUVBLElBQUFhLHFCQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxlQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxLQUFBLEdBQUFmLE9BQUE7QUFFQSxJQUFBZ0IsWUFBQSxHQUFBakIsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFpQixtQkFBQSxHQUFBakIsT0FBQTtBQWVBLElBQU1rQix3QkFBd0IsR0FBR0MseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhKQWdCOUIsVUFBQUMsSUFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNDLE9BQU8sQ0FBQ0MsRUFBRTtBQUFBLEVBRXZEO0FBRUQsSUFBTUMsY0FBYyxHQUFHLElBQUFWLHlCQUFNLEVBQUNXLHlCQUFTLENBQUMsQ0FBQVQsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxREFJdkM7QUFDRCxJQUFNUSxtQkFBbUIsR0FBR1oseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlFQUt6QixVQUFBUyxLQUFBO0VBQUEsSUFBR1AsS0FBSyxHQUFBTyxLQUFBLENBQUxQLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNRLFFBQVEsQ0FBQ0MsS0FBSztBQUFBLEVBQy9DO0FBRUQsSUFBTUMsa0JBQWtCLEdBQUcsSUFBQWhCLHlCQUFNLEVBQUNXLHlCQUFTLENBQUNNLElBQUksQ0FBQyxDQUFBZixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlMQUNsQyxVQUFBYyxLQUFBO0VBQUEsSUFBR1osS0FBSyxHQUFBWSxLQUFBLENBQUxaLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNhLFFBQVEsQ0FBQ0MsRUFBRTtBQUFBLEdBTXBDLFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxRQUFRLEdBQUFELEtBQUEsQ0FBUkMsUUFBUTtJQUFFaEIsS0FBSyxHQUFBZSxLQUFBLENBQUxmLEtBQUs7RUFBQSxPQUN6QmdCLFFBQVEsR0FDSmhCLEtBQUssQ0FBQ0MsV0FBVyxDQUFDZ0IsT0FBTyxDQUFDQyxHQUFHLEdBQzdCbEIsS0FBSyxDQUFDbUIsYUFBYSxDQUFDQyxNQUFNLENBQUNDLGtCQUFrQjtBQUFBLEVBQ3BEO0FBRUQsSUFBTUMsWUFBWSxHQUFHNUIseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdKQUVmLFVBQUF5QixLQUFBO0VBQUEsSUFBR3ZCLEtBQUssR0FBQXVCLEtBQUEsQ0FBTHZCLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNDLFdBQVcsQ0FBQ2dCLE9BQU8sQ0FBQ08sRUFBRTtBQUFBLEVBSzFEO0FBRUQsSUFBTUMsYUFBYSxHQUFHL0IseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdIQUVyQixVQUFBNEIsS0FBQTtFQUFBLElBQUcxQixLQUFLLEdBQUEwQixLQUFBLENBQUwxQixLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNnQixPQUFPLENBQUNVLEdBQUc7QUFBQSxFQUt0RDtBQUVELElBQU1DLFlBQVksR0FBR2xDLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtR0FDVCxVQUFBK0IsS0FBQTtFQUFBLElBQUc3QixLQUFLLEdBQUE2QixLQUFBLENBQUw3QixLQUFLO0VBQUEsT0FDMUJBLEtBQUssQ0FBQ21CLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDVSxzQkFBc0I7QUFBQSxHQU14QyxVQUFBQyxLQUFBO0VBQUEsSUFBRy9CLEtBQUssR0FBQStCLEtBQUEsQ0FBTC9CLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNRLFFBQVEsQ0FBQ0MsS0FBSztBQUFBLEVBQy9DO0FBRUQsSUFBTXVCLGVBQWUsR0FBRyxJQUFBdEMseUJBQU0sRUFBQ3VDLGFBQU0sQ0FBQyxDQUFBckMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSkFNaEIsVUFBQW9DLEtBQUE7RUFBQSxJQUFHbEMsS0FBSyxHQUFBa0MsS0FBQSxDQUFMbEMsS0FBSztFQUFBLE9BQU9BLEtBQUssQ0FBQ0MsV0FBVyxDQUFDZ0IsT0FBTyxDQUFDTyxFQUFFO0FBQUEsRUFFaEU7QUFFRCxJQUFNVyxTQUFTLEdBQUd6Qyx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd0dBSzNCO0FBRUQsSUFBTXNDLHFCQUFxQixHQUFHMUMseUJBQU0sQ0FBQzJDLENBQUMsQ0FBQXpDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMEJBSXJDO0FBRUQsSUFBTXdDLGdCQUFnQixHQUFHNUMseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9LQU94QixVQUFBeUMsTUFBQTtFQUFBLElBQUd2QyxLQUFLLEdBQUF1QyxNQUFBLENBQUx2QyxLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNnQixPQUFPLENBQUNVLEdBQUc7QUFBQSxFQUN0RDtBQUVELElBQU1hLHFCQUFxQixHQUFHOUMseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLFFBQUU7QUFFMUMsSUFBTTJDLHNCQUFzQixHQUFHL0MseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtFQUt4QztBQUVELElBQU00QyxrQkFBa0IsR0FBR2hELHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHcEM7QUFNRCxJQUFNNkMsb0JBQW9CLEdBQUdqRCx5QkFBTSxDQUFDQyxHQUFHLENBQUNpRCxLQUFLLENBQzNDLFVBQUNDLEtBQWdDO0VBQUEsT0FBTTtJQUNyQ0Msa0JBQWtCLEVBQUVELEtBQUssQ0FBQ0M7RUFDNUIsQ0FBQztBQUFBLENBQ0gsQ0FBQyxDQUFBbEQsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0R0FTRyxVQUFBaUQsTUFBQTtFQUFBLElBQUdELGtCQUFrQixHQUFBQyxNQUFBLENBQWxCRCxrQkFBa0I7RUFBQSxPQUNyQkEsa0JBQWtCLGdEQUdmO0FBQUEsRUFDTjtBQUVELElBQU1FLG1CQUFtQixHQUFHdEQseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlRQVF0QixVQUFBbUQsTUFBQTtFQUFBLElBQUdqRCxLQUFLLEdBQUFpRCxNQUFBLENBQUxqRCxLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNnQixPQUFPLENBQUNpQyxJQUFJO0FBQUEsR0FDbEQsVUFBQUMsTUFBQTtFQUFBLElBQUduRCxLQUFLLEdBQUFtRCxNQUFBLENBQUxuRCxLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNnQixPQUFPLENBQUNPLEVBQUU7QUFBQSxHQUNoQyxVQUFBNEIsTUFBQTtFQUFBLElBQUdwRCxLQUFLLEdBQUFvRCxNQUFBLENBQUxwRCxLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDQyxXQUFXLENBQUNnQixPQUFPLENBQUNpQyxJQUFJO0FBQUEsRUFPbEU7QUFFTSxJQUFNRyxtQkFBNEMsR0FBRyxTQUEvQ0EsbUJBQTRDQSxDQUFBQyxNQUFBLEVBSW5EO0VBQUEsSUFISkMsWUFBWSxHQUFBRCxNQUFBLENBQVpDLFlBQVk7SUFDWkMsUUFBUSxHQUFBRixNQUFBLENBQVJFLFFBQVE7SUFDUlYsa0JBQWtCLEdBQUFRLE1BQUEsQ0FBbEJSLGtCQUFrQjtFQUVsQixJQUNFVyxPQUFPLEdBU0xELFFBQVEsQ0FUVkMsT0FBTztJQUNTQyxhQUFhLEdBUTNCRixRQUFRLENBUlZHLGNBQWM7SUFDSkMsT0FBTyxHQU9mSixRQUFRLENBUFZLLFFBQVE7SUFDU0MsY0FBYyxHQU03Qk4sUUFBUSxDQU5WTyxlQUFlO0lBQ2ZDLE1BQU0sR0FLSlIsUUFBUSxDQUxWUSxNQUFNO0lBQ05DLElBQUksR0FJRlQsUUFBUSxDQUpWUyxJQUFJO0lBQ1NDLFVBQVUsR0FHckJWLFFBQVEsQ0FIVlcsV0FBVztJQUNJQyxZQUFZLEdBRXpCWixRQUFRLENBRlZhLGFBQWE7SUFDRUMsWUFBWSxHQUN6QmQsUUFBUSxDQURWZSxhQUFhO0VBRWYsSUFBTUMsT0FBTyxHQUFHLElBQUFDLDBCQUFVLEVBQUMsQ0FBQztFQUM1QixJQUFNQyxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxDQUFDO0VBQzlCLElBQU1DLFVBQVUsR0FBRyxJQUFBQyx1QkFBVyxFQUM1QixVQUFDQyxLQUFvQztJQUFBLE9BQUtBLEtBQUssQ0FBQ0MsZ0JBQWdCLENBQUNILFVBQVU7RUFBQSxDQUM3RSxDQUFDO0VBRUQsSUFBTUksZ0JBQWdCLEdBQUcsSUFBQUgsdUJBQVcsRUFDbEMsVUFBQ0MsS0FBb0M7SUFBQSxPQUNuQ0EsS0FBSyxDQUFDRyxXQUFXLENBQUNELGdCQUFnQjtFQUFBLENBQ3RDLENBQUM7RUFFRCxJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxFQUFpQixFQUFLO0lBQy9DLElBQUksQ0FBQ0EsRUFBRSxFQUFFO01BQ1A7SUFDRjtJQUVBLElBQVFDLEVBQUUsR0FBSzVCLFFBQVEsQ0FBZjRCLEVBQUU7SUFDVlYsUUFBUSxDQUFDLElBQUFXLCtCQUFlLEVBQUNELEVBQUUsQ0FBQyxDQUFDO0lBQzdCLElBQU1FLDJCQUEyQixHQUFHLElBQUFDLFVBQUksRUFBQztNQUN2Q0gsRUFBRSxFQUFFQSxFQUFFO01BQ05JLE1BQU0sRUFBRVosVUFBVSxDQUFDWSxNQUFNO01BQ3pCUixnQkFBZ0IsRUFBRUEsZ0JBQWdCO01BQ2xDRyxFQUFFLEVBQUVBO0lBQ04sQ0FBQyxDQUFDO0lBQ0ZYLE9BQU8sQ0FBQ2lCLElBQUksQ0FDVkgsMkJBQTJCLENBQUNuRSxhQUFhLENBQUN1RSx1QkFBdUIsQ0FBQ0MsR0FDcEUsQ0FBQztFQUNILENBQUM7RUFFRCxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3ZCLE9BQU9DLDRDQUF3QixHQUFHL0IsY0FBYyxDQUFDZ0MsSUFBSSxDQUFDQyxNQUFNLEdBQ3hEakMsY0FBYyxDQUFDZ0MsSUFBSSxDQUFDRSxLQUFLLENBQUMsQ0FBQyxFQUFFSCw0Q0FBd0IsQ0FBQyxHQUFHLFFBQVEsR0FDakUvQixjQUFjLENBQUNnQyxJQUFJO0VBQ3pCLENBQUM7RUFFRCxJQUFRRyxPQUFPLEdBQUtuQyxjQUFjLENBQTFCbUMsT0FBTztFQUNmLElBQU1DLFdBQVcsTUFBQUMsTUFBQSxDQUFNRixPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQUFFLE1BQUEsQ0FBSUYsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFFO0VBQ2pELElBQU1HLGVBQWUsU0FBQUQsTUFBQSxDQUFTRCxXQUFXLENBQUU7RUFFM0MsSUFBTUcsb0JBQStDLEdBQUc7SUFDdERDLE9BQU8sRUFBRTtNQUNQQyxPQUFPLEVBQUVDLHVDQUFtQjtNQUM1QkMsS0FBSyxFQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQyxnQ0FBZ0M7SUFDaEQsQ0FBQztJQUNEQyxNQUFNLEVBQUU7TUFDTkwsT0FBTyxFQUFFTSxzQ0FBa0I7TUFDM0JKLEtBQUssRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsZ0NBQWdDO0lBQ2hELENBQUM7SUFDREcsYUFBYSxFQUFFO01BQ2JQLE9BQU8sRUFBRVEsdUNBQW1CO01BQzVCTixLQUFLLEVBQUVDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQztJQUNwRCxDQUFDO0lBQ0RLLE1BQU0sRUFBRTtNQUNOVCxPQUFPLEVBQUVVLHNDQUFrQjtNQUMzQlIsS0FBSyxFQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQyx1QkFBdUI7SUFDdkMsQ0FBQztJQUNETyxlQUFlLEVBQUU7TUFDZlgsT0FBTyxFQUFFWSxzQ0FBa0I7TUFDM0JWLEtBQUssRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsb0NBQW9DO0lBQ3BEO0VBQ0YsQ0FBQztFQUVELElBQU1TLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsR0FBVyxFQUFFeEUsS0FBYyxFQUFtQjtJQUNyRSxJQUFNeUUsR0FBRyxHQUFHakIsb0JBQW9CLENBQUNnQixHQUFHLENBQUM7SUFDckMsSUFBTXJHLFFBQVEsR0FBRzZCLEtBQUssR0FBR0EsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUs7SUFDbEQsSUFBTTBELE9BQU8sR0FBR3ZGLFFBQVEsR0FBRyxLQUFLLEdBQUdzRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2pELG9CQUNFakosTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUM5RyxrQkFBa0I7TUFDakIrRyxPQUFPLEVBQUUsU0FBQUEsUUFBQTtRQUFBLE9BQU12QyxpQkFBaUIsQ0FBQ3FCLE9BQU8sQ0FBQztNQUFBLENBQUM7TUFDMUN2RixRQUFRLEVBQUVBO0lBQVMsR0FFbEJzRyxHQUFHLENBQUMsT0FBTyxDQUNNLENBQUM7RUFFekIsQ0FBQztFQUVELElBQU1JLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUkxRCxNQUFNLEVBQUs7SUFDbkMsSUFBTTJELFNBQVMsR0FBRyxJQUFBQyxtREFBNkIsRUFBQzVELE1BQU0sQ0FBQzZELFlBQVksQ0FBQztJQUNwRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQ0MsUUFBUSxDQUFDSCxTQUFTLENBQUMsRUFBRTtNQUN0RCxPQUFPbkIsdUNBQW1CO0lBQzVCO0lBQ0EsT0FBT1csc0NBQWtCO0VBQzNCLENBQUM7RUFFRCxJQUFNWSxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUkvRCxNQUFNLEVBQUs7SUFDbEMsSUFBTTJELFNBQVMsR0FBRyxJQUFBQyxtREFBNkIsRUFBQzVELE1BQU0sQ0FBQzZELFlBQVksQ0FBQztJQUNwRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQ0MsUUFBUSxDQUFDSCxTQUFTLENBQUMsRUFBRTtNQUN0RCxPQUFPakIsYUFBSSxDQUFDQyxDQUFDLENBQUMsd0JBQXdCLENBQUM7SUFDekMsQ0FBQyxNQUFNLElBQUlnQixTQUFTLEtBQUssV0FBVyxFQUFFO01BQ3BDLE9BQU9qQixhQUFJLENBQUNDLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUNyRDtJQUNBLE9BQU9ELGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0VBQ3JELENBQUM7RUFFRCxJQUFNcUIsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUFTO0lBQy9CLElBQU1MLFNBQVMsR0FBRyxJQUFBQyxtREFBNkIsRUFBQzVELE1BQU0sQ0FBQzZELFlBQVksQ0FBQztJQUNwRSxJQUFJSSxNQUFzQixHQUFHLEVBQUU7SUFFL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUNILFFBQVEsQ0FBQ0gsU0FBUyxDQUFDLEVBQUU7TUFDdERNLE1BQU0sQ0FBQ3hDLElBQUksQ0FBQzJCLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDLE1BQU0sSUFBSU8sU0FBUyxLQUFLLFdBQVcsRUFBRTtNQUNwQ00sTUFBTSxDQUFDeEMsSUFBSSxDQUFDMkIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsTUFBTSxJQUFJTyxTQUFTLEtBQUssVUFBVSxFQUFFO01BQ25DTSxNQUFNLENBQUN4QyxJQUFJLENBQUMyQixlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxNQUFNLElBQUlPLFNBQVMsS0FBSyxXQUFXLEVBQUU7TUFDcENNLE1BQU0sQ0FBQ3hDLElBQUksQ0FBQzJCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFBRXBHLFFBQVEsRUFBRTtNQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVEO0lBRUEsT0FBT2lILE1BQU07RUFDZixDQUFDO0VBRUQsb0JBQ0U1SixNQUFBLENBQUFrSixPQUFBLENBQUFDLGFBQUEsQ0FBQy9ILHdCQUF3QixxQkFDdkJwQixNQUFBLENBQUFrSixPQUFBLENBQUFDLGFBQUEsQ0FBQzVGLFlBQVksTUFBRSxDQUFDLGVBQ2hCdkQsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUNsSCxtQkFBbUIscUJBQ2xCakMsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUNwSCxjQUFjLHFCQUNiL0IsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUNsRyxZQUFZLHFCQUNYakQsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUN4RSxtQkFBbUI7SUFBQ3lFLE9BQU8sRUFBRWxFO0VBQWEsZ0JBQ3pDbEYsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUNoSixpQkFBQSxDQUFBMEosZUFBZTtJQUFDQyxJQUFJLEVBQUVDO0VBQVEsQ0FBRSxDQUNkLENBQUMsZUFDdEIvSixNQUFBLENBQUFrSixPQUFBLENBQUFDLGFBQUEsQ0FBQ2xGLGdCQUFnQixxQkFDZmpFLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDaEYscUJBQXFCLHFCQUNwQm5FLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDckYsU0FBUyxRQUFFOEIsSUFBZ0IsQ0FBQyxlQUM3QjVGLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxjQUFNdEQsVUFBZ0IsQ0FDRCxDQUFDLGVBQ3hCN0YsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUMvRSxzQkFBc0IscUJBQ3JCcEUsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUM3RSxvQkFBb0I7SUFBQ0csa0JBQWtCLEVBQUVBO0VBQW1CLGdCQUMzRHpFLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDekksZUFBQSxDQUFBd0ksT0FBYztJQUFDdkQsTUFBTSxFQUFFQTtFQUFPLENBQUUsQ0FDYixDQUFDLGVBQ3ZCM0YsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUM5RSxrQkFBa0IscUJBQ2pCckUsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLGNBQU1wRCxZQUFrQixDQUFDLGVBQ3pCL0YsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLGNBQU1sRCxZQUFrQixDQUNOLENBQ0UsQ0FDUixDQUFDLGVBQ25CakcsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUMvRixhQUFhLHFCQUNacEQsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLGVBQ0dkLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDhDQUE4QyxDQUNsRCxDQUFDLGVBQ1B0SSxNQUFBLENBQUFrSixPQUFBLENBQUFDLGFBQUEsZUFDRzVELE9BQU8sSUFBSThDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLGlDQUFpQyxDQUNoRCxDQUNPLENBQ0gsQ0FBQyxlQUVmdEksTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLENBQUM5RyxrQkFBa0IscUJBQ2pCckMsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBO0lBQUthLEdBQUcsRUFBRUMseUJBQUk7SUFBQ0MsR0FBRyxFQUFDO0VBQUssQ0FBRSxDQUFDLGVBQzNCbEssTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBLGVBQU81QixVQUFVLENBQUMsQ0FBUSxDQUFDLGVBQzNCdkgsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBO0lBQ0VnQixJQUFJLDZCQUFBckMsTUFBQSxDQUE2QkMsZUFBZSxrQkFBZ0I7SUFDaEVxQyxNQUFNLEVBQUMsUUFBUTtJQUNmQyxHQUFHLEVBQUM7RUFBWSxnQkFFaEJySyxNQUFBLENBQUFrSixPQUFBLENBQUFDLGFBQUE7SUFBS21CLFNBQVMsRUFBRUMsb0JBQUssQ0FBQ0MsUUFBUztJQUFDUixHQUFHLEVBQUVTLGlCQUFTO0lBQUNQLEdBQUcsRUFBQztFQUFXLENBQUUsQ0FDL0QsQ0FBQyxlQUNKbEssTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBO0lBQ0VnQixJQUFJLGdGQUFBckMsTUFBQSxDQUFnRkQsV0FBVyxDQUFHO0lBQ2xHd0MsR0FBRyxFQUFDLFlBQVk7SUFDaEJELE1BQU0sRUFBQztFQUFRLGdCQUVmcEssTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBO0lBQ0VtQixTQUFTLEVBQUVDLG9CQUFLLENBQUNHLFVBQVc7SUFDNUJWLEdBQUcsRUFBRVcseUJBQWU7SUFDcEJULEdBQUcsRUFBQztFQUFpQixDQUN0QixDQUNBLENBQ2UsQ0FBQyxlQUVyQmxLLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDOUcsa0JBQWtCLHFCQUNqQnJDLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDcEYscUJBQXFCO0lBQ3BCb0csSUFBSSxFQUFFOUUsYUFBYSxVQUFBeUMsTUFBQSxDQUFVekMsYUFBYSxJQUFLO0VBQUksZ0JBRW5EckYsTUFBQSxDQUFBa0osT0FBQSxDQUFBQyxhQUFBO0lBQUthLEdBQUcsRUFBRVksMkJBQU07SUFBQ1YsR0FBRyxFQUFDO0VBQUssQ0FBRSxDQUFDLEVBQzVCOUUsT0FBTyxJQUFJaUQsYUFBSSxDQUFDQyxDQUFDLENBQUMsMkJBQTJCLENBQ3pCLENBQ0wsQ0FBQyxFQUVwQnFCLGtCQUFrQixDQUFDLENBQ04sQ0FBQyxlQUNqQjNKLE1BQUEsQ0FBQWtKLE9BQUEsQ0FBQUMsYUFBQSxDQUFDeEYsZUFBZTtJQUNka0gsT0FBTyxFQUFDLFNBQVM7SUFDakJDLE9BQU8sRUFBRSxLQUFNO0lBQ2ZDLE9BQU87SUFDUDNCLE9BQU8sRUFBRSxTQUFBQSxRQUFBO01BQUEsT0FBTXZDLGlCQUFpQixDQUFDd0MsZ0JBQWdCLENBQUMxRCxNQUFNLENBQUMsQ0FBQztJQUFBO0VBQUMsR0FFMUQrRCxlQUFlLENBQUMvRCxNQUFNLENBQ1IsQ0FDRSxDQUNHLENBQUM7QUFFL0IsQ0FBQztBQUFDcUYsT0FBQSxDQUFBaEcsbUJBQUEsR0FBQUEsbUJBQUEifQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEZvbnRhd2Vzb21lIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfc2FtcGxpbmdNb2RhbFBob25lIiwiX3NhbXBsaW5nTW9kYWxQaW4iLCJfU2FtcGxpbmdTdGF0dXMiLCJfZ29vZ2xlX21hcHNfaWNvbiIsIl9pMThuIiwiX3dhemVJY29uIiwiX3VpS2l0IiwiX1NhbXBsaW5nU3RhdHVzSGVscGVyIiwiX2FjdGlvbnNDcmVhdG9yIiwiX3VybHMiLCJfc3R5bGVNb2R1bGUiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwMSIsIkxpc3RHcm91cFN0eWxlIiwiTGlzdEdyb3VwIiwiTW9kYWxDb250YWluZXJTdHlsZSIsIl9yZWYyIiwiekluZGV4ZXMiLCJtb2RhbCIsIkxpc3RHcm91cEl0ZW1TdHlsZSIsIkl0ZW0iLCJfcmVmMyIsImZvbnRTaXplIiwibWQiLCJfcmVmNCIsImRpc2FibGVkIiwibmF0dXJhbCIsIm41MCIsInNhbXBsaW5nc1BhZ2UiLCJtb2JpbGUiLCJtb2RhbExpc3RJdGVtQ29sb3IiLCJSb3dJbmZvU3R5bGUiLCJfcmVmNSIsIm4xIiwiSW5mb0xpbmVTdHlsZSIsIl9yZWY2IiwibjYwIiwiT3ZlcmxheVN0eWxlIiwiX3JlZjciLCJtb2RhbE92ZXJsYXlCYWNrZ3JvdW5kIiwiX3JlZjgiLCJNYWluQnV0dG9uU3R5bGUiLCJCdXR0b24iLCJfcmVmOSIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiX3JlZjEwIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIl9yZWYxMSIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJfcmVmMTIiLCJuMTAwIiwiX3JlZjEzIiwiX3JlZjE0IiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIl9yZWYxNSIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3RfbnVtYmVyIiwiY29udGFjdE51bWJlciIsImxhYl9uYW1lIiwibGFiTmFtZSIsIm1hbmhvbGVfYWRkcmVzcyIsIm1hbmhvbGVBZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nX2lkIiwic2FtcGxpbmdJZCIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ190aW1lIiwic2FtcGxpbmdUaW1lIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImdsb2JhbF9kYXRhIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJvcCIsImlkIiwiZ2V0U2FtcGxpbmdCeUlkIiwic2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zIiwidXJscyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyIsIm1hY2hpbmVfbmFtZSIsImluY2x1ZGVzIiwibWFpbkJ1dHRvblRpdGxlIiwiYnVpbGRNb2JpbGVBY3Rpb25zIiwicmVzdWx0IiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhVGltZXMiLCJzcmMiLCJQaW4iLCJhbHQiLCJocmVmIiwidGFyZ2V0IiwicmVsIiwiY2xhc3NOYW1lIiwiU3R5bGUiLCJ3YXplTGluayIsIndhemVJY29uIiwiZ29vZ2xlTGluayIsImdvb2dsZU1hcHNJY29uIiwiUGhvbmUiLCJ2YXJpYW50Iiwicm91bmRlZCIsIm91dGxpbmUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdNb2JpbGVNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGdvb2dsZU1hcHNJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi9nb29nbGVfbWFwc19pY29uLnBuZyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHdhemVJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi93YXplLWljb24ucG5nJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNhbXBsaW5nRGF0YSxcbn0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdNb2JpbGVQcm9wcyB7XG4gIG9uQ2xvc2VNb2RhbDogKCkgPT4gdm9pZDtcbiAgc2FtcGxpbmc6IFNhbXBsaW5nRGF0YTtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cbmNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSA9IHN0eWxlZC5kaXZgXG4gICoge1xuICAgIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgfVxuICAuZHJvcHJpZ2h0IHtcbiAgICBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wMX07XG4gIH1cbmA7XG5cbmNvbnN0IExpc3RHcm91cFN0eWxlID0gc3R5bGVkKExpc3RHcm91cClgXG4gIC8qIG92ZXJyaWRlIHNlcnZlciBzdHlsZSAqL1xuICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbmA7XG5jb25zdCBNb2RhbENvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBJdGVtU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwLkl0ZW0pYFxuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICBoZWlnaHQ6IDU1cHggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM4NThhOTQ3ZCAhaW1wb3J0YW50IDtcbiAgY29sb3I6ICR7KHsgZGlzYWJsZWQsIHRoZW1lIH0pID0+XG4gICAgZGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNTBcbiAgICAgIDogdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxMaXN0SXRlbUNvbG9yfSAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgUm93SW5mb1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2Q7XG4gIHBhZGRpbmc6IDIycHggMzJweCAwO1xuYDtcblxuY29uc3QgSW5mb0xpbmVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODU4YTk0N2Q7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTZweCAwO1xuYDtcblxuY29uc3QgT3ZlcmxheVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTWFpbkJ1dHRvblN0eWxlID0gc3R5bGVkKEJ1dHRvbilgXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogNTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBTaXRlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMDAwO1xuYDtcblxuY29uc3QgQ29udGFjdE51bWJlclJvd1N0eWxlID0gc3R5bGVkLmFgXG4gIGltZyB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuYDtcblxuY29uc3QgU2l0ZURldGFpbHNTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc0ZpcnN0U3R5bGUgPSBzdHlsZWQuZGl2YGA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU2Vjb25kU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbjogNXB4IDAgMDtcbmA7XG5cbmNvbnN0IEJvdHRvbVNlY3Rpb25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbmA7XG5cbmludGVyZmFjZSBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzIHtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3RhdHVzQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKFxuICAocHJvcHM6IFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMpID0+ICh7XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzOiBwcm9wcy5pc01vYmlsZVByb3BlcnRpZXMsXG4gIH0pLFxuKWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbiAgJHsoeyBpc01vYmlsZVByb3BlcnRpZXMgfSkgPT5cbiAgICBpc01vYmlsZVByb3BlcnRpZXMgJiZcbiAgICBgXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYH1cbmA7XG5cbmNvbnN0IENsb3NlVG9wQnV0dG9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgbWFyZ2luOiAwIDhweCAwIDA7XG4gIHBhZGRpbmc6IDJweCAwIDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbDogRkM8U2FtcGxpbmdNb2JpbGVQcm9wcz4gPSAoe1xuICBvbkNsb3NlTW9kYWwsXG4gIHNhbXBsaW5nLFxuICBpc01vYmlsZVByb3BlcnRpZXMsXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb250YWN0LFxuICAgIGNvbnRhY3RfbnVtYmVyOiBjb250YWN0TnVtYmVyLFxuICAgIGxhYl9uYW1lOiBsYWJOYW1lLFxuICAgIG1hbmhvbGVfYWRkcmVzczogbWFuaG9sZUFkZHJlc3MsXG4gICAgc3RhdHVzLFxuICAgIHNpdGUsXG4gICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nSWQsXG4gICAgc2FtcGxpbmdfZGF0ZTogc2FtcGxpbmdEYXRlLFxuICAgIHNhbXBsaW5nX3RpbWU6IHNhbXBsaW5nVGltZSxcbiAgfSA9IHNhbXBsaW5nO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUFjdGlvbkNsaWNrID0gKG9wOiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFvcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaWQgfSA9IHNhbXBsaW5nO1xuICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChpZCkpO1xuICAgIGNvbnN0IHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyA9IHVybHMoe1xuICAgICAgaWQ6IGlkLFxuICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBvcDogb3AsXG4gICAgfSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUudXJsLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QWRkcmVzcyA9ICgpID0+IHtcbiAgICByZXR1cm4gTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIDwgbWFuaG9sZUFkZHJlc3MudGV4dC5sZW5ndGhcbiAgICAgID8gbWFuaG9sZUFkZHJlc3MudGV4dC5zbGljZSgwLCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgpICsgJ1xcdTIwMjYnXG4gICAgICA6IG1hbmhvbGVBZGRyZXNzLnRleHQ7XG4gIH07XG5cbiAgY29uc3QgeyBsYXRfbG5nIH0gPSBtYW5ob2xlQWRkcmVzcztcbiAgY29uc3QgbG9jYXRpb25TdHIgPSBgJHtsYXRfbG5nWzBdfSwke2xhdF9sbmdbMV19YDtcbiAgY29uc3QgbG9jYXRpb25TdHJXYXplID0gYGxsPSR7bG9jYXRpb25TdHJ9YDtcblxuICBjb25zdCBtb2JpbGVBY3Rpb25zT3B0c01hcDogeyBba2V5OiBzdHJpbmddOiBPYmplY3QgfSA9IHtcbiAgICBjb2xsZWN0OiB7XG4gICAgICBjbGlja09wOiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgfSxcbiAgICBjYW5jZWw6IHtcbiAgICAgIGNsaWNrT3A6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgIH0sXG4gICAgcmV2ZXJ0X2NhbmNlbDoge1xuICAgICAgY2xpY2tPcDogUkVWRVJUX0NBTkNFTExBVElPTixcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnJldmVydF9jYW5jZWxsYXRpb24nKSxcbiAgICB9LFxuICAgIGRlbGV0ZToge1xuICAgICAgY2xpY2tPcDogREVMRVRFX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuZGVsZXRlJyksXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzX2VkaXQ6IHtcbiAgICAgIGNsaWNrT3A6IEVESVRfUFJPUEVSVElFU19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX3Byb3BlcnRpZXMnKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQWN0aW9uSXRlbSA9IChrZXk6IHN0cmluZywgcHJvcHM/OiBvYmplY3QpOiBSZWFjdEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG9wdCA9IG1vYmlsZUFjdGlvbnNPcHRzTWFwW2tleV07XG4gICAgY29uc3QgZGlzYWJsZWQgPSBwcm9wcyA/IHByb3BzWydkaXNhYmxlZCddIDogZmFsc2U7XG4gICAgY29uc3QgY2xpY2tPcCA9IGRpc2FibGVkID8gZmFsc2UgOiBvcHRbJ2NsaWNrT3AnXTtcbiAgICByZXR1cm4gKFxuICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhjbGlja09wKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICB7b3B0Wyd2YWx1ZSddfVxuICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYWluQnV0dG9uQWN0aW9uID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBFRElUX1BST1BFUlRJRVNfT1A7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvblRpdGxlID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyk7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRNb2JpbGVBY3Rpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGxldCByZXN1bHQ6IFJlYWN0RWxlbWVudFtdID0gW107XG5cbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdjYW5jZWwnKSk7XG4gICAgfSBlbHNlIGlmIChmbXRTdGF0dXMgPT09ICdjYW5jZWxlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgncmV2ZXJ0X2NhbmNlbCcpKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICAgICA8T3ZlcmxheVN0eWxlIC8+XG4gICAgICA8TW9kYWxDb250YWluZXJTdHlsZT5cbiAgICAgICAgPExpc3RHcm91cFN0eWxlPlxuICAgICAgICAgIDxSb3dJbmZvU3R5bGU+XG4gICAgICAgICAgICA8Q2xvc2VUb3BCdXR0b25TdHlsZSBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICAgICAgICA8L0Nsb3NlVG9wQnV0dG9uU3R5bGU+XG4gICAgICAgICAgICA8U2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgICA8U2l0ZVN0eWxlPntzaXRlfTwvU2l0ZVN0eWxlPlxuICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nSWR9PC9kaXY+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNGaXJzdFN0eWxlPlxuICAgICAgICAgICAgICA8U2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgICAgICA8U3RhdHVzQ29udGFpbmVyU3R5bGUgaXNNb2JpbGVQcm9wZXJ0aWVzPXtpc01vYmlsZVByb3BlcnRpZXN9PlxuICAgICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgICAgICAgICAgICAgIDwvU3RhdHVzQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgPEJvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nRGF0ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1NlY29uZFN0eWxlPlxuICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1N0eWxlPlxuICAgICAgICAgICAgPEluZm9MaW5lU3R5bGU+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2xhYk5hbWUgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS53YXNfbm90X3NlbGVjdGVkJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvSW5mb0xpbmVTdHlsZT5cbiAgICAgICAgICA8L1Jvd0luZm9TdHlsZT5cblxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICA8aW1nIHNyYz17UGlufSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgPHNwYW4+e2dldEFkZHJlc3MoKX08L3NwYW4+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cud2F6ZS5jb20vdWw/JHtsb2NhdGlvblN0cldhemV9Jm5hdmlnYXRlPXllc2B9XG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT17U3R5bGUud2F6ZUxpbmt9IHNyYz17d2F6ZUljb259IGFsdD1cIndhemUtaWNvblwiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8/YXBpPTEmb3JpZ2luPUN1cnJlbnQrTG9jYXRpb24mZGVzdGluYXRpb249JHtsb2NhdGlvblN0cn1gfVxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZ29vZ2xlTGlua31cbiAgICAgICAgICAgICAgICBzcmM9e2dvb2dsZU1hcHNJY29ufVxuICAgICAgICAgICAgICAgIGFsdD1cImdvb2dsZS1tYXAtaWNvblwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJSb3dTdHlsZVxuICAgICAgICAgICAgICBocmVmPXtjb250YWN0TnVtYmVyID8gYHRlbDoke2NvbnRhY3ROdW1iZXJ9YCA6ICcjJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e1Bob25lfSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgICB7Y29udGFjdCB8fCBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3QnKX1cbiAgICAgICAgICAgIDwvQ29udGFjdE51bWJlclJvd1N0eWxlPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAge2J1aWxkTW9iaWxlQWN0aW9ucygpfVxuICAgICAgICA8L0xpc3RHcm91cFN0eWxlPlxuICAgICAgICA8TWFpbkJ1dHRvblN0eWxlXG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgIHJvdW5kZWQ9e2ZhbHNlfVxuICAgICAgICAgIG91dGxpbmVcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhtYWluQnV0dG9uQWN0aW9uKHN0YXR1cykpfVxuICAgICAgICA+XG4gICAgICAgICAge21haW5CdXR0b25UaXRsZShzdGF0dXMpfVxuICAgICAgICA8L01haW5CdXR0b25TdHlsZT5cbiAgICAgIDwvTW9kYWxDb250YWluZXJTdHlsZT5cbiAgICA8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
|
|
@@ -5,41 +5,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
10
|
var _Alert = _interopRequireDefault(require("../../../utilities/Alert"));
|
|
12
11
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
13
12
|
var _theme = require("../../../styles/theme/theme");
|
|
14
|
-
|
|
13
|
+
const ModalContent = _styledComponents.default.div.withConfig({
|
|
15
14
|
displayName: "ImageDeleteModal__ModalContent",
|
|
16
15
|
componentId: "sc-6upjqu-0"
|
|
17
16
|
})(["padding:30px;font-size:16px;text-align:center;font-weight:600;"]);
|
|
18
|
-
|
|
17
|
+
const ModalActions = _styledComponents.default.div.withConfig({
|
|
19
18
|
displayName: "ImageDeleteModal__ModalActions",
|
|
20
19
|
componentId: "sc-6upjqu-1"
|
|
21
20
|
})(["position:absolute;bottom:0;width:100%;"]);
|
|
22
|
-
|
|
21
|
+
const ModalActionsButton = _styledComponents.default.div.withConfig({
|
|
23
22
|
displayName: "ImageDeleteModal__ModalActionsButton",
|
|
24
23
|
componentId: "sc-6upjqu-2"
|
|
25
|
-
})(["border-top:1px solid #a8a8aa;text-align:center;height:45px;display:flex;justify-content:center;align-items:center;color:", ";"],
|
|
26
|
-
|
|
24
|
+
})(["border-top:1px solid #a8a8aa;text-align:center;height:45px;display:flex;justify-content:center;align-items:center;color:", ";"], _ref => {
|
|
25
|
+
let {
|
|
26
|
+
color
|
|
27
|
+
} = _ref;
|
|
27
28
|
return color;
|
|
28
29
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return x.id === modalDetails.instance.id;
|
|
42
|
-
});
|
|
30
|
+
const ImageDeleteModal = _ref2 => {
|
|
31
|
+
let {
|
|
32
|
+
modalDetails,
|
|
33
|
+
setPhotosToDelete,
|
|
34
|
+
setImgsUrls,
|
|
35
|
+
imgsUrls,
|
|
36
|
+
setModalDetails
|
|
37
|
+
} = _ref2;
|
|
38
|
+
const handleImageDelete = () => {
|
|
39
|
+
setPhotosToDelete(prev => [...prev, modalDetails.instance.id]);
|
|
40
|
+
let imgsUrlsCopy = JSON.parse(JSON.stringify(imgsUrls));
|
|
41
|
+
let index = imgsUrlsCopy.findIndex(x => x.id === modalDetails.instance.id);
|
|
43
42
|
imgsUrlsCopy.splice(index, 1);
|
|
44
43
|
index !== -1 && setImgsUrls(imgsUrlsCopy);
|
|
45
44
|
};
|
|
@@ -48,7 +47,7 @@ var ImageDeleteModal = function ImageDeleteModal(_ref2) {
|
|
|
48
47
|
children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ModalContent, null, _i18n.default.t('samplings_page.samplings_properties.delete_confirmation')), /*#__PURE__*/_react.default.createElement(ModalActions, null, /*#__PURE__*/_react.default.createElement(ModalActionsButton, {
|
|
49
48
|
color: _theme.theme.colorScheme.natural.n60
|
|
50
49
|
}, _i18n.default.t('samplings_page.samplings_properties.no')), /*#__PURE__*/_react.default.createElement(ModalActionsButton, {
|
|
51
|
-
onClick:
|
|
50
|
+
onClick: () => {
|
|
52
51
|
handleImageDelete();
|
|
53
52
|
},
|
|
54
53
|
color: _theme.theme.colorScheme.data.R100
|
|
@@ -57,4 +56,4 @@ var ImageDeleteModal = function ImageDeleteModal(_ref2) {
|
|
|
57
56
|
};
|
|
58
57
|
var _default = ImageDeleteModal;
|
|
59
58
|
exports.default = _default;
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX0FsZXJ0IiwiX2kxOG4iLCJfdGhlbWUiLCJNb2RhbENvbnRlbnQiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIk1vZGFsQWN0aW9ucyIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsIl9yZWYiLCJjb2xvciIsIkltYWdlRGVsZXRlTW9kYWwiLCJfcmVmMiIsIm1vZGFsRGV0YWlscyIsInNldFBob3Rvc1RvRGVsZXRlIiwic2V0SW1nc1VybHMiLCJpbWdzVXJscyIsInNldE1vZGFsRGV0YWlscyIsImhhbmRsZUltYWdlRGVsZXRlIiwicHJldiIsImluc3RhbmNlIiwiaWQiLCJpbWdzVXJsc0NvcHkiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJpbmRleCIsImZpbmRJbmRleCIsIngiLCJzcGxpY2UiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNoaWxkcmVuIiwiRnJhZ21lbnQiLCJpMThuIiwidCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwib25DbGljayIsImRhdGEiLCJSMTAwIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdQcm9wZXJ0aWVzL0ltYWdlRGVsZXRlTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEFsZXJ0IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9BbGVydCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbnR5cGUgSW1hZ2VEZWxldGVNb2RhbFByb3BzID0ge1xuICBtb2RhbERldGFpbHM6IEFsZXJ0RGV0YWlscztcbiAgc2V0TW9kYWxEZXRhaWxzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBbGVydERldGFpbHM+PjtcbiAgc2V0UGhvdG9zVG9EZWxldGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPG51bWJlcltdPj47XG4gIHNldEltZ3NVcmxzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxhbnlbXT4+O1xuICBpbWdzVXJsczogYW55W107XG59O1xuXG5jb25zdCBNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAzMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkeyh7IGNvbG9yIH0pID0+IGNvbG9yfTtcbmA7XG5cbmNvbnN0IEltYWdlRGVsZXRlTW9kYWw6IEZDPEltYWdlRGVsZXRlTW9kYWxQcm9wcz4gPSAoe1xuICBtb2RhbERldGFpbHMsXG4gIHNldFBob3Rvc1RvRGVsZXRlLFxuICBzZXRJbWdzVXJscyxcbiAgaW1nc1VybHMsXG4gIHNldE1vZGFsRGV0YWlscyxcbn0pID0+IHtcbiAgY29uc3QgaGFuZGxlSW1hZ2VEZWxldGUgPSAoKSA9PiB7XG4gICAgc2V0UGhvdG9zVG9EZWxldGUoKHByZXYpID0+IFsuLi5wcmV2LCBtb2RhbERldGFpbHMuaW5zdGFuY2UuaWRdKTtcbiAgICBsZXQgaW1nc1VybHNDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbWdzVXJscykpO1xuICAgIGxldCBpbmRleCA9IGltZ3NVcmxzQ29weS5maW5kSW5kZXgoXG4gICAgICAoeCkgPT4geC5pZCA9PT0gbW9kYWxEZXRhaWxzLmluc3RhbmNlLmlkLFxuICAgICk7XG4gICAgaW1nc1VybHNDb3B5LnNwbGljZShpbmRleCwgMSk7XG4gICAgaW5kZXggIT09IC0xICYmIHNldEltZ3NVcmxzKGltZ3NVcmxzQ29weSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QWxlcnRcbiAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgY2hpbGRyZW49e1xuICAgICAgICA8PlxuICAgICAgICAgIDxNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5kZWxldGVfY29uZmlybWF0aW9uJyl9XG4gICAgICAgICAgPC9Nb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPE1vZGFsQWN0aW9ucz5cbiAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMubm8nKX1cbiAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgPE1vZGFsQWN0aW9uc0J1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW1hZ2VEZWxldGUoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMueWVzJyl9XG4gICAgICAgICAgICA8L01vZGFsQWN0aW9uc0J1dHRvbj5cbiAgICAgICAgICA8L01vZGFsQWN0aW9ucz5cbiAgICAgICAgPC8+XG4gICAgICB9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlRGVsZXRlTW9kYWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBV0EsTUFBTUssWUFBWSxHQUFHQyx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc0VBSzlCO0FBRUQsTUFBTUMsWUFBWSxHQUFHTCx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsOENBSTlCO0FBRUQsTUFBTUUsa0JBQWtCLEdBQUdOLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzSUFPMUJHLElBQUE7RUFBQSxJQUFDO0lBQUVDO0VBQU0sQ0FBQyxHQUFBRCxJQUFBO0VBQUEsT0FBS0MsS0FBSztBQUFBLEVBQzlCO0FBRUQsTUFBTUMsZ0JBQTJDLEdBQUdDLEtBQUEsSUFNOUM7RUFBQSxJQU4rQztJQUNuREMsWUFBWTtJQUNaQyxpQkFBaUI7SUFDakJDLFdBQVc7SUFDWEMsUUFBUTtJQUNSQztFQUNGLENBQUMsR0FBQUwsS0FBQTtFQUNDLE1BQU1NLGlCQUFpQixHQUFHQSxDQUFBLEtBQU07SUFDOUJKLGlCQUFpQixDQUFFSyxJQUFJLElBQUssQ0FBQyxHQUFHQSxJQUFJLEVBQUVOLFlBQVksQ0FBQ08sUUFBUSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxJQUFJQyxZQUFZLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxJQUFJLENBQUNFLFNBQVMsQ0FBQ1QsUUFBUSxDQUFDLENBQUM7SUFDdkQsSUFBSVUsS0FBSyxHQUFHSixZQUFZLENBQUNLLFNBQVMsQ0FDL0JDLENBQUMsSUFBS0EsQ0FBQyxDQUFDUCxFQUFFLEtBQUtSLFlBQVksQ0FBQ08sUUFBUSxDQUFDQyxFQUN4QyxDQUFDO0lBQ0RDLFlBQVksQ0FBQ08sTUFBTSxDQUFDSCxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdCQSxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUlYLFdBQVcsQ0FBQ08sWUFBWSxDQUFDO0VBQzNDLENBQUM7RUFFRCxvQkFDRTVCLE1BQUEsQ0FBQW9DLE9BQUEsQ0FBQUMsYUFBQSxDQUFDakMsTUFBQSxDQUFBZ0MsT0FBSztJQUNKYixlQUFlLEVBQUVBLGVBQWdCO0lBQ2pDZSxRQUFRLGVBQ050QyxNQUFBLENBQUFvQyxPQUFBLENBQUFDLGFBQUEsQ0FBQXJDLE1BQUEsQ0FBQW9DLE9BQUEsQ0FBQUcsUUFBQSxxQkFDRXZDLE1BQUEsQ0FBQW9DLE9BQUEsQ0FBQUMsYUFBQSxDQUFDOUIsWUFBWSxRQUNWaUMsYUFBSSxDQUFDQyxDQUFDLENBQUMseURBQXlELENBQ3JELENBQUMsZUFDZnpDLE1BQUEsQ0FBQW9DLE9BQUEsQ0FBQUMsYUFBQSxDQUFDeEIsWUFBWSxxQkFDWGIsTUFBQSxDQUFBb0MsT0FBQSxDQUFBQyxhQUFBLENBQUN2QixrQkFBa0I7TUFBQ0UsS0FBSyxFQUFFMEIsWUFBSyxDQUFDQyxXQUFXLENBQUNDLE9BQU8sQ0FBQ0M7SUFBSSxHQUN0REwsYUFBSSxDQUFDQyxDQUFDLENBQUMsd0NBQXdDLENBQzlCLENBQUMsZUFDckJ6QyxNQUFBLENBQUFvQyxPQUFBLENBQUFDLGFBQUEsQ0FBQ3ZCLGtCQUFrQjtNQUNqQmdDLE9BQU8sRUFBRUEsQ0FBQSxLQUFNO1FBQ2J0QixpQkFBaUIsQ0FBQyxDQUFDO01BQ3JCLENBQUU7TUFDRlIsS0FBSyxFQUFFMEIsWUFBSyxDQUFDQyxXQUFXLENBQUNJLElBQUksQ0FBQ0M7SUFBSyxHQUVsQ1IsYUFBSSxDQUFDQyxDQUFDLENBQUMseUNBQXlDLENBQy9CLENBQ1IsQ0FDZDtFQUNILENBQ0YsQ0FBQztBQUVOLENBQUM7QUFBQyxJQUFBUSxRQUFBLEdBRWFoQyxnQkFBZ0I7QUFBQWlDLE9BQUEsQ0FBQWQsT0FBQSxHQUFBYSxRQUFBIn0=
|