@kando-env/kando-ui 1.2.354-alpha.9 → 1.2.355-alpha.0

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.
Files changed (672) hide show
  1. package/lib/Router.js +76 -37
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +37 -26
  3. package/lib/Widgets/EventsRow/EventsRow.js +41 -28
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +89 -69
  6. package/lib/Widgets/Map/MapUtils.js +42 -42
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +79 -54
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -48
  10. package/lib/Widgets/Map/areas/Patterns.js +5 -5
  11. package/lib/Widgets/Map/edges/Edge.js +34 -28
  12. package/lib/Widgets/Map/edges/Edges.js +26 -20
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
  14. package/lib/Widgets/Map/events/Event.js +18 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +55 -58
  16. package/lib/Widgets/Map/events/EventPath.js +25 -25
  17. package/lib/Widgets/Map/events/EventUtils.js +81 -60
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +38 -32
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +37 -29
  21. package/lib/Widgets/Map/events/Snail.js +21 -19
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +90 -94
  23. package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
  24. package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
  27. package/lib/Widgets/Map/points/PointIcon.js +18 -24
  28. package/lib/Widgets/Map/points/PointMarker.js +89 -71
  29. package/lib/Widgets/Map/points/PointMarkers.js +67 -45
  30. package/lib/Widgets/Map/points/PointUtils.js +88 -146
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +48 -30
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +13 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +61 -31
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
  37. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  38. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  39. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
  40. package/lib/Widgets/MostPolluting/Factories/Factories.js +71 -39
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +19 -16
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +9 -9
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
  44. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  45. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  46. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  47. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  48. package/lib/Widgets/MostPolluting/MostPolluting.js +28 -21
  49. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
  50. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
  51. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
  52. package/lib/Widgets/MostPolluting/assets/index.js +12 -12
  53. package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
  54. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
  55. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +36 -36
  56. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +36 -40
  57. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -29
  58. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +52 -56
  59. package/lib/Widgets/MostPolluting/models.js +1 -1
  60. package/lib/Widgets/MostPolluting/styles.js +6 -4
  61. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
  62. package/lib/Widgets/PotentialImpactSummary/Icon.js +7 -10
  63. package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
  64. package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
  65. package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
  66. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  67. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
  68. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
  69. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +33 -36
  70. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -27
  71. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
  72. package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
  73. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  74. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  75. package/lib/Widgets/QualitySummary/styles.js +21 -24
  76. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
  77. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -27
  78. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +26 -30
  79. package/lib/Widgets/UtilityInformation/UtilityInformation.js +43 -25
  80. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  81. package/lib/Widgets/UtilityInformation/styles.js +31 -30
  82. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  83. package/lib/assets/icons/TopNavbar/index.js +7 -7
  84. package/lib/assets/icons/TrendSvg.js +7 -7
  85. package/lib/assets/icons/index.js +16 -16
  86. package/lib/assets/icons/kandoStepper/index.js +6 -6
  87. package/lib/assets/icons/siteTypes/index.js +2 -2
  88. package/lib/components/ApplyButton/ApplyButton.js +12 -11
  89. package/lib/components/ApplyButton/index.js +4 -3
  90. package/lib/components/Backdrop/Backdrop.js +5 -7
  91. package/lib/components/ContentLoader/ContentLoader.js +10 -12
  92. package/lib/components/ContentLoader/index.js +2 -2
  93. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +15 -15
  94. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
  95. package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
  96. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +21 -13
  97. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
  98. package/lib/components/CustomInputs/Search/Search.js +66 -43
  99. package/lib/components/CustomInputs/Search/index.js +4 -3
  100. package/lib/components/CustomInputs/Select/Select.js +59 -45
  101. package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
  102. package/lib/components/DamageType/DamageType.js +61 -36
  103. package/lib/components/DamageType/index.js +4 -3
  104. package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
  105. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
  106. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
  107. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +40 -28
  108. package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
  109. package/lib/components/DischargeHeatmap/index.js +4 -3
  110. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  111. package/lib/components/DischargeHeatmap/popupText.js +13 -12
  112. package/lib/components/DischargeHeatmap/titles.js +6 -4
  113. package/lib/components/DischargeHeatmap/types.js +1 -1
  114. package/lib/components/ErrorBoundary.js +42 -27
  115. package/lib/components/Events/Events.js +61 -42
  116. package/lib/components/Events/index.js +4 -3
  117. package/lib/components/Graph/Graph.js +94 -73
  118. package/lib/components/Graph/index.js +4 -3
  119. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
  120. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  121. package/lib/components/Header/DoubleTabs/DoubleTabs.js +35 -25
  122. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
  123. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  124. package/lib/components/Header/Header.js +3 -3
  125. package/lib/components/Header/Header.stories.js +9 -5
  126. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +198 -83
  127. package/lib/components/Header/InfoBar/InfoBar.js +105 -75
  128. package/lib/components/Header/InfoBar/Search/Control.js +12 -11
  129. package/lib/components/Header/InfoBar/Search/GroupLabel.js +8 -9
  130. package/lib/components/Header/InfoBar/Search/Search.js +22 -15
  131. package/lib/components/Header/InfoBar/Search/SearchContainer.js +32 -18
  132. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  133. package/lib/components/Header/InfoBar/Search/searchStyle.js +51 -42
  134. package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
  135. package/lib/components/Header/InfoBar/types.js +1 -1
  136. package/lib/components/Header/KandoNavbar/KandoNavbar.js +95 -68
  137. package/lib/components/Header/KandoNavbar/index.js +4 -3
  138. package/lib/components/Header/Slideshow/Slideshow.js +92 -68
  139. package/lib/components/Header/Slideshow/index.js +4 -3
  140. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
  141. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
  142. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +22 -22
  143. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +44 -38
  144. package/lib/components/Header/Toolbar/Toolbar.js +76 -56
  145. package/lib/components/InfoBar/InfoBar.js +24 -10
  146. package/lib/components/InfoBar/InfoBar.stories.js +9 -5
  147. package/lib/components/KandoModal/KandoModal.js +44 -28
  148. package/lib/components/KandoModal/index.js +4 -3
  149. package/lib/components/Link.js +8 -9
  150. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -10
  151. package/lib/components/Links/StyledLink/StyledLink.js +14 -13
  152. package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -12
  153. package/lib/components/LiveEvents/CarouselSlide.js +10 -11
  154. package/lib/components/LiveEvents/LiveEvents.js +6 -7
  155. package/lib/components/LiveEvents/index.js +4 -3
  156. package/lib/components/LoaderByPercent/LoaderByPercent.js +31 -38
  157. package/lib/components/Map/Map.js +26 -21
  158. package/lib/components/Map/index.js +4 -3
  159. package/lib/components/Modal/Modal.js +10 -10
  160. package/lib/components/NarrowHeader.js +32 -18
  161. package/lib/components/PointInfo/PointInfo.js +20 -21
  162. package/lib/components/PointInfo/index.js +4 -3
  163. package/lib/components/PopupModal/PopupModal.js +17 -13
  164. package/lib/components/PopupModal/PopupModal.stories.js +24 -17
  165. package/lib/components/Sector/Sector.js +9 -10
  166. package/lib/components/Sector/Sector.test.js +25 -24
  167. package/lib/components/Sector/index.js +4 -3
  168. package/lib/components/Sector/sectorIcons.js +5 -4
  169. package/lib/components/SevereEvent/Eta/Eta.js +55 -50
  170. package/lib/components/SevereEvent/Eta/styles.js +8 -11
  171. package/lib/components/SevereEvent/SevereEvent.js +38 -30
  172. package/lib/components/Spinner/Spinner.js +9 -9
  173. package/lib/components/Spinner/Spinner.stories.js +11 -6
  174. package/lib/components/Spinner/index.js +4 -3
  175. package/lib/components/Spinner/styles.js +18 -23
  176. package/lib/components/Tabs/Tabs.js +31 -18
  177. package/lib/components/Tabs/Tabs.stories.js +10 -6
  178. package/lib/components/Tabs/assets/index.js +6 -6
  179. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
  180. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +54 -41
  181. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
  182. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  183. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +26 -21
  184. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +16 -15
  185. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  186. package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
  187. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +28 -18
  188. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +35 -32
  189. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
  190. package/lib/components/TimeRangeSelector/constants.js +5 -3
  191. package/lib/components/TimeRangeSelector/index.js +4 -3
  192. package/lib/components/Toggle/Toggle.js +20 -13
  193. package/lib/components/Toggle/index.js +4 -3
  194. package/lib/components/TrendGraph/TrendGraph.js +43 -25
  195. package/lib/components/TrendGraph/index.js +4 -3
  196. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +36 -29
  197. package/lib/components/TrendGraphNVL/index.js +4 -3
  198. package/lib/development-environment/index.js +13 -9
  199. package/lib/development-environment/mock/browser.js +5 -2
  200. package/lib/development-environment/mock/get.js +10 -8
  201. package/lib/development-environment/mock/handlers.js +3 -2
  202. package/lib/development-environment/mock/mockBus.js +5 -4
  203. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  204. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  205. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  206. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  207. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  208. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  209. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  210. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  211. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  212. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  213. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  214. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  215. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  216. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  217. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  218. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  219. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  220. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  221. package/lib/development-environment/togly/ToglyDashboard.js +23 -13
  222. package/lib/development-environment/togly/ToglyItem.js +31 -24
  223. package/lib/development-environment/togly/flags.js +1 -1
  224. package/lib/development-environment/togly/init.js +4 -4
  225. package/lib/development-environment/togly/macro.js +10 -14
  226. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  227. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  228. package/lib/hooks/useApi.js +56 -20
  229. package/lib/hooks/useApiWithDashboardQuery.js +49 -30
  230. package/lib/hooks/useClickOutside.js +5 -4
  231. package/lib/hooks/useInitializeHeaders.js +6 -6
  232. package/lib/hooks/useKandoFetch.js +32 -18
  233. package/lib/hooks/useMap.js +37 -25
  234. package/lib/hooks/useNavContext.js +26 -22
  235. package/lib/hooks/useQueryURL.js +3 -2
  236. package/lib/hooks/useRemoveExistingLayers.js +8 -7
  237. package/lib/hooks/useUpdateEventBodyTail.js +19 -14
  238. package/lib/hooks/useUserTimeZone.js +31 -34
  239. package/lib/hooks/useUserTimeZone.test.js +23 -19
  240. package/lib/hooks/useWindowSize.js +14 -7
  241. package/lib/index.js +13 -11
  242. package/lib/macros/getVersion.js +3 -3
  243. package/lib/models/IAction.js +1 -1
  244. package/lib/models/IAppState.js +1 -1
  245. package/lib/pages/AreaPage/AreaPage.js +68 -34
  246. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -14
  247. package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -28
  248. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +26 -17
  249. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
  250. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +9 -9
  251. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +12 -12
  252. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  253. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  254. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  255. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  256. package/lib/pages/AssessmentPage/AssessmentPage.js +49 -41
  257. package/lib/pages/CannyWidget/Feedback.js +16 -14
  258. package/lib/pages/CovidPage/CovidPage.js +16 -9
  259. package/lib/pages/CovidPage/components/Body.js +30 -26
  260. package/lib/pages/CovidPage/components/Map.js +42 -30
  261. package/lib/pages/CovidPage/components/Sidebar.js +18 -17
  262. package/lib/pages/CovidPage/components/Summary.js +30 -21
  263. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +36 -29
  264. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  265. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
  266. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  267. package/lib/pages/CovidPage/components/areas/Area.js +41 -29
  268. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +49 -56
  269. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
  270. package/lib/pages/CovidPage/components/areas/AreasList.js +47 -34
  271. package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
  272. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  273. package/lib/pages/DashboardMap/AreaCard.js +29 -29
  274. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -9
  275. package/lib/pages/DashboardMap/Capacity.js +85 -34
  276. package/lib/pages/DashboardMap/FactoryCard.js +28 -33
  277. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
  278. package/lib/pages/DashboardMap/List.js +98 -69
  279. package/lib/pages/DashboardMap/ListContext.js +19 -14
  280. package/lib/pages/DashboardMap/Loader.js +3 -3
  281. package/lib/pages/DashboardMap/SeverityBadge.js +19 -11
  282. package/lib/pages/DashboardMap/WWTPMap.js +64 -50
  283. package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
  284. package/lib/pages/DashboardMap/Widget.js +72 -54
  285. package/lib/pages/DashboardMap/index.js +4 -3
  286. package/lib/pages/DashboardMap/utils.js +54 -44
  287. package/lib/pages/EventsPage/Body/Body.js +18 -21
  288. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
  289. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +36 -27
  290. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
  291. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
  292. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
  293. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  294. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +64 -52
  295. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +31 -19
  296. package/lib/pages/EventsPage/EventsPage.js +13 -8
  297. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +42 -28
  298. package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
  299. package/lib/pages/EventsPage/events/Sidebar.js +19 -22
  300. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
  301. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
  302. package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
  303. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
  304. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -42
  305. package/lib/pages/EventsPage/events/event_info/EventInfo.js +45 -44
  306. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
  307. package/lib/pages/EventsPage/events/event_info/EventSection.js +22 -19
  308. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +39 -44
  309. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +51 -40
  310. package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
  311. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +36 -31
  312. package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
  313. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +9 -8
  314. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
  315. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
  316. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
  317. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
  318. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
  319. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
  320. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
  321. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +29 -23
  322. package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
  323. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +11 -14
  324. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +10 -9
  325. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
  326. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +5 -7
  327. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
  328. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
  329. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +9 -11
  330. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
  331. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
  332. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
  333. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
  334. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
  335. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
  336. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
  337. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
  338. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
  339. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
  340. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
  341. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +11 -12
  342. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +14 -18
  343. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
  344. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +5 -4
  345. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
  346. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
  347. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +41 -26
  348. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
  349. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
  350. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
  351. package/lib/pages/EventsPage/events/event_info/sources/Source.js +33 -29
  352. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +29 -24
  353. package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
  354. package/lib/pages/EventsPage/events/events_list/EventItem.js +22 -19
  355. package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
  356. package/lib/pages/EventsPage/events/events_list/EventsList.js +150 -126
  357. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
  358. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +118 -80
  359. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +81 -62
  360. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
  361. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +39 -30
  362. package/lib/pages/EventsPage/events/events_list/Sort.js +19 -14
  363. package/lib/pages/ImportFileWizard/FileUploadRespones.js +23 -15
  364. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
  365. package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
  366. package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
  367. package/lib/pages/ImportFileWizard/ValidationForm.js +25 -25
  368. package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
  369. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  370. package/lib/pages/ImportFileWizard/index.js +4 -3
  371. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
  372. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +26 -23
  373. package/lib/pages/ImportGisPage/importGisUtils.js +25 -16
  374. package/lib/pages/ImportGisProcess/index.js +18 -14
  375. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
  376. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
  377. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
  378. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +66 -34
  379. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
  380. package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
  381. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  382. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  383. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
  384. package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
  385. package/lib/pages/NotificationsPage/assets/index.js +10 -10
  386. package/lib/pages/NotificationsPageV2/NotificationsPage.js +97 -71
  387. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +66 -96
  388. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +144 -131
  389. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +76 -74
  390. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +88 -91
  391. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -55
  392. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  393. package/lib/pages/OldSitePage/OldSitePage.js +133 -57
  394. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  395. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  396. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
  397. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +21 -19
  398. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  399. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
  400. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  401. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  402. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -19
  403. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
  404. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  405. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
  406. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  407. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  408. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  409. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  410. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +29 -33
  411. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +31 -29
  412. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  413. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  414. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +15 -19
  415. package/lib/pages/ProfilePage/Container.js +4 -3
  416. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +45 -28
  417. package/lib/pages/ProfilePage/ProfilePage.js +207 -118
  418. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
  419. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +21 -21
  420. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +35 -32
  421. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +120 -58
  422. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
  423. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
  424. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +46 -41
  425. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +29 -27
  426. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
  427. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
  428. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  429. package/lib/pages/SamplingsPage/NavigationDropdown.js +34 -46
  430. package/lib/pages/SamplingsPage/NewSamplingAction.js +105 -78
  431. package/lib/pages/SamplingsPage/SamplingMobileModal.js +102 -130
  432. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
  433. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
  434. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +64 -39
  435. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
  436. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +10 -11
  437. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +195 -110
  438. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +56 -49
  439. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +44 -47
  440. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +46 -49
  441. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +26 -19
  442. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  443. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
  444. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +55 -58
  445. package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
  446. package/lib/pages/SamplingsPage/SamplingsPage.js +35 -27
  447. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +59 -50
  448. package/lib/pages/SamplingsPage/index.js +3 -2
  449. package/lib/pages/SamplingsPage/samplingsPageUtils.js +93 -69
  450. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
  451. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
  452. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
  453. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  454. package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
  455. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  456. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
  457. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
  458. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
  459. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -15
  460. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
  461. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  462. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
  463. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  464. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  465. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -19
  466. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
  467. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  468. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
  469. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  470. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  471. package/lib/pages/SitePage/SamplingParameters/body/Body.js +12 -11
  472. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
  473. package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
  474. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
  475. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  476. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -61
  477. package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
  478. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  479. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  480. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  481. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +15 -19
  482. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
  483. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +32 -31
  484. package/lib/pages/SitePage/SitePage.js +80 -40
  485. package/lib/pages/UploadLabResult/index.js +16 -15
  486. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
  487. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
  488. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
  489. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
  490. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +51 -48
  491. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
  492. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +7 -6
  493. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
  494. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -14
  495. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  496. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
  497. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +9 -8
  498. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  499. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +27 -17
  500. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
  501. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -14
  502. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
  503. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +32 -27
  504. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
  505. package/lib/pages/WbeDashboard/GraphWrapper.js +37 -30
  506. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
  507. package/lib/pages/WbeDashboard/SearchInput.js +21 -15
  508. package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
  509. package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
  510. package/lib/pages/WbeDashboard/Tabs.js +12 -12
  511. package/lib/pages/WbeDashboard/WbeDashboardPage.js +216 -150
  512. package/lib/pages/WbeDashboard/WbeSummaryBar.js +49 -40
  513. package/lib/pages/WwtpPage/DashboardCard.js +26 -28
  514. package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
  515. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +25 -28
  516. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
  517. package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
  518. package/lib/pages/WwtpPage/Map.js +6 -7
  519. package/lib/pages/WwtpPage/OrganicCard.js +5 -4
  520. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
  521. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +9 -10
  522. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
  523. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
  524. package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
  525. package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
  526. package/lib/pages/WwtpPage/PredictionCard.js +5 -4
  527. package/lib/pages/WwtpPage/TrendCard.js +22 -20
  528. package/lib/pages/WwtpPage/UpgradeBox.js +6 -5
  529. package/lib/pages/WwtpPage/WwtpPage.js +11 -10
  530. package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
  531. package/lib/pages/WwtpPage/index.js +4 -3
  532. package/lib/providers/Slideshow/SlideshowContext.js +10 -11
  533. package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
  534. package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
  535. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
  536. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
  537. package/lib/providers/UrlHistory/index.js +4 -4
  538. package/lib/providers/UrlHistory/useLastVisited.js +7 -6
  539. package/lib/react-app-env.d.js +1 -1
  540. package/lib/store/ImportGis/action.js +1 -1
  541. package/lib/store/ImportGis/actionTypes.js +5 -4
  542. package/lib/store/ImportGis/actionsCreator.js +5 -7
  543. package/lib/store/ImportGis/models/gisImports.js +1 -1
  544. package/lib/store/ImportGis/reducer.js +30 -41
  545. package/lib/store/WBE/actionTypes.js +3 -2
  546. package/lib/store/WBE/actions.js +1 -1
  547. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  548. package/lib/store/WBE/models/IWBE.js +1 -1
  549. package/lib/store/WBE/models/IWBEState.js +1 -1
  550. package/lib/store/WBE/reducer.js +10 -14
  551. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
  552. package/lib/store/WWTPDashboard/types.js +1 -1
  553. package/lib/store/areas/actionTypes.js +7 -4
  554. package/lib/store/areas/actions.js +13 -7
  555. package/lib/store/areas/models/IArea.js +1 -1
  556. package/lib/store/areas/models/IAreasState.js +1 -1
  557. package/lib/store/areas/reducer.js +6 -8
  558. package/lib/store/context/actionTypes.js +5 -3
  559. package/lib/store/context/actions.js +3 -3
  560. package/lib/store/context/contextMiddlewares.js +18 -15
  561. package/lib/store/context/models/INavContext.js +1 -1
  562. package/lib/store/context/models/INavContextState.js +1 -1
  563. package/lib/store/context/reducer.js +10 -14
  564. package/lib/store/dashboard/dashboardSlice.js +11 -18
  565. package/lib/store/dashboard/periodType.js +1 -1
  566. package/lib/store/edges/actionTypes.js +9 -5
  567. package/lib/store/edges/actions.js +8 -4
  568. package/lib/store/edges/models/IEdge.js +1 -1
  569. package/lib/store/edges/models/IEdgesState.js +1 -1
  570. package/lib/store/edges/reducer.js +17 -13
  571. package/lib/store/events/actionTypes.js +33 -17
  572. package/lib/store/events/actions.js +7 -3
  573. package/lib/store/events/models/IEvent.js +1 -1
  574. package/lib/store/events/models/IEventsState.js +1 -1
  575. package/lib/store/events/models/ISource.js +1 -1
  576. package/lib/store/events/reducer.js +49 -42
  577. package/lib/store/filters/IFilter.js +1 -1
  578. package/lib/store/filters/IFilterItem.js +1 -1
  579. package/lib/store/global/actionTypes.js +21 -11
  580. package/lib/store/global/actions.js +6 -8
  581. package/lib/store/global/models/IGlobalState.js +1 -1
  582. package/lib/store/global/reducer.js +10 -11
  583. package/lib/store/permissions/permissionsSlice.js +9 -12
  584. package/lib/store/points/actionTypes.js +5 -3
  585. package/lib/store/points/actions.js +7 -3
  586. package/lib/store/points/models/IGroup.js +1 -1
  587. package/lib/store/points/models/IPoint.js +1 -1
  588. package/lib/store/points/models/IPointsState.js +1 -1
  589. package/lib/store/points/reducer.js +5 -7
  590. package/lib/store/rootActionTypes.js +3 -2
  591. package/lib/store/rootActions.js +1 -1
  592. package/lib/store/rootReducer.js +13 -17
  593. package/lib/store/rootStore.js +6 -6
  594. package/lib/store/samplings/action.js +1 -1
  595. package/lib/store/samplings/actionTypes.js +5 -4
  596. package/lib/store/samplings/actionsCreator.js +1 -1
  597. package/lib/store/samplings/models/Samplings.js +1 -1
  598. package/lib/store/samplings/reducer.js +14 -16
  599. package/lib/styles/StylesLayout.js +6 -7
  600. package/lib/styles/theme/theme.js +30 -26
  601. package/lib/test/mocks/browser.js +5 -2
  602. package/lib/test/test-utils.js +16 -18
  603. package/lib/ui-kit/Button/Button.js +84 -130
  604. package/lib/ui-kit/Button/Button.test.js +33 -27
  605. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  606. package/lib/ui-kit/Checkbox/Checkbox.js +24 -32
  607. package/lib/ui-kit/ContentCard/ContentCard.js +21 -17
  608. package/lib/ui-kit/Dashboard/Dashboard.js +25 -26
  609. package/lib/ui-kit/Dashboard/index.js +4 -3
  610. package/lib/ui-kit/DropDown/DropDown.js +25 -24
  611. package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
  612. package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
  613. package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
  614. package/lib/ui-kit/EmptyState/EmptyState.js +7 -8
  615. package/lib/ui-kit/IconAction/IconAction.js +8 -9
  616. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +66 -49
  617. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +53 -70
  618. package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
  619. package/lib/ui-kit/InletsPie/index.js +4 -3
  620. package/lib/ui-kit/InletsPie/options.js +9 -7
  621. package/lib/ui-kit/KandoList/KandoList.js +12 -13
  622. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  623. package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
  624. package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
  625. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  626. package/lib/ui-kit/Layout/Layout.js +7 -8
  627. package/lib/ui-kit/MobileInput/MobileInput.js +51 -61
  628. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
  629. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  630. package/lib/ui-kit/OrganicEvents/GaugeChart.js +9 -10
  631. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
  632. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +23 -29
  633. package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
  634. package/lib/ui-kit/OrganicEvents/index.js +4 -3
  635. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
  636. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
  637. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
  638. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +25 -22
  639. package/lib/ui-kit/ScoreGauge/constant.js +4 -3
  640. package/lib/ui-kit/ScoreGauge/index.js +4 -3
  641. package/lib/ui-kit/TimeLineChart/TrendChart.js +45 -56
  642. package/lib/ui-kit/TimeLineChart/index.js +4 -3
  643. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
  644. package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
  645. package/lib/ui-kit/index.js +8 -8
  646. package/lib/ui-kit/kandoStepper/KandoStepper.js +15 -14
  647. package/lib/ui-kit/siteName/SiteName.js +11 -13
  648. package/lib/utilities/ActionUtility.js +7 -7
  649. package/lib/utilities/Alert.js +20 -23
  650. package/lib/utilities/Analytics.js +12 -12
  651. package/lib/utilities/Array.js +5 -4
  652. package/lib/utilities/Enum.js +51 -15
  653. package/lib/utilities/ErrorBoundary.js +42 -27
  654. package/lib/utilities/File.js +70 -41
  655. package/lib/utilities/GetDir.js +10 -10
  656. package/lib/utilities/KandoDate.js +15 -7
  657. package/lib/utilities/KandoModal.js +28 -16
  658. package/lib/utilities/LocalStorage.js +10 -8
  659. package/lib/utilities/ThousandsToK.js +3 -3
  660. package/lib/utilities/TimeFormat.js +23 -22
  661. package/lib/utilities/Truncate.js +28 -18
  662. package/lib/utilities/edgesMath.js +16 -15
  663. package/lib/utilities/i18n.js +6 -5
  664. package/lib/utilities/kql.js +14 -12
  665. package/lib/utilities/map/icons.js +4 -4
  666. package/lib/utilities/polylinedecorator.js +113 -88
  667. package/lib/utilities/scoreToData.js +16 -16
  668. package/lib/utilities/scoreToData.test.js +5 -5
  669. package/lib/utilities/time.js +10 -9
  670. package/lib/utilities/uploadToS3.js +12 -12
  671. package/lib/utilities/urls.js +61 -62
  672. package/package.json +1 -1
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
12
  var _react = _interopRequireWildcard(require("react"));
11
13
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
@@ -15,55 +17,60 @@ var _notificationUtils = require("pages/NotificationsPageV2/notificationUtils");
15
17
  var _reactBootstrap = require("react-bootstrap");
16
18
  var _NotificationsFormContent = _interopRequireDefault(require("./NotificationsForm/NotificationsFormContent"));
17
19
  var _reactDeviceDetect = require("react-device-detect");
18
- var _useNavContext = require("../../../hooks/useNavContext");
20
+ var _useNavContext2 = require("../../../hooks/useNavContext");
19
21
  var _NotificationsUtils = require("./NotificationsUtils");
20
- const NotificationsSidebar = _ref => {
21
- let {
22
- notification,
23
- setIsSidebarOpen,
24
- points,
25
- tags,
26
- sensors,
27
- waterAuthorities,
28
- updateNotifications,
29
- deleteNotification,
30
- allowedNotifications,
31
- hasTelegram,
32
- hasPhone
33
- } = _ref;
34
- const [newNotification, setNewNotification] = (0, _react.useState)({
35
- ...notification
36
- });
37
- const [openSidebar, setOpenSidebar] = (0, _react.useState)(false);
38
- const {
39
- isRtl
40
- } = (0, _useNavContext.useNavContext)();
41
- const closeSidebar = () => {
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ var NotificationsSidebar = function NotificationsSidebar(_ref) {
25
+ var notification = _ref.notification,
26
+ setIsSidebarOpen = _ref.setIsSidebarOpen,
27
+ points = _ref.points,
28
+ tags = _ref.tags,
29
+ sensors = _ref.sensors,
30
+ waterAuthorities = _ref.waterAuthorities,
31
+ updateNotifications = _ref.updateNotifications,
32
+ deleteNotification = _ref.deleteNotification,
33
+ allowedNotifications = _ref.allowedNotifications,
34
+ hasTelegram = _ref.hasTelegram,
35
+ hasPhone = _ref.hasPhone;
36
+ var _useState = (0, _react.useState)((0, _objectSpread2.default)({}, notification)),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
+ newNotification = _useState2[0],
39
+ setNewNotification = _useState2[1];
40
+ var _useState3 = (0, _react.useState)(false),
41
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
+ openSidebar = _useState4[0],
43
+ setOpenSidebar = _useState4[1];
44
+ var _useNavContext = (0, _useNavContext2.useNavContext)(),
45
+ isRtl = _useNavContext.isRtl;
46
+ var closeSidebar = function closeSidebar() {
42
47
  setOpenSidebar(false);
43
- setTimeout(() => {
48
+ setTimeout(function () {
44
49
  setIsSidebarOpen(false);
45
50
  }, 1000);
46
51
  };
47
- const handleDeleteNotification = () => {
52
+ var handleDeleteNotification = function handleDeleteNotification() {
48
53
  deleteNotification(newNotification);
49
54
  closeSidebar();
50
55
  };
51
- const handleSubmit = e => {
56
+ var handleSubmit = function handleSubmit(e) {
52
57
  e.preventDefault();
53
58
  updateNotifications((0, _NotificationsUtils.formatNotification)(newNotification));
54
59
  closeSidebar();
55
60
  };
56
- (0, _react.useEffect)(() => {
61
+ (0, _react.useEffect)(function () {
57
62
  setOpenSidebar(true);
58
63
  if (!newNotification.id) newNotification.type = _notificationUtils.mockTypes[0];
59
64
  }, []);
60
65
  return /*#__PURE__*/_react.default.createElement(NotificationSidebarStyle, {
61
- className: `sidebar-wrapper ${openSidebar ? 'open-sidebar' : 'close-sidebar'}`,
66
+ className: "sidebar-wrapper ".concat(openSidebar ? 'open-sidebar' : 'close-sidebar'),
62
67
  isRtl: isRtl
63
68
  }, /*#__PURE__*/_react.default.createElement(NotificationSidebarMainStyle, {
64
69
  isRtl: isRtl
65
- }, /*#__PURE__*/_react.default.createElement(NotificationSidebarHeadStyle, null, /*#__PURE__*/_react.default.createElement("h2", null, `${notification.id ? _i18n.default.t('notifications_page.edit_notification') : _i18n.default.t('notifications_page.add_notification')}`), /*#__PURE__*/_react.default.createElement(_close.ReactComponent, {
66
- onClick: () => closeSidebar()
70
+ }, /*#__PURE__*/_react.default.createElement(NotificationSidebarHeadStyle, null, /*#__PURE__*/_react.default.createElement("h2", null, "".concat(notification.id ? _i18n.default.t('notifications_page.edit_notification') : _i18n.default.t('notifications_page.add_notification'))), /*#__PURE__*/_react.default.createElement(_close.ReactComponent, {
71
+ onClick: function onClick() {
72
+ return closeSidebar();
73
+ }
67
74
  })), /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('notifications_page.subtitle')), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form, {
68
75
  onSubmit: handleSubmit
69
76
  }, /*#__PURE__*/_react.default.createElement(_NotificationsFormContent.default, {
@@ -77,72 +84,67 @@ const NotificationsSidebar = _ref => {
77
84
  hasTelegram: hasTelegram,
78
85
  hasPhone: hasPhone
79
86
  }), /*#__PURE__*/_react.default.createElement(NotificationsSidebarFooterStyle, null, notification.id !== '' && /*#__PURE__*/_react.default.createElement(NotificationsSidebarDeleteStyle, {
80
- onClick: () => handleDeleteNotification()
87
+ onClick: function onClick() {
88
+ return handleDeleteNotification();
89
+ }
81
90
  }, _i18n.default.t('notifications_page.edit_delete_notification')), /*#__PURE__*/_react.default.createElement(_Button.default, {
82
91
  variant: _Button.variant.PRIMARY,
83
92
  size: "md",
84
93
  type: "submit"
85
94
  }, notification.id !== '' ? _i18n.default.t('notifications_page.edit_save') : _i18n.default.t('notifications_page.edit_add'))))));
86
95
  };
87
- var _default = exports.default = NotificationsSidebar;
88
- const NotificationSidebarStyle = _styledComponents.default.div.withConfig({
96
+ var _default = NotificationsSidebar;
97
+ exports.default = _default;
98
+ var NotificationSidebarStyle = _styledComponents.default.div.withConfig({
89
99
  displayName: "NotificationsSidebar__NotificationSidebarStyle",
90
100
  componentId: "sc-18000x7-0"
91
- })(["position:fixed;display:flex;flex-direction:column;justify-content:space-between;width:", ";height:", ";background-color:white;", " top:", ";z-index:", ";transition:0.5s ease-in-out;p{margin-bottom:12px;}form{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 100px);}&&&.open-sidebar{transition:0.5s ease-in-out;", "}&&&.close-sidebar{", "}.form-check-label{padding:0 !important;text-align:center !important;}label[for='pump_only']{margin:0 6px;}"], _reactDeviceDetect.isMobile ? 'calc(100vw + 20px)' : '500px', _reactDeviceDetect.isMobile ? '100vh' : 'calc(100vh - 57px)', p => p.isRtl ? 'left: -800px;' : 'right: -800px;', _reactDeviceDetect.isMobile ? '0' : '67px', _ref2 => {
92
- let {
93
- theme
94
- } = _ref2;
101
+ })(["position:fixed;display:flex;flex-direction:column;justify-content:space-between;width:", ";height:", ";background-color:white;", " top:", ";z-index:", ";transition:0.5s ease-in-out;p{margin-bottom:12px;}form{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 100px);}&&&.open-sidebar{transition:0.5s ease-in-out;", "}&&&.close-sidebar{", "}.form-check-label{padding:0 !important;text-align:center !important;}label[for='pump_only']{margin:0 6px;}"], _reactDeviceDetect.isMobile ? 'calc(100vw + 20px)' : '500px', _reactDeviceDetect.isMobile ? '100vh' : 'calc(100vh - 57px)', function (p) {
102
+ return p.isRtl ? 'left: -800px;' : 'right: -800px;';
103
+ }, _reactDeviceDetect.isMobile ? '0' : '67px', function (_ref2) {
104
+ var theme = _ref2.theme;
95
105
  return theme.zIndexes.modal;
96
- }, p => p.isRtl ? 'left: 0px;' : 'right: -20px;', p => p.isRtl ? 'left: -800px;' : 'right: -800px;');
97
- const NotificationSidebarMainStyle = _styledComponents.default.div.withConfig({
106
+ }, function (p) {
107
+ return p.isRtl ? 'left: 0px;' : 'right: -20px;';
108
+ }, function (p) {
109
+ return p.isRtl ? 'left: -800px;' : 'right: -800px;';
110
+ });
111
+ var NotificationSidebarMainStyle = _styledComponents.default.div.withConfig({
98
112
  displayName: "NotificationsSidebar__NotificationSidebarMainStyle",
99
113
  componentId: "sc-18000x7-1"
100
- })(["padding:", ";height:100%;"], _reactDeviceDetect.isMobile ? '10px 30px 10px 10px' : p => p.isRtl ? '20px' : '20px 40px 20px 20px');
101
- const NotificationSidebarHeadStyle = _styledComponents.default.div.withConfig({
114
+ })(["padding:", ";height:100%;"], _reactDeviceDetect.isMobile ? '10px 30px 10px 10px' : function (p) {
115
+ return p.isRtl ? '20px' : '20px 40px 20px 20px';
116
+ });
117
+ var NotificationSidebarHeadStyle = _styledComponents.default.div.withConfig({
102
118
  displayName: "NotificationsSidebar__NotificationSidebarHeadStyle",
103
119
  componentId: "sc-18000x7-2"
104
- })(["display:flex;align-items:center;justify-content:space-between;h2{font-size:", ";font-weight:800;margin:0;}svg{width:20px;height:20px;cursor:pointer;}svg:hover{fill:", ";}"], _ref3 => {
105
- let {
106
- theme
107
- } = _ref3;
120
+ })(["display:flex;align-items:center;justify-content:space-between;h2{font-size:", ";font-weight:800;margin:0;}svg{width:20px;height:20px;cursor:pointer;}svg:hover{fill:", ";}"], function (_ref3) {
121
+ var theme = _ref3.theme;
108
122
  return theme.fontSize.xxl;
109
- }, _ref4 => {
110
- let {
111
- theme
112
- } = _ref4;
123
+ }, function (_ref4) {
124
+ var theme = _ref4.theme;
113
125
  return theme.colorScheme.natural.n70;
114
126
  });
115
- const NotificationsSidebarFooterStyle = _styledComponents.default.div.withConfig({
127
+ var NotificationsSidebarFooterStyle = _styledComponents.default.div.withConfig({
116
128
  displayName: "NotificationsSidebar__NotificationsSidebarFooterStyle",
117
129
  componentId: "sc-18000x7-3"
118
130
  })(["@media (max-width:500px){padding:0 35px 18vh 35px !important;}display:flex;justify-content:space-evenly;align-items:center;height:75px;padding:0 35px;.btn{padding:5px 30px;}"]);
119
- const NotificationsSidebarDeleteStyle = _styledComponents.default.div.withConfig({
131
+ var NotificationsSidebarDeleteStyle = _styledComponents.default.div.withConfig({
120
132
  displayName: "NotificationsSidebar__NotificationsSidebarDeleteStyle",
121
133
  componentId: "sc-18000x7-4"
122
- })(["cursor:pointer;display:flex;width:max-content;align-items:center;gap:5px;font-size:", ";color:", ";svg{width:14px;height:14px;fill:", ";}&:hover{color:", ";svg{fill:", ";}}"], _ref5 => {
123
- let {
124
- theme
125
- } = _ref5;
134
+ })(["cursor:pointer;display:flex;width:max-content;align-items:center;gap:5px;font-size:", ";color:", ";svg{width:14px;height:14px;fill:", ";}&:hover{color:", ";svg{fill:", ";}}"], function (_ref5) {
135
+ var theme = _ref5.theme;
126
136
  return theme.fontSize.md;
127
- }, _ref6 => {
128
- let {
129
- theme
130
- } = _ref6;
137
+ }, function (_ref6) {
138
+ var theme = _ref6.theme;
131
139
  return theme.colorScheme.primary.p1;
132
- }, _ref7 => {
133
- let {
134
- theme
135
- } = _ref7;
140
+ }, function (_ref7) {
141
+ var theme = _ref7.theme;
136
142
  return theme.colorScheme.primary.p1;
137
- }, _ref8 => {
138
- let {
139
- theme
140
- } = _ref8;
143
+ }, function (_ref8) {
144
+ var theme = _ref8.theme;
141
145
  return theme.colorScheme.primary.pt70;
142
- }, _ref9 => {
143
- let {
144
- theme
145
- } = _ref9;
146
+ }, function (_ref9) {
147
+ var theme = _ref9.theme;
146
148
  return theme.colorScheme.primary.pt70;
147
149
  });
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwiX2Nsb3NlIiwiX25vdGlmaWNhdGlvblV0aWxzIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX05vdGlmaWNhdGlvbnNGb3JtQ29udGVudCIsIl9yZWFjdERldmljZURldGVjdCIsIl91c2VOYXZDb250ZXh0IiwiX05vdGlmaWNhdGlvbnNVdGlscyIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyIiwiX3JlZiIsIm5vdGlmaWNhdGlvbiIsInNldElzU2lkZWJhck9wZW4iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwiZGVsZXRlTm90aWZpY2F0aW9uIiwiYWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJoYXNUZWxlZ3JhbSIsImhhc1Bob25lIiwibmV3Tm90aWZpY2F0aW9uIiwic2V0TmV3Tm90aWZpY2F0aW9uIiwidXNlU3RhdGUiLCJvcGVuU2lkZWJhciIsInNldE9wZW5TaWRlYmFyIiwiaXNSdGwiLCJ1c2VOYXZDb250ZXh0IiwiY2xvc2VTaWRlYmFyIiwic2V0VGltZW91dCIsImhhbmRsZURlbGV0ZU5vdGlmaWNhdGlvbiIsImhhbmRsZVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImZvcm1hdE5vdGlmaWNhdGlvbiIsInVzZUVmZmVjdCIsImlkIiwidHlwZSIsIm1vY2tUeXBlcyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlIiwiY2xhc3NOYW1lIiwiTm90aWZpY2F0aW9uU2lkZWJhck1haW5TdHlsZSIsIk5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGUiLCJpMThuIiwidCIsIlJlYWN0Q29tcG9uZW50Iiwib25DbGljayIsIkZvcm0iLCJvblN1Ym1pdCIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUiLCJOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlIiwidmFyaWFudCIsIlBSSU1BUlkiLCJzaXplIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJpc01vYmlsZSIsInAiLCJfcmVmMiIsInRoZW1lIiwiekluZGV4ZXMiLCJtb2RhbCIsIl9yZWYzIiwiZm9udFNpemUiLCJ4eGwiLCJfcmVmNCIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm43MCIsIl9yZWY1IiwibWQiLCJfcmVmNiIsInByaW1hcnkiLCJwMSIsIl9yZWY3IiwiX3JlZjgiLCJwdDcwIiwiX3JlZjkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNTaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBCdXR0b24sIHsgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQvQnV0dG9uL0J1dHRvbic7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZSB9IGZyb20gJ3NyYy9hc3NldHMvY2xvc2Uuc3ZnJztcbmltcG9ydCB7XG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxuICBtb2NrVHlwZXMsXG4gIE5vdGlmaWNhdGlvbixcbn0gZnJvbSAnc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50IGZyb20gJy4vTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50JztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTmF2Q29udGV4dCc7XG5pbXBvcnQgeyBmb3JtYXROb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbnNVdGlscyc7XG5cbmludGVyZmFjZSBub3RpZmljYXRpb25TaWRlYmFyUHJvcHMge1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnM6IChub3RpZmljYXRpb246IHtcbiAgICB1c2VyOiB7IGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30gfTtcbiAgfSkgPT4gdm9pZDtcbiAgZGVsZXRlTm90aWZpY2F0aW9uOiAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHZvaWQ7XG4gIHNldElzU2lkZWJhck9wZW46IChpc1NpZGViYXJPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbiAgaGFzUGhvbmU6IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyOiBSZWFjdC5GQzxub3RpZmljYXRpb25TaWRlYmFyUHJvcHM+ID0gKHtcbiAgbm90aWZpY2F0aW9uLFxuICBzZXRJc1NpZGViYXJPcGVuLFxuICBwb2ludHMsXG4gIHRhZ3MsXG4gIHNlbnNvcnMsXG4gIHdhdGVyQXV0aG9yaXRpZXMsXG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnMsXG4gIGRlbGV0ZU5vdGlmaWNhdGlvbixcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnMsXG4gIGhhc1RlbGVncmFtLFxuICBoYXNQaG9uZSxcbn0pID0+IHtcbiAgY29uc3QgW25ld05vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uXSA9IHVzZVN0YXRlKHsgLi4ubm90aWZpY2F0aW9uIH0pO1xuICBjb25zdCBbb3BlblNpZGViYXIsIHNldE9wZW5TaWRlYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBpc1J0bCB9ID0gdXNlTmF2Q29udGV4dCgpO1xuXG4gIGNvbnN0IGNsb3NlU2lkZWJhciA9ICgpID0+IHtcbiAgICBzZXRPcGVuU2lkZWJhcihmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1NpZGViYXJPcGVuKGZhbHNlKTtcbiAgICB9LCAxMDAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGVOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gICAgZGVsZXRlTm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbik7XG4gICAgY2xvc2VTaWRlYmFyKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGU6IFJlYWN0LkZvcm1FdmVudDxIVE1MRm9ybUVsZW1lbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHVwZGF0ZU5vdGlmaWNhdGlvbnMoZm9ybWF0Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbikpO1xuICAgIGNsb3NlU2lkZWJhcigpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3BlblNpZGViYXIodHJ1ZSk7XG4gICAgaWYgKCFuZXdOb3RpZmljYXRpb24uaWQpIG5ld05vdGlmaWNhdGlvbi50eXBlID0gbW9ja1R5cGVzWzBdO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm90aWZpY2F0aW9uU2lkZWJhclN0eWxlXG4gICAgICBjbGFzc05hbWU9e2BzaWRlYmFyLXdyYXBwZXIgJHtcbiAgICAgICAgb3BlblNpZGViYXIgPyAnb3Blbi1zaWRlYmFyJyA6ICdjbG9zZS1zaWRlYmFyJ1xuICAgICAgfWB9XG4gICAgICBpc1J0bD17aXNSdGx9XG4gICAgPlxuICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGU+XG4gICAgICAgICAgPGgyPntgJHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5pZFxuICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICB9YH08L2gyPlxuICAgICAgICAgIDxDbG9zZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNpZGViYXIoKX0gLz5cbiAgICAgICAgPC9Ob3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlPlxuICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L3A+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zRm9ybUNvbnRlbnRcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bmV3Tm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgIHRhZ3M9e3RhZ3N9XG4gICAgICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdGllcz17d2F0ZXJBdXRob3JpdGllc31cbiAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgIGhhc1RlbGVncmFtPXtoYXNUZWxlZ3JhbX1cbiAgICAgICAgICAgIGhhc1Bob25lPXtoYXNQaG9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc1NpZGViYXJEZWxldGVTdHlsZVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZU5vdGlmaWNhdGlvbigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZGVsZXRlX25vdGlmaWNhdGlvbicpfVxuICAgICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNTaWRlYmFyRGVsZXRlU3R5bGU+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PXt2YXJpYW50LlBSSU1BUll9IHNpemU9XCJtZFwiIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJydcbiAgICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2F2ZScpXG4gICAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2FkZCcpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L05vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGU+XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyU3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25zU2lkZWJhcjtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnY2FsYygxMDB2dyArIDIwcHgpJyA6ICc1MDBweCd9O1xuICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnMTAwdmgnIDogJ2NhbGMoMTAwdmggLSA1N3B4KSd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgdG9wOiAke2lzTW9iaWxlID8gJzAnIDogJzY3cHgnfTtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIH1cblxuICAmJiYub3Blbi1zaWRlYmFyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDBweDsnIDogJ3JpZ2h0OiAtMjBweDsnKX1cbiAgfVxuICAmJiYuY2xvc2Utc2lkZWJhciB7XG4gICAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICBsYWJlbFtmb3I9J3B1bXBfb25seSddIHtcbiAgICBtYXJnaW46IDAgNnB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFyTWFpblN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiAke2lzTW9iaWxlXG4gICAgPyAnMTBweCAzMHB4IDEwcHggMTBweCdcbiAgICA6IChwKSA9PiAocC5pc1J0bCA/ICcyMHB4JyA6ICcyMHB4IDQwcHggMjBweCAyMHB4Jyl9O1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnh4bH07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIHN2Zzpob3ZlciB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm43MH07XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBwYWRkaW5nOiAwIDM1cHggMTh2aCAzNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwYWRkaW5nOiAwIDM1cHg7XG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnB0NzB9O1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHQ3MH07XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxPQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFBMkQsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBRTNELElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFLQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJ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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwiX2Nsb3NlIiwiX25vdGlmaWNhdGlvblV0aWxzIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX05vdGlmaWNhdGlvbnNGb3JtQ29udGVudCIsIl9yZWFjdERldmljZURldGVjdCIsIl91c2VOYXZDb250ZXh0MiIsIl9Ob3RpZmljYXRpb25zVXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyIiwiX3JlZiIsIm5vdGlmaWNhdGlvbiIsInNldElzU2lkZWJhck9wZW4iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwiZGVsZXRlTm90aWZpY2F0aW9uIiwiYWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJoYXNUZWxlZ3JhbSIsImhhc1Bob25lIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfb2JqZWN0U3ByZWFkMiIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJuZXdOb3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm9wZW5TaWRlYmFyIiwic2V0T3BlblNpZGViYXIiLCJfdXNlTmF2Q29udGV4dCIsInVzZU5hdkNvbnRleHQiLCJpc1J0bCIsImNsb3NlU2lkZWJhciIsInNldFRpbWVvdXQiLCJoYW5kbGVEZWxldGVOb3RpZmljYXRpb24iLCJoYW5kbGVTdWJtaXQiLCJlIiwicHJldmVudERlZmF1bHQiLCJmb3JtYXROb3RpZmljYXRpb24iLCJ1c2VFZmZlY3QiLCJpZCIsInR5cGUiLCJtb2NrVHlwZXMiLCJjcmVhdGVFbGVtZW50IiwiTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwiTm90aWZpY2F0aW9uU2lkZWJhck1haW5TdHlsZSIsIk5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGUiLCJpMThuIiwidCIsIlJlYWN0Q29tcG9uZW50Iiwib25DbGljayIsIkZvcm0iLCJvblN1Ym1pdCIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUiLCJOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlIiwidmFyaWFudCIsIlBSSU1BUlkiLCJzaXplIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJpc01vYmlsZSIsInAiLCJfcmVmMiIsInRoZW1lIiwiekluZGV4ZXMiLCJtb2RhbCIsIl9yZWYzIiwiZm9udFNpemUiLCJ4eGwiLCJfcmVmNCIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm43MCIsIl9yZWY1IiwibWQiLCJfcmVmNiIsInByaW1hcnkiLCJwMSIsIl9yZWY3IiwiX3JlZjgiLCJwdDcwIiwiX3JlZjkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNTaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBCdXR0b24sIHsgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQvQnV0dG9uL0J1dHRvbic7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZSB9IGZyb20gJ3NyYy9hc3NldHMvY2xvc2Uuc3ZnJztcbmltcG9ydCB7XG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxuICBtb2NrVHlwZXMsXG4gIE5vdGlmaWNhdGlvbixcbn0gZnJvbSAnc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50IGZyb20gJy4vTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50JztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTmF2Q29udGV4dCc7XG5pbXBvcnQgeyBmb3JtYXROb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbnNVdGlscyc7XG5cbmludGVyZmFjZSBub3RpZmljYXRpb25TaWRlYmFyUHJvcHMge1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnM6IChub3RpZmljYXRpb246IHtcbiAgICB1c2VyOiB7IGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30gfTtcbiAgfSkgPT4gdm9pZDtcbiAgZGVsZXRlTm90aWZpY2F0aW9uOiAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHZvaWQ7XG4gIHNldElzU2lkZWJhck9wZW46IChpc1NpZGViYXJPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbiAgaGFzUGhvbmU6IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyOiBSZWFjdC5GQzxub3RpZmljYXRpb25TaWRlYmFyUHJvcHM+ID0gKHtcbiAgbm90aWZpY2F0aW9uLFxuICBzZXRJc1NpZGViYXJPcGVuLFxuICBwb2ludHMsXG4gIHRhZ3MsXG4gIHNlbnNvcnMsXG4gIHdhdGVyQXV0aG9yaXRpZXMsXG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnMsXG4gIGRlbGV0ZU5vdGlmaWNhdGlvbixcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnMsXG4gIGhhc1RlbGVncmFtLFxuICBoYXNQaG9uZSxcbn0pID0+IHtcbiAgY29uc3QgW25ld05vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uXSA9IHVzZVN0YXRlKHsgLi4ubm90aWZpY2F0aW9uIH0pO1xuICBjb25zdCBbb3BlblNpZGViYXIsIHNldE9wZW5TaWRlYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBpc1J0bCB9ID0gdXNlTmF2Q29udGV4dCgpO1xuXG4gIGNvbnN0IGNsb3NlU2lkZWJhciA9ICgpID0+IHtcbiAgICBzZXRPcGVuU2lkZWJhcihmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1NpZGViYXJPcGVuKGZhbHNlKTtcbiAgICB9LCAxMDAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGVOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gICAgZGVsZXRlTm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbik7XG4gICAgY2xvc2VTaWRlYmFyKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGU6IFJlYWN0LkZvcm1FdmVudDxIVE1MRm9ybUVsZW1lbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHVwZGF0ZU5vdGlmaWNhdGlvbnMoZm9ybWF0Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbikpO1xuICAgIGNsb3NlU2lkZWJhcigpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3BlblNpZGViYXIodHJ1ZSk7XG4gICAgaWYgKCFuZXdOb3RpZmljYXRpb24uaWQpIG5ld05vdGlmaWNhdGlvbi50eXBlID0gbW9ja1R5cGVzWzBdO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm90aWZpY2F0aW9uU2lkZWJhclN0eWxlXG4gICAgICBjbGFzc05hbWU9e2BzaWRlYmFyLXdyYXBwZXIgJHtcbiAgICAgICAgb3BlblNpZGViYXIgPyAnb3Blbi1zaWRlYmFyJyA6ICdjbG9zZS1zaWRlYmFyJ1xuICAgICAgfWB9XG4gICAgICBpc1J0bD17aXNSdGx9XG4gICAgPlxuICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGU+XG4gICAgICAgICAgPGgyPntgJHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5pZFxuICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICB9YH08L2gyPlxuICAgICAgICAgIDxDbG9zZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNpZGViYXIoKX0gLz5cbiAgICAgICAgPC9Ob3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlPlxuICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L3A+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zRm9ybUNvbnRlbnRcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bmV3Tm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgIHRhZ3M9e3RhZ3N9XG4gICAgICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdGllcz17d2F0ZXJBdXRob3JpdGllc31cbiAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgIGhhc1RlbGVncmFtPXtoYXNUZWxlZ3JhbX1cbiAgICAgICAgICAgIGhhc1Bob25lPXtoYXNQaG9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc1NpZGViYXJEZWxldGVTdHlsZVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZU5vdGlmaWNhdGlvbigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZGVsZXRlX25vdGlmaWNhdGlvbicpfVxuICAgICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNTaWRlYmFyRGVsZXRlU3R5bGU+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PXt2YXJpYW50LlBSSU1BUll9IHNpemU9XCJtZFwiIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJydcbiAgICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2F2ZScpXG4gICAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2FkZCcpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L05vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGU+XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyU3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25zU2lkZWJhcjtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnY2FsYygxMDB2dyArIDIwcHgpJyA6ICc1MDBweCd9O1xuICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnMTAwdmgnIDogJ2NhbGMoMTAwdmggLSA1N3B4KSd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgdG9wOiAke2lzTW9iaWxlID8gJzAnIDogJzY3cHgnfTtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIH1cblxuICAmJiYub3Blbi1zaWRlYmFyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDBweDsnIDogJ3JpZ2h0OiAtMjBweDsnKX1cbiAgfVxuICAmJiYuY2xvc2Utc2lkZWJhciB7XG4gICAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICBsYWJlbFtmb3I9J3B1bXBfb25seSddIHtcbiAgICBtYXJnaW46IDAgNnB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFyTWFpblN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiAke2lzTW9iaWxlXG4gICAgPyAnMTBweCAzMHB4IDEwcHggMTBweCdcbiAgICA6IChwKSA9PiAocC5pc1J0bCA/ICcyMHB4JyA6ICcyMHB4IDQwcHggMjBweCAyMHB4Jyl9O1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnh4bH07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIHN2Zzpob3ZlciB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm43MH07XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBwYWRkaW5nOiAwIDM1cHggMTh2aCAzNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwYWRkaW5nOiAwIDM1cHg7XG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnB0NzB9O1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHQ3MH07XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUosdUJBQUEsQ0FBQUMsT0FBQTtBQUEyRCxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFM0QsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUtBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHlCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxrQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsbUJBQUEsR0FBQVYsT0FBQTtBQUEwRCxTQUFBVyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWIsd0JBQUFpQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBa0IxRCxJQUFNVyxvQkFBd0QsR0FBRyxTQUEzREEsb0JBQXdEQSxDQUFBQyxJQUFBLEVBWXhEO0VBQUEsSUFYSkMsWUFBWSxHQUFBRCxJQUFBLENBQVpDLFlBQVk7SUFDWkMsZ0JBQWdCLEdBQUFGLElBQUEsQ0FBaEJFLGdCQUFnQjtJQUNoQkMsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsSUFBSSxHQUFBSixJQUFBLENBQUpJLElBQUk7SUFDSkMsT0FBTyxHQUFBTCxJQUFBLENBQVBLLE9BQU87SUFDUEMsZ0JBQWdCLEdBQUFOLElBQUEsQ0FBaEJNLGdCQUFnQjtJQUNoQkMsbUJBQW1CLEdBQUFQLElBQUEsQ0FBbkJPLG1CQUFtQjtJQUNuQkMsa0JBQWtCLEdBQUFSLElBQUEsQ0FBbEJRLGtCQUFrQjtJQUNsQkMsb0JBQW9CLEdBQUFULElBQUEsQ0FBcEJTLG9CQUFvQjtJQUNwQkMsV0FBVyxHQUFBVixJQUFBLENBQVhVLFdBQVc7SUFDWEMsUUFBUSxHQUFBWCxJQUFBLENBQVJXLFFBQVE7RUFFUixJQUFBQyxTQUFBLEdBQThDLElBQUFDLGVBQVEsTUFBQUMsY0FBQSxDQUFBOUIsT0FBQSxNQUFNaUIsWUFBWSxDQUFFLENBQUM7SUFBQWMsVUFBQSxPQUFBQyxlQUFBLENBQUFoQyxPQUFBLEVBQUE0QixTQUFBO0lBQXBFSyxlQUFlLEdBQUFGLFVBQUE7SUFBRUcsa0JBQWtCLEdBQUFILFVBQUE7RUFDMUMsSUFBQUksVUFBQSxHQUFzQyxJQUFBTixlQUFRLEVBQUMsS0FBSyxDQUFDO0lBQUFPLFVBQUEsT0FBQUosZUFBQSxDQUFBaEMsT0FBQSxFQUFBbUMsVUFBQTtJQUE5Q0UsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUNsQyxJQUFBRyxjQUFBLEdBQWtCLElBQUFDLDZCQUFhLEVBQUMsQ0FBQztJQUF6QkMsS0FBSyxHQUFBRixjQUFBLENBQUxFLEtBQUs7RUFFYixJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQSxFQUFTO0lBQ3pCSixjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3JCSyxVQUFVLENBQUMsWUFBTTtNQUNmekIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUM7RUFDVixDQUFDO0VBRUQsSUFBTTBCLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUEsRUFBUztJQUNyQ3BCLGtCQUFrQixDQUFDUyxlQUFlLENBQUM7SUFDbkNTLFlBQVksQ0FBQyxDQUFDO0VBQ2hCLENBQUM7RUFFRCxJQUFNRyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsQ0FBbUMsRUFBSztJQUM1REEsQ0FBQyxDQUFDQyxjQUFjLENBQUMsQ0FBQztJQUNsQnhCLG1CQUFtQixDQUFDLElBQUF5QixzQ0FBa0IsRUFBQ2YsZUFBZSxDQUFDLENBQUM7SUFDeERTLFlBQVksQ0FBQyxDQUFDO0VBQ2hCLENBQUM7RUFFRCxJQUFBTyxnQkFBUyxFQUFDLFlBQU07SUFDZFgsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNwQixJQUFJLENBQUNMLGVBQWUsQ0FBQ2lCLEVBQUUsRUFBRWpCLGVBQWUsQ0FBQ2tCLElBQUksR0FBR0MsNEJBQVMsQ0FBQyxDQUFDLENBQUM7RUFDOUQsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLG9CQUNFekUsTUFBQSxDQUFBcUIsT0FBQSxDQUFBcUQsYUFBQSxDQUFDQyx3QkFBd0I7SUFDdkJDLFNBQVMscUJBQUFDLE1BQUEsQ0FDUG5CLFdBQVcsR0FBRyxjQUFjLEdBQUcsZUFBZSxDQUM3QztJQUNISSxLQUFLLEVBQUVBO0VBQU0sZ0JBRWI5RCxNQUFBLENBQUFxQixPQUFBLENBQUFxRCxhQUFBLENBQUNJLDRCQUE0QjtJQUFDaEIsS0FBSyxFQUFFQTtFQUFNLGdCQUN6QzlELE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXFELGFBQUEsQ0FBQ0ssNEJBQTRCLHFCQUMzQi9FLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXFELGFBQUEsZ0JBQUFHLE1BQUEsQ0FDRXZDLFlBQVksQ0FBQ2lDLEVBQUUsR0FDWFMsYUFBSSxDQUFDQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsR0FDOUNELGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLENBQzVDLENBQUMsZUFDUmpGLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXFELGFBQUEsQ0FBQ3BFLE1BQUEsQ0FBQTRFLGNBQUs7SUFBQ0MsT0FBTyxFQUFFLFNBQUFBLFFBQUE7TUFBQSxPQUFNcEIsWUFBWSxDQUFDLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDWCxDQUFDLGVBQy9CL0QsTUFBQSxDQUFBcUIsT0FBQSxDQUFBcUQsYUFBQSxZQUFJTSxhQUFJLENBQUNDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBSyxDQUFDLGVBQzlDakYsTUFBQSxDQUFBcUIsT0FBQSxDQUFBcUQsYUFBQSxDQUFDbEUsZUFBQSxDQUFBNEUsSUFBSTtJQUFDQyxRQUFRLEVBQUVuQjtFQUFhLGdCQUMzQmxFLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXFELGFBQUEsQ0FBQ2pFLHlCQUFBLENBQUFZLE9BQXdCO0lBQ3ZCaUIsWUFBWSxFQUFFZ0IsZUFBZ0I7SUFDOUJDLGtCQUFrQixFQUFFQSxrQkFBbUI7SUFDdkNmLE1BQU0sRUFBRUEsTUFBTztJQUNmQyxJQUFJLEVBQUVBLElBQUs7SUFDWEMsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DRyxvQkFBb0IsRUFBRUEsb0JBQXFCO0lBQzNDQyxXQUFXLEVBQUVBLFdBQVk7SUFDekJDLFFBQVEsRUFBRUE7RUFBUyxDQUNwQixDQUFDLGVBQ0ZoRCxNQUFBLENBQUFxQixPQUFBLENBQUFxRCxhQUFBLENBQUNZLCtCQUErQixRQUM3QmhELFlBQVksQ0FBQ2lDLEVBQUUsS0FBSyxFQUFFLGlCQUNyQnZFLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXFELGFBQUEsQ0FBQ2EsK0JBQStCO0lBQzlCSixPQUFPLEVBQUUsU0FBQUEsUUFBQTtNQUFBLE9BQU1sQix3QkFBd0IsQ0FBQyxDQUFDO0lBQUE7RUFBQyxHQUV6Q2UsYUFBSSxDQUFDQyxDQUFDLENBQUMsNkNBQTZDLENBQ3RCLENBQ2xDLGVBQ0RqRixNQUFBLENBQUFxQixPQUFBLENBQUFxRCxhQUFBLENBQUNyRSxPQUFBLENBQUFnQixPQUFNO0lBQUNtRSxPQUFPLEVBQUVBLGVBQU8sQ0FBQ0MsT0FBUTtJQUFDQyxJQUFJLEVBQUMsSUFBSTtJQUFDbEIsSUFBSSxFQUFDO0VBQVEsR0FDdERsQyxZQUFZLENBQUNpQyxFQUFFLEtBQUssRUFBRSxHQUNuQlMsYUFBSSxDQUFDQyxDQUFDLENBQUMsOEJBQThCLENBQUMsR0FDdENELGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDZCQUE2QixDQUNsQyxDQUN1QixDQUM3QixDQUNzQixDQUNOLENBQUM7QUFFL0IsQ0FBQztBQUFDLElBQUFVLFFBQUEsR0FFYXZELG9CQUFvQjtBQUFBd0QsT0FBQSxDQUFBdkUsT0FBQSxHQUFBc0UsUUFBQTtBQUVuQyxJQUFNaEIsd0JBQXdCLEdBQUdrQix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd2VBS2hDQywyQkFBUSxHQUFHLG9CQUFvQixHQUFHLE9BQU8sRUFDeENBLDJCQUFRLEdBQUcsT0FBTyxHQUFHLG9CQUFvQixFQUVqRCxVQUFDQyxDQUFDO0VBQUEsT0FBTUEsQ0FBQyxDQUFDckMsS0FBSyxHQUFHLGVBQWUsR0FBRyxnQkFBZ0I7QUFBQSxDQUFDLEVBQ2hEb0MsMkJBQVEsR0FBRyxHQUFHLEdBQUcsTUFBTSxFQUNuQixVQUFBRSxLQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxLQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNDLFFBQVEsQ0FBQ0MsS0FBSztBQUFBLEdBZ0IxQyxVQUFDSixDQUFDO0VBQUEsT0FBTUEsQ0FBQyxDQUFDckMsS0FBSyxHQUFHLFlBQVksR0FBRyxlQUFlO0FBQUEsQ0FBQyxFQUdqRCxVQUFDcUMsQ0FBQztFQUFBLE9BQU1BLENBQUMsQ0FBQ3JDLEtBQUssR0FBRyxlQUFlLEdBQUcsZ0JBQWdCO0FBQUEsQ0FBQyxDQVcxRDtBQUVELElBQU1nQiw0QkFBNEIsR0FBR2UseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtDQUNsQ0MsMkJBQVEsR0FDZixxQkFBcUIsR0FDckIsVUFBQ0MsQ0FBQztFQUFBLE9BQU1BLENBQUMsQ0FBQ3JDLEtBQUssR0FBRyxNQUFNLEdBQUcscUJBQXFCO0FBQUEsQ0FBQyxDQUV0RDtBQUVELElBQU1pQiw0QkFBNEIsR0FBR2MseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1MQUs5QixVQUFBTyxLQUFBO0VBQUEsSUFBR0gsS0FBSyxHQUFBRyxLQUFBLENBQUxILEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNJLFFBQVEsQ0FBQ0MsR0FBRztBQUFBLEdBVXRDLFVBQUFDLEtBQUE7RUFBQSxJQUFHTixLQUFLLEdBQUFNLEtBQUEsQ0FBTE4sS0FBSztFQUFBLE9BQU9BLEtBQUssQ0FBQ08sV0FBVyxDQUFDQyxPQUFPLENBQUNDLEdBQUc7QUFBQSxFQUV2RDtBQUVELElBQU14QiwrQkFBK0IsR0FBR08seUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFMQWFqRDtBQUVELElBQU1WLCtCQUErQixHQUFHTSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUxBTW5DLFVBQUFjLEtBQUE7RUFBQSxJQUFHVixLQUFLLEdBQUFVLEtBQUEsQ0FBTFYsS0FBSztFQUFBLE9BQU9BLEtBQUssQ0FBQ0ksUUFBUSxDQUFDTyxFQUFFO0FBQUEsR0FDcEMsVUFBQUMsS0FBQTtFQUFBLElBQUdaLEtBQUssR0FBQVksS0FBQSxDQUFMWixLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDTyxXQUFXLENBQUNNLE9BQU8sQ0FBQ0MsRUFBRTtBQUFBLEdBSTFDLFVBQUFDLEtBQUE7RUFBQSxJQUFHZixLQUFLLEdBQUFlLEtBQUEsQ0FBTGYsS0FBSztFQUFBLE9BQU9BLEtBQUssQ0FBQ08sV0FBVyxDQUFDTSxPQUFPLENBQUNDLEVBQUU7QUFBQSxHQUcxQyxVQUFBRSxLQUFBO0VBQUEsSUFBR2hCLEtBQUssR0FBQWdCLEtBQUEsQ0FBTGhCLEtBQUs7RUFBQSxPQUFPQSxLQUFLLENBQUNPLFdBQVcsQ0FBQ00sT0FBTyxDQUFDSSxJQUFJO0FBQUEsR0FFNUMsVUFBQUMsS0FBQTtFQUFBLElBQUdsQixLQUFLLEdBQUFrQixLQUFBLENBQUxsQixLQUFLO0VBQUEsT0FBT0EsS0FBSyxDQUFDTyxXQUFXLENBQUNNLE9BQU8sQ0FBQ0ksSUFBSTtBQUFBLEVBRzFEIn0=