@kando-env/kando-ui 1.2.365 → 1.2.366

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 (578) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
  3. package/lib/Widgets/EventsRow/EventsRow.js +27 -39
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +72 -94
  6. package/lib/Widgets/Map/MapUtils.js +64 -61
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +31 -35
  12. package/lib/Widgets/Map/edges/Edges.js +19 -23
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +65 -60
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +60 -80
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +19 -20
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +145 -83
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +22 -28
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -40
  75. package/lib/Widgets/UtilityInformation/styles.js +34 -25
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +42 -63
  92. package/lib/components/CustomInputs/Select/Select.js +45 -58
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +35 -57
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +41 -58
  105. package/lib/components/Graph/Graph.js +70 -89
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +82 -197
  113. package/lib/components/Header/InfoBar/InfoBar.js +74 -103
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
  116. package/lib/components/Header/InfoBar/Search/Search.js +16 -19
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +25 -30
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
  121. package/lib/components/Header/Slideshow/Slideshow.js +68 -90
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +27 -41
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
  137. package/lib/components/Map/Map.js +20 -23
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +19 -17
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +49 -52
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +30 -37
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +22 -14
  152. package/lib/components/Tabs/Tabs.js +21 -29
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +12 -17
  166. package/lib/components/TrendGraph/TrendGraph.js +23 -39
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +36 -31
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +14 -10
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +16 -29
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/i18n/en.json +2 -1
  210. package/lib/i18n/he.json +2 -1
  211. package/lib/index.js +11 -12
  212. package/lib/macros/getVersion.js +3 -3
  213. package/lib/pages/AreaPage/AreaPage.js +34 -67
  214. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
  215. package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -29
  216. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  217. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  219. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  220. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  221. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  222. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  223. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  224. package/lib/pages/CannyWidget/Feedback.js +13 -13
  225. package/lib/pages/CovidPage/CovidPage.js +8 -13
  226. package/lib/pages/CovidPage/components/Body.js +25 -27
  227. package/lib/pages/CovidPage/components/Map.js +29 -39
  228. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  229. package/lib/pages/CovidPage/components/Summary.js +20 -27
  230. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  231. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  232. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  233. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  234. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  235. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  236. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  237. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  238. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  239. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  240. package/lib/pages/DashboardMap/Capacity.js +31 -80
  241. package/lib/pages/DashboardMap/FactoryCard.js +31 -26
  242. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  243. package/lib/pages/DashboardMap/List.js +71 -100
  244. package/lib/pages/DashboardMap/ListContext.js +15 -19
  245. package/lib/pages/DashboardMap/Loader.js +2 -2
  246. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  247. package/lib/pages/DashboardMap/WWTPMap.js +52 -62
  248. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  249. package/lib/pages/DashboardMap/Widget.js +54 -71
  250. package/lib/pages/DashboardMap/utils.js +49 -64
  251. package/lib/pages/EventsPage/Body/Body.js +20 -15
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  253. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  254. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  255. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  256. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  257. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
  258. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  259. package/lib/pages/EventsPage/EventsPage.js +7 -10
  260. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  261. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  262. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  263. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  264. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  265. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  266. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  267. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
  268. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  269. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  270. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  271. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  272. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  273. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  274. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  275. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  276. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  277. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  281. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  282. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  283. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  295. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  296. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  297. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  298. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  299. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  301. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  302. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  303. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  304. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  305. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  306. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  307. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  308. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  309. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  310. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  311. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  312. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  313. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  314. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  315. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  316. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  317. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  318. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  319. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  320. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  321. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  322. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  323. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  324. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  325. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  326. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  327. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  328. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  329. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  330. package/lib/pages/ImportGisProcess/index.js +12 -15
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  332. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  333. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  334. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  335. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  336. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  337. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  338. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  339. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  340. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  341. package/lib/pages/NotificationsPageV2/NotificationsPage.js +70 -93
  342. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  343. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +130 -141
  344. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +73 -73
  345. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +91 -88
  346. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  347. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  348. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  349. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  352. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  353. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  360. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  361. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  363. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  364. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  365. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  366. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  367. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  368. package/lib/pages/ProfilePage/Container.js +2 -2
  369. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  370. package/lib/pages/ProfilePage/ProfilePage.js +118 -206
  371. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  372. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  373. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  375. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  376. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  377. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  378. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  379. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  380. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  381. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  382. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  383. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  385. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  386. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  387. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  391. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  392. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  393. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  394. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  395. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  396. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  397. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  398. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  399. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  400. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  401. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  402. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  403. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  404. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  405. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  406. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  411. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  412. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  416. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  417. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  419. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  420. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  421. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  422. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  423. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  424. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  425. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  426. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  427. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  428. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  429. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  430. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  431. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  432. package/lib/pages/SitePage/SitePage.js +40 -79
  433. package/lib/pages/UploadLabResult/index.js +13 -13
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  443. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  444. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  445. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +18 -26
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  448. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -17
  449. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  450. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  451. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  452. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  453. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  454. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  455. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  456. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  457. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  458. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  459. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  460. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  461. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  462. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  463. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  464. package/lib/pages/WwtpPage/Map.js +5 -3
  465. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  466. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  468. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  469. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  470. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  471. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  472. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  473. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  474. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  475. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  476. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  477. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  478. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  479. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  480. package/lib/providers/UrlHistory/index.js +2 -2
  481. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  482. package/lib/store/ImportGis/actionTypes.js +1 -1
  483. package/lib/store/ImportGis/actionsCreator.js +7 -5
  484. package/lib/store/ImportGis/reducer.js +40 -29
  485. package/lib/store/WBE/actionTypes.js +2 -2
  486. package/lib/store/WBE/reducer.js +13 -9
  487. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  488. package/lib/store/areas/actionTypes.js +4 -4
  489. package/lib/store/areas/actions.js +7 -13
  490. package/lib/store/areas/reducer.js +8 -6
  491. package/lib/store/context/actionTypes.js +3 -3
  492. package/lib/store/context/actions.js +3 -3
  493. package/lib/store/context/contextMiddlewares.js +14 -16
  494. package/lib/store/context/reducer.js +13 -9
  495. package/lib/store/dashboard/dashboardSlice.js +18 -10
  496. package/lib/store/edges/actionTypes.js +5 -5
  497. package/lib/store/edges/actions.js +4 -8
  498. package/lib/store/edges/reducer.js +13 -17
  499. package/lib/store/events/actionTypes.js +17 -17
  500. package/lib/store/events/actions.js +3 -7
  501. package/lib/store/events/reducer.js +42 -49
  502. package/lib/store/global/actionTypes.js +11 -11
  503. package/lib/store/global/actions.js +8 -6
  504. package/lib/store/global/reducer.js +11 -10
  505. package/lib/store/permissions/permissionsSlice.js +12 -8
  506. package/lib/store/points/actionTypes.js +3 -3
  507. package/lib/store/points/actions.js +4 -8
  508. package/lib/store/points/reducer.js +7 -5
  509. package/lib/store/rootActionTypes.js +2 -2
  510. package/lib/store/rootReducer.js +17 -12
  511. package/lib/store/rootStore.js +5 -5
  512. package/lib/store/samplings/actionTypes.js +1 -1
  513. package/lib/store/samplings/reducer.js +16 -14
  514. package/lib/styles/StylesLayout.js +5 -3
  515. package/lib/styles/theme/theme.js +26 -27
  516. package/lib/test/mocks/browser.js +2 -4
  517. package/lib/test/test-utils.js +17 -15
  518. package/lib/ui-kit/Button/Button.js +128 -80
  519. package/lib/ui-kit/Button/Button.test.js +24 -29
  520. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  521. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  522. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  523. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  524. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  525. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  526. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  527. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  528. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  529. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  530. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  531. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  532. package/lib/ui-kit/InletsPie/options.js +6 -6
  533. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  534. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  535. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  536. package/lib/ui-kit/Layout/Layout.js +6 -4
  537. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  538. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  539. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  540. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  541. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  542. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  543. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  544. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  545. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  546. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  547. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  548. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  549. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  550. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  551. package/lib/ui-kit/index.js +8 -8
  552. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  553. package/lib/ui-kit/siteName/SiteName.js +11 -8
  554. package/lib/utilities/ActionUtility.js +7 -7
  555. package/lib/utilities/Alert.js +21 -17
  556. package/lib/utilities/Analytics.js +11 -11
  557. package/lib/utilities/Array.js +4 -5
  558. package/lib/utilities/Enum.js +15 -51
  559. package/lib/utilities/ErrorBoundary.js +27 -41
  560. package/lib/utilities/File.js +40 -69
  561. package/lib/utilities/GetDir.js +8 -7
  562. package/lib/utilities/KandoDate.js +7 -15
  563. package/lib/utilities/KandoModal.js +16 -26
  564. package/lib/utilities/LocalStorage.js +8 -10
  565. package/lib/utilities/ThousandsToK.js +3 -3
  566. package/lib/utilities/TimeFormat.js +21 -20
  567. package/lib/utilities/Truncate.js +17 -25
  568. package/lib/utilities/edgesMath.js +14 -15
  569. package/lib/utilities/i18n.js +3 -3
  570. package/lib/utilities/kql.js +12 -14
  571. package/lib/utilities/map/icons.js +3 -3
  572. package/lib/utilities/polylinedecorator.js +87 -112
  573. package/lib/utilities/scoreToData.js +17 -17
  574. package/lib/utilities/scoreToData.test.js +5 -5
  575. package/lib/utilities/time.js +8 -8
  576. package/lib/utilities/uploadToS3.js +11 -11
  577. package/lib/utilities/urls.js +61 -59
  578. package/package.json +1 -1
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.List = void 0;
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
10
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
11
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
12
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
9
  var _react = _interopRequireWildcard(require("react"));
14
10
  var _theme = require("styles/theme/theme");
@@ -24,37 +20,39 @@ var _DischargePattern = require("../SitePage/DischargePattern/DischargePattern")
24
20
  var _QualitySummary = require("Widgets/QualitySummary/QualitySummary");
25
21
  var _LineChart = require("pages/AreaPage/Dashboard/LineChart/LineChart");
26
22
  var _WWTPDashboardSlice = require("store/WWTPDashboard/WWTPDashboardSlice");
27
- 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); }
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
29
- var List = function List(props) {
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ const List = props => {
30
26
  var _WWTPInfo$point, _WWTPInfo$point2;
31
- var ReduxState = (0, _reactRedux.useSelector)(function (state) {
32
- return state;
33
- });
34
- var areas_data = ReduxState.areas_data,
35
- points_data = ReduxState.points_data;
36
- var dispatch = (0, _reactRedux.useDispatch)();
37
- var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
38
- selectedItem = _useSelectedItem.selectedItem,
39
- handleSelectItem = _useSelectedItem.handleSelectItem;
40
- var WWTPInfo = props.WWTPInfo;
41
- var _useSelector = (0, _reactRedux.useSelector)(function (state) {
42
- return state.wwtp_dashboard;
43
- }),
44
- focusedArea = _useSelector.focusedArea,
45
- map = _useSelector.map;
46
- var selectedRef = (0, _react.useRef)(null);
47
- var siteID = (_WWTPInfo$point = WWTPInfo.point) === null || _WWTPInfo$point === void 0 ? void 0 : _WWTPInfo$point.id;
48
- var handleItemClick = function handleItemClick(item) {
27
+ const ReduxState = (0, _reactRedux.useSelector)(state => state);
28
+ const {
29
+ areas_data,
30
+ points_data
31
+ } = ReduxState;
32
+ const dispatch = (0, _reactRedux.useDispatch)();
33
+ const {
34
+ selectedItem,
35
+ handleSelectItem
36
+ } = (0, _ListContext.useSelectedItem)();
37
+ const {
38
+ WWTPInfo
39
+ } = props;
40
+ const {
41
+ focusedArea,
42
+ map
43
+ } = (0, _reactRedux.useSelector)(state => state.wwtp_dashboard);
44
+ const selectedRef = (0, _react.useRef)(null);
45
+ const siteID = (_WWTPInfo$point = WWTPInfo.point) === null || _WWTPInfo$point === void 0 ? void 0 : _WWTPInfo$point.id;
46
+ const handleItemClick = item => {
49
47
  handleSelectItem(item);
50
48
  };
51
- var noDataMessage = _i18n.default.t('wwtpPage.no_data_for_site');
52
- var listDetails = (0, _react.useMemo)(function () {
49
+ const noDataMessage = _i18n.default.t('wwtpPage.no_data_for_site');
50
+ let listDetails = (0, _react.useMemo)(() => {
53
51
  var _focusedArea$sub_area, _focusedArea$sub_area2;
54
52
  if (!siteID && !focusedArea) {
55
53
  return;
56
54
  }
57
- var is_no_areas = focusedArea && (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.forWWTPMap) === true && siteID !== undefined && ((_focusedArea$sub_area = focusedArea.sub_areas) === null || _focusedArea$sub_area === void 0 ? void 0 : _focusedArea$sub_area.length) === 0;
55
+ const is_no_areas = focusedArea && (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.forWWTPMap) === true && siteID !== undefined && ((_focusedArea$sub_area = focusedArea.sub_areas) === null || _focusedArea$sub_area === void 0 ? void 0 : _focusedArea$sub_area.length) === 0;
58
56
  if (is_no_areas) {
59
57
  if (
60
58
  // focusedArea?.clicked === undefined ||
@@ -62,105 +60,78 @@ var List = function List(props) {
62
60
  return /*#__PURE__*/_react.default.createElement(ListContainer, null, /*#__PURE__*/_react.default.createElement(ErrorMessage, null, noDataMessage));
63
61
  } else {
64
62
  return /*#__PURE__*/_react.default.createElement(ListContainer, null, /*#__PURE__*/_react.default.createElement(SummaryComponent, {
65
- endpoint: "/data/events-component-data/".concat(siteID),
63
+ endpoint: `/data/events-component-data/${siteID}`,
66
64
  className: "summary-component"
67
65
  }), /*#__PURE__*/_react.default.createElement(LineChartComponent, {
68
66
  title: _i18n.default.t('area_dashboard.trend'),
69
- endpoint: "/points/".concat(siteID, "/trend-graph")
67
+ endpoint: `/points/${siteID}/trend-graph`
70
68
  }), /*#__PURE__*/_react.default.createElement(_DischargePattern.DischargePattern, {
71
69
  siteID: Number(siteID)
72
70
  }));
73
71
  }
74
72
  }
75
73
  if (focusedArea && (focusedArea === null || focusedArea === void 0 ? void 0 : (_focusedArea$sub_area2 = focusedArea.sub_areas) === null || _focusedArea$sub_area2 === void 0 ? void 0 : _focusedArea$sub_area2.length) > 0) {
76
- return focusedArea.sub_areas && (0, _utils.sortAreas)(focusedArea.sub_areas).filter(Boolean).map(function (area) {
77
- return /*#__PURE__*/_react.default.createElement(_AreaCard.AreaCard, {
78
- key: area.area_id,
79
- object: area,
80
- mapRef: map,
81
- onClick: function onClick() {
82
- return handleItemClick(area.area_id);
83
- },
84
- selected: selectedItem === area.area_id,
85
- itemRef: selectedItem === area.area_id ? selectedRef : null
86
- });
87
- });
74
+ return focusedArea.sub_areas && (0, _utils.sortAreas)(focusedArea.sub_areas).filter(Boolean).map(area => /*#__PURE__*/_react.default.createElement(_AreaCard.AreaCard, {
75
+ key: area.area_id,
76
+ object: area,
77
+ mapRef: map,
78
+ onClick: () => handleItemClick(area.area_id),
79
+ selected: selectedItem === area.area_id,
80
+ itemRef: selectedItem === area.area_id ? selectedRef : null
81
+ }));
88
82
  } else {
89
83
  if (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.factories) {
90
- return (0, _utils.sortPoints)(focusedArea.factories).filter(Boolean).map(function (factory) {
91
- return /*#__PURE__*/_react.default.createElement(_FactoryCard.FactoryCard, {
92
- key: factory.id,
93
- object: factory,
94
- mapRef: map,
95
- onClick: function onClick() {
96
- return handleItemClick(factory.id);
97
- },
98
- selected: selectedItem === factory.id,
99
- itemRef: selectedItem === factory.id ? selectedRef : null
100
- });
101
- });
84
+ return (0, _utils.sortPoints)(focusedArea.factories).filter(Boolean).map(factory => /*#__PURE__*/_react.default.createElement(_FactoryCard.FactoryCard, {
85
+ key: factory.id,
86
+ object: factory,
87
+ mapRef: map,
88
+ onClick: () => handleItemClick(factory.id),
89
+ selected: selectedItem === factory.id,
90
+ itemRef: selectedItem === factory.id ? selectedRef : null
91
+ }));
102
92
  }
103
93
  }
104
94
  }, [selectedItem, siteID, focusedArea]);
105
95
 
106
96
  // Update the list only if the score of at least one of the sub-areas has changed
107
- (0, _react.useEffect)(function () {
97
+ (0, _react.useEffect)(() => {
108
98
  if (focusedArea && focusedArea.sub_areas && focusedArea.sub_areas.length > 0 && (areas_data === null || areas_data === void 0 ? void 0 : areas_data.isFetching) === false) {
109
- var subAreasChanged = areasScoreChangedById(focusedArea.sub_areas, areas_data.newAreas);
99
+ const subAreasChanged = areasScoreChangedById(focusedArea.sub_areas, areas_data.newAreas);
110
100
  if (!subAreasChanged) return;
111
- var focusedAreaWithUpdatedSubAreas = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, focusedArea), {}, {
101
+ const focusedAreaWithUpdatedSubAreas = {
102
+ ...focusedArea,
112
103
  sub_areas: getUpdatedAreasById(focusedArea.sub_areas, areas_data.newAreas)
113
- });
104
+ };
114
105
  dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedAreaWithUpdatedSubAreas));
115
106
  }
116
107
  }, [areas_data]);
117
- (0, _react.useEffect)(function () {
108
+ (0, _react.useEffect)(() => {
118
109
  if (!focusedArea || !focusedArea.factories || focusedArea.factories.length === 0) return;
119
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, focusedArea), {}, {
110
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)({
111
+ ...focusedArea,
120
112
  factories: (0, _utils.getPoints)(focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.factories, points_data.items)
121
- })));
113
+ }));
122
114
  }, [points_data]);
123
- var areasScoreChangedById = function areasScoreChangedById(arr1, arr2) {
115
+ const areasScoreChangedById = (arr1, arr2) => {
124
116
  // go over the 1st array
125
- var _iterator = (0, _createForOfIteratorHelper2.default)(arr1),
126
- _step;
127
- try {
128
- var _loop = function _loop() {
129
- var item1 = _step.value;
130
- // Find the object with the same id in the second array
131
- var matchingItem = arr2.find(function (item2) {
132
- return item2.area_id === item1.area_id;
133
- });
117
+ for (let item1 of arr1) {
118
+ // Find the object with the same id in the second array
119
+ let matchingItem = arr2.find(item2 => item2.area_id === item1.area_id);
134
120
 
135
- // Return true if one matching item is found in the second array and their scores changed
136
- if (matchingItem && item1.area_score !== matchingItem.area_score) {
137
- return {
138
- v: true
139
- };
140
- }
141
- };
142
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
143
- var _ret = _loop();
144
- if ((0, _typeof2.default)(_ret) === "object") return _ret.v;
121
+ // Return true if one matching item is found in the second array and their scores changed
122
+ if (matchingItem && item1.area_score !== matchingItem.area_score) {
123
+ return true;
145
124
  }
146
-
147
- // If all items matched and had the same score, return false
148
- } catch (err) {
149
- _iterator.e(err);
150
- } finally {
151
- _iterator.f();
152
125
  }
126
+
127
+ // If all items matched and had the same score, return false
153
128
  return false;
154
129
  };
155
- var getUpdatedAreasById = function getUpdatedAreasById(array1, array2) {
156
- var updatedArray = array2.filter(function (obj2) {
157
- return array1.some(function (obj1) {
158
- return obj1.area_id === obj2.area_id;
159
- });
160
- });
130
+ const getUpdatedAreasById = (array1, array2) => {
131
+ const updatedArray = array2.filter(obj2 => array1.some(obj1 => obj1.area_id === obj2.area_id));
161
132
  return (updatedArray === null || updatedArray === void 0 ? void 0 : updatedArray.length) > 0 ? updatedArray : array1;
162
133
  };
163
- (0, _react.useEffect)(function () {
134
+ (0, _react.useEffect)(() => {
164
135
  var _selectedRef$current;
165
136
  (_selectedRef$current = selectedRef.current) === null || _selectedRef$current === void 0 ? void 0 : _selectedRef$current.scrollIntoView({
166
137
  behavior: 'smooth',
@@ -188,24 +159,24 @@ var List = function List(props) {
188
159
  }, listDetails));
189
160
  };
190
161
  exports.List = List;
191
- var WWTPDetails = _styledComponents.default.div.withConfig({
162
+ const WWTPDetails = _styledComponents.default.div.withConfig({
192
163
  displayName: "List__WWTPDetails",
193
164
  componentId: "sc-1f5wz2c-0"
194
165
  })(["width:100%;height:calc(100vh - 134px);background:", ";"], _theme.theme.WWTPMap.bg);
195
- var SummaryComponent = (0, _styledComponents.default)(_QualitySummary.QualitySummary).withConfig({
166
+ const SummaryComponent = (0, _styledComponents.default)(_QualitySummary.QualitySummary).withConfig({
196
167
  displayName: "List__SummaryComponent",
197
168
  componentId: "sc-1f5wz2c-1"
198
169
  })(["grid-area:summary;summary-component{background-color:blue;}"]);
199
- var LineChartComponent = (0, _styledComponents.default)(_LineChart.LineChart).withConfig({
170
+ const LineChartComponent = (0, _styledComponents.default)(_LineChart.LineChart).withConfig({
200
171
  displayName: "List__LineChartComponent",
201
172
  componentId: "sc-1f5wz2c-2"
202
173
  })(["grid-area:graph;"]);
203
- var ListContainer = _styledComponents.default.div.withConfig({
174
+ const ListContainer = _styledComponents.default.div.withConfig({
204
175
  displayName: "List__ListContainer",
205
176
  componentId: "sc-1f5wz2c-3"
206
177
  })(["display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:20px;gap:30px;"]);
207
- var ErrorMessage = _styledComponents.default.div.withConfig({
178
+ const ErrorMessage = _styledComponents.default.div.withConfig({
208
179
  displayName: "List__ErrorMessage",
209
180
  componentId: "sc-1f5wz2c-4"
210
181
  })(["display:flex;height:100%;font-size:20px;justify-content:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;padding:20px;"]);
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTGlzdCIsInByb3BzIiwiX1dXVFBJbmZvJHBvaW50IiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiYXJlYXNfZGF0YSIsInBvaW50c19kYXRhIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiV1dUUEluZm8iLCJfdXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImZvY3VzZWRBcmVhIiwibWFwIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsImxpc3REZXRhaWxzIiwidXNlTWVtbyIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYSIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYTIiLCJpc19ub19hcmVhcyIsImZvcldXVFBNYXAiLCJ1bmRlZmluZWQiLCJzdWJfYXJlYXMiLCJsZW5ndGgiLCJoYXNfZGV2aWNlIiwiY3JlYXRlRWxlbWVudCIsIkxpc3RDb250YWluZXIiLCJFcnJvck1lc3NhZ2UiLCJTdW1tYXJ5Q29tcG9uZW50IiwiZW5kcG9pbnQiLCJjb25jYXQiLCJjbGFzc05hbWUiLCJMaW5lQ2hhcnRDb21wb25lbnQiLCJ0aXRsZSIsIkRpc2NoYXJnZVBhdHRlcm4iLCJOdW1iZXIiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYSIsIkFyZWFDYXJkIiwiYXJlYV9pZCIsIm9iamVjdCIsIm1hcFJlZiIsIm9uQ2xpY2siLCJzZWxlY3RlZCIsIml0ZW1SZWYiLCJmYWN0b3JpZXMiLCJzb3J0UG9pbnRzIiwiZmFjdG9yeSIsIkZhY3RvcnlDYXJkIiwidXNlRWZmZWN0IiwiaXNGZXRjaGluZyIsInN1YkFyZWFzQ2hhbmdlZCIsImFyZWFzU2NvcmVDaGFuZ2VkQnlJZCIsIm5ld0FyZWFzIiwiZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJnZXRVcGRhdGVkQXJlYXNCeUlkIiwic2V0Rm9jdXNlZEFyZWEiLCJnZXRQb2ludHMiLCJpdGVtcyIsImFycjEiLCJhcnIyIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJfbG9vcCIsIml0ZW0xIiwidmFsdWUiLCJtYXRjaGluZ0l0ZW0iLCJmaW5kIiwiaXRlbTIiLCJhcmVhX3Njb3JlIiwidiIsInMiLCJuIiwiZG9uZSIsIl9yZXQiLCJfdHlwZW9mMiIsImVyciIsImUiLCJmIiwiYXJyYXkxIiwiYXJyYXkyIiwidXBkYXRlZEFycmF5Iiwib2JqMiIsInNvbWUiLCJvYmoxIiwiX3NlbGVjdGVkUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaW5saW5lIiwiZ3JvdXAiLCJ0eXBlIiwiY2xpY2tlZCIsIldXVFBEZXRhaWxzIiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJ0aGVtZSIsIldXVFBNYXAiLCJiZyIsIlF1YWxpdHlTdW1tYXJ5IiwiTGluZUNoYXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBnZXRQb2ludHMsIHNvcnRQb2ludHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEFyZWFDYXJkIH0gZnJvbSAnLi9BcmVhQ2FyZCc7XG5pbXBvcnQgeyBGYWN0b3J5Q2FyZCB9IGZyb20gJy4vRmFjdG9yeUNhcmQnO1xuaW1wb3J0IE9yZ2FuaWNDYXJkIGZyb20gJy4uL1d3dHBQYWdlL09yZ2FuaWNDYXJkJztcbmltcG9ydCBJbXBhY3RDYXJkIGZyb20gJy4uL1d3dHBQYWdlL1BvdGVudGlhbFNhdmluZyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBEaXNjaGFyZ2VQYXR0ZXJuIH0gZnJvbSAnLi4vU2l0ZVBhZ2UvRGlzY2hhcmdlUGF0dGVybi9EaXNjaGFyZ2VQYXR0ZXJuJztcbmltcG9ydCB7IFF1YWxpdHlTdW1tYXJ5IH0gZnJvbSAnc3JjL1dpZGdldHMvUXVhbGl0eVN1bW1hcnkvUXVhbGl0eVN1bW1hcnknO1xuaW1wb3J0IHsgTGluZUNoYXJ0IH0gZnJvbSAnc3JjL3BhZ2VzL0FyZWFQYWdlL0Rhc2hib2FyZC9MaW5lQ2hhcnQvTGluZUNoYXJ0JztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIFdXVFBJbmZvOiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEgfSA9IFJlZHV4U3RhdGU7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0sIGhhbmRsZVNlbGVjdEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCB7IFdXVFBJbmZvIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkQXJlYSwgbWFwIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZCxcbiAgKTtcbiAgY29uc3Qgc2VsZWN0ZWRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHNpdGVJRCA9IFdXVFBJbmZvLnBvaW50Py5pZDtcblxuICBjb25zdCBoYW5kbGVJdGVtQ2xpY2sgPSAoaXRlbSkgPT4ge1xuICAgIGhhbmRsZVNlbGVjdEl0ZW0oaXRlbSk7XG4gIH07XG5cbiAgY29uc3Qgbm9EYXRhTWVzc2FnZSA9IGkxOG4udCgnd3d0cFBhZ2Uubm9fZGF0YV9mb3Jfc2l0ZScpO1xuXG4gIGxldCBsaXN0RGV0YWlscyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc2l0ZUlEICYmICFmb2N1c2VkQXJlYSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzX25vX2FyZWFzID1cbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYT8uZm9yV1dUUE1hcCA9PT0gdHJ1ZSAmJlxuICAgICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcz8ubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKGlzX25vX2FyZWFzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIGZvY3VzZWRBcmVhPy5jbGlja2VkID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgZm9jdXNlZEFyZWE/Lmhhc19kZXZpY2UgPT09IGZhbHNlIHx8XG4gICAgICAgICFzaXRlSURcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPEVycm9yTWVzc2FnZT57bm9EYXRhTWVzc2FnZX08L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPFN1bW1hcnlDb21wb25lbnRcbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvZGF0YS9ldmVudHMtY29tcG9uZW50LWRhdGEvJHtzaXRlSUR9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3VtbWFyeS1jb21wb25lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMaW5lQ2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnYXJlYV9kYXNoYm9hcmQudHJlbmQnKX1cbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvcG9pbnRzLyR7c2l0ZUlEfS90cmVuZC1ncmFwaGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPERpc2NoYXJnZVBhdHRlcm4gc2l0ZUlEPXtOdW1iZXIoc2l0ZUlEKX0gLz5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZvY3VzZWRBcmVhICYmIGZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAgICAgICBzb3J0QXJlYXMoZm9jdXNlZEFyZWEuc3ViX2FyZWFzKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBvYmplY3Q9e2FyZWF9XG4gICAgICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVJdGVtQ2xpY2soYXJlYS5hcmVhX2lkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gYXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmb2N1c2VkQXJlYT8uZmFjdG9yaWVzKSB7XG4gICAgICAgIHJldHVybiBzb3J0UG9pbnRzKGZvY3VzZWRBcmVhLmZhY3RvcmllcylcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgLm1hcCgoZmFjdG9yeSkgPT4gKFxuICAgICAgICAgICAgPEZhY3RvcnlDYXJkXG4gICAgICAgICAgICAgIGtleT17ZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgb2JqZWN0PXtmYWN0b3J5fVxuICAgICAgICAgICAgICBtYXBSZWY9e21hcH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlSXRlbUNsaWNrKGZhY3RvcnkuaWQpfVxuICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGZhY3RvcnkuaWQgPyBzZWxlY3RlZFJlZiA6IG51bGx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3NlbGVjdGVkSXRlbSwgc2l0ZUlELCBmb2N1c2VkQXJlYV0pO1xuXG4gIC8vIFVwZGF0ZSB0aGUgbGlzdCBvbmx5IGlmIHRoZSBzY29yZSBvZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHN1Yi1hcmVhcyBoYXMgY2hhbmdlZFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwICYmXG4gICAgICBhcmVhc19kYXRhPy5pc0ZldGNoaW5nID09PSBmYWxzZVxuICAgICkge1xuICAgICAgY29uc3Qgc3ViQXJlYXNDaGFuZ2VkID0gYXJlYXNTY29yZUNoYW5nZWRCeUlkKFxuICAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMsXG4gICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gICAgICApO1xuICAgICAgaWYgKCFzdWJBcmVhc0NoYW5nZWQpIHJldHVybjtcblxuICAgICAgY29uc3QgZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzID0ge1xuICAgICAgICAuLi5mb2N1c2VkQXJlYSxcbiAgICAgICAgc3ViX2FyZWFzOiBnZXRVcGRhdGVkQXJlYXNCeUlkKFxuICAgICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgICAgICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLFxuICAgICAgICApLFxuICAgICAgfTtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcykpO1xuICAgIH1cbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFmb2N1c2VkQXJlYSB8fFxuICAgICAgIWZvY3VzZWRBcmVhLmZhY3RvcmllcyB8fFxuICAgICAgZm9jdXNlZEFyZWEuZmFjdG9yaWVzLmxlbmd0aCA9PT0gMFxuICAgIClcbiAgICAgIHJldHVybjtcblxuICAgIGRpc3BhdGNoKFxuICAgICAgc2V0Rm9jdXNlZEFyZWEoe1xuICAgICAgICAuLi5mb2N1c2VkQXJlYSxcbiAgICAgICAgZmFjdG9yaWVzOiBnZXRQb2ludHMoZm9jdXNlZEFyZWE/LmZhY3RvcmllcywgcG9pbnRzX2RhdGEuaXRlbXMpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfSwgW3BvaW50c19kYXRhXSk7XG5cbiAgY29uc3QgYXJlYXNTY29yZUNoYW5nZWRCeUlkID0gKGFycjEsIGFycjIpID0+IHtcbiAgICAvLyBnbyBvdmVyIHRoZSAxc3QgYXJyYXlcbiAgICBmb3IgKGxldCBpdGVtMSBvZiBhcnIxKSB7XG4gICAgICAvLyBGaW5kIHRoZSBvYmplY3Qgd2l0aCB0aGUgc2FtZSBpZCBpbiB0aGUgc2Vjb25kIGFycmF5XG4gICAgICBsZXQgbWF0Y2hpbmdJdGVtID0gYXJyMi5maW5kKChpdGVtMikgPT4gaXRlbTIuYXJlYV9pZCA9PT0gaXRlbTEuYXJlYV9pZCk7XG5cbiAgICAgIC8vIFJldHVybiB0cnVlIGlmIG9uZSBtYXRjaGluZyBpdGVtIGlzIGZvdW5kIGluIHRoZSBzZWNvbmQgYXJyYXkgYW5kIHRoZWlyIHNjb3JlcyBjaGFuZ2VkXG4gICAgICBpZiAobWF0Y2hpbmdJdGVtICYmIGl0ZW0xLmFyZWFfc2NvcmUgIT09IG1hdGNoaW5nSXRlbS5hcmVhX3Njb3JlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGFsbCBpdGVtcyBtYXRjaGVkIGFuZCBoYWQgdGhlIHNhbWUgc2NvcmUsIHJldHVybiBmYWxzZVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBnZXRVcGRhdGVkQXJlYXNCeUlkID0gKGFycmF5MSwgYXJyYXkyKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlZEFycmF5ID0gYXJyYXkyLmZpbHRlcigob2JqMikgPT5cbiAgICAgIGFycmF5MS5zb21lKChvYmoxKSA9PiBvYmoxLmFyZWFfaWQgPT09IG9iajIuYXJlYV9pZCksXG4gICAgKTtcblxuICAgIHJldHVybiB1cGRhdGVkQXJyYXk/Lmxlbmd0aCA+IDAgPyB1cGRhdGVkQXJyYXkgOiBhcnJheTE7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWxlY3RlZFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICBpbmxpbmU6ICdjZW50ZXInLFxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgaWYgKFxuICAgIGZvY3VzZWRBcmVhPy5ncm91cCAmJlxuICAgIGZvY3VzZWRBcmVhLmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgJiZcbiAgICBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkXG4gIClcbiAgICByZXR1cm4gKFxuICAgICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgICAgPGgzPntXV1RQSW5mby5wb2ludD8ubmFtZX08L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBteS00J30+XG4gICAgICAgICAgPE9yZ2FuaWNDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBtdC0yJ30+XG4gICAgICAgICAgPEltcGFjdENhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1dXVFBEZXRhaWxzPlxuICAgICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgPGgzPntmb2N1c2VkQXJlYT8uYXJlYV9uYW1lIHx8IGZvY3VzZWRBcmVhPy5uYW1lfTwvaDM+XG4gICAgICA8dWwgY2xhc3NOYW1lPXsnbXgtbjMnfT57bGlzdERldGFpbHN9PC91bD5cbiAgICA8L1dXVFBEZXRhaWxzPlxuICApO1xufTtcblxuY29uc3QgV1dUUERldGFpbHMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICBiYWNrZ3JvdW5kOiAke3RoZW1lLldXVFBNYXAuYmd9O1xuYDtcblxuY29uc3QgU3VtbWFyeUNvbXBvbmVudCA9IHN0eWxlZChRdWFsaXR5U3VtbWFyeSlgXG4gIGdyaWQtYXJlYTogc3VtbWFyeTtcblxuICBzdW1tYXJ5LWNvbXBvbmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuYDtcblxuY29uc3QgTGluZUNoYXJ0Q29tcG9uZW50ID0gc3R5bGVkKExpbmVDaGFydClgXG4gIGdyaWQtYXJlYTogZ3JhcGg7XG5gO1xuXG5jb25zdCBMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGdhcDogMzBweDtcbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZWJlYmViO1xuICBwYWRkaW5nOiAyMHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBQyxzQkFBQSxDQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFXLGlCQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxlQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxtQkFBQSxHQUFBZCxPQUFBO0FBQTRFLFNBQUFlLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBakIsd0JBQUFxQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsUUFBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBUXJFLElBQU1XLElBQXNCLEdBQUcsU0FBekJBLElBQXNCQSxDQUFJQyxLQUFLLEVBQUs7RUFBQSxJQUFBQyxlQUFBLEVBQUFDLGdCQUFBO0VBQy9DLElBQU1DLFVBQVUsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLFVBQUNDLEtBQUs7SUFBQSxPQUFLQSxLQUFLO0VBQUEsRUFBQztFQUNoRCxJQUFRQyxVQUFVLEdBQWtCSCxVQUFVLENBQXRDRyxVQUFVO0lBQUVDLFdBQVcsR0FBS0osVUFBVSxDQUExQkksV0FBVztFQUMvQixJQUFNQyxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxDQUFDO0VBQzlCLElBQUFDLGdCQUFBLEdBQTJDLElBQUFDLDRCQUFlLEVBQUMsQ0FBQztJQUFwREMsWUFBWSxHQUFBRixnQkFBQSxDQUFaRSxZQUFZO0lBQUVDLGdCQUFnQixHQUFBSCxnQkFBQSxDQUFoQkcsZ0JBQWdCO0VBQ3RDLElBQVFDLFFBQVEsR0FBS2QsS0FBSyxDQUFsQmMsUUFBUTtFQUNoQixJQUFBQyxZQUFBLEdBQTZCLElBQUFYLHVCQUFXLEVBQ3RDLFVBQUNDLEtBQW9DO01BQUEsT0FBS0EsS0FBSyxDQUFDVyxjQUFjO0lBQUEsQ0FDaEUsQ0FBQztJQUZPQyxXQUFXLEdBQUFGLFlBQUEsQ0FBWEUsV0FBVztJQUFFQyxHQUFHLEdBQUFILFlBQUEsQ0FBSEcsR0FBRztFQUd4QixJQUFNQyxXQUFXLEdBQUcsSUFBQUMsYUFBTSxFQUFDLElBQUksQ0FBQztFQUNoQyxJQUFNQyxNQUFNLElBQUFwQixlQUFBLEdBQUdhLFFBQVEsQ0FBQ1EsS0FBSyxjQUFBckIsZUFBQSx1QkFBZEEsZUFBQSxDQUFnQnNCLEVBQUU7RUFFakMsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJQyxJQUFJLEVBQUs7SUFDaENaLGdCQUFnQixDQUFDWSxJQUFJLENBQUM7RUFDeEIsQ0FBQztFQUVELElBQU1DLGFBQWEsR0FBR0MsYUFBSSxDQUFDQyxDQUFDLENBQUMsMkJBQTJCLENBQUM7RUFFekQsSUFBSUMsV0FBVyxHQUFHLElBQUFDLGNBQU8sRUFBQyxZQUFNO0lBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7SUFDOUIsSUFBSSxDQUFDWCxNQUFNLElBQUksQ0FBQ0osV0FBVyxFQUFFO01BQzNCO0lBQ0Y7SUFFQSxJQUFNZ0IsV0FBVyxHQUNmaEIsV0FBVyxJQUNYLENBQUFBLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFaUIsVUFBVSxNQUFLLElBQUksSUFDaENiLE1BQU0sS0FBS2MsU0FBUyxJQUNwQixFQUFBSixxQkFBQSxHQUFBZCxXQUFXLENBQUNtQixTQUFTLGNBQUFMLHFCQUFBLHVCQUFyQkEscUJBQUEsQ0FBdUJNLE1BQU0sTUFBSyxDQUFDO0lBRXJDLElBQUlKLFdBQVcsRUFBRTtNQUNmO01BQ0U7TUFDQSxDQUFBaEIsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVxQixVQUFVLE1BQUssS0FBSyxJQUNqQyxDQUFDakIsTUFBTSxFQUNQO1FBQ0Esb0JBQ0U5RCxNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBLENBQUNDLGFBQWEscUJBQ1pqRixNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBLENBQUNFLFlBQVksUUFBRWYsYUFBNEIsQ0FDOUIsQ0FBQztNQUVwQixDQUFDLE1BQU07UUFDTCxvQkFDRW5FLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUEsQ0FBQ0MsYUFBYSxxQkFDWmpGLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUEsQ0FBQ0csZ0JBQWdCO1VBQ2ZDLFFBQVEsaUNBQUFDLE1BQUEsQ0FBaUN2QixNQUFNLENBQUc7VUFDbER3QixTQUFTLEVBQUM7UUFBbUIsQ0FDOUIsQ0FBQyxlQUNGdEYsTUFBQSxDQUFBeUIsT0FBQSxDQUFBdUQsYUFBQSxDQUFDTyxrQkFBa0I7VUFDakJDLEtBQUssRUFBRXBCLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLHNCQUFzQixDQUFFO1VBQ3RDZSxRQUFRLGFBQUFDLE1BQUEsQ0FBYXZCLE1BQU07UUFBZSxDQUMzQyxDQUFDLGVBQ0Y5RCxNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBLENBQUNuRSxpQkFBQSxDQUFBNEUsZ0JBQWdCO1VBQUMzQixNQUFNLEVBQUU0QixNQUFNLENBQUM1QixNQUFNO1FBQUUsQ0FBRSxDQUM5QixDQUFDO01BRXBCO0lBQ0Y7SUFFQSxJQUFJSixXQUFXLElBQUksQ0FBQUEsV0FBVyxhQUFYQSxXQUFXLHdCQUFBZSxzQkFBQSxHQUFYZixXQUFXLENBQUVtQixTQUFTLGNBQUFKLHNCQUFBLHVCQUF0QkEsc0JBQUEsQ0FBd0JLLE1BQU0sSUFBRyxDQUFDLEVBQUU7TUFDckQsT0FDRXBCLFdBQVcsQ0FBQ21CLFNBQVMsSUFDckIsSUFBQWMsZ0JBQVMsRUFBQ2pDLFdBQVcsQ0FBQ21CLFNBQVMsQ0FBQyxDQUM3QmUsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FDZmxDLEdBQUcsQ0FBQyxVQUFDbUMsSUFBVztRQUFBLG9CQUNmOUYsTUFBQSxDQUFBeUIsT0FBQSxDQUFBdUQsYUFBQSxDQUFDMUUsU0FBQSxDQUFBeUYsUUFBUTtVQUNQN0QsR0FBRyxFQUFFNEQsSUFBSSxDQUFDRSxPQUFRO1VBQ2xCQyxNQUFNLEVBQUVILElBQUs7VUFDYkksTUFBTSxFQUFFdkMsR0FBSTtVQUNad0MsT0FBTyxFQUFFLFNBQUFBLFFBQUE7WUFBQSxPQUFNbEMsZUFBZSxDQUFDNkIsSUFBSSxDQUFDRSxPQUFPLENBQUM7VUFBQSxDQUFDO1VBQzdDSSxRQUFRLEVBQUUvQyxZQUFZLEtBQUt5QyxJQUFJLENBQUNFLE9BQVE7VUFDeENLLE9BQU8sRUFBRWhELFlBQVksS0FBS3lDLElBQUksQ0FBQ0UsT0FBTyxHQUFHcEMsV0FBVyxHQUFHO1FBQUssQ0FDN0QsQ0FBQztNQUFBLENBQ0gsQ0FBQztJQUVSLENBQUMsTUFBTTtNQUNMLElBQUlGLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFNEMsU0FBUyxFQUFFO1FBQzFCLE9BQU8sSUFBQUMsaUJBQVUsRUFBQzdDLFdBQVcsQ0FBQzRDLFNBQVMsQ0FBQyxDQUNyQ1YsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FDZmxDLEdBQUcsQ0FBQyxVQUFDNkMsT0FBTztVQUFBLG9CQUNYeEcsTUFBQSxDQUFBeUIsT0FBQSxDQUFBdUQsYUFBQSxDQUFDekUsWUFBQSxDQUFBa0csV0FBVztZQUNWdkUsR0FBRyxFQUFFc0UsT0FBTyxDQUFDeEMsRUFBRztZQUNoQmlDLE1BQU0sRUFBRU8sT0FBUTtZQUNoQk4sTUFBTSxFQUFFdkMsR0FBSTtZQUNad0MsT0FBTyxFQUFFLFNBQUFBLFFBQUE7Y0FBQSxPQUFNbEMsZUFBZSxDQUFDdUMsT0FBTyxDQUFDeEMsRUFBRSxDQUFDO1lBQUEsQ0FBQztZQUMzQ29DLFFBQVEsRUFBRS9DLFlBQVksS0FBS21ELE9BQU8sQ0FBQ3hDLEVBQUc7WUFDdENxQyxPQUFPLEVBQUVoRCxZQUFZLEtBQUttRCxPQUFPLENBQUN4QyxFQUFFLEdBQUdKLFdBQVcsR0FBRztVQUFLLENBQzNELENBQUM7UUFBQSxDQUNILENBQUM7TUFDTjtJQUNGO0VBQ0YsQ0FBQyxFQUFFLENBQUNQLFlBQVksRUFBRVMsTUFBTSxFQUFFSixXQUFXLENBQUMsQ0FBQzs7RUFFdkM7RUFDQSxJQUFBZ0QsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFDRWhELFdBQVcsSUFDWEEsV0FBVyxDQUFDbUIsU0FBUyxJQUNyQm5CLFdBQVcsQ0FBQ21CLFNBQVMsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsSUFDaEMsQ0FBQS9CLFVBQVUsYUFBVkEsVUFBVSx1QkFBVkEsVUFBVSxDQUFFNEQsVUFBVSxNQUFLLEtBQUssRUFDaEM7TUFDQSxJQUFNQyxlQUFlLEdBQUdDLHFCQUFxQixDQUMzQ25ELFdBQVcsQ0FBQ21CLFNBQVMsRUFDckI5QixVQUFVLENBQUMrRCxRQUNiLENBQUM7TUFDRCxJQUFJLENBQUNGLGVBQWUsRUFBRTtNQUV0QixJQUFNRyw4QkFBOEIsT0FBQUMsY0FBQSxDQUFBdkYsT0FBQSxNQUFBdUYsY0FBQSxDQUFBdkYsT0FBQSxNQUMvQmlDLFdBQVc7UUFDZG1CLFNBQVMsRUFBRW9DLG1CQUFtQixDQUM1QnZELFdBQVcsQ0FBQ21CLFNBQVMsRUFDckI5QixVQUFVLENBQUMrRCxRQUNiO01BQUMsRUFDRjtNQUNEN0QsUUFBUSxDQUFDLElBQUFpRSxrQ0FBYyxFQUFDSCw4QkFBOEIsQ0FBQyxDQUFDO0lBQzFEO0VBQ0YsQ0FBQyxFQUFFLENBQUNoRSxVQUFVLENBQUMsQ0FBQztFQUVoQixJQUFBMkQsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFDRSxDQUFDaEQsV0FBVyxJQUNaLENBQUNBLFdBQVcsQ0FBQzRDLFNBQVMsSUFDdEI1QyxXQUFXLENBQUM0QyxTQUFTLENBQUN4QixNQUFNLEtBQUssQ0FBQyxFQUVsQztJQUVGN0IsUUFBUSxDQUNOLElBQUFpRSxrQ0FBYyxNQUFBRixjQUFBLENBQUF2RixPQUFBLE1BQUF1RixjQUFBLENBQUF2RixPQUFBLE1BQ1RpQyxXQUFXO01BQ2Q0QyxTQUFTLEVBQUUsSUFBQWEsZ0JBQVMsRUFBQ3pELFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFNEMsU0FBUyxFQUFFdEQsV0FBVyxDQUFDb0UsS0FBSztJQUFDLEVBQ2hFLENBQ0gsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDcEUsV0FBVyxDQUFDLENBQUM7RUFFakIsSUFBTTZELHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlRLElBQUksRUFBRUMsSUFBSSxFQUFLO0lBQzVDO0lBQUEsSUFBQUMsU0FBQSxPQUFBQywyQkFBQSxDQUFBL0YsT0FBQSxFQUNrQjRGLElBQUk7TUFBQUksS0FBQTtJQUFBO01BQUEsSUFBQUMsS0FBQSxZQUFBQSxNQUFBO1FBQUEsSUFBYkMsS0FBSyxHQUFBRixLQUFBLENBQUFHLEtBQUE7UUFDWjtRQUNBLElBQUlDLFlBQVksR0FBR1AsSUFBSSxDQUFDUSxJQUFJLENBQUMsVUFBQ0MsS0FBSztVQUFBLE9BQUtBLEtBQUssQ0FBQy9CLE9BQU8sS0FBSzJCLEtBQUssQ0FBQzNCLE9BQU87UUFBQSxFQUFDOztRQUV4RTtRQUNBLElBQUk2QixZQUFZLElBQUlGLEtBQUssQ0FBQ0ssVUFBVSxLQUFLSCxZQUFZLENBQUNHLFVBQVUsRUFBRTtVQUNoRTtZQUFBQyxDQUFBLEVBQU87VUFBSTtRQUNiO01BQUM7TUFQSCxLQUFBVixTQUFBLENBQUFXLENBQUEsTUFBQVQsS0FBQSxHQUFBRixTQUFBLENBQUFZLENBQUEsSUFBQUMsSUFBQSxHQUF3QjtRQUFBLElBQUFDLElBQUEsR0FBQVgsS0FBQTtRQUFBLFFBQUFZLFFBQUEsQ0FBQTdHLE9BQUEsRUFBQTRHLElBQUEsdUJBQUFBLElBQUEsQ0FBQUosQ0FBQTtNQVF4Qjs7TUFFQTtJQUFBLFNBQUFNLEdBQUE7TUFBQWhCLFNBQUEsQ0FBQWlCLENBQUEsQ0FBQUQsR0FBQTtJQUFBO01BQUFoQixTQUFBLENBQUFrQixDQUFBO0lBQUE7SUFDQSxPQUFPLEtBQUs7RUFDZCxDQUFDO0VBRUQsSUFBTXhCLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUl5QixNQUFNLEVBQUVDLE1BQU0sRUFBSztJQUM5QyxJQUFNQyxZQUFZLEdBQUdELE1BQU0sQ0FBQy9DLE1BQU0sQ0FBQyxVQUFDaUQsSUFBSTtNQUFBLE9BQ3RDSCxNQUFNLENBQUNJLElBQUksQ0FBQyxVQUFDQyxJQUFJO1FBQUEsT0FBS0EsSUFBSSxDQUFDL0MsT0FBTyxLQUFLNkMsSUFBSSxDQUFDN0MsT0FBTztNQUFBLEVBQUM7SUFBQSxDQUN0RCxDQUFDO0lBRUQsT0FBTyxDQUFBNEMsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUU5RCxNQUFNLElBQUcsQ0FBQyxHQUFHOEQsWUFBWSxHQUFHRixNQUFNO0VBQ3pELENBQUM7RUFFRCxJQUFBaEMsZ0JBQVMsRUFBQyxZQUFNO0lBQUEsSUFBQXNDLG9CQUFBO0lBQ2QsQ0FBQUEsb0JBQUEsR0FBQXBGLFdBQVcsQ0FBQ3FGLE9BQU8sY0FBQUQsb0JBQUEsdUJBQW5CQSxvQkFBQSxDQUFxQkUsY0FBYyxDQUFDO01BQ2xDQyxRQUFRLEVBQUUsUUFBUTtNQUNsQkMsS0FBSyxFQUFFLFFBQVE7TUFDZkMsTUFBTSxFQUFFO0lBQ1YsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLENBQUNoRyxZQUFZLENBQUMsQ0FBQztFQUVsQixJQUNFLENBQUFLLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFNEYsS0FBSyxLQUNsQjVGLFdBQVcsQ0FBQzRGLEtBQUssQ0FBQ0MsSUFBSSxLQUFLLGtDQUFrQyxJQUM3RCxDQUFBN0YsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUU4RixPQUFPLE1BQUs1RSxTQUFTLEVBRWxDLG9CQUNFNUUsTUFBQSxDQUFBeUIsT0FBQSxDQUFBdUQsYUFBQSxDQUFDeUUsV0FBVztJQUFDbkUsU0FBUyxFQUFDLEtBQUs7SUFBQ29FLEtBQUssRUFBRTtNQUFFQyxRQUFRLEVBQUU7SUFBUztFQUFFLGdCQUN6RDNKLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUEsY0FBQXJDLGdCQUFBLEdBQUtZLFFBQVEsQ0FBQ1EsS0FBSyxjQUFBcEIsZ0JBQUEsdUJBQWRBLGdCQUFBLENBQWdCaUgsSUFBUyxDQUFDLGVBQy9CNUosTUFBQSxDQUFBeUIsT0FBQSxDQUFBdUQsYUFBQTtJQUFLTSxTQUFTLEVBQUU7RUFBYyxnQkFDNUJ0RixNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBLENBQUN4RSxZQUFBLENBQUFpQixPQUFXLE1BQUUsQ0FDWCxDQUFDLGVBQ056QixNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBO0lBQUtNLFNBQVMsRUFBRTtFQUFjLGdCQUM1QnRGLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUEsQ0FBQ3RFLGdCQUFBLENBQUFlLE9BQVUsTUFBRSxDQUNWLENBQ00sQ0FBQztFQUdsQixvQkFDRXpCLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUEsQ0FBQ3lFLFdBQVc7SUFBQ25FLFNBQVMsRUFBQyxLQUFLO0lBQUNvRSxLQUFLLEVBQUU7TUFBRUMsUUFBUSxFQUFFO0lBQVM7RUFBRSxnQkFDekQzSixNQUFBLENBQUF5QixPQUFBLENBQUF1RCxhQUFBLGFBQUssQ0FBQXRCLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFbUcsU0FBUyxNQUFJbkcsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVrRyxJQUFJLENBQUssQ0FBQyxlQUN0RDVKLE1BQUEsQ0FBQXlCLE9BQUEsQ0FBQXVELGFBQUE7SUFBSU0sU0FBUyxFQUFFO0VBQVEsR0FBRWhCLFdBQWdCLENBQzlCLENBQUM7QUFFbEIsQ0FBQztBQUFDd0YsT0FBQSxDQUFBdEgsSUFBQSxHQUFBQSxJQUFBO0FBRUYsSUFBTWlILFdBQVcsR0FBR00seUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtEQUdkQyxZQUFLLENBQUNDLE9BQU8sQ0FBQ0MsRUFBRSxDQUMvQjtBQUVELElBQU1uRixnQkFBZ0IsR0FBRyxJQUFBNEUseUJBQU0sRUFBQ1EsOEJBQWMsQ0FBQyxDQUFBTixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1FQU05QztBQUVELElBQU01RSxrQkFBa0IsR0FBRyxJQUFBd0UseUJBQU0sRUFBQ1Msb0JBQVMsQ0FBQyxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdCQUUzQztBQUVELElBQU1sRixhQUFhLEdBQUc4RSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkdBTy9CO0FBRUQsSUFBTWpGLFlBQVksR0FBRzZFLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2SkFROUIifQ==
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkxpc3QiLCJwcm9wcyIsIl9XV1RQSW5mbyRwb2ludCIsIl9XV1RQSW5mbyRwb2ludDIiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJwb2ludHNfZGF0YSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiV1dUUEluZm8iLCJmb2N1c2VkQXJlYSIsIm1hcCIsInd3dHBfZGFzaGJvYXJkIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsImxpc3REZXRhaWxzIiwidXNlTWVtbyIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYSIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYTIiLCJpc19ub19hcmVhcyIsImZvcldXVFBNYXAiLCJ1bmRlZmluZWQiLCJzdWJfYXJlYXMiLCJsZW5ndGgiLCJoYXNfZGV2aWNlIiwiY3JlYXRlRWxlbWVudCIsIkxpc3RDb250YWluZXIiLCJFcnJvck1lc3NhZ2UiLCJTdW1tYXJ5Q29tcG9uZW50IiwiZW5kcG9pbnQiLCJjbGFzc05hbWUiLCJMaW5lQ2hhcnRDb21wb25lbnQiLCJ0aXRsZSIsIkRpc2NoYXJnZVBhdHRlcm4iLCJOdW1iZXIiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYSIsIkFyZWFDYXJkIiwiYXJlYV9pZCIsIm9iamVjdCIsIm1hcFJlZiIsIm9uQ2xpY2siLCJzZWxlY3RlZCIsIml0ZW1SZWYiLCJmYWN0b3JpZXMiLCJzb3J0UG9pbnRzIiwiZmFjdG9yeSIsIkZhY3RvcnlDYXJkIiwidXNlRWZmZWN0IiwiaXNGZXRjaGluZyIsInN1YkFyZWFzQ2hhbmdlZCIsImFyZWFzU2NvcmVDaGFuZ2VkQnlJZCIsIm5ld0FyZWFzIiwiZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzIiwiZ2V0VXBkYXRlZEFyZWFzQnlJZCIsInNldEZvY3VzZWRBcmVhIiwiZ2V0UG9pbnRzIiwiaXRlbXMiLCJhcnIxIiwiYXJyMiIsIml0ZW0xIiwibWF0Y2hpbmdJdGVtIiwiZmluZCIsIml0ZW0yIiwiYXJlYV9zY29yZSIsImFycmF5MSIsImFycmF5MiIsInVwZGF0ZWRBcnJheSIsIm9iajIiLCJzb21lIiwib2JqMSIsIl9zZWxlY3RlZFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsImlubGluZSIsImdyb3VwIiwidHlwZSIsImNsaWNrZWQiLCJXV1RQRGV0YWlscyIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYW1lIiwiYXJlYV9uYW1lIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGhlbWUiLCJXV1RQTWFwIiwiYmciLCJRdWFsaXR5U3VtbWFyeSIsIkxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNvcnRBcmVhcywgZ2V0UG9pbnRzLCBzb3J0UG9pbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBXV1RQSW5mbzogYW55O1xuICBkaXNwYXRjaDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IExpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIHBvaW50c19kYXRhIH0gPSBSZWR1eFN0YXRlO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgc2VsZWN0ZWRJdGVtLCBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgeyBXV1RQSW5mbyB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEFyZWEsIG1hcCB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUud3d0cF9kYXNoYm9hcmQsXG4gICk7XG4gIGNvbnN0IHNlbGVjdGVkUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzaXRlSUQgPSBXV1RQSW5mby5wb2ludD8uaWQ7XG5cbiAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gKGl0ZW0pID0+IHtcbiAgICBoYW5kbGVTZWxlY3RJdGVtKGl0ZW0pO1xuICB9O1xuXG4gIGNvbnN0IG5vRGF0YU1lc3NhZ2UgPSBpMThuLnQoJ3d3dHBQYWdlLm5vX2RhdGFfZm9yX3NpdGUnKTtcblxuICBsZXQgbGlzdERldGFpbHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc19ub19hcmVhcyA9XG4gICAgICBmb2N1c2VkQXJlYSAmJlxuICAgICAgZm9jdXNlZEFyZWE/LmZvcldXVFBNYXAgPT09IHRydWUgJiZcbiAgICAgIHNpdGVJRCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICAgIGlmIChpc19ub19hcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMgJiZcbiAgICAgICAgc29ydEFyZWFzKGZvY3VzZWRBcmVhLnN1Yl9hcmVhcylcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgICAgIDxBcmVhQ2FyZFxuICAgICAgICAgICAgICBrZXk9e2FyZWEuYXJlYV9pZH1cbiAgICAgICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgICAgICBtYXBSZWY9e21hcH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlSXRlbUNsaWNrKGFyZWEuYXJlYV9pZCl9XG4gICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBhcmVhLmFyZWFfaWQgPyBzZWxlY3RlZFJlZiA6IG51bGx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtzZWxlY3RlZEl0ZW0sIHNpdGVJRCwgZm9jdXNlZEFyZWFdKTtcblxuICAvLyBVcGRhdGUgdGhlIGxpc3Qgb25seSBpZiB0aGUgc2NvcmUgb2YgYXQgbGVhc3Qgb25lIG9mIHRoZSBzdWItYXJlYXMgaGFzIGNoYW5nZWRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBmb2N1c2VkQXJlYSAmJlxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID4gMCAmJlxuICAgICAgYXJlYXNfZGF0YT8uaXNGZXRjaGluZyA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIGNvbnN0IHN1YkFyZWFzQ2hhbmdlZCA9IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZChcbiAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAgICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLFxuICAgICAgKTtcbiAgICAgIGlmICghc3ViQXJlYXNDaGFuZ2VkKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcyA9IHtcbiAgICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gICAgICAgIHN1Yl9hcmVhczogZ2V0VXBkYXRlZEFyZWFzQnlJZChcbiAgICAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMsXG4gICAgICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMpKTtcbiAgICB9XG4gIH0sIFthcmVhc19kYXRhXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICAhZm9jdXNlZEFyZWEgfHxcbiAgICAgICFmb2N1c2VkQXJlYS5mYWN0b3JpZXMgfHxcbiAgICAgIGZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgICApXG4gICAgICByZXR1cm47XG5cbiAgICBkaXNwYXRjaChcbiAgICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YV0pO1xuXG4gIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZCgoaXRlbTIpID0+IGl0ZW0yLmFyZWFfaWQgPT09IGl0ZW0xLmFyZWFfaWQpO1xuXG4gICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VsZWN0ZWRSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgICAgaW5saW5lOiAnY2VudGVyJyxcbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIGlmIChcbiAgICBmb2N1c2VkQXJlYT8uZ3JvdXAgJiZcbiAgICBmb2N1c2VkQXJlYS5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgZm9jdXNlZEFyZWE/LmNsaWNrZWQgPT09IHVuZGVmaW5lZFxuICApXG4gICAgcmV0dXJuIChcbiAgICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIDxoMz57V1dUUEluZm8ucG9pbnQ/Lm5hbWV9PC9oMz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXktNCd9PlxuICAgICAgICAgIDxPcmdhbmljQ2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXQtMid9PlxuICAgICAgICAgIDxJbXBhY3RDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9XV1RQRGV0YWlscz5cbiAgICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgIDxoMz57Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fCBmb2N1c2VkQXJlYT8ubmFtZX08L2gzPlxuICAgICAgPHVsIGNsYXNzTmFtZT17J214LW4zJ30+e2xpc3REZXRhaWxzfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBQyxzQkFBQSxDQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFXLGlCQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxlQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxtQkFBQSxHQUFBZCxPQUFBO0FBQTRFLFNBQUFlLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdB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
@@ -1,41 +1,37 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.useSelectedItem = exports.SelectedItemProvider = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
7
  var _react = _interopRequireWildcard(require("react"));
11
- 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); }
12
- 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; }
13
- var SelectedItemContext = /*#__PURE__*/(0, _react.createContext)({
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ 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; }
10
+ const SelectedItemContext = /*#__PURE__*/(0, _react.createContext)({
14
11
  selectedItem: null,
15
- handleSelectItem: function handleSelectItem(itemId) {}
12
+ handleSelectItem: itemId => {}
16
13
  });
17
- var useSelectedItem = function useSelectedItem() {
14
+ const useSelectedItem = () => {
18
15
  return (0, _react.useContext)(SelectedItemContext);
19
16
  };
20
17
  exports.useSelectedItem = useSelectedItem;
21
- var SelectedItemProvider = function SelectedItemProvider(_ref) {
22
- var children = _ref.children;
23
- var _useState = (0, _react.useState)(null),
24
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
- selectedItem = _useState2[0],
26
- setSelectedItem = _useState2[1];
27
- var handleSelectItem = function handleSelectItem(itemId) {
18
+ const SelectedItemProvider = _ref => {
19
+ let {
20
+ children
21
+ } = _ref;
22
+ const [selectedItem, setSelectedItem] = (0, _react.useState)(null);
23
+ const handleSelectItem = itemId => {
28
24
  if (itemId !== selectedItem) {
29
25
  setSelectedItem(itemId);
30
26
  }
31
27
  };
32
- var contextValue = {
33
- selectedItem: selectedItem,
34
- handleSelectItem: handleSelectItem
28
+ const contextValue = {
29
+ selectedItem,
30
+ handleSelectItem
35
31
  };
36
32
  return /*#__PURE__*/_react.default.createElement(SelectedItemContext.Provider, {
37
33
  value: contextValue
38
34
  }, children);
39
35
  };
40
36
  exports.SelectedItemProvider = SelectedItemProvider;
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNlbGVjdGVkSXRlbUNvbnRleHQiLCJjcmVhdGVDb250ZXh0Iiwic2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIml0ZW1JZCIsInVzZVNlbGVjdGVkSXRlbSIsInVzZUNvbnRleHQiLCJleHBvcnRzIiwiU2VsZWN0ZWRJdGVtUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRTZWxlY3RlZEl0ZW0iLCJjb250ZXh0VmFsdWUiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgU2VsZWN0ZWRJdGVtQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICBzZWxlY3RlZEl0ZW06IG51bGwsXG4gIGhhbmRsZVNlbGVjdEl0ZW06IChpdGVtSWQpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB1c2VTZWxlY3RlZEl0ZW0gPSAoKSA9PiB7XG4gIHJldHVybiB1c2VDb250ZXh0KFNlbGVjdGVkSXRlbUNvbnRleHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdGVkSXRlbVByb3ZpZGVyID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbc2VsZWN0ZWRJdGVtLCBzZXRTZWxlY3RlZEl0ZW1dID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0SXRlbSA9IChpdGVtSWQpID0+IHtcbiAgICBpZiAoaXRlbUlkICE9PSBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgIHNldFNlbGVjdGVkSXRlbShpdGVtSWQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWUgPSB7XG4gICAgc2VsZWN0ZWRJdGVtLFxuICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1NlbGVjdGVkSXRlbUNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFBbUUsU0FBQUMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFILHdCQUFBTyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBRW5FLElBQU1XLG1CQUFtQixnQkFBRyxJQUFBQyxvQkFBYSxFQUFDO0VBQ3hDQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsZ0JBQWdCLEVBQUUsU0FBQUEsaUJBQUNDLE1BQU0sRUFBSyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVLLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUFTO0VBQ25DLE9BQU8sSUFBQUMsaUJBQVUsRUFBQ04sbUJBQW1CLENBQUM7QUFDeEMsQ0FBQztBQUFDTyxPQUFBLENBQUFGLGVBQUEsR0FBQUEsZUFBQTtBQUVLLElBQU1HLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUFDLElBQUEsRUFBcUI7RUFBQSxJQUFmQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtFQUM3QyxJQUFBQyxTQUFBLEdBQXdDLElBQUFDLGVBQVEsRUFBQyxJQUFJLENBQUM7SUFBQUMsVUFBQSxPQUFBQyxlQUFBLENBQUE3QixPQUFBLEVBQUEwQixTQUFBO0lBQS9DVCxZQUFZLEdBQUFXLFVBQUE7SUFBRUUsZUFBZSxHQUFBRixVQUFBO0VBRXBDLElBQU1WLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLE1BQU0sRUFBSztJQUNuQyxJQUFJQSxNQUFNLEtBQUtGLFlBQVksRUFBRTtNQUMzQmEsZUFBZSxDQUFDWCxNQUFNLENBQUM7SUFDekI7RUFDRixDQUFDO0VBRUQsSUFBTVksWUFBWSxHQUFHO0lBQ25CZCxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZ0JBQWdCLEVBQWhCQTtFQUNGLENBQUM7RUFFRCxvQkFDRTdCLE1BQUEsQ0FBQVcsT0FBQSxDQUFBZ0MsYUFBQSxDQUFDakIsbUJBQW1CLENBQUNrQixRQUFRO0lBQUNDLEtBQUssRUFBRUg7RUFBYSxHQUMvQ04sUUFDMkIsQ0FBQztBQUVuQyxDQUFDO0FBQUNILE9BQUEsQ0FBQUMsb0JBQUEsR0FBQUEsb0JBQUEifQ==
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU2VsZWN0ZWRJdGVtQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiaXRlbUlkIiwidXNlU2VsZWN0ZWRJdGVtIiwidXNlQ29udGV4dCIsImV4cG9ydHMiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsInNldFNlbGVjdGVkSXRlbSIsInVzZVN0YXRlIiwiY29udGV4dFZhbHVlIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFNlbGVjdGVkSXRlbUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgc2VsZWN0ZWRJdGVtOiBudWxsLFxuICBoYW5kbGVTZWxlY3RJdGVtOiAoaXRlbUlkKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgdXNlU2VsZWN0ZWRJdGVtID0gKCkgPT4ge1xuICByZXR1cm4gdXNlQ29udGV4dChTZWxlY3RlZEl0ZW1Db250ZXh0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RlZEl0ZW1Qcm92aWRlciA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgW3NlbGVjdGVkSXRlbSwgc2V0U2VsZWN0ZWRJdGVtXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEl0ZW0gPSAoaXRlbUlkKSA9PiB7XG4gICAgaWYgKGl0ZW1JZCAhPT0gc2VsZWN0ZWRJdGVtKSB7XG4gICAgICBzZXRTZWxlY3RlZEl0ZW0oaXRlbUlkKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY29udGV4dFZhbHVlID0ge1xuICAgIHNlbGVjdGVkSXRlbSxcbiAgICBoYW5kbGVTZWxlY3RJdGVtLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRWYWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TZWxlY3RlZEl0ZW1Db250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQW1FLFNBQUFDLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFILHdCQUFBTyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFFLEdBQUEsQ0FBQUwsR0FBQSxTQUFBTSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVgsR0FBQSxRQUFBVyxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFkLEdBQUEsRUFBQVcsR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVYsR0FBQSxFQUFBVyxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFYLEdBQUEsQ0FBQVcsR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUYsR0FBQSxNQUFBRyxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBaEIsR0FBQSxFQUFBTSxNQUFBLFlBQUFBLE1BQUE7QUFFbkUsTUFBTVcsbUJBQW1CLGdCQUFHLElBQUFDLG9CQUFhLEVBQUM7RUFDeENDLFlBQVksRUFBRSxJQUFJO0VBQ2xCQyxnQkFBZ0IsRUFBR0MsTUFBTSxJQUFLLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUssTUFBTUMsZUFBZSxHQUFHQSxDQUFBLEtBQU07RUFDbkMsT0FBTyxJQUFBQyxpQkFBVSxFQUFDTixtQkFBbUIsQ0FBQztBQUN4QyxDQUFDO0FBQUNPLE9BQUEsQ0FBQUYsZUFBQSxHQUFBQSxlQUFBO0FBRUssTUFBTUcsb0JBQW9CLEdBQUdDLElBQUEsSUFBa0I7RUFBQSxJQUFqQjtJQUFFQztFQUFTLENBQUMsR0FBQUQsSUFBQTtFQUMvQyxNQUFNLENBQUNQLFlBQVksRUFBRVMsZUFBZSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFDLElBQUksQ0FBQztFQUV0RCxNQUFNVCxnQkFBZ0IsR0FBSUMsTUFBTSxJQUFLO0lBQ25DLElBQUlBLE1BQU0sS0FBS0YsWUFBWSxFQUFFO01BQzNCUyxlQUFlLENBQUNQLE1BQU0sQ0FBQztJQUN6QjtFQUNGLENBQUM7RUFFRCxNQUFNUyxZQUFZLEdBQUc7SUFDbkJYLFlBQVk7SUFDWkM7RUFDRixDQUFDO0VBRUQsb0JBQ0U1QixNQUFBLENBQUFVLE9BQUEsQ0FBQTZCLGFBQUEsQ0FBQ2QsbUJBQW1CLENBQUNlLFFBQVE7SUFBQ0MsS0FBSyxFQUFFSDtFQUFhLEdBQy9DSCxRQUMyQixDQUFDO0FBRW5DLENBQUM7QUFBQ0gsT0FBQSxDQUFBQyxvQkFBQSxHQUFBQSxvQkFBQSJ9
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Loader = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var Loader = function Loader(props) {
9
+ const Loader = props => {
10
10
  return /*#__PURE__*/_react.default.createElement("div", {
11
11
  className: 'loader',
12
12
  style: {
@@ -20,4 +20,4 @@ var Loader = function Loader(props) {
20
20
  });
21
21
  };
22
22
  exports.Loader = Loader;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIkxvYWRlciIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwibWFyZ2luIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG50eXBlIElMb2FkZXJQcm9wcyA9IHt9O1xuZXhwb3J0IGNvbnN0IExvYWRlcjogUmVhY3QuRkM8SUxvYWRlclByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17J2xvYWRlcid9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBib3R0b206IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICBtYXJnaW46ICdhdXRvJyxcbiAgICAgIH19XG4gICAgPjwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdPLElBQU1DLE1BQThCLEdBQUcsU0FBakNBLE1BQThCQSxDQUFJQyxLQUFLLEVBQUs7RUFDdkQsb0JBQ0VKLE1BQUEsQ0FBQUssT0FBQSxDQUFBQyxhQUFBO0lBQ0VDLFNBQVMsRUFBRSxRQUFTO0lBQ3BCQyxLQUFLLEVBQUU7TUFDTEMsUUFBUSxFQUFFLFVBQVU7TUFDcEJDLEdBQUcsRUFBRSxDQUFDO01BQ05DLE1BQU0sRUFBRSxDQUFDO01BQ1RDLElBQUksRUFBRSxDQUFDO01BQ1BDLEtBQUssRUFBRSxDQUFDO01BQ1JDLE1BQU0sRUFBRTtJQUNWO0VBQUUsQ0FDRSxDQUFDO0FBRVgsQ0FBQztBQUFDQyxPQUFBLENBQUFaLE1BQUEsR0FBQUEsTUFBQSJ9
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIkxvYWRlciIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwibWFyZ2luIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG50eXBlIElMb2FkZXJQcm9wcyA9IHt9O1xuZXhwb3J0IGNvbnN0IExvYWRlcjogUmVhY3QuRkM8SUxvYWRlclByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17J2xvYWRlcid9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBib3R0b206IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICBtYXJnaW46ICdhdXRvJyxcbiAgICAgIH19XG4gICAgPjwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdPLE1BQU1DLE1BQThCLEdBQUlDLEtBQUssSUFBSztFQUN2RCxvQkFDRUosTUFBQSxDQUFBSyxPQUFBLENBQUFDLGFBQUE7SUFDRUMsU0FBUyxFQUFFLFFBQVM7SUFDcEJDLEtBQUssRUFBRTtNQUNMQyxRQUFRLEVBQUUsVUFBVTtNQUNwQkMsR0FBRyxFQUFFLENBQUM7TUFDTkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLENBQUM7TUFDUEMsS0FBSyxFQUFFLENBQUM7TUFDUkMsTUFBTSxFQUFFO0lBQ1Y7RUFBRSxDQUNFLENBQUM7QUFFWCxDQUFDO0FBQUNDLE9BQUEsQ0FBQVosTUFBQSxHQUFBQSxNQUFBIn0=
@@ -8,16 +8,16 @@ exports.SeverityBadge = void 0;
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _scoreToData = require("utilities/scoreToData");
11
- var SeverityBadge = function SeverityBadge(props, className) {
11
+ const SeverityBadge = (props, className) => {
12
12
  var _props$props, _props$props2, _props$props3;
13
- var score = (props === null || props === void 0 ? void 0 : (_props$props = props.props) === null || _props$props === void 0 ? void 0 : _props$props.area_score) ? props === null || props === void 0 ? void 0 : (_props$props2 = props.props) === null || _props$props2 === void 0 ? void 0 : _props$props2.area_score : props === null || props === void 0 ? void 0 : (_props$props3 = props.props) === null || _props$props3 === void 0 ? void 0 : _props$props3.score;
14
- var color = (0, _scoreToData.scoreToColor)(score);
15
- var ScorePresentation = function ScorePresentation(score) {
13
+ const score = (props === null || props === void 0 ? void 0 : (_props$props = props.props) === null || _props$props === void 0 ? void 0 : _props$props.area_score) ? props === null || props === void 0 ? void 0 : (_props$props2 = props.props) === null || _props$props2 === void 0 ? void 0 : _props$props2.area_score : props === null || props === void 0 ? void 0 : (_props$props3 = props.props) === null || _props$props3 === void 0 ? void 0 : _props$props3.score;
14
+ const color = (0, _scoreToData.scoreToColor)(score);
15
+ const ScorePresentation = score => {
16
16
  return /*#__PURE__*/_react.default.createElement("object", {
17
17
  className: className
18
18
  }, (0, _scoreToData.scoreToLabel)(score), delimiterSndScore(score));
19
19
  };
20
- var delimiterSndScore = function delimiterSndScore(score) {
20
+ const delimiterSndScore = score => {
21
21
  if (score > 0) {
22
22
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Delimiter, {
23
23
  color: (0, _scoreToData.scoreToColor)(score)
@@ -32,20 +32,12 @@ var SeverityBadge = function SeverityBadge(props, className) {
32
32
  }, ScorePresentation(score));
33
33
  };
34
34
  exports.SeverityBadge = SeverityBadge;
35
- var SeverityBadgeHolder = _styledComponents.default.div.withConfig({
35
+ const SeverityBadgeHolder = _styledComponents.default.div.withConfig({
36
36
  displayName: "SeverityBadge__SeverityBadgeHolder",
37
37
  componentId: "sc-7zopzv-0"
38
- })(["background:", "39;color:", ";min-width:4em;font-size:18px;line-height:28px;height:38px;font-weight:600;text-align:center;padding:0 13px;"], function (props) {
39
- return props.bg;
40
- }, function (props) {
41
- return props.color;
42
- });
43
- var Delimiter = _styledComponents.default.span.withConfig({
38
+ })(["background:", "39;color:", ";min-width:4em;font-size:18px;line-height:28px;height:38px;font-weight:600;text-align:center;padding:0 13px;"], props => props.bg, props => props.color);
39
+ const Delimiter = _styledComponents.default.span.withConfig({
44
40
  displayName: "SeverityBadge__Delimiter",
45
41
  componentId: "sc-7zopzv-1"
46
- })(["width:14px;border:1px;angle:-90 deg;background:", "39;border:1px solid ", "39;margin:0 10px;"], function (props) {
47
- return props.color;
48
- }, function (props) {
49
- return props.color;
50
- });
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zY29yZVRvRGF0YSIsIlNldmVyaXR5QmFkZ2UiLCJwcm9wcyIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcm9wcyIsIl9wcm9wcyRwcm9wczIiLCJfcHJvcHMkcHJvcHMzIiwic2NvcmUiLCJhcmVhX3Njb3JlIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJTY29yZVByZXNlbnRhdGlvbiIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwic2NvcmVUb0xhYmVsIiwiZGVsaW1pdGVyU25kU2NvcmUiLCJGcmFnbWVudCIsIkRlbGltaXRlciIsInRvRml4ZWQiLCJTZXZlcml0eUJhZGdlSG9sZGVyIiwiYmciLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJzcGFuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9TZXZlcml0eUJhZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yLCBzY29yZVRvTGFiZWwgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcHJvcHM6IGFueTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNldmVyaXR5QmFkZ2U6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMsIGNsYXNzTmFtZSkgPT4ge1xuICBjb25zdCBzY29yZSA9IHByb3BzPy5wcm9wcz8uYXJlYV9zY29yZVxuICAgID8gcHJvcHM/LnByb3BzPy5hcmVhX3Njb3JlXG4gICAgOiBwcm9wcz8ucHJvcHM/LnNjb3JlO1xuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihzY29yZSk7XG5cbiAgY29uc3QgU2NvcmVQcmVzZW50YXRpb24gPSAoc2NvcmU6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8b2JqZWN0IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAge3Njb3JlVG9MYWJlbChzY29yZSl9XG4gICAgICAgIHtkZWxpbWl0ZXJTbmRTY29yZShzY29yZSl9XG4gICAgICA8L29iamVjdD5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGRlbGltaXRlclNuZFNjb3JlID0gKHNjb3JlOiBudW1iZXIpID0+IHtcbiAgICBpZiAoc2NvcmUgPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxEZWxpbWl0ZXIgY29sb3I9e3Njb3JlVG9Db2xvcihzY29yZSl9IC8+XG4gICAgICAgICAge3Njb3JlLnRvRml4ZWQoMCl9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFNldmVyaXR5QmFkZ2VIb2xkZXJcbiAgICAgIGNsYXNzTmFtZT17J3B0LTEgcGItMSByb3VuZGVkLXBpbGwnfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgYmc9e2NvbG9yfVxuICAgID5cbiAgICAgIHtTY29yZVByZXNlbnRhdGlvbihzY29yZSl9XG4gICAgPC9TZXZlcml0eUJhZGdlSG9sZGVyPlxuICApO1xufTtcblxuY29uc3QgU2V2ZXJpdHlCYWRnZUhvbGRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy5iZ30zOTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy5jb2xvcn07XG4gIG1pbi13aWR0aDogNGVtO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxM3B4O1xuYDtcblxuY29uc3QgRGVsaW1pdGVyID0gc3R5bGVkLnNwYW5gXG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXI6IDFweDtcbiAgYW5nbGU6IC05MCBkZWc7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy5jb2xvcn0zOTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsocHJvcHMpID0+IHByb3BzLmNvbG9yfTM5O1xuICBtYXJnaW46IDAgMTBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBUU8sSUFBTUUsYUFBK0IsR0FBRyxTQUFsQ0EsYUFBK0JBLENBQUlDLEtBQUssRUFBRUMsU0FBUyxFQUFLO0VBQUEsSUFBQUMsWUFBQSxFQUFBQyxhQUFBLEVBQUFDLGFBQUE7RUFDbkUsSUFBTUMsS0FBSyxHQUFHLENBQUFMLEtBQUssYUFBTEEsS0FBSyx3QkFBQUUsWUFBQSxHQUFMRixLQUFLLENBQUVBLEtBQUssY0FBQUUsWUFBQSx1QkFBWkEsWUFBQSxDQUFjSSxVQUFVLElBQ2xDTixLQUFLLGFBQUxBLEtBQUssd0JBQUFHLGFBQUEsR0FBTEgsS0FBSyxDQUFFQSxLQUFLLGNBQUFHLGFBQUEsdUJBQVpBLGFBQUEsQ0FBY0csVUFBVSxHQUN4Qk4sS0FBSyxhQUFMQSxLQUFLLHdCQUFBSSxhQUFBLEdBQUxKLEtBQUssQ0FBRUEsS0FBSyxjQUFBSSxhQUFBLHVCQUFaQSxhQUFBLENBQWNDLEtBQUs7RUFDdkIsSUFBTUUsS0FBSyxHQUFHLElBQUFDLHlCQUFZLEVBQUNILEtBQUssQ0FBQztFQUVqQyxJQUFNSSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJSixLQUFhLEVBQUs7SUFDM0Msb0JBQ0VWLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBO01BQVFWLFNBQVMsRUFBRUE7SUFBVSxHQUMxQixJQUFBVyx5QkFBWSxFQUFDUCxLQUFLLENBQUMsRUFDbkJRLGlCQUFpQixDQUFDUixLQUFLLENBQ2xCLENBQUM7RUFFYixDQUFDO0VBRUQsSUFBTVEsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSVIsS0FBYSxFQUFLO0lBQzNDLElBQUlBLEtBQUssR0FBRyxDQUFDLEVBQUU7TUFDYixvQkFDRVYsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsQ0FBQWhCLE1BQUEsQ0FBQWUsT0FBQSxDQUFBSSxRQUFBLHFCQUNFbkIsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsQ0FBQ0ksU0FBUztRQUFDUixLQUFLLEVBQUUsSUFBQUMseUJBQVksRUFBQ0gsS0FBSztNQUFFLENBQUUsQ0FBQyxFQUN4Q0EsS0FBSyxDQUFDVyxPQUFPLENBQUMsQ0FBQyxDQUNoQixDQUFDO0lBRVA7SUFDQSxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBRUQsb0JBQ0VyQixNQUFBLENBQUFlLE9BQUEsQ0FBQUMsYUFBQSxDQUFDTSxtQkFBbUI7SUFDbEJoQixTQUFTLEVBQUUsd0JBQXlCO0lBQ3BDTSxLQUFLLEVBQUVBLEtBQU07SUFDYlcsRUFBRSxFQUFFWDtFQUFNLEdBRVRFLGlCQUFpQixDQUFDSixLQUFLLENBQ0wsQ0FBQztBQUUxQixDQUFDO0FBQUNjLE9BQUEsQ0FBQXBCLGFBQUEsR0FBQUEsYUFBQTtBQUVGLElBQU1rQixtQkFBbUIsR0FBR0cseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlKQUN0QixVQUFDeEIsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ2tCLEVBQUU7QUFBQSxHQUN4QixVQUFDbEIsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ08sS0FBSztBQUFBLEVBUWhDO0FBRUQsSUFBTVEsU0FBUyxHQUFHSyx5QkFBTSxDQUFDSyxJQUFJLENBQUFILFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUdBSWIsVUFBQ3hCLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNPLEtBQUs7QUFBQSxHQUNoQixVQUFDUCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDTyxLQUFLO0FBQUEsRUFFM0MifQ==
42
+ })(["width:14px;border:1px;angle:-90 deg;background:", "39;border:1px solid ", "39;margin:0 10px;"], props => props.color, props => props.color);
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zY29yZVRvRGF0YSIsIlNldmVyaXR5QmFkZ2UiLCJwcm9wcyIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcm9wcyIsIl9wcm9wcyRwcm9wczIiLCJfcHJvcHMkcHJvcHMzIiwic2NvcmUiLCJhcmVhX3Njb3JlIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJTY29yZVByZXNlbnRhdGlvbiIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwic2NvcmVUb0xhYmVsIiwiZGVsaW1pdGVyU25kU2NvcmUiLCJGcmFnbWVudCIsIkRlbGltaXRlciIsInRvRml4ZWQiLCJTZXZlcml0eUJhZGdlSG9sZGVyIiwiYmciLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJzcGFuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9TZXZlcml0eUJhZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yLCBzY29yZVRvTGFiZWwgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcHJvcHM6IGFueTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNldmVyaXR5QmFkZ2U6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMsIGNsYXNzTmFtZSkgPT4ge1xuICBjb25zdCBzY29yZSA9IHByb3BzPy5wcm9wcz8uYXJlYV9zY29yZVxuICAgID8gcHJvcHM/LnByb3BzPy5hcmVhX3Njb3JlXG4gICAgOiBwcm9wcz8ucHJvcHM/LnNjb3JlO1xuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihzY29yZSk7XG5cbiAgY29uc3QgU2NvcmVQcmVzZW50YXRpb24gPSAoc2NvcmU6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8b2JqZWN0IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAge3Njb3JlVG9MYWJlbChzY29yZSl9XG4gICAgICAgIHtkZWxpbWl0ZXJTbmRTY29yZShzY29yZSl9XG4gICAgICA8L29iamVjdD5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGRlbGltaXRlclNuZFNjb3JlID0gKHNjb3JlOiBudW1iZXIpID0+IHtcbiAgICBpZiAoc2NvcmUgPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxEZWxpbWl0ZXIgY29sb3I9e3Njb3JlVG9Db2xvcihzY29yZSl9IC8+XG4gICAgICAgICAge3Njb3JlLnRvRml4ZWQoMCl9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFNldmVyaXR5QmFkZ2VIb2xkZXJcbiAgICAgIGNsYXNzTmFtZT17J3B0LTEgcGItMSByb3VuZGVkLXBpbGwnfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgYmc9e2NvbG9yfVxuICAgID5cbiAgICAgIHtTY29yZVByZXNlbnRhdGlvbihzY29yZSl9XG4gICAgPC9TZXZlcml0eUJhZGdlSG9sZGVyPlxuICApO1xufTtcblxuY29uc3QgU2V2ZXJpdHlCYWRnZUhvbGRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy5iZ30zOTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy5jb2xvcn07XG4gIG1pbi13aWR0aDogNGVtO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxM3B4O1xuYDtcblxuY29uc3QgRGVsaW1pdGVyID0gc3R5bGVkLnNwYW5gXG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXI6IDFweDtcbiAgYW5nbGU6IC05MCBkZWc7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy5jb2xvcn0zOTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsocHJvcHMpID0+IHByb3BzLmNvbG9yfTM5O1xuICBtYXJnaW46IDAgMTBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBUU8sTUFBTUUsYUFBK0IsR0FBR0EsQ0FBQ0MsS0FBSyxFQUFFQyxTQUFTLEtBQUs7RUFBQSxJQUFBQyxZQUFBLEVBQUFDLGFBQUEsRUFBQUMsYUFBQTtFQUNuRSxNQUFNQyxLQUFLLEdBQUcsQ0FBQUwsS0FBSyxhQUFMQSxLQUFLLHdCQUFBRSxZQUFBLEdBQUxGLEtBQUssQ0FBRUEsS0FBSyxjQUFBRSxZQUFBLHVCQUFaQSxZQUFBLENBQWNJLFVBQVUsSUFDbENOLEtBQUssYUFBTEEsS0FBSyx3QkFBQUcsYUFBQSxHQUFMSCxLQUFLLENBQUVBLEtBQUssY0FBQUcsYUFBQSx1QkFBWkEsYUFBQSxDQUFjRyxVQUFVLEdBQ3hCTixLQUFLLGFBQUxBLEtBQUssd0JBQUFJLGFBQUEsR0FBTEosS0FBSyxDQUFFQSxLQUFLLGNBQUFJLGFBQUEsdUJBQVpBLGFBQUEsQ0FBY0MsS0FBSztFQUN2QixNQUFNRSxLQUFLLEdBQUcsSUFBQUMseUJBQVksRUFBQ0gsS0FBSyxDQUFDO0VBRWpDLE1BQU1JLGlCQUFpQixHQUFJSixLQUFhLElBQUs7SUFDM0Msb0JBQ0VWLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBO01BQVFWLFNBQVMsRUFBRUE7SUFBVSxHQUMxQixJQUFBVyx5QkFBWSxFQUFDUCxLQUFLLENBQUMsRUFDbkJRLGlCQUFpQixDQUFDUixLQUFLLENBQ2xCLENBQUM7RUFFYixDQUFDO0VBRUQsTUFBTVEsaUJBQWlCLEdBQUlSLEtBQWEsSUFBSztJQUMzQyxJQUFJQSxLQUFLLEdBQUcsQ0FBQyxFQUFFO01BQ2Isb0JBQ0VWLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBLENBQUFoQixNQUFBLENBQUFlLE9BQUEsQ0FBQUksUUFBQSxxQkFDRW5CLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBLENBQUNJLFNBQVM7UUFBQ1IsS0FBSyxFQUFFLElBQUFDLHlCQUFZLEVBQUNILEtBQUs7TUFBRSxDQUFFLENBQUMsRUFDeENBLEtBQUssQ0FBQ1csT0FBTyxDQUFDLENBQUMsQ0FDaEIsQ0FBQztJQUVQO0lBQ0EsT0FBTyxFQUFFO0VBQ1gsQ0FBQztFQUVELG9CQUNFckIsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsQ0FBQ00sbUJBQW1CO0lBQ2xCaEIsU0FBUyxFQUFFLHdCQUF5QjtJQUNwQ00sS0FBSyxFQUFFQSxLQUFNO0lBQ2JXLEVBQUUsRUFBRVg7RUFBTSxHQUVURSxpQkFBaUIsQ0FBQ0osS0FBSyxDQUNMLENBQUM7QUFFMUIsQ0FBQztBQUFDYyxPQUFBLENBQUFwQixhQUFBLEdBQUFBLGFBQUE7QUFFRixNQUFNa0IsbUJBQW1CLEdBQUdHLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpSkFDckJ4QixLQUFLLElBQUtBLEtBQUssQ0FBQ2tCLEVBQUUsRUFDdkJsQixLQUFLLElBQUtBLEtBQUssQ0FBQ08sS0FBSyxDQVFoQztBQUVELE1BQU1RLFNBQVMsR0FBR0sseUJBQU0sQ0FBQ0ssSUFBSSxDQUFBSCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFHQUlaeEIsS0FBSyxJQUFLQSxLQUFLLENBQUNPLEtBQUssRUFDZlAsS0FBSyxJQUFLQSxLQUFLLENBQUNPLEtBQUssQ0FFM0MifQ==