{"version":3,"sources":["components/icons/AirTemp.js","components/icons/Anchored.js","components/icons/Anchor.js","components/icons/BuoyActive.js","components/icons/BuoyActiveClicked.js","components/icons/BuoyActiveLiked.js","components/icons/BuoyActiveLikedClicked.js","components/icons/BuoyInActive.js","components/icons/BuoyInActiveClicked.js","components/icons/BuoyInActiveLiked.js","components/icons/BuoyInActiveLikedClicked.js","components/icons/BuoyOutline.js","components/icons/BuoyRecovered.js","components/icons/BuoyRecoveredClicked.js","components/icons/BuoyRecoveredLiked.js","components/icons/BuoyRecoveredLikedClicked.js","components/icons/BuoyDecommissioned.js","components/icons/BuoyDecommissionedLiked.js","components/icons/BuoyDecommissionedClicked.js","components/icons/BuoyDecommissionedLikedClicked.js","components/icons/BuoyTempRecovered.js","components/icons/BuoyTempRecoveredLiked.js","components/icons/BuoyTempRecoveredClicked.js","components/icons/BuoyTempRecoveredLikedClicked.js","components/icons/CheckCirle.js","components/icons/CloseCircle.js","components/icons/Cloud.js","components/icons/Erie.js","components/icons/Facebook.js","components/icons/Filter.js","components/icons/Glider.js","components/icons/Heart.js","components/icons/Huron.js","components/icons/LinkedIn.js","components/icons/Logout.js","components/icons/MapView.js","components/icons/Mark.js","components/icons/Menu.js","components/icons/Moving.js","components/icons/Michigan.js","components/icons/NoData.js","components/icons/Ontario.js","components/icons/Platforms.js","components/icons/RadioUnselected.js","components/icons/RadioSelected.js","components/icons/Rain.js","components/icons/Sampling.js","components/icons/Seagull.js","components/icons/Setting.js","components/icons/Superior.js","components/icons/Sun.js","components/icons/Thermometer.js","components/icons/Tower.js","components/icons/UserAddFilled.js","components/icons/UserFilled.js","components/icons/UsersFilled.js","components/icons/Verified.js","components/icons/Virus.js","components/icons/WaveHeight.js","components/icons/Webcam.js","components/icons/WindSpeed.js","components/icons/Options.js","components/icons/SeagullLogo.js","components/icons/RaeonLogo.js","components/icons/PlusCircle.js","components/icons/CollectionSite.js","../node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy /^/.//.*/.entry/.js$/ include: //.entry/.js$/ exclude: //.system/.entry/.js$/ groupOptions: {} namespace object","serviceWorker.js","components/icons/BuoyActiveFlat.js","components/icons/BuoyInactiveFlat.js","components/icons/BuoyUnavailableFlat.js","components/icons/BuoyRecoveredFlat.js","components/icons/BuoyDecommissionedFlat.js","components/icons/BuoyActiveFlatWhite.js","components/icons/BuoyInactiveFlatWhite.js","components/icons/BuoyUnavailableFlatWhite.js","components/icons/BuoyRecoveredFlatWhite.js","components/icons/BuoyDecommissionedFlatWhite.js","components/icons/BuoyActiveFlatLiked.js","components/icons/BuoyInactiveFlatLiked.js","components/icons/BuoyUnavailableFlatLiked.js","components/icons/BuoyRecoveredFlatLiked.js","components/icons/BuoyDecommissionedFlatLiked.js","config/branding.js","config/index.js","routes/PublicRoute.js","contexts/UserContext.js","services/storage.service.js","routes/PrivateRoute.js","components/sidebar/BLogo.js","components/topbar/Logo.js","components/sidebar/constant.js","constant/index.js","components/topbar/constant.js","components/sidebar/index.js","services/user.service.js","services/http.service.js","services/organization.service.js","services/query-types/profile.js","components/topbar/OrganizationNotifications.js","services/query-types/map.js","services/profile.service.js","components/topbar/NotificationsBadge.js","components/html-text/index.js","components/topbar/NotificationsDrawer.js","components/icons/Megaphone.js","components/topbar/NotificationsMenu.js","components/topbar/LoggedInProfileMenu.js","utils/announcements.js","services/announcement.service.js","components/announcements/useAnnouncements.js","components/announcements/useAcknowledgeAnnouncement.js","components/topbar/ProfileMenu.js","components/topbar/MobileMenu.js","pages/landing/components/SearchSuffix.js","components/search-drawer/index.js","components/topbar/PreferencesMenu.js","components/topbar/index.js","components/icons/Seabed.js","pages/dashboard/constant.js","components/icons/Favorite.js","components/icons/Share.js","pages/dashboard/components/MapControls.js","pages/dashboard/components/CustomOption.js","pages/dashboard/components/Parameters.js","pages/dashboard/components/CustomTag.js","pages/dashboard/components/FavoriteModal.js","components/confirm-modal/index.js","utils/index.js","services/dataset.service.js","components/icons/AirQualityIcon.js","components/icons/CurrentsIcon.js","components/icons/DiagnosticsIcon.js","components/icons/WaterPropertyIcon.js","components/icons/WaterQualityIcon.js","components/icons/WaterTempIcon.js","components/icons/WavesIcon.js","components/icons/WindIcon.js","config/useParameterGroups.js","components/custom-map/components/map-overlay-drawer/OmicsData.js","pages/dashboard/components/MapFilterPopup.js","components/parameter/DegreesToCardinal.js","components/icons/MarkerStatus.js","components/custom-map/components/DatasetSummary.js","components/custom-map/components/OmicsDatasetSummary.js","components/custom-map/components/ESPDatasetSummary.js","components/drawer/index.js","components/data-download/OldDataDownload.js","components/parameter/parameterColors.js","components/parameter/index.js","components/parameter/PlatformType.js","constant/google-analytics/constant.js","components/modal/index.js","components/cta-bar/constants.js","components/cta-bar/index.js","pages/profile/alerts/components/CreateAlert/index.js","components/no-platform-data/index.js","components/icons/RecoveredIcon.js","components/parameter/ParameterFilters.js","components/dataset-message/index.js","components/video-js/index.js","utils/webcam.js","components/parameter/QualifiedParameter.js","components/custom-map/components/DatasetDetail.js","components/custom-map/components/FilePathFromDate.js","components/time-slider/Play.js","components/time-slider/Pause.js","components/custom-map/components/TimeSlider.js","components/custom-map/components/SurfaceWaterTemperature.js","components/custom-map/components/shaders/vsQuad.glsl","components/custom-map/components/MapboxWind.js","components/custom-map/components/shaders/vs.glsl","components/custom-map/components/shaders/fs.glsl","components/custom-map/components/shaders/fsScreen.glsl","components/custom-map/components/shaders/fsUpdate.glsl","components/custom-map/components/CurrentAnimation.js","components/custom-map/components/WaterMagnitude.js","components/custom-map/components/WindMagnitude.js","components/custom-map/components/map-overlay-drawer/SurfaceWaterTemperatureMagnitude.js","components/custom-map/components/map-overlay-drawer/WaterMagnitude.js","components/custom-map/components/map-overlay-drawer/WindMagnitude.js","components/icons/HexSolid.js","components/icons/HexTranslucent.js","components/custom-map/components/map-overlay-drawer/BathyData.js","components/icons/Layers.js","components/custom-map/components/map-overlay-drawer/index.js","components/custom-map/components/Pins.js","components/custom-map/components/Cluster.js","components/custom-map/components/Trajectory.js","components/custom-map/components/CSBHexMap.js","components/custom-map/components/SelectedFilters.js","components/icons/Twitter.js","pages/data-console/components/SocialShareSenderModal.js","assets/fonts/pulp-display-semi-bold-base_64.js","utils/socialSharing.js","components/custom-map/constant.js","components/custom-map/components/MapShareModalContent.js","components/icons/seagullLogo.png","pages/data-console/components/CommunitySignupModal.js","components/custom-map/index.js","pages/landing/index.js","contexts/DataContext/db.js","contexts/DataContext/index.js","pages/dashboard/components/useSearchParams.js","pages/dashboard/components/SocialShareRecipientModal.js","pages/dashboard/index.js","components/icons/BrokenHeart.js","pages/data-console/components/NoFavorites.js","pages/data-console/components/TileView.js","pages/data-console/config.js","components/select/index.js","pages/data-console/components/ViewToggleButton.js","pages/data-console/constant.js","pages/data-console/components/PlatformsFilter.js","pages/data-console/components/CompareBox.js","pages/data-console/components/CompareModal.js","assets/loading.gif","components/loading/index.js","pages/data-console/index.js","components/search-results/datasetCard.js","pages/datasets/constant.js","pages/datasets/index.js","pages/datasets/components/Breadcrumb.js","pages/datasets/components/DatasetDetailHeader.js","pages/datasets/DatasetDetail/config.js","pages/datasets/DatasetDetail/index.js","components/icons/ExternalLink.js","components/data-download/DownloadButton.js","components/data-download/DownloadModalFooter.js","components/data-download/index.js","pages/data-console/components/Breadcrumb.js","pages/data-console/components/DetailHeader.js","components/custom-switch/index.js","components/custom-chart/MiniChart.js","pages/data-console/ConsoleDetail/PlatformNotifications.js","pages/data-console/ConsoleDetail/Partners.js","pages/data-console/ConsoleDetail/PlatformInfo.js","pages/data-console/ConsoleDetail/ParametersList.js","pages/data-console/ConsoleDetail/CollectionStatusAlert.js","pages/data-console/ConsoleDetail/index.js","pages/data-console/platformRouter.js","components/collapse/index.js","pages/data-console/ConsoleCompare/constant.js","components/icons/ChartStyleLine.js","pages/data-console/components/CompareChartModal.js","pages/data-console/ConsoleCompare/index.js","components/auth/index.js","constant/usersnap/constant.js","components/topbar/Usersnap.js","config/aws-exports.js","pages/profile/components/verify-attribute.js/index.js","pages/profile/components/editable-input/index.js","pages/profile/components/change-password/index.js","pages/profile/index.js","pages/profile/components/mobile-container/index.js","pages/profile/alerts/components/EditAlert.js","pages/profile/groups/group-settings/components/JoinRequest/index.js","pages/profile/groups/group-settings/components/OrganizationJoinRequests/index.js","pages/profile/alerts/components/GroupNotifications/index.js","pages/profile/preferences/components/PreferenceForm.js","pages/profile/preferences/constants.js","pages/profile/alerts/config.js","components/icons/Announcements.js","pages/profile/alerts/components/Announcements.js","pages/profile/alerts/components/AlertTabs.js","pages/profile/alerts/components/AlertItem.js","pages/profile/alerts/index.js","components/search-results/locationCard.js","pages/search/components/SearchCard.js","pages/search/index.js","components/custom-chart/index.js","pages/data-console/components/FeaturedParameters.js","components/parameter/PlatformEvent.js","pages/data-console/ConsoleDetail/NoDataInRange.js","components/custom-chart/WindRoseChart.style.jsx","components/custom-chart/Types.jsx","components/custom-chart/WindRoseChart.component.jsx","components/custom-chart/hooks/useResponsive.jsx","components/custom-chart/util/index.js","components/custom-chart/windroseChart.js","pages/data-console/ConsoleDetail/DownloadChartModal.js","pages/data-console/ConsoleDetail/ParameterDetail.js","components/custom-chart/EnvironmentalOverlay.js","components/custom-chart/StackedBarChart.js","pages/data-console/components/DatasetDetail.js","pages/data-console/ConsoleDetail/PlatformParameterDetail.js","pages/profile/platforms/config.js","pages/profile/favorites/components/PlatformDetail.js","pages/profile/platforms/index.js","pages/profile/preferences/components/UnitPreferenceForm.js","pages/profile/preferences/components/TempPreferenceForm.js","pages/profile/preferences/index.js","pages/profile/favorites/config.js","pages/profile/favorites/index.js","pages/groups/constant.js","pages/profile/groups/group-settings/components/GroupsFilter.js","pages/groups/config.js","components/icons/AddUser.js","components/icons/Joined.js","components/icons/Refresh.js","pages/groups/GroupDetail/components/RequestToJoin.js","pages/groups/index.js","pages/groups/GroupDetail/components/Statistics.js","pages/groups/GroupDetail/constant.js","pages/groups/GroupDetail/components/Filter.js","pages/groups/GroupDetail/config.js","pages/data-console/components/DatasetCard.js","pages/groups/GroupDetail/components/DatasetsTab.js","pages/groups/GroupDetail/index.js","pages/groups/GroupCreate/components/FirstStep.js","pages/groups/GroupCreate/components/SecondStep.js","pages/groups/GroupCreate/index.js","pages/profile/groups/group-settings/components/GeneralTab.js","pages/profile/groups/group-settings/constant.js","pages/profile/groups/group-settings/components/MembersFilter.js","pages/groups/components/ConfirmLeaveGroup/index.js","pages/profile/groups/group-settings/components/Member/index.js","pages/profile/groups/group-settings/components/ArchivedMember.js","pages/profile/groups/group-settings/components/MembersTab.js","pages/profile/groups/group-settings/index.js","pages/profile/groups/constant.js","pages/profile/groups/index.js","components/unauthorized/index.js","routes/GroupAdminRoute.js","assets/wave.svg","components/icons/SinkingBuoy.js","pages/error/index.js","components/announcements/CentralAnnouncement.js","pages/research-workspace/components/PlatformCompChart.js","pages/research-workspace/components/SelectPlatform.js","pages/research-workspace/components/SelectParameter.js","pages/research-workspace/components/AddDataWizard.js","pages/research-workspace/components/SeagullRangePicker.js","pages/research-workspace/components/ParameterCard.js","pages/research-workspace/components/AddDataDrawer.js","pages/research-workspace/index.js","pages/ice-thickness/Pin.js","pages/ice-thickness/MapLocation.js","pages/ice-thickness/IceThickness.js","App.js","dev/index.ts","index.js","dev/useInitial.ts","components/icons/Close.js","components/icons/WaterTemp.js","components/icons/Searching.js","components/icons/Current.js","components/icons/Datasets.js","components/icons/Edit.js","components/icons/MapViewInfo.js","components/icons/SvgPinClicked.js","components/icons/NoDataInRange.js"],"names":["AirTempSvg","width","height","viewBox","version","xmlns","id","stroke","strokeWidth","fill","fillRule","transform","d","cx","cy","r","AirTempIcon","props","Icon","component","AnchoredSvg","vectorEffect","AnchoredIcon","AnchorSvg","AnchorIcon","BuoyActiveSvg","x1","y1","x2","y2","stopColor","offset","xlinkHref","BuoyActiveIcon","defaultProps","BuoyActiveClickedSvg","strokeOpacity","fillOpacity","BuoyActiveClickedIcon","BuoyActiveLikedSvg","BuoyActiveLikedIcon","BuoyActiveLikedClickedSvg","BuoyActiveLikedClickedIcon","BuoyInActiveSvg","rx","ry","BuoyInActiveIcon","BuoyInActiveClickedSvg","preserveAspectRatio","className","data-id","BuoyInActiveClickedIcon","BuoyInActiveLikedSvg","BuoyInActiveLikedIcon","BuoyInActiveLikedClickedSvg","BuoyInActiveLikedClickedIcon","BuoyOutlineSvg","x","y","BuoyOutlineIcon","BuoyRecoveredSvg","BuoyRecoveredIcon","BuoyRecoveredClickedSvg","BuoyRecoveredClickedIcon","BuoyRecoveredLikedSvg","BuoyRecoveredLikedIcon","BuoyRecoveredLikedClickedSvg","BuoyRecoveredLikedClickedIcon","BuoyDecommissionedSvg","BuoyDecommissionedIcon","weight","BuoyDecommissionedLikedSvg","BuoyDecommissionedLikedIcon","BuoyDecommissionedClickedSvg","BuoyDecommissionedClickedIcon","BuoyDecommissionedLikedClickedSvg","BuoyDecommissionedLikedClickedIcon","BuoyTempRecoveredSvg","BuoyTempRecoveredIcon","SvgComponent","xmlnsXlink","BuoyTempRecoveredLikedIcon","BuoyTempRecoveredClickedSvg","BuoyTempRecoveredClickedIcon","BuoyTempRecoveredLikedClickedSvg","BuoyTempRecoveredLikedClickedIcon","CloseSvg","overflow","CloseIcon","CloseCircleSvg","CloseCircleIcon","style","verticalAlign","display","borderRadius","padding","backgroundColor","boxShadow","CloudSvg","enableBackground","CloudIcon","ErieSvg","ErieIcon","FacebookSvg","data-name","FacebookIcon","FilterSvg","strokeLinecap","FilterIcon","GliderSvg","GliderIcon","HeartSvg","HeartIcon","HuronSvg","HuronIcon","LinkedInSvg","LinkedInIcon","LogoutSvg","LogoutIcon","MapViewSvg","clipRule","MapViewIcon","MarkSvg","opacity","MarkIcon","MenuSvg","MenuIcon","memo","MovingSvg","mask","MovingIcon","MichiganSvg","MichiganIcon","NoDataSvg","strokeLinejoin","points","NoDataIcon","OntarioSvg","OntarioIcon","PlatformsSvg","PlatformsIcon","RadioUnselectedSvg","RadioUnselectedIcon","RadioSelectedSvg","RadioSelectedIcon","RainSvg","RainIcon","SamplingSvg","SamplingIcon","SeagullSvg","SeagullIcon","SettingSvg","SettingIcon","SuperiorSvg","SuperiorIcon","SunSvg","SunIcon","ThermometerSvg","ThermometerIcon","TowerSvg","TowerIcon","UserAddFilledSvg","UserAddFilledIcon","UserFilledSvg","UserFilledIcon","UsersFilledSvg","UsersFilledIcon","VerifiedSvg","VerifiedIcon","VirusSvg","VirusIcon","WaveHeightSvg","WaveHeightIcon","WebcamSvg","WebcamIcon","WindSpeedSvg","WindSpeedIcon","OptionsSvg","OptionsIcon","xmlSpace","SeagullLogo","RaeonSvg","RaeonLogo","PlusCircleSvg","PlusCircleIcon","CollectionSiteSvg","CollectionSiteIcon","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","keys","Object","module","exports","Boolean","window","location","hostname","match","BuoyActiveFlatSvg","BuoyActiveFlat","isClicked","BuoyInactiveFlatSvg","BuoyUnavailableFlatSvg","BuoyUnavailableFlat","BuoyRecoveredFlatSvg","BuoyRecoveredFlat","BuoyDecommissionedFlatSvg","BuoyDecommissionedFlat","BuoyActiveFlatLiked","BuoyInactiveFlatLiked","BuoyUnavailableFlatLiked","BuoyRecoveredFlatLiked","BuoyDecommissionedFlatLiked","configSettings","colors","primary","DEFAULT","GLOS","RAEON","primaryThirty","primaryDark","primaryDark2","primaryDark2Seventy","primaryDark2Eighty","primaryDark2Ninety","primaryDark3","primaryDark4","accent1","accent1Thirty","accent3","success","successThirty","danger","grey","greyLight","greyDark","header","buttonText","icons","blogo","src","alt","logo","buoyActive","buoyActiveLiked","buoyInactive","BuoyInactiveFlat","buoyInactiveLiked","buoyUnavailable","buoyUnavailableLiked","buoyRecovered","buoyRecoveredLiked","buoyDecommissioned","buoyDecommissionedLiked","buoyActiveLegend","BuoyActiveFlatWhite","buoyInactiveLegend","BuoyInactiveFlatWhite","buoyUnavailableLegend","BuoyUnavailableFlatWhite","buoyRecoveredLegend","BuoyRecoveredFlatWhite","buoyDecommissionedLegend","BuoyDecommissionedFlatWhite","fonts","heading","headingName","body","bodyName","labels","siteTitle","nestName","filters","organizationId","defaultLake","isNest","latitude","longitude","zoom","landingLatitude","landingLatitudeMobile","landingLongitude","landingLongitudeMobile","landingZoom","markers","parameters","SITE_NAME","process","appConfig","env","baseURL","metadataURL","REACT_APP_METADATA_API","tokenKey","oldDataCutoffInHours","REACT_APP_OLD_DATA_CUTOFF_IN_HOURS","socialSharingBucket","sharingBaseURL","brandingConfig","settings","forEach","config","fromPairs","toPairs","key","value","undefined","getConfigFromSettings","PublicRoute","C","cProps","rest","render","user","to","computedMatch","unitPrefsReducer","state","action","type","_","isEmpty","name","unit","pinned","find","hasOwn","concat","UserContext","createContext","cognitoUser","setCognitoUser","authState","authDrawerOpen","setAuthDrawerOpen","seagullUser","setSeagullUser","notifications","setNotifications","userLocation","globalSearch","setGlobalSearch","searchActive","setSearchActive","unitPreferences","unitPreferencesAction","storageService","setItem","data","localStorage","JSON","stringify","dispatchEvent","Event","getItem","item","parse","removeItem","deleteAllCookies","cookies","document","cookie","split","i","length","eqPos","indexOf","substr","PrivateRoute","useContext","path","useEffect","pathname","Content","styled","div","BLogo","history","useHistory","visible","onNavigate","Link","color","alignSelf","paddingLeft","paddingRight","position","bottom","onClick","push","Logo","justifyContent","alignItems","marginTop","consoleMenu","title","children","consoleMenuMobile","filter","cm","featureFlag","userProfile","platformPicture","favorites","filterFavorites","userPlatforms","userAlerts","userPreferences","webcam","sponsors","weather","inviteGroupMember","REACT_APP_FF_INVITE_GROUP_MEMBER","downloadData","groupListMemberCount","groupListDatasetCount","filter_moving","filter_algae_bloom","filter_field_sampling_location","generalProdUnreleased","platformComparison","REACT_APP_FF_PLATFORM_COMPARISON","omics","omicsToxins","socialSharingTimeSeries","bathy","profileMenuItems","items","icon","marginRight","fontSize","BellFilled","border","marginLeft","HeartFilled","Sider","Layout","SideBar","getSelectedKey","useState","collapsed","setCollapsed","useLocation","onCollapse","status","menuItems","selectedKeys","includes","marginBottom","menuItem","Item","menuContent","getCognitoUser","Auth","currentAuthenticatedUser","catch","err","reject","getCognitoAccessToken","a","userData","pool","clientId","username","accessTokenKey","storage","getSeagullUser","accessToken","Axios","get","headers","Authorization","updateSeagullUser","updatedUser","put","http","axios","create","metaDataHttp","url","params","authHeader","accept","getMetaDataFromGeoPortal","createOrganization","requestData","post","updateOrganization","getOrganizations","httpService","getUserOrganizations","getOrganizationUserOrganizations","updateUserOrganization","userOrganizationId","deleteUserOrganization","delete","joinOrganization","verifyOrganization","ProfileQueryTypes","REST_PROFILE_PLATFORM","REST_PROFILE_ALERTS","REST_PROFILE_CREATE_ALERT","REST_PROFILE_ALERTS_HISTORY","REST_PROFILE_PREFERENCES","REST_PROFILE_FAVORITES","REST_PROFILE_ORGANIZATION_USER_ORGANIZATIONS","REST_PROFILE_FAVORITE_PLATFORMS","REST_PROFILE_FAVORITE_FILTERS","OrganizationNotifications","setPendingRequests","pendingRequests","useQuery","REST_ORGANIZATION_USER_ORGANIZATIONS","refetchOnWindowFocus","organizationUserOrganizationsResult","organizationUserOrganizationsRefetch","refetch","user_organizations","joinRequests","userOrganization","pending_organization_role","deleted_at","newNotifications","lodash","union","propTypes","PropTypes","number","func","array","MapQueryTypes","REST_OBSERVATIONAL_DATA","REST_OBSERVATIONAL_DATA_CONSOLE_DETAIL","REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL","REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL_OMICS","REST_OBSERVATIONAL_V2_DATA","REST_OBSERVATIONAL_V2_DATA_OMICS","REST_OBSERVATIONAL_LATEST_DATA","REST_OBSERVATIONAL_PLATFORMS","REST_OBSERVATIONAL_PLATFORMS_BY_PLATFORM","REST_OBSERVATIONAL_PLATFORMS_BY_ORG","REST_OBS_DATASETS","REST_OBS_DATASET_SUMMARIES","REST_OBS_DATASET_SUMMARIES_DATASET_DETAIL","REST_OBS_DATASET_SUMMARIES_PARAMETER_DETAIL","REST_OBS_DATASETS_LATEST","REST_ORGANIZATIONS","REST_USER_ORGANIZATIONS","REST_PARAMETERS_REGISTERED","REST_PARAMETERS_REGISTERED_GROUPDETAIL","REST_PARAMETERS_REGISTERED_ALERTS","REST_PARAMETERS_REGISTERED_CREATEALERT","REST_PARAMETERS_REGISTERED_PARAMETERDETAIL","REST_PARAMETERS_REGISTERED_CONSOLEDETAIL","REST_PARAMETERS_REGISTERED_DATACONSOLE","REST_PARAMETERS_REGISTERED_CONSOLECOMPARE","REST_PARAMETERS_REGISTERED_DASHBOARD","REST_PARAMETER_CONFIGURATIONS","REST_PARAMETER_GROUP_CONFIGURATIONS","REST_PARAMETERS","REST_SEARCH_DATA","REST_PLATFORM_METADATA","REST_PLATFORM_SPONSORS","REST_PLATFORM_WEATHER","REST_ORGANIZATION_DATASETS","REST_OBSERVATIONAL_DATASET_TRAJECTORIES","getUserAlerts","createAlert","updateAlert","deleteAlert","getUserAlertsHistory","acknowledgeAlert","patch","getUserFavoritePlatforms","getUserFavoriteFilters","createUserFavorite","newFavorite","updateUserFavorite","nickname","newNickname","deleteUserFavorite","getUserPlatforms","NotificationsBadge","notificationCount","count","HtmlText","string","sanitizedHtmlContent","DOMPurify","sanitize","dangerouslySetInnerHTML","__html","Title","Typography","Paragraph","NotificationsDrawer","setIsNotificationsDrawerOpen","announcements","dismissAllAnnouncements","alertCount","maxWidth","gap","fontWeight","paddingBottom","borderBottom","CloseCircleFilled","cursor","maxHeight","overflowY","announcement","level","announcement_title","announcement_text","textAlign","moment","begin_time","format","announcement_id","Megaphone","NotificationsMenu","isNotificationsDrawerOpen","announcementCount","background","overlay","trigger","placement","overlayClassName","preventDefault","LoggedInProfileMenu","isMobile","onMenuClick","handleSignOut","setAlertCount","userOrganizationsResult","userOrganizationsResultIsLoading","isLoading","alertsHistoryResult","newNotificationCount","newAlerts","alert","acknowledged","profileMenu","top","attributes","picture","given_name","preferred_username","DownOutlined","organization_role","organization_id","ANNOUNCEMENT_LEVELS","LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY","getActiveAnnouncements","announcementLevel","now","Date","getTime","activeAnnouncements","beginTime","expirationTime","expiration_time","announcement_level","getAllAnnouncements","getUnacknowledgedAnnouncements","acknowledgedAnnouncementIds","acknowledgements","getAnnouncements","acknowledgeAnnouncement","announcementId","useAnnouncements","unacknowledged","includeExpired","queryKey","select","allAnnouncements","refetchAnnouncements","useAcknowledgeAnnouncement","useMutation","ProfileMenu","onClickSignIn","acknowledgementMutation","mutate","onSettled","AuthState","SignedIn","shape","SubMenu","Menu","MobileMenu","selectedKey","onClose","listen","closable","zIndex","defaultSelectedKeys","defaultOpenKeys","mode","subMenuItem","SearchSuffix","hasText","searchReady","onClear","isFetching","size","LoadingOutlined","ArrowRightOutlined","SearchDrawer","useMediaQuery","searchQuery","setSearchQuery","closeIcon","maskClosable","letterSpacing","placeholder","prefix","SearchOutlined","onChange","target","suffix","search","temperatureOptions","label","unitsOfMeasureOptions","PreferencesMenu","menu","direction","Group","options","defaultValue","temp_preference","unit_preference","SettingFilled","Header","TopBar","logoVisible","setVisible","searchVisible","setSearchVisible","searchBtn","useRef","onCloseSearch","classnames","theme","minWidth","onKeyPress","current","click","ref","SeabedSvg","strokeLiterlimit","strokeDasharray","strokeMiterlimit","SeabedIcon","greatLakes","text","category","statuses","platformTags","weatherTags","forecast","overlayTags","waterTags","ExclamationCircleOutlined","orgTags","Seabed","FavoriteIcon","ShareIcon","MapControls","tags","onTagRemove","selectedLake","onClearLakes","setFilterFavorites","setShowPaths","onTagSelect","onClickShare","addFilters","setAddFilters","slice","filterActiveClass","lakeIdx","p","seagullTag","t","seagullIncluded","some","f","nestFiltered","isEqual","iconProps","tag","index","defaultChecked","checked","aria-label","classNames","LakeIconComponent","toLowerCase","getLakeIcon","Favorite","Share","React","cloneElement","CustomOption","selected","gradient","ParametersComponent","onExpand","paramsGrouped","groupBy","names","parameter","span","underline","paramRow","startCase","gutter","nameRow","CheckableTag","Tag","CustomTag","platformTag","selectedTags","disabled","tagCategory","FavoriteModal","getContainer","LeftOutlined","ConfirmModal","removed","description","removedTxt","okText","cancelText","onCancel","onOk","footer","centered","getCurrentDirectionValue","eastwardVelocity","northwardVelocity","Math","abs","atan","PI","getCurrentSpeedValue","sqrt","getPreferredUnit","canonicalUnit","parameterConfig","Array","isArray","userValue","standard_name","console","info","preferred_imperial_unit_id","preferred_metric_unit_id","normalizeCurrentSpeed","parametersArr","observationsResult","northwardObs","eastwardObs","derived_name","parameter_id","northward_sea_water_velocity_id","eastward_sea_water_velocity_id","observations","currentObs","element","eastwardVelocityObs","northwardVelocityObs","speedObs","getCurrentSpeedObs","directionObs","getCurrentDirectionObs","normalizeParameterObs","espStandardNames","getParameters","dataset","datasetSummaries","obsData","parameterConfigurations","registeredParameters","doTransform","parametersList","targetPlatformId","obs_dataset_platform_assignment","platform","platform_id","obsDataParameters","org_platform_id","rp","getIcon","minDepth","maxDepth","childParameters","currentsParametersList","originalParam","parent_parameter_id","profiling","name_vocabulary","datasetParametersRes","obs_dataset_id","datasetParameters","parameterObservations","lang","navigator","language","canonical_unit_id","preferredUnit","canonicalUnitObj","units","preferredUnitObj","parameterValue","parameterDate","created_at","parameterName","display_name","en","parameterDescription","display_description","depth","parameterUnitIfNull","symbol","parameterUnit","latestParameterObservation","reduce","latest","timestamp","configAlerts","alerts","alertsThreshold","Qty","js_qty_unit","scalar","toFixed","threshold_max","Number","threshold_min","isNaN","parameterData","date","parameter_name","pinnedPrefs","param","pinnedParams","unpinned","sort","b","localeCompare","child","formatParameterObservation","parameterObservation","getLatestParameterDate","latestDate","raw","datasetObsData","latestObservation","fromNow","preferredTemperatureUnit","round","preferredWindMagnitudeUnit","preferredWaterMagnitudeUnit","objectToQuerystring","join","platformGroupings","buoy","tower","moving","sampling_location","esp_site","getPreferredMeasurementUnit","numberValue","convertParameterUnit","frmUnit","toUnit","newVal","toCanonical","appendUnit","getParameterGroupIcon","parameterGroups","parameterStandardName","parameterGroup","group","parameter_standard_names","findMostRecentParameter","recentIndex","recentTimestamp","paramTimestamp","getWorkspaceUrl","updatedDate","datasetId","parameterId","formattedStartDate","toISOString","formattedEndDate","getLatestTimestamp","filterValues","newData","ds","newParams","newObs","obs","getObsData","queryString","isObject","getObsLatestData","collectionStatus","encodeURIComponent","getObsDataV2","getObsDatasetsGeojson","datasetTrajectoriesGeojson","datasets","getDatasetSummaries","getParameterGroupConfigurations","getRegisteredParameters","getPlatformWeather","searchNonFunctionalMetadata","searchText","searchFilters","start","textQuery","filterQuery","filterCons","newFilter","query","esdslQuery","bool","must_not","exists","field","must","trim","query_string","analyze_wildcard","getOrganizationDatasets","organizationName","from","term","contact_organizations_s","AirQualityIcon","patternUnits","CurrentsIcon","DiagnosticsIcon","WaterPropertyIcon","WaterQualityIcon","WaterTempIcon","WavesIcon","WindIcon","useParameterGroups","parameterGroupConfigurations","error","group_name","unSelectedColor","selectedColor","standard_names","isVisibleByDefault","configurationGroup","assign","Option","Select","OmicsData","isActive","setIsActive","omicsFilters","setOmicsFilters","isFilterSelectOpen","setIsFilterSelectOpen","selectedFilterType","setSelectedFilterType","setSelectedFilter","setStartDate","startDate","setEndDate","endDate","isSelectedFilterTypeOrganisms","disabledStartDates","endOf","startOf","disabledEndDates","renderDropdown","onMouseDown","stopPropagation","renderOptions","defaultOpen","align","htmlFor","showArrow","suffixIcon","CaretDownFilled","open","optionLabelProp","listHeight","dropdownMatchSelectWidth","dropdownAlign","dropdownRender","onDropdownVisibleChange","inputReadOnly","clearIcon","showToday","disabledDate","flexDirection","Meta","Card","MapFilterPopup","editing","removedTag","selectedPlatform","tagsList","platformEvents","platformsCount","handleClearFilters","onLakeSelect","onStatusSelect","capitalize","statusList","setStatusList","favoritesVisible","setFavoritesVisible","selectedLakeClass","setSelectedLakeClass","platform_name","platformName","setPlatformName","platformSaved","setPlatformSaved","container","useCallback","tagIdx","splice","handleClickStatus","newStatuses","stat","onClearFilters","IconComponent","showFavorites","isOmicsTagSelected","prev","cur","lake","float","paddingTop","xs","lg","xl","bordered","currentTarget","classList","contains","lakeText","handleLakeSelect","data-testid","dropdownClassName","onDeselect","showSearch","flexWrap","platforms","weatherTag","ot","org","waterTag","water","Parameters","unitsToCardinal","unitValue","MarkerStatus","properties","showText","isFavorite","isNestPlatform","externalIdType","external_id_type","platform_type","platform_event","event","last_updated_parameter_in_hours","platformEventEl","DatasetSummary","setIsFavorite","favoritePlatformData","favoritesRefetchPlatforms","msg","log","fpd","desiredOrder","getPriority","platformEvent","getStatus","ClockCircleOutlined","DegreesToCardinal","OmicsDatasetSummary","chartData","setChartData","chartTime","setChartTime","chartLabels","setChartLabels","obs_timestamp","obsDatasetId","getObsDataV2ById","enabled","observationalV2DataResult","observationalV2DataIsLoading","parameterConfigurationsResult","chartOptions","legend","floating","values","parameter_obs","times","timestamps","latestIndex","otherData","dataLabels","obsValue","g","validateOmicsData","displayName","isCurrentFilter","otherSum","otherLabel","formatter","Intl","DateTimeFormat","month","obsTime","parseInt","toString","obsMonth","obsDate","getDate","obsYear","getFullYear","geometry","coordinates","series","ESPDatasetSummary","displayQualifiers","topMC","par","topIsEstimate","q","topLLOD","topLLOQ","topIsGtULOQ","topIsLtLLOD","bottomMC","bottomIsEstimate","bottomLLOD","bottomLLOQ","bottomIsGtULOQ","bottomIsLtLLOD","CustomDrawer","handleShowDrawer","setOpen","allowedParameterVocabularyNames","OldDataDownload","selectedParameter","csvTitle","setCsvTitle","toolTipText","setToolTipText","canDownload","setCanDownload","downloadParameters","setDownloadParameters","foundParameter","setFoundParameter","parmSearch","pm","availableParameters","parm","unavailableParameters","toolTip","handleEmailClick","justify","md","InfoCircleFilled","downloadUrl","timeString","cd","getMonth","DownloadOutlined","margin","LinkOutlined","CommentOutlined","ParameterColors","standardName","isPinned","isHovered","setIsHovered","pinBackgroundColor","pinBorderColor","pinColor","borderColor","onPinClick","onMouseEnter","onMouseLeave","SvgPinClicked","Parameter","minimized","nameEllipsis","metricVisible","dataVerifiedVisible","isSnapshot","formattedValue","precision","valueStyle","CaretUpFilled","textDecoration","whiteSpace","textOverflow","SafetyCertificateFilled","PlatformType","mapFilterCategory","forecastDataCategory","platformMarkerCategory","timeSliderCategory","dataConsoleCategory","socialShareCategory","userCategory","UserEvent","TogglePlatformFavorite","AddPlatformFavorite","RemovePlatformFavorite","ToggleParameterFilter","AlertCreationOfInterest","DownloadOfInterest","PlatformMarkerEvent","MarkerClicked","SelectedPlatformId","ClusterClicked","NextPlatformClicked","DiveDeeperClicked","ParameterClicked","MapFilterEvent","LakeFilterSelect","PlatformStatusFilter","TagSelect","ClearFilters","ClearLakeFilters","TagRemoved","MapFilterParams","ForecastEvent","WaterTempOn","WaterTempClicked","WaterCurrentOn","WaterCurrentClicked","TimeSliderEvent","Reset","TogglePlayAnimation","ChangedByMouse","AnimationFinished","MapEvent","DataConsoleEvent","PlatformTypeFilter","ListViewToggled","ParameterDetailsEvent","ShareModalSelect","ShareModalClosed","TwitterSelect","FacebookSelect","LinkedInSelect","RedditSelect","DownloadSelect","CopyLinkSelect","CustomModal","isSocialShare","isDataDownload","isCommunityModal","maskStyle","ReactGA","CTA_BUTTONS","CTABar","buttonsConfig","handleCreateAlert","handleFavoriteClick","buttons","BarChartOutlined","HeartOutlined","ShareAltOutlined","ExclamationCircleFilled","active","setActive","defaultButton","setDefaultButton","btn","btnConfig","btnVisible","btnDefault","isDefault","handleClick","btnKey","isDisabled","button","activeBtn","handleMouseLeave","route","OptGroup","CreateAlert","platformParameters","alertSaved","setAlertSaved","setParameters","aboveThresholdChecked","setAboveThresholdChecked","belowThresholdChecked","setBelowThresholdChecked","currMinThresholdValue","setCurrMinThresholdValue","currMaxThresholdValue","setCurrMaxThresholdValue","setSelectedParameter","parametersGrouped","Form","useForm","form","obsDatasetSummariesResult","datasetSumariesRefetch","parameterConfigurationsRefetch","registeredParametersResult","registeredParametersRefetch","platformData","platformId","platformParametersArr","parametersData","minThreshold","maxThreshold","minThresholdPreferred","maxThresholdPreferred","setFieldsValue","min_threshold","max_threshold","getDepthParameters","updateForm","mutation","updateMutation","isSuccess","handleCreateAnotherAlert","reset","handleUpdateAlert","obs_alert_id","alertSavedComponent","useMemo","onFinish","initialValue","htmlType","PlusCircleFilled","initialValues","alertConfig","minThresholdValue","maxThresholdValue","message","parameter_standard_name","parameter_name_vocabulary","parameter_depth","alert_type","obs_threshold_alert_configuration","nameVocabulary","Fragment","tipFormatter","min","max","marks","step","rules","required","tooltipVisible","NoPlatformData","RecoveredSvg","left","stopOpacity","RecoveredIcon","ParameterFilters","onCategoriesChange","categorySelected","categoriesPresent","dark","hidden","isSelected","categoryButton","DatasetMessage","VideoJS","videoRef","VideoHtml","data-vjs-player","kind","srcLang","player","videoElement","videojs","dispose","videoJsOptions","mediaURL","autoplay","controls","responsive","fluid","sources","videoOrImage","isPopUp","urlSplit","urlExt","QualifiedParameter","longName","meta","espIsEstimate","espLLOD","espLLOQ","espIsGtULOQ","espIsLtLLOD","DatasetDetail","handleShowDetail","getOrganizationName","initialDrawerPlacement","drawerPlacement","setDrawerPlacement","isSummary","toggleIsSummary","webcamFeedVisible","setWebcamFeedVisible","showAlertDrawer","setShowAlertDrawer","showDownloadModal","setShowDownloadModal","selectedParameterCategory","setSelectedParameterCategory","parameterCategories","setParameterCategories","observationalDataResult","observationalDataRefetch","isNestDataset","isSamplingLocation","unit_preferences","obsDataset","platformWebcamUrl","webcam_url","datasetMessage","obs_dataset_message","deleteFavoritePlatformMutation","addFavoritePlatformMutation","favorite","showFullDetail","showMiniDetail","handleDownloadModalClick","favId","obs_dataset_favorite_id","onSuccess","clickedParameter","thisParameterId","haveMetaparameters","platformObsData","mostRecentParameterTimestamp","mostRecentParameterId","workspaceUrl","UpOutlined","draggable","fontFamily","handleDownloadClick","RightOutlined","filteredParameters","timeSince","diff","topESPDepth","bottomESPDepth","previousParameter","depthGroup","getParameterWidgets","filePathFromDate","activeUTCYear","getUTCFullYear","activeUTCMonth","getUTCMonth","padStart","activeUTCDate","getUTCDate","UTCHour","getUTCHours","activeUTCHour","PlaySvg","PauseSvg","TimeSlider","onSliderChange","selectedForecast","months","historyHours","currentHour","getHours","maxHours","activeSliderValue","setActiveSliderValue","activeSliderLabel","setActiveSliderLabel","isPlaying","toggleIsPlaying","resetToCurrentHour","dayLabel","days","sliderPlayInterval","togglePlay","sliderValue","sliderDate","sliderUTCHour","time","setHours","toLocaleString","hour","hour12","labelAmPm","ele","querySelector","setTimeout","startingHour","Play","Pause","markClassName","thumbClassName","trackClassName","renderThumb","SurfaceWaterTemperature","UTCPath","isSharing","setIsLoading","tempLayers","setTempLayers","fetchOfs","ofs","ofsUrl","fetch","ofsResponse","arrayBuffer","ofsData","geobuf","decode","Pbf","fetchData","sourceId","all","leofsData","lhofsData","lmofsData","loofsData","lsofsData","tempStyle","beforeId","paint","tempRange","tempLayer","source","MapboxWind","gl","particleCount","bounds","programInfo","textures","screenProgramInfo","updateProgramInfo","particleTextures","numParticles","framebuffer","particleIndices","particleRes","mapBounds","animationId","nParticles","States","freeze","Paused","Symbol","Animating","setParticles","num","ceil","particleState","Uint8Array","floor","random","twgl","particleTexture0","mag","NEAREST","RGBA","wrap","CLAMP_TO_EDGE","particleTexture1","Float32Array","frame","triggerRepaint","requestAnimationFrame","startAnimation","nw","getNorthWest","se","getSouthEast","nwMercator","mapboxgl","MercatorCoordinate","fromLngLat","seMercator","setBounds","getBounds","drawTexture","texture","useProgram","program","arrays","a_pos","numComponents","uniforms","u_screen","u_opacity","bufferInfo","drawScreen","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","TEXTURE_2D","screenTexture","viewport","canvas","disable","BLEND","backgroundTexture","a_index","u_vector","u_image","u_particles","u_particles_res","u_vector_min","uMin","vMin","u_vector_max","uMax","vMax","u_bounds","u_data_bounds","POINTS","drawParticles","enable","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","temp","setData","dataObject","vsQuad","createElement","context","getContext","image","scale","drawImage","myData","getImageData","emptyPixels","LINEAR","createFramebuffer","initialize","stopAnimation","clearColor","clear","COLOR_BUFFER_BIT","cancelAnimationFrame","draw","DEPTH_TEST","STENCIL_TEST","u_rand_seed","u_vector_res","u_speed_factor","u_drop_rate","u_drop_rate_bump","updateParticles","CurrentAnimation","mapRef","selectedOverlay","mapLoaded","setMapLoaded","selectedForecastId","lakeTiles","tl_lon","tl_lat","br_lon","br_lat","CustomAnimation","dataLoaded","s3UrlBase","fetchImage","zoomLevel","tileId","imageUrl","imageResponse","blob","imageBlob","URL","createObjectURL","mapboxWind","lakeBounds","glofsUrl","updateWind","imageName","callback","xhr","XMLHttpRequest","responseType","onload","response","send","getJSON","windData","windImage","Image","imageData","showWind","lakeName","unmountWind","tile","customAnimation","layerName","getMap","mapLayer","getLayer","customLayer","onAdd","mbxContext","mapResize","removeLayer","addLayer","on","off","unmount","loaded","WaterMagnitude","waterLayers","setWaterLayers","waterStyle","waterRange","waterLayer","WindMagnitude","windLayers","setWindLayers","windStyle","windRange","windLayer","SurfaceWaterTemperatureMagnitude","rangeDisplay","setRangeDisplay","triggerSetRangeDisplay","addEventListener","removeEventListener","WaterTemp","Close","Current","HexSolidSvg","HexSolidIcon","HexTranslucentSvg","HexTranslucentIcon","BathyData","bathyHexDisplay","HexSolid","HexTranslucent","LayersSvg","LayersIcon","MapOverlayDrawer","onTagsSelect","isWindActive","setIsWindActive","isTempActive","setIsTempActive","isWaterActive","setIsWaterActive","isOmicsActive","setIsOmicsActive","isBathyActive","setIsBathyActive","Layers","MapViewInfo","pinStyle","Pins","resetClicked","handleAction","onClusterClick","clickedItems","setClickedItems","selectedIdx","findIndex","fp","getClusterIcon","clicked","includesFavorite","passedProps","SIZE","isCluster","cluster","pointCount","point_count","is_favorite","Cluster","mapData","showDetail","handleClusterClick","Trajectory","trajectory","showPaths","smoothLayerStyle","layout","stops","lineGradient","smoothLine","setSmoothLine","bezierSpline","sharpness","resolution","lineMetrics","hexStyle","CSBHexMap","hexRes","setHexRes","hexResTemp","source-layer","SelectedFilters","activeFilterText","selectedEndDate","selectedStartDate","subtract","TwitterSvg","TwitterIcon","SocialShareSenderModal","shareImageLink","shareImageUrl","onDownloadPng","isShareLinkCopied","setIsShareLinkCopied","FacebookShareButton","flexShrink","translate","TwitterShareButton","Twitter","LinkedinShareButton","textWrap","overflowX","clipboard","writeText","pulpDisplayBase64","getDataUrl","svg","toSVG","fontFace","replace","replaceAll","xOffset","toDataURL","quality","enableRetinaScaling","getChartImage","apexChartRef","isWindroseChart","windroseSvg","apexChart","ctx","chart","XMLSerializer","serializeToString","getSvgString","svgString","svgDoc","DOMParser","parseFromString","querySelectorAll","titleRef","remove","svgString2","clientWidth","clientHeight","chartRef","fabric","Canvas","viewportTransform","selection","renderOnAddRemove","canvasDataUrl","loadSVGFromString","objects","yMargin","obj","util","groupSVGElements","scaleToHeight","add","Text","originX","title2","userTimeZone","resolvedOptions","timeZone","subTitle","tz","right","parameterUnitTextBackground","Rect","logoElement","getElementById","logoInstance","scaleX","scaleY","renderAll","downloadChartImage","orgPlatformId","dataUrl","link","download","href","appendChild","removeChild","postSharingImage","svgDataUrl","pngDataUrl","png","method","ok","json","base64UrlSafeEncode","str","btoa","mapStyle","MapShareModalContent","initialViewport","adjustedViewport","setViewport","checkedTag","setCheckedTag","setShareImageLink","showInfo","setShowInfo","sharePhase","setSharePhase","setShareImageUrl","mapRefLarge","loadImage","img","drawRoundedRect","radius","fillStyle","beginPath","moveTo","lineTo","arcTo","closePath","borderTop","ArrowLeftOutlined","handleTagChange","aspectRatio","maxZoom","maxPitch","dragRotate","touchRotate","showZoom","onViewportChange","newViewport","flex","transition","showCompass","transformOrigin","preserveDrawingBuffer","legendNode","toPng","mapCanvas","getCanvas","mapDataUrl","mapImage","legendImage","logoImage","imagePromises","images","mapImg","legendImg","logoImg","legendOffset","rectWidth","font","textBaseline","fillText","rectHeight","combined","objectUrl","browserUrl","s3ObjectTokenId","shareObj","searchParams","append","CommunitySignupModal","handleCommunityModalSignup","lineHeight","startingUTCPath","CustomMap","DEFAULT_VIEWPORT","filterVisible","observationalPlatforms","organizations","pushToHistory","datasetTrajectories","obsDatasetsLatest","showShareModal","setShowShareModal","buoyData","setBuoyData","samplingLocationData","setSamplingLocationData","setPlatforms","tooltipInfo","setTooltipInfo","setSelectedPlatform","setShowDetail","contourInfo","setContourInfo","clickableContourLayers","setClickableContourLayers","activeUTCPath","setActiveUTCPath","urlCoords","setUrlCoords","modalKey","setModalKey","hexSurveyCount","setHexSurveyCount","hexSurveys","setHexSurveys","clickedHexLoc","setClickedHexLoc","prevKey","updateUrlCoords","debounce","coords","updateUrlPlatform","getDms","decCoords","formatcoords","latLonSeparator","decimalPlaces","dmsCoords","handleSliderChange","newUTCPath","String","encodeURI","addSamplingLocationObservations","samplingLocations","locations","retLocations","resetSamplingLocationObservations","s","setMapData","filteredPlatforms","favoriteIds","continuousMonitoringPlatforms","buoys","pointsLong","point","pointsLat","cornersLongLat","WebMercatorViewport","fitBounds","getBoundsForPoints","mitem","urlSearchQuery","URLSearchParams","lng","lat","updatedSamplingLocationData","queryPlatformId","removeCanvas","currentType","lakes","el","getNearestPlatform","pos","nearest","obsAssetsDataSorted","asset","distance","nextKey","prevPlatform","nextPlatform","targetObsDataset","odl","sampleObsData","os","qartod","sampleParameterData","datasetRecord","toArray","flat","useSupercluster","acc","continuousMonitoringClusters","clusters","continuousMonitoringSuperCluster","supercluster","samplingLocationClusters","samplingLocationSupercluster","expansionZoom","getClusterExpansionZoom","transitionInterpolator","FlyToInterpolator","speed","transitionDuration","handleSamplingLocationClusterClick","samplingLocationClustersContent","continuousMonitoringClustersContent","onContourClick","features","tempHexSurveys","tempHexSurveyCount","clickedFeatures","thisFeature","survey","srv","clickLon","lngLat","clickLat","clickedFeature","feature","nullifyContourInfo","espParameters","showSignupModal","setShowSignupModal","hasUserSeenShareModal","sessionStorage","closeShareModal","styles","interactiveLayerIds","tipSize","closeOnClick","closeButton","hs","assetTags","onMapClick","omicsParameterIds","Landing","landingChange","isLarge","handleLandingChange","offsetTop","db","Dexie","stores","obsDatasetSummaries","observationalV2Data","colorPalette","DataContext","groupByDepth","relatedParameters","UtilityFunctions","parameterToParameterDepthsData","selectedPeriod","customFilterValue","relatedParametersGrouped","parameterDepthsData","parameterObsData","parameterSpeedData","getParamIDs","speedParam","selectedPeriodToDateRange","isBetween","dataRow","rotateValue","imagePath","marker","offsetX","offsetY","canonicalDepthString","useObservationData","filterValue","parameterIds","datasetIds","isPlatformQuery","obsV2Result","setObsV2Result","obsDatasetSummariesRefetch","observationalV2DataIsFetching","observationalDataIsFetching","observationalDataIsLoading","parameterIdsArray","parameterObs","parameterIdInt","datasetIdInt","qartodValues","collection_status","bulkPut","dbObsV2Data","useLiveQuery","where","between","Set","v2Timestamps","parameterObsValuesObject","records","qartodValuesObject","useGlobalData","observationalPlatformsResult","observationalLatestDataResult","observationalLatestDataIsLoading","organizationsResult","obsPlatform","dbObservationalPlatforms","dbParameterConfigurations","dbParameters","dbOrganizations","DataProvider","Provider","utils","useData","useSearchParams","SocialShareRecipientModal","showSocialShareRecipientModal","setShowSocialShareRecipientModal","chartImage","setChartImage","has","imageObj","atob","imageId","extension","closeModal","shareParam","workerClass","require","default","scaleControlStyle","Dashboard","setFilterVisible","searchDrawer","toggleSearchDrawer","setEditing","setSelectedOverlay","selectedFilter","setTagsList","defaultPlatformTags","filterTags","setFilterTags","setSelectedLake","setSelectedTags","setPlatformEvents","setFilteredPlatforms","orgId","omicsObsDatasetsGeojson","omicsObsDatasetsGeojsonIsLoading","organizationLoading","datasetsResult","datasetsLoading","summariesLoading","obsLatest","obsLatestIsLoading","registeredParametersAreLoading","datasetTrajectoriesGeojsonResult","omicsPlatformIds","setOmicsPlatformIds","setOmicsParameterIds","getDatasetsLatest","includeObservations","obsDatasetsLatestRefetch","obsDatasetsLatestIsInitialLoading","isInitialLoading","nonOverlay","setOmicsQueryParams","omicsSummaries","summary","uniquePlatformIds","uniq","uniqueParamIds","flatMap","filterPlatforms","filteredData","selectedLakeStr","body_of_water","datasetSummary","formattedTagsList","tagsListData","tagCount","getAndFormatTagsList","nestFilter","seagullFilter","nestDatasetIds","filterTagsNew","omicsData","visibleDatasetIds","visibleSamplingPlatforms","existingObj","warn","tagsQuery","val","set","addTags","nextSelectedTags","newSelectedTags","samplingLocationTag","tip","selectedStatuses","newHistory","positionOptions","enableHighAccuracy","BrokenHeart","NoFavorites","TileView","dataSource","getParameterColor","borderLeft","row","bodyStyle","hoverable","updated","compare","columns","dataIndex","sortDirections","sorter","aCopy","bCopy","ellipsis","updated_raw","unix","dateStr","isValid","sea_surface_temperature","wind_speed","air_temperature","sea_surface_wave_significant_height","columnsMobile","fixed","CustomMultipleSelect","placeholderStr","noItem","oneItem","multipleItems","ViewToggleButton","periods","platformSort","TabPane","Tabs","PlatformsFilter","listView","platformCount","selectedLakes","selectedPlatformtags","selectedStatus","handleToggleView","handleLakeChange","handleSearch","handleStatusChange","handlePlatformChange","handleSort","currentTab","handleTabChange","favoritesCount","nestPlatformsCount","nestPlatforms","seagullPlatforms","totalFavorites","activeKey","tab","AppstoreFilled","UnorderedListOutlined","CompareBox","onRemove","CompareModal","columnOffset","onReset","modalVisible","setModalVisible","wrapClassName","destroyOnClose","pointerEvents","Loading","loading","formatType","frags","charAt","toUpperCase","DataConsole","comparePlatforms","setComparePlatforms","datasetData","setDatasetData","setListView","desktopListView","setDesktopListView","selectedPlatformTypes","setSelectedPlatformTypes","setSelectedStatus","sortOrder","setSortOrder","innerWidth","windowWidth","setWindowWidth","setCurrentTab","favoriteDatasets","setFavoriteDatasets","nestDatasets","setNestDatasets","seagullDatasets","setSeagullDatasets","updateWidth","obsDatasetSummariesIsLoading","registeredParametersIsLoading","handleAddFavoritePlatform","getFavoriteButton","trackingId","favoriteData","tableData","obsSummariesFiltered","osf","selectedLakeArr","deployment_site","platformType","selectedStatusArr","obsSummariesFilteredOrig","orderBy","orderByDir","order","orderByName","datasetRow","platformDataset","timeAgo","statusEl","datasetDataRow","parameterItem","prevPlatforms","newPlatforms","platformIdx","handleCompare","favoriteDatasetIds","nestData","seagullData","handleLakeFilter","platformTypes","toggleView","getTableData","pagination","locale","emptyText","DatasetCard","showCta","_source","apiso_OrganizationName_txt","guess","tabsList","filterList","unshift","Dataset","setSearchText","setSearchFilters","searchStart","setSearchStart","currentPage","setCurrentPage","totalPages","setTotalPages","showLess","setShowLess","findCurrentStart","newPage","urlSearchText","urlFilters","newFilters","urlPage","queryActive","total","submitSearch","filterClicked","ev","currentFilters","currentFilterIndex","pageUpdate","cp","np","activeFilter","compact","onKeyUp","enterKeyCheck","results","dp","BreadcrumbComp","DatasetDetailHeader","breadcrumb","organizationsRefetch","organization","Breadcrumb","apiso_Title_txt","CalendarOutlined","sys_modified_dt","filename","sortable_size","geoportalId","useParams","activeTab","setActiveTab","fileInfos","setFileInfos","setDatasetId","metadataInfo","setMetadataInfo","metadataLinks","setMetadataLinks","dataTabVisible","setDataTabVisible","getFileIcon","lastIndex","lastIndexOf","substring","FileExcelOutlined","FileImageOutlined","FileGifOutlined","FileJpgOutlined","FilePdfOutlined","FileWordOutlined","FileZipOutlined","FileOutlined","getFileSize","initialSize","u","metadataId","seagull_dataset_id_i","isInteger","links","links_s","CopyOutlined","getHostedNonFunctionalDataset","dataInfo","files","result","fileItem","readable_size","size_bytes","dataContent","aboutContent","ExternalLink","DownloadButton","DownloadModalFooter","Heading","content","DataDownload","getWindroseSvg","origin","borderRight","DetailHeader","platformTypeEl","isPlatformsDataConsole","isChartLoaded","parameterView","shouldRenderPlatformId","shouldRenderFavoriteButton","shouldRenderAlertButton","shouldRenderDownloadButton","favIndex","fv","handleShareModalClick","svgImage","pngImage","parts","flexBasis","flexGrow","parseFloat","CustomSwitch","checkedChildren","unCheckedChildren","setChecked","data-on","data-off","MiniChart","color1","color2","toolbar","show","grid","hover","curve","dashArray","tooltip","xaxis","axisBorder","axisTicks","yaxis","PlatformNotifications","alertsData","setAlertsData","alertsResult","handleAcknowledgeAlert","alert_name","closeText","Partners","partners","partner","s3Path","s3_path","rel","PlatformInfo","metadata","isPlatformsConsole","shouldRenderNotifications","shouldRenderPartners","shouldRenderWeather","mapContainerRef","mapWidth","setMapWidth","offsetWidth","weatherData","getWeatherIcon","attribute_name","attribute_value","platformSummary","maxTemp","day","minTemp","obs_dataset_partners","ParametersList","onGetChartData","obsLatestDataResult","shouldRenderParamChart","shouldRenderHorizontalRule","setCategorySelected","categoryArray","setCategoryArray","dataView","setDataView","activeParameters","borderTopLeftRadius","borderBottomLeftRadius","parameterColor","parameterUrl","borderStyle","headStyle","borderTopRightRadius","borderBottomRightRadius","CollectionStatusAlert","showIcon","DataConsoleDetail","dateQueryParameter","headerInfo","setHeaderInfo","setOrganization","dataStartDate","setDataStartDate","setObsDataset","setDatasetIds","shouldRenderStatusMarker","parameterConfigurationsIsLoading","getObsDatasetParameterIds","obsDataV2","obsDataV2IsLoading","transformedObs","formattedTimestamps","ts","datasetObs","entries","paramId","transformObsDataV2","getPlatformMetadata","platformMetadataResult","refetchPlatformMetadata","latestDatasetIds","datasetObsDate","dateParam","getChartData","chartDataFiltered","timestampArr","observation","obsTimestamp","observationValue","PlatformRouter","resultingDataSetId","setResultingDatasetId","pid","datasetFiltered","Panel","Collapse","CustomCollapse","expandIcon","defaultActiveKey","MinusOutlined","PlusOutlined","defaultParameters","ChartStyleLineSvg","strokeBarscap","strokeBarsjoin","ChartStyleLineIcon","CompareChartModal","isVisible","chartState","datetimeUTC","datetimeFormatter","year","getParameterIds","observationalV2DataResultOne","observationalV2DataResultTwo","observationalV2DataResultThree","newSeries","pindex","DataConsoleCompare","isChartModalVisible","setIsChartModalVisible","formattedPlatforms","platformIds","getPlatformEvent","getPlatformType","getLake","getPlatformLocation","formatCoords","getParametersContent","defaultParameter","parametersContent","handleRemovePlatform","newPlatformIds","ChartStyleLine","AuthDrawer","preAuthRoute","Hub","payload","handleToastErrors","TOAST_AUTH_ERROR_EVENT","notification","duration","UI_AUTH_CHANNEL","backdropFilter","hideToast","slot","formFields","uuidv4","inputProps","autocomplete","hint","headerText","federatedSignIn","provider","CognitoHostedUIIdentityProvider","Google","signUpAttrs","email","usernameAlias","USERSNAP_API_KEY","Usersnap","Helmet","widgetApi","block","awsconfig","region","userPoolId","userPoolWebClientId","mandatorySignIn","authenticationFlowType","oauth","domain","scope","redirectSignIn","protocol","host","redirectSignOut","VerifyAttribute","attribute","setVerifiedAttributes","setCode","verifyAttribute","verifyCurrentUserAttributeSubmit","resendCode","verifyUserAttribute","ExclamationCircleTwoTone","twoToneColor","EditableInput","editable","verified","modal","setValue","editMode","setEditMode","editModalVisible","setEditModalVisible","verifyModalVisible","setVerifyModalVisible","inputRef","updateUser","updateUserAttributes","focus","readOnly","defaultCountry","inputValue","initialValueFormat","countrySelectProps","unicodeFlags","CheckOutlined","SafetyCertificateTwoTone","ChangePassword","oldPassword","setOldPassword","newPassword","setNewPassword","Password","changePassword","Profile","userAttributes","setUserAttributes","identityProvider","setIdentityProvider","emailVerified","setEmailVerified","phoneVerified","setPhoneVerified","currentUserInfo","email_verified","phone_number_verified","family_name","country","phone_number","identities","providerName","MobileContainer","actions","goBack","EditAlert","editForm","JoinRequest","request","deleteUserOrganizationMutation","updateUserOrganizationMutation","handleJoinRequest","accepted","user_organization_id","CloseOutlined","avatar","user_metadata","OrganizationJoinRequests","setJoinRequests","itemLayout","renderItem","GroupNotifications","userOrganizationsRefetch","PreferenceForm","formData","detailData","setDetailData","setDefaultUnit","radioValue","setRadioValue","checkedValues","setCheckedValues","setCheckedOptions","updatedCheckedValues","option","onRadioChange","updatedUserPreferences","onCheckboxChange","checkedOptions","checkedLabelsArray","getCheckedLabels","notificationTypeOptions","notificationFrequencyOptions","AnnouncementsIcon","Announcements","sortedAnnouncements","inputString","AlertTabs","onShowDetail","setHistoryDetail","alertInitLoading","loadMore","alertHistoryList","getAlertIcon","hash","tabsContent","latest_date","alert_setting","AlertItem","alertsHistoryRefetch","acknowledgeAlertMutation","mutationFn","acknowledgeButton","loadingIndicator","indicator","spin","Alerts","selectedAlert","setSelectedAlert","historyDetail","alertDeleteVisible","setAlertDeleteVisible","alertRemoved","setAlertRemoved","alertHistoryData","setAlertHistoryData","setAlertHistoryList","notificationList","setNotificationList","setIndex","showMore","setShowMore","alertsRefetch","alertHistoryIsLoading","alertData","handleEdit","DeleteFilled","handleDelete","alertsAreObjects","alertItem","alertDetail","alertSettingValue","alertSetting","alertSettingValuePreferred","alert_time","onHideDetail","deleteMutation","handleConfirmDelete","confirmed","newIndex","newShowMore","newList","acknowledgeAllAlertsMutation","updatedAlert","LocationCard","place_name","SearchCard","orgName","setOrgName","statusElement","setStatusElement","foundOrg","foundFavorite","fav","foundDatasetSummary","lastTime","elData","Search","queryParam","searchPlatforms","setSearchPlatforms","searchLocations","setSearchLocations","searchNfData","setSearchNfData","currentNfDataPage","setCurrentNfDataPage","nfDataPages","setNfDataPages","nfSearchActive","setNfSearchActive","activeResults","setActiveResults","urlParamQuery","baseClient","mbxClient","geoCodingClient","geoCodingService","countries","proximity","forwardGeocode","obs_datasets","sp","sl","center","CustomChart","seriesData","lineChartStyle","isSocialChart","isHighResChart","titleY","autoScaleYaxis","foreColor","redrawOnParentResize","strokeColors","plotOptions","area","fillTo","decimalsInFloat","forceNiceScale","opposite","setChartOptions","updateOptions","shared","intersect","custom","seriesIndex","dataPointIndex","w","globals","seriesX","depths","childrenHtml","seriesNames","realnum","degToCompass","events","mouseMove","chartContext","tooltipContainer","innerHTML","annotations","tickAmount","node","onMouseOut","minHeight","FeaturedParameters","handleSetCategoryArray","canAddToGraph","parameterOnGraph","parameterWidgets","isDiveDeeper","PlatformEvent","iconSize","NoDataInRange","containerHeight","setPickerOpen","Axis","AxisContainer","Direction","arrayOf","isRequired","angle","WindChart","propWidth","propHeight","containerRef","axisContainerRef","containerSize","elRef","initSize","setSize","observer","ResizeObserver","contentRect","observe","unobserve","useResponsive","rect","d3","selectAll","chartWidth","chartHeight","outerRadius","attr","range","z","angleOffset","stackGen","arcVal","innerRadius","startAngle","endAngle","bandwidth","padAngle","padRadius","enter","call","ticks","tickSize","copy","yTick","tickFormat","exit","legendGap","calculateWindRose","N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW","dataLength","dir","dTh","classifyDir","dirCount","countPush","elements","subkey","elKey","elVal","WindroseChart","directions","formattedDirections","speeds","windRoseData","DownloadChartModal","onDownloadSvg","RangePicker","DatePicker","ParameterDetail","dataUtils","setCustomFilterValue","setParameter","pickerOpen","setSelectedPeriod","parameterDepths","setParameterDepths","setParameterIds","setLatestDate","setLineChartStyle","comparisonParameters","setComparisonParameters","obsDatasetIds","setFilterValue","showDownloadChartModal","setShowDownloadChartModal","isChartTooltipShowing","setIsChartTooltipShowing","downloadChartRef","canvasRef","windroseSvgNodes","windroseSvgNode","optionsMenu","setContainerHeight","containerWidth","setContainerWidth","setChartHeight","isAllDepthsSelected","setIsAllDepthsSelected","datasetObsLatest","parameterObsLatest","latestTimestamp","offsetHeight","getOrganization","foundDataset","newDataset","filteredParametersData","parameterIdsStr","comparisonData","comparisonParameter","comparisonValues","pdd","handleChangePeriod","period","getDepthColor","dataIdx","onDepthClick","allDepthsData","formatChartData","chartDiv","handleChartTooltipSpacing","windroseChart","ctaButtons","separator","onOpenChange","rotate","data-color","onClickCompare","childData","currentParameter","visibility","EnvironmentalOverlay","environmentalDataOverlay","categories","showDuplicates","StackedBarChart","onSelect","timeticks","overlayLines","handleTimeWindowToggle","startingTimeWindow","timeWindowAmount","chartDateRange","barColorPalette","onStackedBarChartMount","innerHeight","setWindowSize","handleResize","useWindowResize","categoryCounts","v","groups","k","cols","timeWindow","setTimeWindow","animations","easing","stacked","dataPointSelection","selectedDataPoints","animationEnd","mounted","c","reverse","strokeDashArray","lines","bar","horizontal","overwriteCategories","states","normal","allowMultipleDataPointsSelection","line","getAttribute","newY2","setAttribute","startTimestamp","endTimestamp","isTimeWindowStart","isTimeWindowEnd","sliderTicks","datetime","detail","selectedFilterTypeState","chartFilterSelections","extURL","setExtURL","sampleName","sampleCollectionNum","testURL","parameterListItems","poreSize","depthRange","accordion","expandIconPosition","PlatformParameterDetail","chartCategories","setChartCategories","chartColors","setChartColors","chartDataPool","setChartDataPool","setDataset","selectedDataIndex","setSelectedDataIndex","omicsEnvironmentalData","setOmicsEnvironmentalData","environmentalDataOverlayName","setEnvironmentalDataOverlayName","environmentalDataOverlayLine","setEnvironmentalDataOverlayLine","datasetDetailDatetime","setDatasetDetailDatetime","chartDatetimes","setChartDatetimes","omicsEnvValues","setOmicsEnvValues","timeWindowToggle","setTimeWindowToggle","selectedPoreSize","setselectedPoreSize","filteredSamplesIndexes","setfilteredSamplesIndexes","isDepthFilterEnabled","setIsDepthFilterEnabled","isDepthDropdownVisible","setIsDepthDropdownVisible","depthInputValue","setDepthInputValue","appliedDepthFilterValue","setAppliedDepthFilterValue","maxBars","availableTimeWindow","ods","omds","organizationObj","isFilteringEnabled","setIsFilteringEnabled","omicsDataset","omicsParameterValues","configureOmicsEnvironmentalParameters","onOmicsDatasetSelect","dynamicSampleIndex","targetOmicsDataset","toReversed","opv","ApexCharts","exec","omicsRefetchCount","parameterDatas","isOmicsAbundanceParameter","targetParameter","targetParameterName","rpr","mrpr","theseChartCategories","ct","utc","environmentalParameterIds","unfilteredChartData","environmentalData","thresholdFilteredChartData","sumData","tempChartColors","lastBarIndex","arrayOfDepths","sample","newFilteredSamples","depthMaxValue","depthMinValue","hasValidPoreSize","hasValidDepth","depthFilterMenu","newValue","newMinValue","newMaxValue","onMouseUp","poreSizes","handlePoreSizeFilter","sizes","selectedSize","isValidDepthRangeValues","isFinite","pore","onVisibleChange","overlayStyle","yAxisTitle","PlatformDetail","onHidePlatformDetail","editNickname","onEditNicknameClick","onHandleNicknameChange","dataset_id","autoFocus","Platforms","setPlatformData","platformsResult","platformsRefetch","formattedData","platform_status","UnitPreferenceForm","optionType","onPinChange","TempPreferenceForm","Preferences","detailTempData","setDetailTempData","defaultUnit","defaultTempUnit","setDefaultTempUnit","tempRadioValue","setTempRadioValue","selectedCategory","setSelectedCategory","newDefaultTempUnit","newDefaultUnit","newTempUnit","compareParameters","parameterA","parameterB","paramsList","elem","metricValue","imperialValue","grouped","allCategories","visibleGroups","newUnitPrefs","idx","platformColumns","windth","Favorites","setEditNickname","newNicknames","setNewNicknames","platformRaw","setPlatformRaw","platformVisible","setPlatformVisible","platformRemoved","setPlatformRemoved","selectedRenderPlatform","setSelectedRenderPlatform","detailVisible","setDetailVisible","updateFavoritePlatformMutation","handleUpdateFavoritePlatform","favoriteFilterData","favoritesRefetchFilters","onNicknameChange","handleEditNickname","done","ob","newPlatformData","sort_value","foundPlatformData","pd","showPlatformModal","resendForDetail","pf","handleConfirmPlatformDelete","groupsSort","MEMBER_ROLES","role","GroupsFilter","groupsCount","sortByEl","totalGroups","members","AddUserSvg","AddUserIcon","JoinedSvg","JoinedIcon","RefreshSvg","RefreshIcon","RequestToJoin","isMember","setIsMember","isPending","setIsPending","joinOrgMutation","handleJoinOrganization","membership","uo","pendingMembership","Joined","Refresh","AddUser","Spinner","Groups","setTableData","memberCounts","setMemberCounts","datasetCounts","setDatasetCounts","organizationsIsLoading","organizationMembersQueries","useQueries","queryFn","memberCount","member_count","organizationDatasetsQueries","datasetCount","organizationMembersQueriesAreFetched","every","isFetched","organizationDatasetsQueriesAreFetched","organizationsFiltered","organizationsFilteredOrig","rowData","request_to_join","cloneDeep","CustomStatistics","bgColor","dataSort","platformsSort","dataMoreActions","FilterComponent","itemsCount","sortData","textTransform","DatasetsTab","organizationDatasetsResult","setDatasets","datasetsFiltered","GroupDetail","groupId","setGroup","groupPlatforms","setGroupPlatforms","setPlatformsCount","dataActionsVisible","setDataActionsVisible","setUserOrganization","organizationMembers","setOrganizationMembers","joinOrganizationMutation","organizationDatasetsRefetch","organizationDatasetsIsLoading","user_id","Datasets","platformsContent","Filter","membersContent","contentWrapperStyle","normFile","fileList","FirstStep","contentStyle","valuePropName","getValueFromEvent","noStyle","Dragger","UploadOutlined","LinkedinFilled","FacebookFilled","List","fields","fieldKey","member","MinusCircleOutlined","SecondStep","GroupCreate","orgForm","organizationsList","setOrganizationsList","organizationSearch","setOrganizationSearch","setStep","setHeaderText","selectedOrganization","setSelectedOrganization","createMutation","filteredOrganizations","getFieldsValue","groupName","handleNextStep","newStep","validateFields","getFieldsError","errors","groupDescription","toHTML","handleSkipStep","requiredMark","GeneralTab","onSave","verifyMutation","submit","isIdle","membersSort","MembersFilter","ConfirmLeaveGroup","handleOk","isModalVisible","setIsModalVisible","setMembers","updateMember","newRole","handleCancel","Member","isLeaveModalVisible","setIsLeaveModalVisible","deleteUserOranizationMutation","archiveMember","updateUserRole","ArchivedMember","UserAddOutlined","MembersTab","archivedMembers","setArchivedMembers","membersCount","GroupSettings","tabVisible","setTabVisible","BraftEditor","createEditorState","UserGroups","borderWidth","Unauthorized","GroupAdminRoute","isAdmin","setIsAdmin","renderedPage","setRenderedPage","orgCheck","adminCheck","SinkingBuoy","ErrorPage","is404","backgroundImage","wave","CentralAnnouncement","setIsVisible","delaySeconds","announcement_delay_s","timer","clearTimeout","acknowledgeAndClose","link_url","link_title","external_link","PlatformCompChart","obsQueries","obsQuery","paramKey","obsDatasetSummary","parameterConfiguration","formattedObs","yMins","Searching","SelectPlatform","Input","filteredTableData","setFilteredTableData","datasetIdRow","obsLatestResult","rowSelection","selectedRowKeys","selectedRows","getCheckboxProps","record","onSearch","reg","RegExp","inName","inId","allowClear","pageSize","showSizeChanger","showTotal","pageNumber","handlePageNumber","page","SelectParameter","selectedPeriodStart","setDatasetParameters","getLatestData","platformObs","getUpdated","getMeasurement","displayUnit","getUnitDisplayName","measurement","getDepth","depthA","depthB","Empty","PRESENTED_IMAGE_SIMPLE","AddDataWizard","isOpen","selectedDataset","setSelectedDataset","SeagullRangePicker","changePeriodCallback","initStartDate","initEndDate","initPeriod","formatDateTime","dateTime","periodName","periodToTimeRange","onOkClick","onCancelClick","allowEmpty","onCalendarChange","renderExtraFooter","ParameterCard","getParameterIndex","getIsRemoveGraphClicked","parameterType","Edit","AddDataDrawer","graphData","drawerStyle","headerStyle","borderBottomColor","borderBottomWidth","ResearchWorkspace","setHeight","parameterIndex","setParameterIndex","isRemoveGraphClicked","setIsRemoveGraphClicked","useLayoutEffect","cleanIds","arrayFormat","startMoment","endMoment","setPeriod","queries","OBSERVATIONAL_V2_DATA","complete","onParamChange","isRemove","elementRemoved","filteredDatasetIds","newQueryString","pushState","obsParameter","newPeriod","Pin","initialViewState","MapLocation","mapboxAccessToken","anchor","COLLECTION_STATUS","IceThickness","setMarker","ice_thickness","surface_snow_thickness","inputUnits","setInputUnits","submitObservation","resetFields","Modal","onError","snowCover","setSnowCover","unitOptions","inputName","handleUnitChange","oneYearAgo","validateThickness","locationLoading","setLocationLoading","onFieldsChange","changedFields","allFields","fieldValues","obs_date","obs_time","iceThicknessObs","land_fast","raw_value","raw_unit","snowThicknessObs","postData","snow_cover","labelAlign","sm","endOfDay","clone","isBefore","isAfter","showSecond","showNow","use12Hours","disabledHours","selectedDate","getFieldValue","isSame","disabledMinutes","selectedHour","minute","validator","geolocation","getCurrentPosition","addonAfter","InfoCircleOutlined","textShadow","gaOptions","siteSpeedSampleRate","alwaysSendToDefaultTracker","updateLocale","relativeTime","m","h","M","Amplify","configure","Sentry","setAuthState","setUserLocation","useReducer","sidebarVisible","userLang","temp_preferences","handleSignIn","seagullUserData","newSeagullUser","platform_alert_email_notifications","platform_alert_sms_notifications","obs_alert_email_notifications","obs_alert_sms_notifications","obs_alert_notification_frequency","redirectAfterAuthentication","unitPreference","tempPreference","signOut","ip_address","sub","onAuthUIStateChange","nextAuthState","authData","authDataDeepCopy","SignedOut","exact","ComponentPreviews","lazy","dsn","replaysSessionSampleRate","replaysOnErrorSampleRate","autoSessionTracking","integrations","BrowserTracing","CaptureConsoleIntegration","levels","tracesSampleRate","attachStacktrace","include","ip","queryClient","QueryClient","defaultOptions","staleTime","cacheTime","Infinity","ReactDOM","cssText","QueryClientProvider","client","enUS","useInitialHook","fallback","serviceWorker","ready","registration","unregister","WaterTempSvg","SearchingIcon","CurrentSvg","CurrentIcon","DatasetsSvg","DatasetsIcon","EditSvg","EditIcon","MapViewInfoSvg","MapViewInfoIcon","SvgPinClickedIcon","NoDataInRangeIcon"],"mappings":"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SAAU,CACRvD,QAAS,UACTC,KAAM,UACNC,MAAO,UAGXsD,QAAS,CACPC,eAAgB,CACdzD,QAAS,KACTC,KAAM,KACNC,MAAO,IAETwD,YAAa,CACX1D,QAAS,GACTC,KAAM,GACNC,MAAO,QAETyD,OAAQ,CACN3D,SAAS,EACTC,MAAM,EACNC,OAAO,IAGXzC,IAAK,CACHmG,SAAU,CACR5D,QAAS,OACTC,KAAM,OACNC,MAAO,YAET2D,UAAW,CACT7D,SAAU,UACVC,MAAO,UACPC,OAAQ,YAEV4D,KAAM,CACJ9D,QAAS,IACTC,KAAM,IACNC,MAAO,KAET6D,gBAAiB,CACf/D,QAAS,OACTC,KAAM,OACNC,MAAO,YAET8D,sBAAuB,CACrBhE,QAAS,OACTC,KAAM,OACNC,MAAO,YAET+D,iBAAkB,CAChBjE,SAAU,UACVC,MAAO,UACPC,OAAQ,YAEVgE,uBAAwB,CACtBlE,SAAU,WACVC,MAAO,WACPC,OAAQ,YAEViE,YAAa,CACXnE,QAAS,IACTC,KAAM,IACNC,MAAO,KAETkE,QAAS,CACPpE,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEFC,KAAM,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEFC,MAAO,CACL,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGJmE,WAAY,CACVrE,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,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AMhV,KACNoN,IAAK,OACLkc,KAAM,QAER,CACEtU,KAAMpU,KACN0oB,KAAM,QACNlc,IAAK,SAEP,CACE4H,KAAMlT,KACNwnB,KAAM,WACNlc,IAAK,YAEP,CACE4H,KAAM5S,KACNknB,KAAM,UACNlc,IAAK,YAEP,CACE4H,KAAM5R,MACNkmB,KAAM,WACNlc,IAAK,aAIInB,GAAa,CACxB,CACEsd,SAAU,UACVjb,KAAM,gBAER,CACEib,SAAU,UACVjb,KAAM,eAER,CACEib,SAAU,UACVjb,KAAM,aAER,CACEib,SAAU,UACVjb,KAAM,mBAER,CACEib,SAAU,UACVjb,KAAM,oBAER,CACEib,SAAU,UACVjb,KAAM,mBAER,CACEib,SAAU,UACVjb,KAAM,aAER,CACEib,SAAU,uBACVjb,KAAM,mBAER,CACEib,SAAU,UACVjb,KAAM,kBAER,CACEib,SAAU,UACVjb,KAAM,eAER,CACEib,SAAU,UACVjb,KAAM,aAER,CACEib,SAAU,UACVjb,KAAM,YAER,CACEib,SAAU,UACVjb,KAAM,mBAER,CACEib,SAAU,uBACVjb,KAAM,mBAER,CACEib,SAAU,uBACVjb,KAAM,oBAER,CACEib,SAAU,uBACVjb,KAAM,oBAER,CACEib,SAAU,uBACVjb,KAAM,oBAER,CACEib,SAAU,uBACVjb,KAAM,oBAER,CACEib,SAAU,uBACVjb,KAAM,qBAIGkb,GAAW,CACtB,CACEzW,MAAO,aAET,CACEA,MAAO,aAET,CACEA,MAAO,eAET,CACEA,MAAO,mBAIE0W,GAAe,CAC1B,CACEzU,KAAM,cAAC,KAAD,CAAW3V,MAAO,CAAE1F,MAAO,GAAIC,OAAQ,MAC7CwT,IAAK,OACLkc,KAAM,YACNC,SAAU,WACVpb,KAAM,QAER,CACE6G,KAAM,cAAC,MAAD,IACN5H,IAAK,UACLkc,KAAM,YACNC,SAAU,WACVpb,KAAM,QAER,CACE6G,KAAM,cAAC,KAAD,IACN5H,IAAK,OACLkc,KAAM,WACNC,SAAU,YAEZ,CACEvU,KAAM,cAAC,KAAD,IACN5H,IAAK,SACLkc,KAAM,SACNC,SAAU,YAEZ,CACEvU,KAAM,cAAC,MAAD,IACN5H,IAAK,QACLkc,KAAM,SACNC,SAAU,YAEZ,CACEvU,KAAM,cAAC,MAAD,IACN5H,IAAK,oBACLkc,KAAM,qBACNC,SAAU,aAIDG,GAAc,CACzB,CACE1U,KAAM,cAAC,KAAD,IACN5H,IAAK,gBACLkc,KAAM,iBACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,GAEX,CACEnM,KAAM,cAAC,MAAD,IACN5H,IAAK,4BACLkc,KAAM,4BACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,GAEX,CACEnM,KAAM,cAAC,MAAD,IACN5H,IAAK,eACLkc,KAAM,aACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,GAEX,CACEnM,KAAM,cAAC,MAAD,IACN5H,IAAK,QACLkc,KAAM,cACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,IAIAyI,GAAc,CACzB,CACE5U,KAAM,cAAC,KAAD,IACN5H,IAAK,gBACLkc,KAAM,iBACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,GAEX,CACEnM,KAAM,cAAC,MAAD,IACN5H,IAAK,4BACLkc,KAAM,4BACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,GAEX,CACEnM,KAAM,cAAC,MAAD,IACN5H,IAAK,eACLkc,KAAM,aACNK,UAAU,EACVJ,SAAU,UACVpI,SAAS,IAIA0I,GAAY,CACvB,CACE7U,KAAM,cAAC8U,GAAA,EAAD,CAA2BzqB,MAAO,CAAE6V,SAAU,MACpD9H,IAAK,cACLkc,KAAM,eACNC,SAAU,UAIDQ,GAAU,CACrB,CACE/U,KAAM,cAAC,MAAD,IACN5H,IAAK,QACLkc,KAAM,SACNC,SAAU,MACVpI,SAAS,GAEX,CACEnM,KAAM,cAACgV,GAAD,IACN5c,IAAK,QACLkc,KAAM,aACNC,SAAU,MACVpI,SAAS,IC3QP1iB,GAAe,SAAC9D,GAAD,OACnB,6CACEZ,MAAM,6BACNkF,SAAS,UACTvC,oBAAoB,OACpB7C,QAAQ,YACRF,MAAO,GACPC,OAAQ,IACJe,GAPN,aASE,sBACEL,EAAE,4cACF+E,MAAO,CACLlF,KAAM,QAERY,aAAa,2BAOJkvB,GAFM,SAACtvB,GAAD,OAAW,cAACC,EAAA,EAAD,aAAMC,UAAW4D,IAAkB9D,KCpB7D8D,I,OAAe,SAAC9D,GAAD,OACnB,6CACEb,QAAQ,MACRC,MAAM,6BACNkF,SAAS,UACTvC,oBAAoB,OACpB7C,QAAQ,aACJc,GANN,aAQE,oBAAGN,UAAU,kBAAb,UACE,+BACE,sBAAML,GAAG,wBAAwBM,EAAE,4lCAA4lCS,aAAa,yBAE9oC,mBAAGV,UAAU,6BAAb,SACE,sBACEgF,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,sBAERG,EAAE,4lCACFS,aAAa,iCASRmvB,GAFG,SAACvvB,GAAD,OAAW,cAACC,EAAA,EAAD,aAAMC,UAAW4D,IAAkB9D,KCR1DwvB,GAAc,SAACxvB,GAAW,IAE5ByvB,EAUEzvB,EAVFyvB,KACA5X,EASE7X,EATF6X,QACA6X,EAQE1vB,EARF0vB,YACAC,EAOE3vB,EAPF2vB,aACAC,EAME5vB,EANF4vB,aACA/W,EAKE7Y,EALF6Y,gBACAgX,EAIE7vB,EAJF6vB,mBACAC,EAGE9vB,EAHF8vB,aACAC,EAEE/vB,EAFF+vB,YACAC,EACEhwB,EADFgwB,aAX2B,EAcOhV,mBAAS,MAdhB,mBActBiV,EAdsB,KAcVC,EAdU,OAkBzBxZ,qBAAWzC,IADbE,EAjB2B,EAiB3BA,YAAaI,EAjBc,EAiBdA,kBAGTuS,EAAW8E,yBAAc,CAAE3G,SAAU,MACrCxU,EAAUqW,EAAW2I,EAAKU,MAAM,EAAG,GAAKV,EACxCW,EAAoBX,EAAKpZ,OAAS,EAAI,SAAW,GAOjDga,EAAU3B,GAAW5a,MAAK,SAACwc,GAAD,OAAOA,EAAE3B,OAASgB,KAuBlD/Y,qBAAU,WACR,GAAIzE,GAAe1B,QAAQG,OAAQ,CAEjC,IAAM2f,EAAazB,GAAahb,MAAK,SAAC0c,GAAD,MAAiB,YAAVA,EAAE/d,OACxCge,EAAkBhgB,EAAQigB,MAAK,SAACC,GAAD,OAAOA,EAAEle,MAAQ8d,EAAW9d,OAC3Dme,EAAengB,EAAQigB,MAAK,SAACC,GAAD,MAAiB,SAAVA,EAAEle,QAEtCge,GAAmBG,EACjBnd,IAAEod,QAAQZ,EAAY,CAACM,KAC1BL,EAAc,CAACK,IAGjBL,EAAc,SAGjB,CAACzf,IAEJ,IAAMqgB,EAAY,CAChB9xB,MAAOmT,GAAe1B,QAAQG,OAAS,KAAO,KAC9C3R,OAAQkT,GAAe1B,QAAQG,OAAS,KAAO,KAC/ClM,MAAO,CACLwT,UAAW/F,GAAe1B,QAAQG,OAAS,GAAK,EAChD6K,aAActJ,GAAe1B,QAAQG,OAAS,GAAK,IAIvD,OACE,sBAAK5O,UAAU,eAAf,UACE,sBAAK0C,MAAO,CAAEE,QAAS,QAAvB,UACE,cAAC,KAAD,CACE4O,KAAK,UACLqE,QAASA,EACT7V,UAAS,yBAAoBouB,GAC7B/V,KAAM,cAAC,KAAD,CAAY3V,MAAO,CAAE6V,SAAU,MACrC7V,MAAO,CAAE4V,YAAa,QAEvB7J,EAAQ/F,KAAI,SAACqmB,EAAKC,GACjB,OAAIlK,GAA6B,YAAjBiK,EAAInC,SAEhB,eAAC,KAAD,CAEE/D,UAAQ,EACRF,QAAS,kBAAM+E,EAAYqB,IAC3BhF,UAAW,cAACzG,GAAA,EAAD,IACXtjB,UAAS,UAAK+uB,EAAIte,IAAT,gBAAoBue,GAL/B,UAOGD,EAAI1W,KACJ,IACA0W,EAAIpC,KACQ,WAAZoC,EAAIte,KACH,qCACE,sBAAMzQ,UAAU,eAAhB,mBAGA,cAAC,KAAD,CACEwpB,KAAK,QACLyF,gBAAc,EACd5E,SAAU,SAAC6E,GAAD,OAAapB,EAAaoB,WAjBrCF,GAwBJ,SAEE,OAAVf,QAAU,IAAVA,OAAA,EAAAA,EAAY5Z,QAAS,GAAK4Z,EAAWvlB,KAAI,SAACqmB,EAAKC,GAAN,OACxC,eAAC,KAAD,CAEEnG,UAAQ,EACRF,QAAS,kBAAMoF,EAAYgB,GAAK,EAAM,cACtClZ,QAAS,kBAAMkY,EAAYgB,GAAK,EAAM,cACtChF,UAAW,cAACzG,GAAA,EAAD,CAAmB6L,aAAW,2BACzCnvB,UAAWovB,KAAW,GAAD,OAAIL,EAAIte,IAAR,QAAmB,cAN1C,UAQGse,EAAI1W,KACJ,IACA0W,EAAIpC,OATAqC,MAYRrB,EAAatZ,OAAS,GAErB,eAAC,KAAD,CACE3R,MAAO,CAAEE,QAAS,QAElBimB,UAAQ,EACRF,QAjHU,WAClBiF,KAiHQ7D,UAAW,cAACzG,GAAA,EAAD,IALb,UAvGY,WAClB,IAAM+L,EAAoBhB,EAAQhW,KAElC,OAAQgW,EAAQ1B,KAAK2C,eACnB,IAAK,WACH,OAAO,cAACD,EAAD,CAAmB3sB,MAAO,CAAEhF,UAAW,iCAChD,IAAK,OAAQ,IAAK,UAChB,OAAO,cAAC2xB,EAAD,CAAmB3sB,MAAO,CAAEhF,UAAW,+BAChD,QACE,OAAO,cAAC2xB,EAAD,CAAmB3sB,MAAO,CAAEhF,UAAW,gBAqGzC6xB,GACA,QACAlB,EAAQ1B,OAPJ0B,EAAQ1B,MAUhB7H,GAAY2I,EAAKpZ,OAAS,GACzB,eAAC,KAAD,CAAQ3R,MAAO,CACbK,gBAAiBoN,GAAepF,OAAOa,QAAS2J,MAAOpF,GAAepF,OAAOuB,WAAYtP,MAAO,GAAIC,OAAQ,GAAI4F,aAAc,IADhI,cAKG4qB,EAAKpZ,OAAS,QAIrB,cAAC,KAAD,CACErU,UAAS,kCAA6B6W,EAAkB,SAAW,IACnEwB,KAAM,cAACmX,GAAD,CAAcxyB,MAAO,GAAIC,OAAQ,KACvCuU,KAAK,UACLqE,QApHoB,WACpB1D,EACF0b,GAAoBhX,GAEpBtE,GAAkB,IA4GlB,SAME,sBAAMvS,UAAU,aAAhB,yBAEF,cAAC,KAAD,CACEA,UAAU,eACVqY,KAAM,cAACoX,GAAD,CAAWzyB,MAAO,GAAIC,OAAQ,KACpCuU,KAAK,UACLqE,QAASmY,EAJX,SAME,sBAAMhuB,UAAU,aAAhB,qBAEF,cAAC,KAAD,CAAYgsB,SAAU,IAAtB,SACE,sBAAKhsB,UAAU,aAAf,UACE,cAAC,KAAD,CAAS0kB,UAAU,QAAQtO,MAAM,SAAjC,SACGsZ,IAAMC,aAAaxf,GAAe5D,MAAMgB,iBAAkBuhB,KAE7D,cAAC,KAAD,CAASpK,UAAU,QAAQtO,MAAM,YAAjC,SACGsZ,IAAMC,aAAaxf,GAAe5D,MAAMsB,oBAAqBihB,KAEhE,cAAC,KAAD,CAASpK,UAAU,QAAQtO,MAAM,cAAjC,SACGsZ,IAAMC,aAAaxf,GAAe5D,MAAMoB,sBAAuBmhB,KAElE,cAAC,KAAD,CAASpK,UAAU,QAAQtO,MAAM,gBAAjC,SACGsZ,IAAMC,aAAaxf,GAAe5D,MAAMwB,yBAA0B+gB,KAEpErY,GAAYsB,OACX,cAAC,KAAD,CAAS2M,UAAU,QAAQtO,MAAM,oBAAjC,SACE,cAAC,KAAD,CACEpZ,MAAM,KACNC,OAAO,KACPyF,MAAO,CACLhF,UAAW,2BAwB7B8vB,GAAYvuB,aAAe,CACzBwuB,KAAM,GACN5X,QAAS,aACT6X,YAAa,aACbE,aAAc,aACdD,aAAc,GACd9W,iBAAiB,EACjBgX,mBAAoB,aACpBC,aAAc,aACdC,YAAa,aACbC,aAAc,cAGDlpB,sBAAK0oB,I,wECpPdoC,GAAe,SAAC5xB,GAAW,IAE7ByS,EACEzS,EADFyS,IAAKkc,EACH3uB,EADG2uB,KAAMxC,EACTnsB,EADSmsB,OAAQ0F,EACjB7xB,EADiB6xB,SAAUha,EAC3B7X,EAD2B6X,QAG/B,OACE,sBAEE7V,UAAW6vB,EAAW,yBAA2B,gBACjDha,QAASA,EAHX,UAKGsU,EACG,sBAAMznB,MAAO,CAAEotB,SAAS,0CAAD,OAA4C3f,GAAepF,OAAOkB,OAAlE,wBAAvB,SAAyHke,IACzH,cAAC,KAAD,CAAU+E,QAASW,IACvB,sBAAM7vB,UAAU,OAAhB,SAAwB2sB,IACvBxC,EAAS,cAAC,KAAD,CAAU+E,QAASW,IACzB,KATCpf,IAyBXmf,GAAa3wB,aAAe,CAC1BwR,IAAK,EACLkc,KAAM,GACNxC,OAAQ,KACR0F,UAAU,EACVha,QAAS,cAGI/Q,sBAAK8qB,ICxCZta,GAASoN,KAATpN,KAEFya,GAAsB,SAAC/xB,GAAW,IAC9Bib,EAAwBjb,EAAxBib,UAAW+W,EAAahyB,EAAbgyB,SAEbC,EAAgB7R,IAAO9O,IAAY4gB,QAAQ,YAC9CxnB,KAAI,SAAC0P,EAAOwU,GAAR,MAAsB,CAAEA,WAAUuD,MAAO/R,IAAO1V,IAAI0P,EAAO,YAAY1H,QAM9E,OACEuI,EAEI,eAAC,KAAD,WACG3J,GAAW6e,MAAM,EAAG,IAAIzlB,KAAI,SAAC0nB,EAAWpB,GAAZ,OAC3B,eAAC,KAAD,CAAiBqB,KAAM,EAAvB,UACE,cAAC,KAAD,CAAU3tB,MAAO,CAAE4V,YAAa,KAC/B8X,EAAUze,OAFHqd,MAKZ,cAAC,KAAD,CAAKqB,KAAM,EAAX,SACE,cAAC,GAAD,CAAMxa,QAfA,WACdma,GAAS,IAcuBttB,MAAO,CAAE6S,MAAO,QAAU+a,WAAS,EAA3D,0BAKJ,cAAC,KAAD,UACGL,EAAcvnB,KAAI,SAAC6nB,GAAD,OACjB,eAAC,KAAD,CAAKF,KAAM,GAAX,UACE,uBAAOrwB,UAAU,KAAjB,SAAuBoe,IAAOoS,UAAUD,EAAS3D,YACjD,cAAC,KAAD,CAAK6D,OAAQ,CAAC,GAAI,IAAK/tB,MAAO,CAAEwT,UAAW,IAA3C,SACGqa,EAASJ,MAAMznB,KAAI,SAACgoB,GAAD,OAClB,eAAC,KAAD,CAAKL,KAAM,GAAX,UACE,cAAC,KAAD,CAAU3tB,MAAO,CAAE4V,YAAa,KAC/BoY,mBAgBrBX,GAAoB9wB,aAAe,CACjCga,WAAW,EACX+W,SAAU,cAGGD,U,UC7DPY,I,OAAiBC,OAAjBD,cAEFE,GAAY,SAAC7yB,GAAW,IAE1B8yB,EACE9yB,EADF8yB,YAAa9B,EACXhxB,EADWgxB,MAAO+B,EAClB/yB,EADkB+yB,aAAchD,EAChC/vB,EADgC+vB,YAAaiD,EAC7ChzB,EAD6CgzB,SAAUC,EACvDjzB,EADuDizB,YAG3D,OACED,EAEI,eAAC,OAAD,CAAiBhxB,UAAU,WAA3B,UACG8wB,EAAYzY,KADf,OAGGyY,EAAYnE,OAHLqC,GAOV,eAAC2B,GAAD,CAEE3wB,UAAS,UAAK8wB,EAAYrgB,IAAjB,QACTye,SACc,OAAZ6B,QAAY,IAAZA,OAAA,EAAAA,EAAcroB,KAAI,SAACkL,GAAD,OAAUA,EAAKnD,OAAK8D,QAAQuc,EAAYrgB,OAAQ,EAEpE4Z,SAAU,SAAC6E,GAAD,OAAanB,EAAY+C,EAAa5B,EAAS+B,IAN3D,UAQGH,EAAYzY,KARf,OAUGyY,EAAYnE,OATRqC,IAwBf6B,GAAU5xB,aAAe,CACvB6xB,YAAa,GACb9B,MAAO,KACP+B,aAAc,GACdhD,YAAa,aACbiD,UAAU,EACVC,YAAa,IAGAJ,UC5CTK,GAAgB,SAAClzB,GACrB,IAAM8mB,EAAW8E,yBAAc,CAAE3G,SAAU,MAGzC7N,EAEEpX,EAFFoX,QACAuT,EACE3qB,EADF2qB,QAKF,OACE,mCACE,cAAC,KAAD,CACE3oB,UAAU,mCACV0kB,UAAU,OACVmE,UAAQ,EACRzT,QAASA,EACT+b,cAAc,EACdn0B,MAAM,MACN2rB,QAASA,EACToB,WAAYjF,GACV,sBAAMpiB,MAAO,CAAE6S,MAAO,qBAAsBgD,SAAU,IAAtD,SACE,cAAC,KAAD,MAGJnC,MACE,gCACG0O,GAAY,cAAC,KAAD,CAAQtT,KAAK,OAAO6G,KAAM,cAAC+Y,GAAA,EAAD,IAAkB1uB,MAAO,CAAE6S,MAAO,QAAUM,QAnB9E,kBAAM8S,OAkBb,aAdJ,SAoBE,gCACE,qBAAKlc,IAAI,uBAAuBC,IAAI,aACpC,qBAAK1M,UAAU,KAAf,qCACA,2HAGA,cAAC,KAAD,CAAOkqB,YAAY,qBAAqBV,KAAK,UAC7C,cAAC,KAAD,CAAQA,KAAK,QAAQ3T,QAAS8S,EAA9B,0BAYVuI,GAAcjyB,aAAe,CAC3BmW,SAAS,EACTuT,QAAS,cAGI7jB,sBAAKosB,I,qBC1DdG,I,QAAe,SAACrzB,GAAW,IAE7BoX,EACEpX,EADFoX,QAASkc,EACPtzB,EADOszB,QAASC,EAChBvzB,EADgBuzB,YAAaC,EAC7BxzB,EAD6BwzB,WAAYC,EACzCzzB,EADyCyzB,OAAQC,EACjD1zB,EADiD0zB,WAAYC,EAC7D3zB,EAD6D2zB,SAAUC,EACvE5zB,EADuE4zB,KAG3E,OACE,cAAC,KAAD,CACE5xB,UAAU,gBACVhD,MAAO,IACPoY,QAASA,EACTyc,OAAQ,KACRC,UAAQ,EACR/H,UAAW,cAAC,KAAD,IACX4H,SAAUA,EACV3H,cAAY,EARd,SAUGsH,EAEG,sBAAKtxB,UAAU,UAAf,UACE,cAAC,KAAD,IACA,4BAAIwxB,OAIN,qCACE,qBAAKxxB,UAAU,WAAf,4BACCuxB,GAAe,4BAAIA,IACpB,cAAC,KAAWjc,KAAZ,CAAiBO,QAAS8b,EAAUjvB,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOqB,UAA1E,SAAuFslB,IACvF,cAAC,KAAD,CAAQ1xB,UAAU,aAAa6V,QAAS+b,EAAMpI,KAAK,QAAnD,SAA4DiI,WAkBxEJ,GAAapyB,aAAe,CAC1BmW,SAAS,EACTkc,SAAS,EACTE,WAAY,GACZC,OAAQ,GACRC,WAAY,GACZH,YAAa,GACbK,KAAM,aACND,SAAU,cAGGN,U,+BCjDFU,GAA2B,SAACC,EAAkBC,GAAnB,OAAyCC,KAAKC,IAAuD,IAAlDD,KAAKE,KAAKJ,EAAmBC,GAA4BC,KAAKG,IAAM,KAClJC,GAAuB,SAACN,EAAkBC,GAAnB,OAA6G,IAApEC,KAAKK,KAAK,SAAEP,EAAqB,GAAvB,SAA8BC,EAAsB,KA4C9HO,GAAmB,SAACC,EAAeC,EAAiBzf,GAC/D,IAAKyf,EAAmB,OAAO,KAE/B,GAAIzf,GAAmB0f,MAAMC,QAAQ3f,GAAkB,CACrD,IAAM4f,EAAS,OAAG5f,QAAH,IAAGA,OAAH,EAAGA,EAAiBnB,MAAK,SAACwc,GAAD,OAAOA,EAAE3c,OAAS+gB,EAAgBI,iBAC1E,GAAID,EACF,OAAOA,EAAUniB,WAInBqiB,QAAQC,KAAR,kDAAwD/f,IAE1D,MAA0B,WAAlBwf,GAAgD,eAAlBA,GAAoD,YAAlBA,EACL,eAA9Dtf,GAAeQ,QAAQ,mBAAmBuX,gBAA1C,OAA6EwH,QAA7E,IAA6EA,OAA7E,EAA6EA,EAAiBO,2BAA9F,OAA2HP,QAA3H,IAA2HA,OAA3H,EAA2HA,EAAiBQ,yBAC9E,aAA9D/f,GAAeQ,QAAQ,mBAAmBwX,gBAA1C,OAA2EuH,QAA3E,IAA2EA,OAA3E,EAA2EA,EAAiBO,2BAA5F,OAAyHP,QAAzH,IAAyHA,OAAzH,EAAyHA,EAAiBQ,0BAQ3IC,GAAwB,SAAC/C,EAAWgD,GAAmB,IAAD,EAUT,IAT7CC,EAAqB,GACrBC,EAAe,GACfC,EAAc,GAOlB,GALgC,mBAAnB,OAATnD,QAAS,IAATA,OAAA,EAAAA,EAAWoD,eAAgE,uBAAnB,OAATpD,QAAS,IAATA,OAAA,EAAAA,EAAWoD,gBAC5DF,EAAeF,EAActhB,MAAK,SAAChJ,GAAD,OAAOA,EAAE2qB,gBAAF,OAAmBrD,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAWsD,oCACvEH,EAAcH,EAActhB,MAAK,SAAChJ,GAAD,OAAOA,EAAE2qB,gBAAF,OAAmBrD,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAWuD,oCAGxC,mBAAnB,OAATvD,QAAS,IAATA,OAAA,EAAAA,EAAWoD,eACb,IAAe,QAAX,EAAAD,SAAA,eAAaK,aAAavf,QAAS,IAAiB,QAAZ,EAAAif,SAAA,eAAcM,aAAavf,QAAS,EAAG,CAAC,IAAD,EAC3Ewf,EAAa,GACnBA,EAAWD,aAAX,UAA0BL,SAA1B,aAA0B,EAAaK,aAAalrB,KAAI,SAACorB,EAAS9E,GAAV,OAjD5B,SAAC+E,EAAqBC,GAEtD,GAAmC,QAAZ,OAAnBD,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBrjB,aAAiDC,KAAZ,OAAnBojB,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBrjB,QAC5B,OAAX,OAApBsjB,QAAoB,IAApBA,OAAA,EAAAA,EAAsBtjB,OACzB,OAAO,KAGT,IAAMujB,EAAQ,eAAQF,GAItB,OAFAE,EAASvjB,MAAQ4hB,GAAqByB,EAAoBrjB,MAAOsjB,EAAqBtjB,OAE/EujB,EAsCyEC,CAAmBX,EAAYK,aAAa5E,GAAQsE,EAAaM,aAAa5E,OAC1JqE,EAAmBvd,KAAK+d,SAErB,GAAgC,uBAAnB,OAATzD,QAAS,IAATA,OAAA,EAAAA,EAAWoD,cAAsC,CAAC,IAAD,IAC1D,IAAe,QAAX,EAAAD,SAAA,eAAaK,aAAavf,QAAS,IAAiB,QAAZ,EAAAif,SAAA,eAAcM,aAAavf,QAAS,EAAG,CAAC,IAAD,EAC3Ewf,EAAa,GACnBA,EAAWD,aAAX,UAA0BL,SAA1B,aAA0B,EAAaK,aAAalrB,KAAI,SAACorB,EAAS9E,GAAV,OA5ExB,SAAC+E,EAAqBC,GAE1D,GAAmC,QAAZ,OAAnBD,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBrjB,aAAiDC,KAAZ,OAAnBojB,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBrjB,QAC5B,OAAX,OAApBsjB,QAAoB,IAApBA,OAAA,EAAAA,EAAsBtjB,OACzB,OAAO,KAGT,IAAMyjB,EAAY,eAAQJ,GAI1B,OAFAI,EAAazjB,MAAQqhB,GAAyBgC,EAAoBrjB,MAAOsjB,EAAqBtjB,OAEvFyjB,EAiEyEC,CAAuBb,EAAYK,aAAa5E,GAAQsE,EAAaM,aAAa5E,OAC9JqE,EAAmBvd,KAAK+d,SAG1BR,EAAqBD,EAAc7c,QAAO,SAACzN,GAAD,OAAOA,EAAE2qB,eAAiBrD,EAAUqD,gBAGhF,OAAyB,QAAlB,EAAAJ,SAAA,eAAoBhf,QAAS,EAAIgf,EAAmB,GAAGO,aAAe,IAIlES,GAAwB,SAACjE,EAAWgD,GAAZ,OAA+BD,GAAsB/C,EAAWgD,IAExFkB,GAAmB,CAC9B,4BACA,0BACA,mBACA,mBACA,sBACA,uBAiBWC,GAAgB,SAAC,GAEvB,IADLC,EACI,EADJA,QAASC,EACL,EADKA,iBAAkBC,EACvB,EADuBA,QAASC,EAChC,EADgCA,wBAAyBC,EACzD,EADyDA,qBAAsB3hB,EAC/E,EAD+EA,gBAC/E,IADgG4hB,mBAChG,SACEvlB,EAAa,GAInB,IACGklB,IACGE,GACiB,OAAX,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAAStrB,QACRurB,GACDA,EAAwBtgB,OAAS,IAChCugB,GACDA,EAAqBvgB,OAAS,EAEjC,OAAO/E,EAGT,IAAIwlB,EAAiB,GACjBC,GAAoB,EAExB,QAAgDpkB,IAA5C6jB,EAAQQ,gCACVD,EAAmBP,EAAQQ,gCAAgCC,SAASC,gBAC/D,CACL,IAAMC,EAAoBV,EAAiB3iB,MAAK,SAAChJ,GAAD,OAAOA,EAAEssB,mBAAF,OAAsBZ,QAAtB,IAAsBA,OAAtB,EAAsBA,EAASY,oBAEtF,IAAKD,EACH,OAAO7lB,EAGTylB,EAAmBI,EAAkBH,gCAAgCC,SAASC,YAGhF,IAA0B,IAAtBH,EACF,OAAOzlB,EAGTwlB,EAAiBF,EAAqBre,QAAO,SAAC8e,GAAD,OAAQA,EAAGH,cAAgBH,KAGxE,IAAMO,EAAU,SAAC3jB,GACf,YAAahB,IAATgB,EACK,KAIT,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAM6H,SAAS,eACjBnB,EAAO,cAAC,MAAD,CAAe3V,MAAO,CAAE6V,SAAU,OACpC,OAAI5G,QAAJ,IAAIA,OAAJ,EAAIA,EAAM6H,SAAS,gBACxBnB,EAAO,cAAC,MAAD,KACF,OAAI1G,QAAJ,IAAIA,OAAJ,EAAIA,EAAM6H,SAAS,aACxBnB,EAAO,cAAC,KAAD,KACF,OAAI1G,QAAJ,IAAIA,OAAJ,EAAIA,EAAM6H,SAAS,iBACxBnB,EAAO,cAAC,MAAD,KAGFA,GAXP,IAAIA,GAeFkd,EAAW,EACXC,EAAW,EACTC,EAAkB,GAGlBC,EAAyBZ,EAAeve,QAAO,SAAC6Z,GAAD,MAA2C,iCAA5BA,EAAU0C,eAAgF,gCAA5B1C,EAAU0C,iBAE5IgC,EAAiBA,EAAeve,QAAO,SAAC6Z,GAAD,MAA2C,iCAA5BA,EAAU0C,eAAgF,gCAA5B1C,EAAU0C,iBAEpF4C,EAAuBhtB,KAAI,SAACitB,GACpE,IAE+D,EAFzDvF,EAAS,eAAQuF,GAES,gCAA5BvF,EAAU0C,eACZ1C,EAAUoD,aAAe,oBACzBpD,EAAUuD,+BAAiCvD,EAAUqD,aACrDrD,EAAUsD,gCAAV,UAA4CgC,EAAuB5jB,MAAK,SAACse,GAAD,OAAeA,EAAUwF,sBAAwBD,EAAclC,uBAAvI,aAA4C,EAA0GA,cACjH,iCAA5BrD,EAAU0C,gBACnB1C,EAAUoD,aAAe,gBACzBpD,EAAUuD,+BAAiCvD,EAAUwF,oBACrDxF,EAAUsD,gCAAkCtD,EAAUqD,aACtDrD,EAAUwF,oBAAsB,MAElC,OAAOxF,KAGyB/f,SAAQ,SAAC+f,GACzC0E,EAAehf,KAAKsa,MAGtB0E,EAAezkB,SAAQ,SAAC+f,GAEtB,IAA4B,IAAxBA,EAAUyF,UAAqB,CAAC,IAAD,QAC3BnD,EAAkBiC,EAA0BA,EAAwB7iB,MAAK,SAAChJ,GAAD,OAAOA,EAAEgtB,kBAAoB1F,EAAU0F,iBAAmBhtB,EAAEgqB,gBAAkB1C,EAAU0C,iBAAiB,KAElLiD,EAAuBrB,IAAkB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASrgB,QAAS,EAAIqgB,EAAQ5iB,MAAK,SAAChJ,GAAD,OAAOA,EAAEktB,iBAAmBxB,EAAQwB,kBAAkB,KAE3HC,EAAoBF,EAAuBA,EAAqBzmB,WAAa,GAE7E4mB,EAAwB7B,GAAsBjE,EAAW6F,GAGzDE,EADWC,UAAUC,SAAS/G,cACdnb,MAAM,KAAK,GAC3Bse,EAAa,OAAGC,QAAH,IAAGA,OAAH,EAAGA,EAAiB4D,kBACjCC,EAAgB/D,GAAiBC,EAAeC,EAAiBzf,GAGjEujB,EAAmB9D,EAAkBA,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOo1B,KAAiB,KAGjGiE,EAAmBhE,EAAkBA,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOk5B,KAAiB,KAEnGI,EAAiB,EACjBC,EAAgBxG,EAAUyG,WAC1BC,EAAa,iBAAGpE,QAAH,IAAGA,OAAH,EAAGA,EAAiBqE,aAAaZ,UAAjC,eAA0CzD,QAA1C,IAA0CA,GAA1C,UAA0CA,EAAiBqE,oBAA3D,aAA0C,EAA+BC,GACpFC,EAAoB,iBAAGvE,QAAH,IAAGA,OAAH,EAAGA,EAAiBwE,oBAAoBf,UAAxC,eAAiDzD,QAAjD,IAAiDA,GAAjD,UAAiDA,EAAiBwE,2BAAlE,aAAiD,EAAsCF,GAE7GzB,EAAWnF,EAAU+G,QACvB5B,EAAWnF,EAAU+G,OAGnB3B,EAAWpF,EAAU+G,QACvB3B,EAAWpF,EAAU+G,OAGvB,IAAMC,EAAsB1E,GAAmBA,EAAgB+D,MAAMpiB,OAAS,EAAIqe,EAAgB+D,MAAM,GAAGY,OAAS,KAChHC,EAAgBZ,EAAgB,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAkBW,OAASD,EAElE,GAAIlB,GAAyBA,EAAsB7hB,OAAS,EAAG,CAAC,IAAD,EACvDkjB,EAA6BrB,EAChC3f,QAAO,SAACzN,GAAD,OAAa,OAANA,QAAoB6H,IAAN7H,KAC5B0uB,QAAO,SAACC,EAAQvL,GAAT,OAAsB,IAAI1F,KAAK0F,EAAQwL,WAAa,IAAIlR,KAAKiR,EAAOC,WAAaxL,EAAUuL,KAE/FE,EAAY,OAAGjF,QAAH,IAAGA,OAAH,EAAGA,EAAiBkF,OAClCC,EAAkBF,EAEtB,GAAgC,mBAAnB,OAATvH,QAAS,IAATA,OAAA,EAAAA,EAAWoD,eAAgE,uBAAnB,OAATpD,QAAS,IAATA,OAAA,EAAAA,EAAWoD,gBAAwD,IAAhBqB,EACpG,IAEE8B,EAAiBmB,KAAIP,EAA2B7mB,MAAO8lB,EAAiBuB,aAAa5mB,GAAGulB,EAAiBqB,aAAaC,OAAOC,QAAQ,GAEjIN,IACFE,EAAkB,CAChBK,cAAeC,OAAOL,KAAIK,OAAOR,EAAaO,eAAgB1B,EAAiBuB,aAAa5mB,GAAGulB,EAAiBqB,aAAaC,OAAOC,QAAQ,IAC5IG,cAAeD,OAAOL,KAAIK,OAAOR,EAAaS,eAAgB5B,EAAiBuB,aAAa5mB,GAAGulB,EAAiBqB,aAAaC,OAAOC,QAAQ,MAGhJ,MAAO/uB,GAAI,IAAD,IACVytB,EAAc,iBAAGY,QAAH,IAAGA,GAAH,UAAGA,EAA4B7mB,aAA/B,aAAG,EAAmCunB,QAAQ,UAA9C,QAAoD,UAE/D,GAAgC,mBAAnB,OAAT7H,QAAS,IAATA,OAAA,EAAAA,EAAWoD,cACpBmD,EAA+E,aAA9DxjB,GAAeQ,QAAQ,mBAAmBwX,gBAA1C,YACiB,OAA1BoM,QAA0B,IAA1BA,OAAA,EAAAA,EAA4B7mB,OAAQ,QAAQunB,QAAQ,IAD3C,iBAEVV,QAFU,IAEVA,OAFU,EAEVA,EAA4B7mB,MAAMunB,QAAQ,QAC5C,CAAC,IAAD,IACLtB,EAAc,iBAAGY,QAAH,IAAGA,GAAH,UAAGA,EAA4B7mB,aAA/B,aAAG,EAAmCunB,QAAQ,UAA9C,QAAoD,KAIpErB,EAAgBuB,OAAOE,MAAMF,OAAM,OAACZ,QAAD,IAACA,OAAD,EAACA,EAA4BG,YAC5D,IAAIlR,KAAJ,OAAS+Q,QAAT,IAASA,OAAT,EAASA,EAA4BG,WAAWjR,UAChD,IAAID,KAA6C,KAAd,OAA1B+Q,QAA0B,IAA1BA,OAAA,EAAAA,EAA4BG,YAAkBjR,UAI3B,mBAAnB,OAAT2J,QAAS,IAATA,OAAA,EAAAA,EAAWoD,eACbsD,EAAgB,gBAChBQ,EAA8E,aAA9DnkB,GAAeQ,QAAQ,mBAAmBwX,gBAAiC,MAAQ,QAC9D,uBAAnB,OAATiF,QAAS,IAATA,OAAA,EAAAA,EAAWoD,gBACpBsD,EAAgB,2BAChBQ,EAAgB,QAGlB,IAAMgB,EAAgB,CACpB7E,aAAcrD,EAAUqD,aACxB9hB,KAAMmlB,EACNtD,aAAY,OAAEpD,QAAF,IAAEA,OAAF,EAAEA,EAAWoD,aACzBjC,YAAa0F,EACbvmB,MAAOynB,OAAOxB,GACd/kB,KAAM0lB,EACN7E,cAAa,OAAE+D,QAAF,IAAEA,OAAF,EAAEA,EAAkBuB,YACjCxB,cAAa,OAAEG,QAAF,IAAEA,OAAF,EAAEA,EAAkBqB,YACjCQ,KAAM3B,EACNve,KAAMid,EAAQwB,GACdhB,gBAAiB1F,EAAU0F,gBAC3BhD,cAAe1C,EAAU0C,cACzB0F,eAAgBpI,EAAUoI,eAC1BrB,MAAK,UAAE/G,EAAU+G,aAAZ,QAAqB,EAC1BvB,oBAAqBxF,EAAUwF,oBAC/BjC,+BAA8B,OAAEvD,QAAF,IAAEA,OAAF,EAAEA,EAAWuD,+BAC3CD,gCAA+B,OAAEtD,QAAF,IAAEA,OAAF,EAAEA,EAAWsD,gCAC5CkE,OAAQC,GAGNlB,IACEvG,EAAUwF,oBACZH,EAAgB3f,KAAhB,2BAA0BwiB,GAA1B,IAAyC1C,oBAAqBxF,EAAUwF,uBAExEtmB,EAAWwG,KAAKwiB,SAO1B,IAAMG,E1CnSa,SAACxlB,GAEpB,IAAKA,GAA2D,IAAxC1J,OAAOD,KAAK2J,GAAiBoB,OACnD,MAAO,GAET,IAAMxC,EAAS,GAMf,OALe,OAAfoB,QAAe,IAAfA,KAAiB5C,SAAQ,SAACqoB,GACpBA,EAAM7mB,QACRA,EAAOiE,KAAK4iB,EAAM/mB,SAGfE,E0CwRa8mB,CAAa1lB,GAE3BpB,EAASvC,EAAWiH,QAAO,SAAC+X,GAAD,OAAOmK,EAAYjf,SAAS8U,EAAEwE,kBAAgBpqB,KAAI,SAAC0nB,GAAD,mBAAC,eAAoBA,GAArB,IAAgCve,QAAQ,OACrH+mB,EAAWtpB,EAAWiH,QAAO,SAAC+X,GAAD,OAAQmK,EAAYjf,SAAS8U,EAAEwE,kBAIlE,OAFA8F,EAASC,MAAK,SAACze,EAAG0e,GAAJ,OAAU1e,EAAE+c,MAAQ2B,EAAE3B,QAAU/c,EAAEzI,MAAQ,IAAIonB,cAAcD,EAAEnnB,MAAQ,OACxE,uBAAOE,GAAP,aAAkB+mB,IAChBlwB,KAAI,SAAC0nB,GAAD,mBAAC,eACdA,GADa,IAEhB/Z,SAAUof,EAAgBlf,QAAO,SAACyiB,GAAD,OAC/BA,EAAMpD,qBAAuBoD,EAAMpD,sBAAwBxF,EAAUqD,qBAErEld,QAAO,SAAC+X,GAAD,YAAkB3d,IAAX2d,EAAE3c,SAGTsnB,GAA6B,SAACtE,EAAyBvE,EAAW8I,EAAsBjmB,GACnG,IAAI0jB,EAAiB,EACfjE,EAAkBiC,EAAwB7iB,MAAK,SAAChJ,GAAD,OAAOA,EAAEgtB,mBAAF,OAAsB1F,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAW0F,kBAAmBhtB,EAAEgqB,iBAAF,OAAoB1C,QAApB,IAAoBA,OAApB,EAAoBA,EAAW0C,kBAE/I,IAAKJ,EACH,OAAOwG,EAAqBxoB,MAG9B,IAAwB,OAApBwoB,QAAoB,IAApBA,OAAA,EAAAA,EAAsBxoB,QAAS,IACjC,OAAO,KAGT,GAAoC,QAAZ,OAApBwoB,QAAoB,IAApBA,OAAA,EAAAA,EAAsBxoB,aAAkDC,KAAZ,OAApBuoB,QAAoB,IAApBA,OAAA,EAAAA,EAAsBxoB,OAChE,OAAOimB,EAGT,GAAgC,mBAAnB,OAATvG,QAAS,IAATA,OAAA,EAAAA,EAAWoD,cACb,MAAqE,aAA9DrgB,GAAeQ,QAAQ,mBAAmBwX,gBAA1C,WACC+N,EAAqBxoB,MAAQ,QAAQunB,QAAQ,GAD9C,kBAEAiB,EAAqBxoB,MAAMunB,QAAQ,GAFnC,SAKT,GAAgC,uBAAnB,OAAT7H,QAAS,IAATA,OAAA,EAAAA,EAAWoD,cACb,OAAQ2E,OAAOE,MAAMa,EAAqBxoB,OAAwD,KAA3F,UAA+CwoB,EAAqBxoB,MAAMunB,QAAQ,GAAlF,SAGT,IAAMxF,EAAgBC,EAAgB4D,kBAChCC,EAAgB/D,GAAiBC,EAAeC,EAAiBzf,GAGjEujB,EAAmB9D,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOo1B,KAG9DiE,EAAmBhE,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOk5B,KAE9De,EAAa,OAAGZ,QAAH,IAAGA,OAAH,EAAGA,EAAkBW,OAExC,IAEEV,EAAiBmB,KAAIoB,EAAqBxoB,MAAO8lB,EAAiBuB,aAAa5mB,GAAGulB,EAAiBqB,aAAaC,OAAOC,QAAQ,GAC/H,MAAO/uB,GACPytB,EAAiBuC,EAAqBxoB,MAAQwoB,EAAqBxoB,MAAMunB,QAAQ,GAAKiB,EAAqBxoB,MAE7G,OAAOimB,EAAc,UAAMA,EAAN,YAAwBW,GAAkB,MASpD6B,GAAyB,SAAC3E,EAASE,GAA0B,IACpE0E,EADmDC,EAAgB,wDAGvE,IACG3E,GACEA,EAAQrgB,OAAS,IAChBmgB,EAEJ,OAAO,KAGT,IAAM8E,EAAiB5E,EAAQ5iB,MAAK,SAAChJ,GAAD,OAAOA,EAAEktB,iBAAmBxB,EAAQwB,kBAExE,IAAKsD,EACH,OAAO,KAd8D,IAiB/DhqB,EAAegqB,EAAfhqB,WAiBR,OAfAA,EAAWe,SAAQ,SAAC+f,GAElB,IAAMmJ,EAAoBnJ,EAAUwD,aAAa,GAI7C2F,KACGH,GAAe,IAAI5S,KAAmC,IAA9B+S,EAAkB7B,WAAkBjR,UAAY,IAAID,KAAK4S,GAAY3S,aAIlG2S,EAA2C,IAA9BG,EAAkB7B,cAI5B2B,EAAMD,EAAarV,KAAOqV,GAAYI,WAGlCC,GAA2B,SAAC/oB,GAAD,MACwB,eAA9DyC,GAAeQ,QAAQ,mBAAmBuX,gBAA1C,UACOgH,KAAKwH,MAAShpB,EAAS,EAAK,EAAK,IADxC,mBAEOwhB,KAAKwH,MAAMhpB,GAFlB,UAaWipB,GAA6B,SAACjpB,GAAD,gBACrCwhB,KAAKwH,MAAe,MAARhpB,EAAgB,IAAO,KADE,QAQ7BkpB,GAA8B,SAAClpB,GAAD,MACqB,WAA9DyC,GAAeQ,QAAQ,mBAAmBwX,gBAA1C,UACO+G,KAAKwH,MAAe,IAARhpB,GAAgB,IADnC,iBAEOwhB,KAAKwH,MAAc,QAARhpB,EAAkB,KAAO,IAF3C,SAKWmpB,GAAsB,SAACpe,GAAD,OAAYlS,OAAOD,KAAKmS,GACxDlF,QAAO,SAAC9F,GAAD,OAASgL,EAAOhL,MACvB/H,KAAI,SAAC+H,GAAD,gBAAYA,EAAZ,YAAmBgL,EAAOhL,OAC9BqpB,KAAK,MAEKC,GAAoB,CAC/BC,KAAM,CAAC,cAAe,YAAa,iBAAkB,OAAQ,QAAS,WAAY,WAClFC,MAAO,CAAC,iBAAkB,SAC1BC,OAAQ,CAAC,cAAe,+BAAgC,SAAU,iBAClEC,kBAAmB,CAAC,qBACpBC,SAAU,CAAC,aAQAC,GAA8B,SAAC3pB,GAC1C,IAAM4pB,EAAcnC,OAAOznB,GAC3B,GAAIynB,OAAOE,MAAMiC,GACf,OAAO,KAOT,MAAuB,WAFAnnB,GAAeQ,QAAQ,mBAAmBwX,gBAGzD,GAAN,OAAUmP,EAAYrC,QAAQ,GAA9B,MAGI,GAAN,QAPmB,YAORqC,GAA0BrC,QAAQ,GAA7C,QAGWsC,GAAuB,SAAC,GAE9B,IAUDC,EACAC,EAUAC,EAtBJhI,EACI,EADJA,gBAAiBhiB,EACb,EADaA,MAAOuC,EACpB,EADoBA,gBACpB,IADqC0nB,mBACrC,aAD0DC,kBAC1D,SACEnI,EAAa,OAAGC,QAAH,IAAGA,OAAH,EAAGA,EAAiB4D,kBACjCC,EAAgB/D,GAAiBC,EAAeC,EAAiBzf,GAGjEujB,EAAmB9D,EAAkBA,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOo1B,KAAiB,KAGjGiE,EAAmBhE,EAAkBA,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOk5B,KAAiB,KAevG,GAVIoE,GACFH,EAAU9D,EACV+D,EAASjE,IAETgE,EAAUhE,EACViE,EAAS/D,GAKPjE,IAAkB8D,EACpBmE,EAAShqB,OAET,IACEgqB,EAAS5C,KAAIpnB,EAAO8pB,EAAQzC,aAAa5mB,GAAGspB,EAAO1C,aAAaC,OAAOC,QAAQ,GAE/EyC,EAASvC,OAAOuC,GAChB,MAAOxxB,GACPwxB,EAAShqB,EAIb,OAAIkqB,EACEH,EACI,GAAN,OAAUC,EAAV,YAAoBD,EAAOpD,QAEvB,GAAN,OAAUqD,GAGLA,GAGIG,GAAwB,SAACC,EAAiBC,GACrD,IAAKD,GAAmBA,EAAgBzmB,OAAS,EAAG,OAAO,KAE3D,IAAM2mB,EAAiBF,EAAgBhpB,MAAK,SAACmpB,GAAD,uBAAWA,EAAMC,gCAAjB,aAAW,EAAgC1hB,SAASuhB,MAEhG,OAAKC,EAIEA,EAAe3iB,KAHb,MAaE8iB,GAA0B,SAACzG,GAAa,IAAD,EAC9C0G,EAAc,EACdC,EAAkB,EAYtB,OATO,OAAP3G,QAAO,IAAPA,GAAA,UAAAA,EAASplB,kBAAT,SAAqBe,SAAQ,WAAmB2e,GAAW,IAA3B4E,EAA0B,EAA1BA,aAC9B,GAAIA,EAAa,GAAI,CAAC,IACD0H,EAAmB1H,EAAa,GAA3C8D,UACJ4D,EAAiBD,IACnBA,EAAkBC,EAClBF,EAAcpM,OAIpB,OAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAASplB,WAAW8rB,IAUhBG,GAAkB,SAACC,EAAaC,EAAWC,GACtD,QAAoB/qB,IAAhB6qB,EAA2B,CAC7B,IACMG,EAAqB,IAAInV,KADS,IAAdgV,EAAsB,QACMI,cAAczN,MAAM,EAAG,IACvE0N,EAAmB,IAAIrV,KAAmB,IAAdgV,GAAoBI,cAAczN,MAAM,EAAG,IAC7E,MAAM,8BAAN,OAAqCsN,EAArC,oBAA0DI,EAA1D,yBAA2FH,EAA3F,sCAAoIC,KAI3HG,GAAqB,SAACtH,EAASE,GAAV,OAAsByE,GAAuB3E,EAASE,IC1lBlFqH,GAAe,SAAC1oB,GACpB,GAAIA,EAAKjK,KACP,MAAO,GAET,GAAIiK,EAAKgB,QAAU,EAAK,MAAO,GAE/B,IAAM2nB,EAAU,GAShB,OARA3oB,EAAKhD,SAAQ,SAAC4rB,GACZ,IAAMC,EAAY,GAClBD,EAAG3sB,WAAWe,SAAQ,SAACuD,GACrB,IAAMuoB,EAASvoB,EAAKggB,aAAard,QAAO,SAAC6lB,GAAD,OAASA,EAAI1rB,OAAS,OAC9DwrB,EAAUpmB,KAAK,CAAE2d,aAAc7f,EAAK6f,aAAcG,aAAcuI,OAElEH,EAAQlmB,KAAK,CAAEkgB,eAAgBiG,EAAGjG,eAAgB1mB,WAAY4sB,OAEzDF,GAGIK,GAAa,SAAC9lB,GACzB,IAAM+lB,EAAcC,mBAAShmB,GAAUsjB,GAAoBtjB,GAAvC,oBAA8DA,GAElF,OAAO2F,GAAA,kBACWogB,IACfrzB,MAAK,gBAAGoK,EAAH,EAAGA,KAAH,OAAc0oB,GAAa1oB,MAChC2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAGtBuiB,GAAmB,WAAmC,IAAlCC,EAAiC,4DAAd9rB,EAC5C6K,EAAMihB,EAAgB,0CACWC,mBAAmBD,IACtD,iBAEJ,OAAOvgB,GACAV,GACJvS,MAAK,gBAAGoK,EAAH,EAAGA,KAAH,OAAc0oB,GAAa1oB,MAChC2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAGtB0iB,GAAe,SAACpmB,GAC3B,IAAM+lB,EAAcC,mBAAShmB,GAAUsjB,GAAoBtjB,GAAvC,oBAA8DA,GAClF,OAAO2F,GAAA,kBACWogB,IACfrzB,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAQtB2iB,GAAwB,kBAAM1gB,GACpC,4BACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAiBpB4iB,GAA6B,kBAAM3gB,GACzC,wCACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAEpB6iB,GAAW,kBAAM5gB,GACvB,oBACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAWpB8iB,GAAsB,SAACxmB,GAClC,IAAM+lB,EAAcC,mBAAShmB,GAAT,WAAuBsjB,GAAoBtjB,IAAY,GAE3E,OAAO2F,GAAA,mCAC4BogB,IAChCrzB,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAItB0a,GAA0B,kBAAMzY,GACtC,gCACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAEpB+iB,GAAkC,kBAAM9gB,GAC9C,uCACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAEpBgjB,GAA0B,kBAAM/gB,GACtC,kBACJjT,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAiBpBijB,GAAqB,kBAAMriB,KACrCC,IAAI,sBACJ7R,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OAiBpBkjB,GAA8B,SAACC,EAAYC,EAAeC,GAAsB,IAAf9T,EAAc,uDAAP,GAC/E+T,EAAY,GACZH,GAAcA,EAAW/oB,OAAS,IACpCkpB,EAAYH,EAAW9N,eAGzB,IAAIkO,EAAc,GAClB,GAAIH,GAAiBA,EAAchpB,OAAS,EAAG,CAC7C,IAAMopB,EAAaJ,EAAc30B,KAAI,SAAC6N,GACpC,IAAImnB,EAAY,GAEhB,OADAA,GAAS,aAAUnnB,EAAO+Y,cAAjB,UAIXkO,EAAcC,EAAW3D,KAAK,KAGhC,IAAM6D,EAAK,UAAMJ,EAAN,YAAmBC,GAExBI,EAAa,CACjBD,MAAO,CACLE,KAAM,CACJC,SAAU,CACR,CACEC,OAAQ,CACNC,MAAO,8BAIbC,KAAM,MAkBZ,OAbIN,EAAMO,OAAO7pB,OAAS,IACxBupB,EAAWD,MAAME,KAAKI,KAAO,CAC3B,CACEE,aAAc,CACZC,kBAAkB,EAClBT,MAAM,GAAD,OAAKA,OAQXzhB,GAAA,kCAAgEohB,EAAhE,iBAA8E9T,EAA9E,sCAAgHkT,mBAAmBnpB,KAAKC,UAAUoqB,OAG9IS,GAA0B,SAACC,GAAgC,IAAdC,EAAa,uDAAN,EAC/D,IAAKD,EAAkB,OAAO,KAE9B,IAAMX,EAAQ,CACZA,MAAO,CACLE,KAAM,CACJI,KAAM,CACJ,CACEO,KAAM,CACJC,wBAAyBH,KAI/BR,SAAU,CACR,CACEC,OAAQ,CACNC,MAAO,iCAUnB,OAAOnjB,KACJC,IADI,UACGrL,GAAUG,YADb,mCACmD2uB,EADnD,0BACyE7B,mBAAmBnpB,KAAKC,UAAUmqB,MAC/G10B,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,OChMpBykB,GA5CQ,SAAC1gC,GAAD,OACrB,6CACEZ,MAAM,6BACN2E,WAAW,+BACX/E,MAAO,GACPC,OAAQ,GACRqF,SAAS,UACTvC,oBAAoB,QAChB/B,GAPN,aASE,8BACE,+BACE,yBACEX,GAAG,IACHL,MAAM,OACNC,OAAO,OACPuD,EAAE,KACFC,EAAE,KACFk+B,aAAa,oBANf,SAQE,uBACE58B,WAAW,+BACXhD,UAAU,6sFACV/B,MAAO,IACPC,OAAQ,IACRS,UAAU,gBACVU,aAAa,2BAInB,sBACET,EAAE,kBACF+E,MAAO,CACLpF,OAAQ,UACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,WAERY,aAAa,8BCCNwgC,GAxCM,SAAC5gC,GAAD,OACnB,8CACEZ,MAAM,6BACNJ,MAAO,OACPC,OAAQ,OACRqF,SAAS,WACLtE,GALN,cAOE,sBACEL,EAAE,oTACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,uBAEf,sBACET,EAAE,oTACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,uBAEf,sBACET,EAAE,qTACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,4BCfJygC,GArBS,SAAC7gC,GAAD,OACtB,6CACEZ,MAAM,6BACNJ,MAAO,GACPC,OAAQ,GACRqF,SAAS,UACTvC,oBAAoB,QAChB/B,GANN,aAQE,sBACEL,EAAE,2/BACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,2BCmCJ0gC,GApDW,SAAC9gC,GAAD,OACxB,8CACEZ,MAAM,6BACNJ,MAAO,GACPC,OAAQ,GACRqF,SAAS,WACLtE,GALN,cAOE,sBACEL,EAAE,6ZACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERE,UAAU,iBACVU,aAAa,uBAEf,sBACET,EAAE,6pBACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,uBAEf,sBACET,EAAE,+hBACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERE,UAAU,eACVU,aAAa,uBAEf,sBACET,EAAE,2iBACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,4BClBJ2gC,GA9BU,SAAC/gC,GAAD,OACvB,8CACEZ,MAAM,6BACNJ,MAAO,GACPC,OAAQ,GACRqF,SAAS,WACLtE,GALN,cAOE,sBACEL,EAAE,oVACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,uBAEf,sBACET,EAAE,2qBACF+E,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,QAERY,aAAa,4BCEJ4gC,GA5BO,SAAChhC,GAAD,OACpB,qBAAK0E,MAAO,CAAEzF,OAAQ,OAAQD,MAAO,QAArC,SACE,6CAAKI,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,eAAkBc,GAA7F,aACE,oBAAGR,KAAK,OAAOC,SAAS,UAAxB,UACE,sBACEE,EAAE,61CACFS,aAAa,uBAEf,oBAAGV,UAAU,uBAAb,UACE,sBACEC,EAAE,0fACFS,aAAa,uBAEf,sBACET,EAAE,uEACFS,aAAa,uBAEf,wBACER,GAAI,OACJC,GAAI,MACJC,EAAG,KACHM,aAAa,mCCPV6gC,GAdG,SAACjhC,GAAD,OAChB,6CAAKZ,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,eAAkBc,GAA7F,aACE,oBAAGR,KAAK,OAAOC,SAAS,UAAxB,UACE,sBACEE,EAAE,2dACFS,aAAa,uBAEf,sBACET,EAAE,kyCACFS,aAAa,8BCON8gC,GAhBE,SAAClhC,GAAD,OACf,qBAAK0E,MAAO,CAAEzF,OAAQ,OAAQD,MAAO,QAArC,SACE,6CAAKI,MAAM,6BAA6BJ,MAAM,OAAOC,OAAO,OAAOC,QAAQ,eAAkBc,GAA7F,aACE,oBAAGR,KAAK,OAAOC,SAAS,UAAxB,UACE,sBACEE,EAAE,sVACFS,aAAa,uBAEf,sBACET,EAAE,qqBACFS,aAAa,gCC2OR+gC,GArOY,WAAO,IAAD,EAK3B3hB,aAASmB,GAAc4B,oCAAqCyc,GAAiC,CAC/Ftf,sBAAsB,IAJhB0hB,EAFuB,EAE7B/rB,KACA+R,EAH6B,EAG7BA,UACAia,EAJ6B,EAI7BA,MAMIvE,EAAkB,CACtB,CACEwE,WAAY,oBACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAe3V,MAAO,CAC1BzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,cACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAgB3V,MAAO,CAC3BzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,OACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAU3V,MAAO,CACrBzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,QACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAW3V,MAAO,CACtBzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,gBACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAkB3V,MAAO,CAC7BzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,iBACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAmB3V,MAAO,CAC9BzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,WACZC,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,GAAD,CAAc3V,MAAO,CACzBzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,cAI7C,CACEg9B,WAAY,cACZC,gBAAiB,QACjBC,cAAe,QACfnnB,KAAM,cAAC,GAAD,CAAiB3V,MAAO,CAC5BzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,eA+I/C,OAzIImU,GAAYsB,OACd+iB,EAAgBhlB,KACd,CACEwpB,WAAY,QACZ3tB,KAAM,0BACN+Y,MAAO,qBACP6U,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,MAAD,CAAW3V,MAAO,CACtBzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,aAG3CgN,WAAY,CACV,qBACA,0BACA,yBACA,sBACA,+BACA,oBACA,0BACA,2BACA,8BACA,oBACA,wBACA,yBACA,yBACA,0BACA,0BAEFmwB,eAAgB,CACd,qBACA,0BACA,yBACA,sBACA,+BACA,oBACA,0BACA,2BACA,+BACA,oBACA,wBACA,yBACA,yBACA,0BACA,0BAEFC,oBAAoB,GAEtB,CACEJ,WAAY,QACZ3tB,KAAM,sBACN+Y,MAAO,iBACP6U,gBAAiB,UACjBC,cAAe,UACfnnB,KAAM,cAAC,MAAD,CAAW3V,MAAO,CACtBzF,OAAQ,OAAQD,MAAO,OAAQsF,SAAU,aAG3CgN,WAAY,CACV,sBACA,sBACA,qBACA,kBACA,gCACA,gBACA,sBACA,uBACA,0BACA,gBACA,yBACA,qBACA,0BACA,sBACA,2BAEFmwB,eAAgB,CACd,iBACA,sBACA,qBACA,kBACA,2BACA,gBACA,sBACA,uBACA,2BACA,gBACA,oBACA,qBACA,qBACA,sBACA,sBAEFC,oBAAoB,IAKtBjpB,GAAYuB,aACd8iB,EAAgBhlB,KAAK,CACnBwpB,WAAY,QACZ3tB,KAAM,cACN+Y,MAAO,QACP6U,gBAAiB,UACjBC,cAAe,UACflwB,WAAY,CACV,MACA,cACA,YACA,kBACA,kBACA,kBACA,YACA,iBACA,YACA,SACA,kBAEFowB,oBAAoB,IAIT,OAAf5E,QAAe,IAAfA,KAAiBzqB,SAAQ,SAACsvB,GACxB,IAAM1E,EAAK,OAAGmE,QAAH,IAAGA,OAAH,EAAGA,EAA8BttB,MAAK,SAACmpB,GAAD,OAAWA,EAAMqE,aAAeK,EAAmBL,cAChGrE,GAEF1xB,OAAOq2B,OAAOD,EAAoB1E,MAY/B,CACLH,kBACA1V,YACAia,UCnOIQ,GAAWC,KAAXD,OAEFE,GAAY,SAAC/hC,GAAW,IAE1BgiC,EAIEhiC,EAJFgiC,SACAC,EAGEjiC,EAHFiiC,YACAC,EAEEliC,EAFFkiC,aACAC,EACEniC,EADFmiC,gBAGIrb,EAAW8E,yBAAc,CAAE3G,SAAU,MARhB,EASyBjK,oBAAS,GATlC,mBASpBonB,EAToB,KASAC,EATA,OAUyBrnB,mBAAS,2BAVlC,mBAUpBsnB,EAVoB,KAUAC,EAVA,KAWnBzF,EAAoBqE,KAApBrE,gBAEF0F,EAAoB,SAACjqB,GACzB4pB,EAAgB,2BACXD,GADU,IAEb3pB,aAIEkqB,EAAe,SAACC,GACpBP,EAAgB,2BACXD,GADU,IAEbQ,gBAIEC,EAAa,SAACC,GAClBT,EAAgB,2BACXD,GADU,IAEbU,cAIEC,EAAuD,4BAAvBP,EAEhCQ,EAAqB,SAAC5U,GAC1B,OAAIgU,EAAaU,QAAgB1U,IAAYA,EAAUnI,OAASgd,MAAM,QAAU7U,EAAUgU,EAAaU,QAAQI,QAAQ,QAChH9U,GAAWA,EAAUnI,OAASid,QAAQ,QAGzCC,EAAmB,SAAC/U,GACxB,OAAIgU,EAAaQ,UAAkBxU,IAAYA,EAAUnI,OAASgd,MAAM,QAAU7U,EAAUgU,EAAaQ,UAAUK,MAAM,QAClH7U,GAAWA,EAAUnI,OAASgd,MAAM,QAGvCG,EAAiB,SAACrW,GAAD,OACrB,sBACEsW,YAAa,SAACj4B,GACZA,EAAE0b,iBACF1b,EAAEk4B,mBAHN,UAME,sBAAKphC,UAAU,wBAAf,UACE,6CACA,cAAC,KAAD,CAAWA,UAAU,eAAe6V,QAAS,kBAAMwqB,GAAsB,SAE3E,sBACErgC,UAAU,0BACVmhC,YAAa,SAACj4B,GACZA,EAAE0b,iBACF1b,EAAEk4B,mBAJN,UAOE,qBACEphC,UAAS,UAAK6gC,EAAgC,SAAW,IACzDhrB,QAAS,WAAagrB,GAA+BN,EAAsB,4BAF7E,SAIE,6CAEF,qBACEvgC,UAAS,UAAM6gC,EAA2C,GAAX,UAC/ChrB,QAAS,WAAYgrB,GAAiCpqB,GAAYuB,aAAauoB,EAAsB,gBAFvG,SAIG9pB,GAAYuB,aACX,6CAIL6S,MAICwW,EAAgB,CAAC,OAAD,oBAAWvG,EAAgBhpB,MAAK,SAACmpB,GAAD,OAAWA,EAAMtpB,OAAS2uB,KAAoBhxB,aAAY5G,KAAI,SAACgwB,EAAO1J,GAAR,OAClH,eAAC6Q,GAAD,CAAoBnvB,MAAOgoB,EAAOhO,MAAOgO,EAAzC,UACGwH,EAAa3pB,SAAWmiB,EAAQ,cAAC,KAAD,IAAwB,cAAC,KAAD,IACzD,8BACGA,MAHQ1J,MAQf,OACE,sCACIlK,GAEA,sBAAK9kB,UAAS,yBAAoBggC,EAAW,SAAW,IAAMnqB,QAAS,WAAamqB,GAAYC,GAAY,IAA5G,UACE,sBAAKjgC,UAAU,kBAAf,UACE,sBAAKA,UAAU,kBAAf,UACE,cAAC,MAAD,IACA,cAAC,KAAD,CAAWA,UAAU,eAAe6V,QAAS,kBAAMoqB,GAAY,IAAQv9B,MAAOs9B,EAAW,GAAK,CAAEp9B,QAAS,UACzG,cAAC,KAAD,CACE0+B,aAAW,EACX3c,iBAAiB,qBACjBD,UAAU,QACV6c,MAAO,CAAEziC,OAAQ,CAAC,GAAI,IACtBsX,MAAM,qLALR,SAOE,cAAC,KAAD,CAAiBpW,UAAU,cAAc0C,MAAQs9B,EAAgB,CAAEp9B,QAAS,QAAhB,UAGhE,yCACA,0CAEF,qBAAK5C,UAAS,4BAAuBggC,EAAW,SAAW,IAA3D,SACE,qBAAKhgC,UAAU,sBAAsB0C,MAAOs9B,EAAW,GAAK,CAAEp9B,QAAS,QAAvE,SACE,qBAAI5C,UAAU,8BAAd,UACE,+BACE,uBAAOwhC,QAAQ,wBAAf,uBACA,cAAC,KAAD,CACEnkC,GAAG,wBACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACLoY,KAAMxB,EACN1vB,MAAOwvB,EAAa3pB,OACpB8T,SAAU,SAAC3Z,GAAD,OAAW8vB,EAAkB9vB,IACvCmxB,gBAAgB,QAChBC,WAAY,IACZ7W,aAAa,MACb8W,0BAA0B,EAC1BC,cAAe,CAAEljC,OAAQ,CAAC,KAAM,MAChCmjC,eAAgBf,EAChBgB,wBAAyB,SAAC9sB,GAAD,OAAairB,EAAsBjrB,IAf9D,SAiBGisB,OAGL,+BACE,uBAAOG,QAAQ,0BAAf,wBACA,cAAC,KAAD,CACEnkC,GAAG,0BACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACL2Y,eAAa,EACbpW,MAAM,OACNrb,MAAOwvB,EAAaQ,UACpBsB,cAAe,CAAEljC,OAAQ,CAAC,KAAM,MAChCsjC,WAAW,EACXC,WAAW,EACXpe,OAAO,WACPqe,aAAcxB,EACdzW,SAAU,SAACwF,GAAD,OAAc4Q,EAAa5Q,SAGzC,+BACE,uBAAO2R,QAAQ,iBAAf,sBACA,cAAC,KAAD,CACEnkC,GAAG,wBACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACL2Y,eAAa,EACbpW,MAAM,OACNrb,MAAOwvB,EAAaU,QACpBoB,cAAe,CAAEljC,OAAQ,CAAC,KAAM,MAChCsjC,WAAW,EACXC,WAAW,EACXpe,OAAO,WACPqe,aAAcrB,EACd5W,SAAU,SAACwF,GAAD,OAAc8Q,EAAW9Q,mBAQhD/K,GACC,sBAAKpiB,MAAO,CAAEE,QAAS,OAAQ2/B,cAAe,UAA9C,UACE,uBAAOf,QAAQ,wBAAf,uBACA,cAAC,KAAD,CACEnkC,GAAG,wBACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACLoY,KAAMxB,EACN1vB,MAAOwvB,EAAa3pB,OACpB8T,SAAU,SAAC3Z,GAAD,OAAW8vB,EAAkB9vB,IACvCmxB,gBAAgB,QAChBC,WAAY,IACZ7W,aAAa,MACb8W,0BAA0B,EAC1BE,eAAgBf,EAChBgB,wBAAyB,SAAC9sB,GAAD,OAAairB,EAAsBjrB,IAC5D1S,MAAO,CAAEG,aAAc,OAAQE,gBAAiB,SAflD,SAiBGs+B,IAEH,uBAAOG,QAAQ,0BAAf,wBACA,cAAC,KAAD,CACEnkC,GAAG,0BACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACL2Y,eAAa,EACbpW,MAAM,OACNrb,MAAOwvB,EAAaQ,UACpB0B,WAAW,EACXC,WAAW,EACXpe,OAAO,WACPqe,aAAcxB,EACdzW,SAAU,SAACwF,GAAD,OAAc4Q,EAAa5Q,MAEvC,uBAAO2R,QAAQ,iBAAf,sBACA,cAAC,KAAD,CACEnkC,GAAG,wBACH6sB,YAAY,SACZuX,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvCwpB,KAAK,QACL2Y,eAAa,EACbpW,MAAM,OACNrb,MAAOwvB,EAAaU,QACpBwB,WAAW,EACXC,WAAW,EACXpe,OAAO,WACPqe,aAAcrB,EACd5W,SAAU,SAACwF,GAAD,OAAc8Q,EAAW9Q,aAe/CkQ,GAAU9gC,aAAe,CACvB+gC,UAAU,EACVC,YAAa,aACbC,aAAc,GACdC,gBAAiB,cAGJJ,UCnPPyC,GAASC,KAATD,KACAltB,GAASoN,KAATpN,KAEFotB,GAAiB,SAAC1kC,GAAW,IAAD,UAC1B8mB,EAAW8E,yBAAc,CAAE3G,SAAU,MACrC/N,EAAUC,eAGdwtB,EAgBE3kC,EAhBF2kC,QACAC,EAeE5kC,EAfF4kC,WACAC,EAcE7kC,EAdF6kC,iBACA9R,EAaE/yB,EAbF+yB,aACApD,EAYE3vB,EAZF2vB,aACAvY,EAWEpX,EAXFoX,QACA0tB,EAUE9kC,EAVF8kC,SACAC,EASE/kC,EATF+kC,eACAC,EAQEhlC,EARFglC,eACAra,EAOE3qB,EAPF2qB,QACAoF,EAME/vB,EANF+vB,YACAkV,EAKEjlC,EALFilC,mBACAC,EAIEllC,EAJFklC,aACAC,EAGEnlC,EAHFmlC,eACAjD,EAEEliC,EAFFkiC,aACAC,EACEniC,EADFmiC,gBApB8B,EAuBEnnB,oBAAS,GAvBX,mBAuBzBC,EAvByB,KAuBdC,EAvBc,OAyBIF,mBAAS+pB,EAAer6B,KAAI,SAACusB,GAAD,OAAc7W,IAAOglB,WAAWnO,EAAS9gB,MAAM,KAAK2lB,KAAK,UAzBzF,mBAyBzBuJ,EAzByB,KAyBbC,EAzBa,OA0BgBtqB,qBA1BhB,mBA0BzBuqB,EA1ByB,KA0BPC,EA1BO,OA2BkBxqB,mBAAS,IA3B3B,mBA2BzByqB,EA3ByB,KA2BNC,EA3BM,OA6BQ1qB,mBAAS6pB,EAAiBc,eA7BlC,mBA6BzBC,EA7ByB,KA6BXC,EA7BW,OA8BU7qB,oBAAS,GA9BnB,mBA8BzB8qB,EA9ByB,KA8BVC,EA9BU,KAgC1BC,GAAYpY,mBAEZ8B,GAAcuW,uBAAY,WAE9B,IADA,IAAM36B,EAAOC,OAAOD,KAAKynB,GAChB3c,EAAI,EAAGA,EAAI9K,EAAK+K,OAAQD,IAAK,CACpC,IAAM8vB,EAASnT,EAAaznB,EAAK8K,IAAIG,QAAQquB,GAE7C,GAAIsB,GAAU,EAAG,CACfnT,EAAaznB,EAAK8K,IAAI+vB,OAAOD,EAAQ,GACrC,UAGH,CAACtB,EAAY7R,IAEhBnc,qBAAU,WACR8Y,OACC,CAACA,KAEJ,IAQM0W,GAAoB,SAAC1zB,EAAOwe,GAChC,IAAImV,EAAW,aAAOhB,GAClBnU,EACFmV,EAAYvuB,KAAKpF,GAEjB2zB,EAAcA,EAAY9tB,QAAO,SAAC+tB,GAAD,OAAUA,IAAS5zB,KAGtD4yB,EAAce,GACdlB,EAAekB,IAGXE,GAAiB,WACrBjB,EAAc,IACdI,EAAqB,IACrBT,IACAS,EAAqB,KAYvB9uB,qBAAU,WACa,KAAjB+Y,GACF+V,EAAqB,MAEtB,CAAC/V,IAEJ,IAAM4B,GAAc,SAAClX,GACnB,IAAMmsB,EAAgBnsB,EAEtB,OAAO,cAACmsB,EAAD,KAGHC,GAAgB,WACpBjB,GAAoB,IAShBkB,GAAkB,OAAG3T,QAAH,IAAGA,GAAH,UAAGA,EAAc5Z,eAAjB,aAAG,EAAuBuX,MAAK,SAACK,GAAD,OAASA,EAAIte,IAAI+I,SAAS,YAEjF,OACE,qCACE,qBAAKxZ,UAAU,8BAAf,SACE,cAAC,KAAD,CACEA,UAAU,oBACV0kB,UAAU,OACVmE,UAAW8Z,GAAW7d,EACtB1P,QAASA,EACT+b,cAAc,EACdn0B,MAAM,MACN2rB,QAtEc,WACpB,IAAM8E,EAAOlkB,OAAOD,KAAKynB,GAAcyG,QACrC,SAACmN,EAAMC,GAAP,6BAAmBD,GAAnB,aAA4B5T,EAAa6T,OACzC,IAEFjc,EAAQ,CAAE8E,OAAMoX,KAAMlX,KAkEhB5D,UAAWjF,EACT,cAAC,KAAD,IAEA,sBAAMpiB,MAAO,CAAE6S,MAAO,qBAAsBgD,SAAU,IAAtD,SACE,cAAC,KAAD,MAGJnC,MACEusB,EAEI,sBAAK3iC,UAAU,SAAS0C,MAAO,CAAEuT,WAAY,SAAUkN,WAAY,KAAnE,4DAC8C0f,EAAiBc,cAD/D,KAEE,sBAAKjhC,MAAO,CAAEE,QAAS,OAAQqT,WAAY,UAA3C,UACE,cAAC,IAAD,CAAY9E,GAAG,qBAAqBzO,MAAO,CAAE6S,MAAO,QAApD,oBADF,OAGE,cAAC,KAAD,CACEvV,UAAU,OACV0C,MAAO,CACLG,aAAc,GACdE,gBAAiBoN,GAAepF,OAAOa,QACvC2J,MAAOpF,GAAepF,OAAOuB,WAC7BmM,OAAQ,QAEV5C,QA1CO,WACrB+tB,GACFG,GAAiB,IAgCH,gCAgBJ,gCACI9qB,EAAkF,KAAtE,cAAC,KAAD,CAAQzH,KAAK,OAAO6G,KAAM,cAAC+Y,GAAA,EAAD,IAAkBvb,QAjIvD,kBAAMqD,GAAa,MAgIxB,WAGI4L,GACA,cAAC,GAAD,CAAMpiB,MAAO,CAAE6S,MAAO,OAAQuvB,MAAO,QAASxsB,YAAa,MAAQzC,QAAS0uB,GAA5E,uBAKDzf,GAAY1P,IAAYmuB,GAAoB9sB,GAAYI,iBACvD,cAAC,KAAD,CACE7W,UAAU,kBACVqY,KAAM,cAAC,KAAD,IACNiQ,MAAM,SACNzS,QAAS4uB,QAMrB5S,OAAQ/M,EACN,sBAAK9kB,UAAU,SAAS0C,MAAO,CAAEuT,WAAY,UAA7C,UACE,cAAC,GAAD,CACEvT,MAAO,CAAE6S,MAAO,OAAQ4N,WAAY,KACpCtN,QAAS0uB,GAFX,uBAMA,cAAC,KAAD,CACE1uB,QAAS8S,EACTL,MAAM,QACNkB,KAAK,QACL9mB,MAAO,CACLK,gBAAiBoN,GAAepF,OAAOa,QACvC2J,MAAOpF,GAAepF,OAAOuB,WAC7B6W,WAAY,IACZ5K,SAAU,GACVE,OAAQ,QATZ,wBAYWuqB,EAZX,mBAeA,KAlFN,SAoFG/pB,EAEG,sBAAKmT,IAAK4X,GAAV,UACGrB,GAEG,sBAAK3iC,UAAU,iBAAiB0C,MAAO,CAAE0gB,cAAe,GAAI2hB,WAAY,GAAxE,UACE,uBAAO/kC,UAAU,KAAjB,kBACA,cAAC,KAAD,CACEwpB,KAAK,QACL9mB,MAAO,CAAEK,gBAAiBoN,GAAepF,OAAOoB,UAAWtJ,aAAc,IACzEooB,aAAc4X,EAAiBc,cAC/BtZ,SAAU,SAACnhB,GAAD,OAAO26B,EAAgB36B,EAAEohB,OAAO5Z,aAIlD,sBAAK1Q,UAAU,iBAAiB0C,MAAO,CAAEqiC,WAAY,GAArD,UACE,uBAAO/kC,UAAU,KAAjB,sBACA,yEACA,cAAC,KAAD,CAAKywB,OAAQ,CAAC,CAAEuU,GAAI,IAAM,CAAEA,GAAI,GAAIC,GAAI,KAAOviC,MAAO,CAAE0gB,cAAe,IAAvE,SACGsJ,GAAWhkB,KAAI,SAACm8B,EAAM7V,GAAP,OACd,cAAC,KAAD,CAAKkW,GAAI,CAAE7U,KAAM,EAAGvxB,OAAQkwB,EAAQ,EAAI,EAAI,GAAKiW,GAAI,EAAGD,GAAI,EAA5D,SACE,eAAC,KAAD,CACEG,UAAU,EACVtvB,QAAS,SAAC3M,GAAD,OA/IR,SAACA,EAAG27B,GAC3B,IAAMhV,EAAY3mB,EAAEk8B,cAAcC,UAAUC,SAAS,YAA2B,GAAb,WAC7DC,EAAW1V,EAAWgV,EAAKlY,KAAO,GAExCuW,EAAaqC,GAEb7B,EAAqB,eAAGmB,EAAKlY,KAAOkD,IAyIE2V,CAAiBt8B,EAAG27B,IACpC7kC,UAAWoe,IAAO1M,QAAQ+xB,IAAsB9V,IAAiBkX,EAAKlY,KAAO,WAAa8W,EAAkBoB,EAAKlY,MACjH8Y,cAAA,UAAgBZ,EAAKlY,KAArB,cAJF,UAMG4C,GAAYsV,EAAKxsB,MAClB,cAACmqB,GAAD,CAAMpsB,MAAOyuB,EAAKlY,KAAMjqB,MAAO,CAAE6V,SAAU,UARqBssB,EAAKlY,cAc/E,sBAAK3sB,UAAU,iBAAf,UACE,uBAAOA,UAAU,KAAjB,mCACA,2EACA,eAAC,KAAD,CAAKywB,OAAQ,CAAC,GAAI,IAAKzwB,UAAU,mBAAjC,UACE,cAAC,KAAD,CAAKklC,GAAI,GAAID,GAAI,GAAID,GAAI,GAAzB,SACE,cAAC,KAAD,CACEU,kBAAkB,uBAClBzc,KAAK,WACLiB,YAAY,SACZxnB,MAAO,CAAE1F,MAAO,QAChBykC,WAAS,EACTC,WAAY,cAACC,GAAA,EAAD,CAAiB3hC,UAAU,sBACvC0Q,MAAO2yB,EACPsC,WAAY,SAACj1B,GAAD,OAAW0zB,GAAkB1zB,GAAO,IAChDk1B,YAAY,EACZ3D,eAAgB,kBACdpV,GAASnkB,KAAI,SAAC2Q,GAAD,OACX,cAAC,GAAD,CAEEsT,KAAMtT,EAAOjD,MACb+T,OAAQ9Q,EAAOhB,KACfwX,SAAUwT,EAAW9uB,QAAQ8E,EAAOjD,QAAU,EAC9CP,QAAS,kBAAMuuB,GAAkB/qB,EAAOjD,OAA6C,IAAtCitB,EAAW9uB,QAAQ8E,EAAOjD,UAJpEiD,EAAOjD,eAUtB,cAAC,KAAD,CAAKia,KAAM,GAAI3tB,MAAO,CAAEE,QAAS,OAAQijC,SAAU,QAAnD,gBACG/C,QADH,IACGA,GADH,UACGA,EAAUhW,oBADb,aACG,EAAwBpkB,KAAI,SAACooB,EAAa9B,GAAd,OAC3B,cAAC,GAAD,CAEEA,MAAOA,EACP8B,YAAaA,EACb/C,YAAaA,EACbgD,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAc+U,UAG5B9U,SAAU,UAAYF,EAAYrgB,OAAOgG,KAAeA,GAAY,UAAYqa,EAAYrgB,KAC5FwgB,YAAY,aARPjC,cAcdlK,GAEG,sBAAK9kB,UAAU,iBAAf,UACE,kCACE,sBAAMA,UAAU,KAAhB,sBADF,OAGE,cAAC,KAAD,CACE0kB,UAAU,QACVtO,MAAM,iFAFR,SAIE,cAAC,KAAD,SAGJ,iEACA,uCACG0sB,QADH,IACGA,GADH,UACGA,EAAU/V,mBADb,aACG,EAAuBrkB,KAAI,SAACq9B,EAAY/W,GAAb,OAC1B,+BACE,cAAC,GAAD,CACEA,MAAOA,EACP8B,YAAaiV,EACbhY,YAAaA,EACbgD,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAc5Z,QAC5B8Z,YAAY,aANLjC,MAUZvY,GAAYyB,OAET,+BACE,cAAC,GAAD,CACE8W,MAAO,GACP8B,YAAW,OAAEgS,QAAF,IAAEA,GAAF,UAAEA,EAAU1V,eAAZ,aAAE,EAAmB7W,QAAO,SAACyvB,GAAD,MAAmB,UAAXA,EAAGv1B,OAAiB,GACnEsd,YAAaA,EACbgD,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAckV,IAC5BhV,YAAY,SANL,IAUf,cAAC,KAAD,CACEqQ,aAAW,EACX3c,iBAAiB,qBACjBD,UAAU,OACVtO,MAAM,2IAJR,SAME,cAAC,KAAD,CAAiBpW,UAAU,cAAc0C,MAAO,CAAEgW,WAAY,aAE/DjC,GAAYsB,OAAS2sB,IAElB,cAAC,GAAD,CACExE,aAAcA,EACdC,gBAAiBA,UAM/B,sBAAKngC,UAAU,iBAAf,UACE,gCACE,sBAAMA,UAAU,KAAhB,6BAEF,kFACA,qCACG8iC,QADH,IACGA,GADH,UACGA,EAAU5V,iBADb,aACG,EAAqBxkB,KAAI,SAACw9B,EAAUlX,GAAX,OACxB,+BACE,cAAC,GAAD,CACEA,MAAOA,EACP8B,YAAaoV,EACbnY,YAAaA,EACbgD,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAcoV,MAC5BlV,YAAY,QAEZD,SAAU,UAAYkV,EAASz1B,OAAOgG,KAAeA,GAAY,UAAYyvB,EAASz1B,QAR/Eue,cAgBnB,cAACoX,GAAD,CAAqBntB,UAAWA,SAGtC6L,GAAY1P,IAAYmuB,GAAoB9sB,GAAYI,kBAAoB8rB,GAE1E,cAAC,KAAD,CACE3iC,UAAU,kBACVqY,KAAM,cAAC,KAAD,IACNiQ,MAAM,SACNzS,QAAS4uB,KAIf,cAAC,GAAD,CAAervB,QAASmuB,EAAkB5a,QApVrB,kBAAM6a,GAAoB,MAqV/C,cAAC,GAAD,CACEpuB,QAAS0uB,EACTxS,QAASwS,EACTtS,WAAW,+CACXG,SAAU,kBAAMzc,EAAQY,KAAK,6BAyBrC4sB,GAAezjC,aAAe,CAC5B0jC,SAAS,EACTvtB,SAAS,EACTuY,aAAc,KACdiV,WAAY,KACZ7R,aAAc,GACd+R,SAAU,GACVC,eAAgB,GAChBC,eAAgB,EAChBH,iBAAkB,GAClBla,QAAS,aACToF,YAAa,aACbkV,mBAAoB,aACpBC,aAAc,aACdC,eAAgB,aAChBjD,aAAc,GACdC,gBAAiB,cAGJr7B,sBAAK49B,I,yCCvZL2D,GA5CS,SAAC1P,EAAgB2P,GACvC,GAAkB,SAAdA,EAuCF,MAAM,GAAN,OAAW3P,EAAX,YAA6B2P,GAtC7B,IAAM7P,EAAQvE,KAAKwH,MAAM/C,GACzB,QAAQ,GACN,KAAKF,GAAS,QAAUA,EAAQ,MAC9B,MAAM,MAAN,OAAcA,GAAd,OAAsB6P,EAAtB,KACF,KAAK7P,GAAS,OAASA,EAAQ,MAC7B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,OAASA,EAAQ,MAC7B,MAAM,OAAN,OAAeA,GAAf,OAAuB6P,EAAvB,KACF,KAAK7P,GAAS,OAASA,EAAQ,MAC7B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,OAASA,EAAQ,OAC7B,MAAM,MAAN,OAAcA,GAAd,OAAsB6P,EAAtB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,OAAN,OAAeA,GAAf,OAAuB6P,EAAvB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,MAAN,OAAcA,GAAd,OAAsB6P,EAAtB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,OAAN,OAAeA,GAAf,OAAuB6P,EAAvB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,MAAN,OAAcA,GAAd,OAAsB6P,EAAtB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,OAAN,OAAeA,GAAf,OAAuB6P,EAAvB,KACF,KAAK7P,GAAS,QAAUA,EAAQ,OAC9B,MAAM,QAAN,OAAgBA,GAAhB,OAAwB6P,EAAxB,KACF,QACE,MAAM,GAAN,OAAW7P,GAAX,OAAmB6P,EAAnB,SCbFC,GAAe,SAACvoC,GAAW,IAAD,EAE5BwoC,EACExoC,EADFwoC,WAAYC,EACVzoC,EADUyoC,SAAUx8B,EACpBjM,EADoBiM,UAAWy8B,EAC/B1oC,EAD+B0oC,WAAY5X,EAC3C9wB,EAD2C8wB,UAGzC6X,GAA2B,OAAVH,QAAU,IAAVA,OAAA,EAAAA,EAAYtgB,mBAAoB/V,GAAe1B,QAAQC,eACxEk4B,EAAc,OAAGJ,QAAH,IAAGA,GAAH,UAAGA,EAAYvR,gBAAf,aAAG,EAAsB4R,iBAqI7C,OACE,mCApIsB,WACtB,GAAiC,sBAA7BL,EAAWM,cACb,OACE,cAAC,KAAD,eAAwBhY,IAK5B,OADmB0X,EAAWO,eAAiBP,EAAWO,eAAiBP,EAAWQ,OAEpF,IAAK,YAEH,OACER,EAAWS,gCAAkCx3B,GAAUM,sBACjC,aAAnB62B,EAGD,qCACGF,EACG,cAAC,KAAD,eAAgC5X,IAChC,cAAC,KAAD,eAA2BA,IAC9B2X,GACI,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAKPxL,EAEA,qCACGy8B,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMM,gBAAxC,2BAA8DiiB,GAA9D,IAAyE7kB,WAAW,KAAU,cAAC,KAAD,eAAgC6kB,IAC/I6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMK,WAAxC,2BAAyDkiB,GAAzD,IAAoE7kB,WAAW,KAAU,cAAC,KAAD,eAA2B6kB,IACxI2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,uBAMjB,qCACGixB,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMM,gBAAiBiiB,GAAa,cAAC,KAAD,eAAyBA,IAChH6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMK,WAAYkiB,GAAa,cAAC,KAAD,eAAoBA,IACzG2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,uBAGnB,IAAK,cACH,OAAIxL,EAEA,qCACGy8B,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMW,qBAAxC,2BAAmE4hB,GAAnE,IAA8E7kB,WAAW,KAAU,cAAC,KAAD,eAAuC6kB,IAC3J6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMU,gBAAxC,2BAA8D6hB,GAA9D,IAAyE7kB,WAAW,KAAU,cAAC,KAAD,eAAkC6kB,IACpJ2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAKjB,qCACGixB,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMW,qBAAsB4hB,GAAa,cAAC,KAAD,eAAgCA,IAC5H6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMU,gBAAiB6hB,GAAa,cAAC,KAAD,eAA2BA,IACrH2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAGnB,IAAK,YACH,OAAIxL,EAEA,qCACGy8B,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMa,mBAAxC,2BAAiE0hB,GAAjE,IAA4E7kB,WAAW,KAAU,cAAC,KAAD,eAAmC6kB,IACrJ6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMY,cAAxC,2BAA4D2hB,GAA5D,IAAuE7kB,WAAW,KAAU,cAAC,KAAD,eAA8B6kB,IAC9I2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,0BAKjB,qCACGixB,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMa,mBAAoB0hB,GAAa,cAAC,KAAD,eAA4BA,IACtH6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMY,cAAe2hB,GAAa,cAAC,KAAD,eAAuBA,IAC/G2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,0BAGnB,IAAK,0BACH,OACE,qCACE,cAAC,KAAD,eAA2BqZ,IAC1B2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAGnB,IAAK,cACH,OAAIxL,EAEA,qCACGy8B,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMW,qBAAxC,2BAAmE4hB,GAAnE,IAA8E7kB,WAAW,KAAU,cAAC,KAAD,eAAuC6kB,IAC3J6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMU,gBAAxC,2BAA8D6hB,GAA9D,IAAyE7kB,WAAW,KAAU,cAAC,KAAD,eAAkC6kB,IACpJ2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAKjB,qCACGixB,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMW,qBAAsB4hB,GAAa,cAAC,KAAD,eAAgCA,IAC5H6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMU,gBAAiB6hB,GAAa,cAAC,KAAD,eAA2BA,IACrH2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,4BAGnB,QACE,OAAIxL,EAEA,qCACGy8B,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMe,wBAAxC,2BAAsEwhB,GAAtE,IAAiF7kB,WAAW,KAAU,cAAC,KAAD,eAAwC6kB,IAC/J6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMc,mBAAxC,2BAAiEyhB,GAAjE,IAA4E7kB,WAAW,KAAU,cAAC,KAAD,eAAmC6kB,IACxJ2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,yBAKjB,qCACGixB,EACGC,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMe,wBAAyBwhB,GAAa,cAAC,KAAD,eAAiCA,IAChI6X,EAAiBjX,IAAMC,aAAaxf,GAAe5D,MAAMc,mBAAoByhB,GAAa,cAAC,KAAD,eAA4BA,IACzH2X,GAAY,sBAAM/jC,MAAO,CAAE+S,YAAa,GAA5B,0BAQlByxB,MAaPX,GAAatnC,aAAe,CAC1BunC,WAAY,GACZC,UAAU,EACVx8B,WAAW,EACXy8B,YAAY,EACZ5X,UAAW,MAGEY,WAAM5qB,KAAKyhC,ICtKpBY,GAAiB,SAACnpC,GAAW,IAAD,EAC1B8mB,EAAW8E,yBAAc,CAAE3G,SAAU,MAEnC+P,EAA8Bh1B,EAA9Bg1B,KAAM1jB,EAAwBtR,EAAxBsR,WAAYolB,EAAY12B,EAAZ02B,QAClB8R,EAAexT,EAAfwT,WACAr0B,EAAgBuC,qBAAWzC,IAA3BE,YALwB,EAMI6G,oBAAS,GANb,mBAMzB0tB,EANyB,KAMbU,EANa,OAW5B5pB,aACFb,GAAkBQ,gCAClBmE,GACA,CACE5D,sBAAsB,IANlB2pB,EATwB,EAS9Bh0B,KACSi0B,EAVqB,EAU9BzpB,SASGwpB,IAAD,OAAyBl1B,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAaqI,WACxC8sB,IAGF1yB,qBAAU,WACJyyB,IACEA,EAAqBE,KAAoC,kCAA7BF,EAAqBE,IACnDxU,QAAQyU,IAAI,mCAEUH,EAAqB9wB,QAAO,SAACkxB,GAAD,OAASA,EAAIzR,iBAAmBwQ,EAAWxQ,kBAC3E3hB,OAAS,GACzB+yB,GAAc,MAInB,CAACC,IAEJ,IAYMK,EAAe,CAAC,kBAAmB,4BAA6B,aAAc,wBAAyB,iCAAkC,0BAA2B,wBAAyB,uBAAwB,2BAA4B,YAAa,KAAM,4BACpQC,EAAc,SAACh2B,GAAD,OAAW+1B,EAAanzB,QAAQ5C,IAAS,EAAI+1B,EAAanzB,QAAQ5C,GAAQ,KACxFi2B,EAAgBpB,EAAWO,eAAX,2BAdJ,SAAC1tB,GACjB,OAAQA,GACN,IAAK,YACH,MAAO,SACT,IAAK,cACH,MAAO,WACT,QACE,OAAOA,GAQWwuB,CAAUrB,EAAWO,gBADvB,oBACkDP,EAAWS,gCAAkCx3B,GAAUM,qBAAuB,aAAe,YAD/I,SACoK,6BAEpL62B,EAAc,OAAGJ,QAAH,IAAGA,GAAH,UAAGA,EAAYvR,gBAAf,aAAG,EAAsB4R,iBAE7C,OACE,sBAAKnkC,MAAO,CAAE1F,MAAO,KAArB,UACE,sBAAKgD,UAAU,SAAf,UACE,uBAAMA,UAAU,KAAK0C,MAAO,CAAEwT,UAAW,EAAGuD,aAAc,GAA1D,UACE,8BAAM+sB,EAAWpR,kBAChBoR,EAAW7C,cACZ,sBACE3jC,UAAU,YACV0C,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOoB,WAFxC,UAIE,cAAC27B,GAAA,EAAD,IAJF,OAMGhM,GAAmB0K,EAAY9R,SAGpC,+BACE,sBAAMhyB,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUD,eAAgB,cAAtE,SACE,cAAC,GAAD,CACEwwB,WAAYA,EACZE,WAAYA,EACZ5X,UAAW,CACT7xB,OAAQ,OACRD,MAAO,iBAOjB,cAAC,KAAD,CAAKyzB,OAAQ,CAAC,GAAI,IAAK/tB,MAAO,CAAEwT,UAAW,IAA3C,SACG5G,EAAW+E,OAAS,GAChBmyB,EAAWS,iCAAmCx3B,GAAUM,sBACrC,aAAnB62B,EACDt3B,EAAWupB,MAAK,SAACze,EAAG0e,GAAJ,OAAW6O,EAAYvtB,EAAEzI,MAAQg2B,EAAY7O,EAAEnnB,SAAQwc,MAAM,EAAG,GAAGzlB,KAAI,SAAC0nB,EAAWpB,GAAZ,OACvF,eAAC,KAAD,CAAiBqB,KAAMvL,EAAW,EAAI,GAAtC,UACE,qBAAK9kB,UAAU,KAAf,SACG+nC,GAAkB3X,EAAU1f,MAAO0f,EAAUxe,QAEhD,8BACGwe,EAAUze,SALLqd,MAQP4Y,QAYfT,GAAeloC,aAAe,CAC5B+zB,KAAM,GACN1jB,WAAY,GACZolB,QAAS,IAGI5vB,sBAAKqiC,I,qBClHda,I,QAAsB,SAAChqC,GAAW,IAAD,IAEnCg1B,EAGEh1B,EAHFg1B,KACAvkB,EAEEzQ,EAFFyQ,QACAa,EACEtR,EADFsR,WAEMk3B,EAAexT,EAAfwT,WAN6B,EAQHxtB,mBAAS,IARN,mBAQ9BivB,EAR8B,KAQnBC,EARmB,OASHlvB,mBAAS,IATN,mBAS9BmvB,EAT8B,KASnBC,EATmB,OAUCpvB,mBAAS,IAVV,mBAU9BqvB,EAV8B,KAUjBC,EAViB,OAWHtvB,mBAASvK,EAAQiyB,UAAUzc,OAAO,eAX/B,mBAW9Byc,EAX8B,KAWnBD,EAXmB,KAY7B3F,EAAoBqE,KAApBrE,gBAERlmB,qBAAU,WACJ4xB,EAAW5S,cACb6M,EAAa1c,KAAOyiB,EAAW5S,aAAa,GAAG2U,eAAetkB,OAAO,iBAEtE,QAACuiB,QAAD,IAACA,OAAD,EAACA,EAAY5S,eAEhB,IAAM4U,EAAehC,EAAWxQ,eApBK,EAyBjCxY,aACF,CAACmB,GAAcM,iCAAkCyhB,EAAW8H,IAC5D,kBfO4B,SAAC9H,EAAW8H,GAAZ,OAA6BtsB,GAAA,4BACjCwkB,EADiC,yBACP8H,IACnDv/B,MAAK,qBAAGoK,QACR2G,OAAM,SAACC,GAAD,OAASlR,QAAQmR,OAAOD,MeVvBwuB,CAAiB/H,EAAW8H,KAAe,CAC/C9qB,sBAAsB,EACtBgrB,UAAYhI,KAAe8H,IANvBG,EAvB6B,EAuBnCt1B,KACWu1B,EAxBwB,EAwBnCxjB,UAUMyjB,EACJrrB,aAASmB,GAAc2B,8BAA+BqU,GAAyB,CAAEjX,sBAAsB,IADzGrK,KAGIy1B,EAAe,CACnBC,OAAQ,CACN9rC,OAAQ,OACR+rC,UAAU,GAEZ16B,OAAQ+5B,GA+EV,OAlEAzzB,qBAAU,WACR,GAAI+zB,GAA6Br5B,GAAcu5B,EAA+B,CAC5E,IAAMI,EAAM,OAAGN,QAAH,IAAGA,OAAH,EAAGA,EAA2BO,cAAcD,OAClDE,EAAK,OAAGR,QAAH,IAAGA,OAAH,EAAGA,EAA2BS,WACnCC,EAAcF,EAAM90B,OAAS,EAC7BhB,EAAO,GACPi2B,EAAY,GACZC,EAAa,GA8BnB,GA5BAhgC,OAAOD,KAAP,OAAYq/B,QAAZ,IAAYA,OAAZ,EAAYA,EAA2BO,cAAcD,QAAQvgC,KAAI,SAACgzB,GAAD,OAAiBvD,OAAOuD,MAAcrrB,SAAQ,SAACqrB,GAE9G,IAAM8N,EAAWP,EAAOvN,GAAa2N,GAC/BjZ,EAAY9gB,EAAWwC,MAAK,SAACwc,GAAD,OAAOA,EAAEmF,eAAiBiI,KAE5D,GAAItL,GAxBgB,SAAC1f,EAAO0f,GAGhC,SAFmB0K,EAAgBhpB,MAAK,SAAC23B,GAAD,MAAkB,4BAAXA,EAAE93B,QAElC8tB,eAAejmB,SAAS4W,EAAU0C,gBAAkBpiB,EApD1B,MAyEpBg5B,CAAkBF,EAAUpZ,GAAY,CACvD,IAAMsC,EAAe,OAAGmW,QAAH,IAAGA,OAAH,EAAGA,EAA+B/2B,MAAK,SAACwc,GAAD,OAAOA,EAAEwE,gBAAkB1C,EAAU0C,iBAC3F6W,EAAcjX,EAAgBqE,aAAaC,GAC3C4S,IAAkBn7B,EAAQ8H,QAASozB,EAAYnwB,SAAS/K,EAAQ8H,QAEtE,GAAIizB,EA7E0B,IA6EqBI,EACjDN,EAAUxzB,KAAK0zB,OACV,CACLn2B,EAAKyC,KAAK0zB,GAEV,IAAI9e,EAAQ8e,EAjFkB,IAiFlB,UAAkDG,EAAlD,qBAA4EA,EAA5E,YAA2FH,EAASvR,QAAQ,GAA5G,KAER2R,IACFlf,EAAK,kBAAcA,EAAd,cAGHgI,GACF6W,EAAWzzB,KAAK4U,QAMpB4e,EAAUj1B,OAAS,EAAG,CACxB,IAAMw1B,EAAWP,EAAU9R,QAAO,SAACpd,EAAG0e,GAAJ,OAAU1e,EAAI0e,IAAG,GACnDzlB,EAAKyC,KAAK+zB,GACV,IAAMC,EAAaD,EAjGe,IAiGgC,eAA/C,gBAAyEA,EAAS5R,QAAQ,GAA1F,KACnBsR,EAAWzzB,KAAKg0B,GAGlB5B,EAAa70B,GACbi1B,EAAeiB,GAMf,IAAMQ,EAAY,IAAIC,KAAKC,eAAe,KAAM,CAAEC,MAAO,SACzD,GAAIb,GAAe,EAAG,CACpB,IAAIc,EAAUhB,EAAME,GACpBc,EAAU,IAAI3jB,KAAK4jB,SAAS,GAAD,OAAID,EAAQE,WAAZ,OAA6B,KACxD,IAAMC,EAAWP,EAAU9lB,OAAOkmB,GAC5BI,EAAUJ,EAAQK,UAClBC,EAAUN,EAAQO,cAExBtC,EAAa,GAAD,OAAIkC,EAAJ,YAAgBC,EAAhB,aAA4BE,SAExCrC,EAAa,OAGhB,CAACO,EAA2Br5B,EAAYu5B,IAGzC,sBAAK7oC,UAAU,wBAAwB0C,MAAO,CAAE1F,MAAO,OAAQC,OAAQ,QAAvE,UACE,qBAAK+C,UAAU,iBAAf,SACE,uBAAMA,UAAU,KAAhB,UACE,qBAAK0C,MAAO,CAAE1F,MAAO,SAArB,SACGwpC,EAAW7C,gBAEd,sBACE3jC,UAAU,YACV0C,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOoB,WAFxC,UAIE,sDAGG6mB,EAAK2X,gBAHR,aAGG,EAAeC,YAAY,GAAG3S,QAAQ,GAHzC,+BAOGjF,EAAK2X,gBAPR,aAOG,EAAeC,YAAY,GAAG3S,QAAQ,MAExCkQ,EAAU9zB,OAAS,GAClB,sBAAKrU,UAAU,cAAf,UACE,cAAC8nC,GAAA,EAAD,IADF,+BAKE,qCAEGK,EAFH,kBAmBTQ,IAA8BC,GAC7B,qBAAK5oC,UAAU,sBAAf,SACGioC,EAAU5zB,OAAS,GAClB,cAAC,KAAD,CAAO2W,QAAS8d,EAAc+B,OAAQ5C,EAAWz2B,KAAK,QAAQvU,OAAO,OAAOD,MAAO,aAc/FgrC,GAAoB/oC,aAAe,CACjC+zB,KAAM,GACNvkB,QAAS,GACTa,WAAY,IAGCxK,sBAAKkjC,IC9Ld8C,GAAoB,SAAC9sC,GAAW,IAAD,oBAC7B8mB,EAAW8E,yBAAc,CAAE3G,SAAU,MAEnC+P,EAA8Bh1B,EAA9Bg1B,KAAM1jB,EAAwBtR,EAAxBsR,WAAYolB,EAAY12B,EAAZ02B,QAClB8R,EAAexT,EAAfwT,WACAr0B,EAAgBuC,qBAAWzC,IAA3BE,YAL2B,EAMC6G,oBAAS,GANV,mBAM5B0tB,EAN4B,KAMhBU,EANgB,KAQ7B2D,GAAoB,EAIpBC,EAAQ17B,EAAWiH,QAAO,SAAC00B,GAAD,MAAgC,WAAvBA,EAAIzS,kBACvC0S,EAAgBF,EAAM32B,OAAS,EAAf,UAAmB22B,EAAM,GAAG30B,gBAA5B,aAAmB,EAAmBE,QAAO,SAAC40B,GAAD,MAA2B,4BAApBA,EAAErY,iBAA+C,KACrHsY,EAAUJ,EAAM32B,OAAS,EAAf,UAAmB22B,EAAM,GAAG30B,gBAA5B,aAAmB,EAAmBE,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KACxGuY,EAAUL,EAAM32B,OAAS,EAAf,UAAmB22B,EAAM,GAAG30B,gBAA5B,aAAmB,EAAmBE,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KACxGwY,EAAcN,EAAM32B,OAAS,EAAf,UAAmB22B,EAAM,GAAG30B,gBAA5B,aAAmB,EAAmBE,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KAC/GyY,EAAcP,EAAM32B,OAAS,EAAf,UAAmB22B,EAAM,GAAG30B,gBAA5B,aAAmB,EAAmBE,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KAE/G0Y,EAAWl8B,EAAWiH,QAAO,SAAC00B,GAAD,MAAgC,cAAvBA,EAAIzS,kBAC1CiT,EAAmBD,EAASn3B,OAAS,EAAlB,UAAsBm3B,EAAS,GAAGn1B,gBAAlC,aAAsB,EAAsBE,QAAO,SAAC40B,GAAD,MAA2B,4BAApBA,EAAErY,iBAA+C,KAC9H4Y,EAAaF,EAASn3B,OAAS,EAAlB,UAAsBm3B,EAAS,GAAGn1B,gBAAlC,aAAsB,EAAsBE,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KACjH6Y,EAAaH,EAASn3B,OAAS,EAAlB,UAAsBm3B,EAAS,GAAGn1B,gBAAlC,aAAsB,EAAsBE,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KACjH8Y,EAAiBJ,EAASn3B,OAAS,EAAlB,UAAsBm3B,EAAS,GAAGn1B,gBAAlC,aAAsB,EAAsBE,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KACxH+Y,EAAiBL,EAASn3B,OAAS,EAAlB,UAAsBm3B,EAAS,GAAGn1B,gBAAlC,aAAsB,EAAsBE,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KAxB3F,EA6B/BtV,aACFb,GAAkBQ,gCAClBmE,GACA,CACE5D,sBAAsB,IANlB2pB,EA3B2B,EA2BjCh0B,KACSi0B,EA5BwB,EA4BjCzpB,SASGwpB,IAAD,OAAyBl1B,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAaqI,WACxC8sB,IAGF1yB,qBAAU,WACJyyB,IACEA,EAAqBE,KAAoC,kCAA7BF,EAAqBE,IACnDxU,QAAQyU,IAAI,mCAEUH,EAAqB9wB,QAAO,SAACkxB,GAAD,OAASA,EAAIzR,iBAAmBwQ,EAAWxQ,kBAC3E3hB,OAAS,GACzB+yB,GAAc,MAInB,CAACC,IAOJ,OACE,sBAAK3kC,MAAO,CAAE1F,MAAO,KAArB,UACE,sBAAKgD,UAAU,SAAf,UACE,uBAAMA,UAAU,KAAK0C,MAAO,CAAEwT,UAAW,EAAGuD,aAAc,GAA1D,UACE,8BAAM+sB,EAAWpR,kBAChBoR,EAAW7C,cACZ,sBACE3jC,UAAU,YACV0C,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOoB,WAFxC,UAIE,cAAC27B,GAAA,EAAD,IAJF,OAMGhM,GAAmB0K,EAAY9R,SAGpC,+BACE,sBAAMhyB,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUD,eAAgB,cAAtE,SACE,cAAC,GAAD,CACEwwB,WAAYA,EACZE,WAAYA,EACZ5X,UAAW,CACT7xB,OAAQ,OACRD,MAAO,iBAOjB,eAAC,KAAD,CAAKyzB,OAAQ,CAAC,GAAI,IAAK/tB,MAAO,CAAEwT,UAAW,IAA3C,UAEI80B,EAAM32B,OAAS,GAEb,eAAC,KAAD,CAAkBgc,KAAMvL,EAAW,EAAI,GAAvC,UACE,qBAAK9kB,UAAU,KAAf,SACG+nC,GAAkBiD,EAAM,GAAGt6B,MAAOs6B,EAAM,GAAGp5B,QAE9C,+CAJO,UAWX45B,EAASn3B,OAAS,GAEhB,eAAC,KAAD,CAAqBgc,KAAMvL,EAAW,EAAI,GAA1C,UACE,qBAAK9kB,UAAU,KAAf,SACG+nC,GAAkByD,EAAS,GAAG96B,MAAO86B,EAAS,GAAG55B,QAEpD,4CAJO,cAWE,OAAbs5B,QAAa,IAAbA,OAAA,EAAAA,EAAe72B,QAAS,GAAK02B,GAUb,OAAhBU,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBp3B,QAAS,GAAK02B,GAUzB,OAAPK,QAAO,IAAPA,OAAA,EAAAA,EAAS/2B,QAAS,GAAK02B,GAab,OAAVW,QAAU,IAAVA,OAAA,EAAAA,EAAYr3B,QAAS,GAAK02B,GAanB,OAAPM,QAAO,IAAPA,OAAA,EAAAA,EAASh3B,QAAS,GAAK02B,GAab,OAAVY,QAAU,IAAVA,OAAA,EAAAA,EAAYt3B,QAAS,GAAK02B,GAaf,OAAXQ,QAAW,IAAXA,OAAA,EAAAA,EAAal3B,QAAS,GAAK02B,GAab,OAAdc,QAAc,IAAdA,OAAA,EAAAA,EAAgBx3B,QAAS,GAAK02B,GAanB,OAAXO,QAAW,IAAXA,OAAA,EAAAA,EAAaj3B,QAAS,GAAK02B,GAab,OAAda,QAAc,IAAdA,OAAA,EAAAA,EAAgBv3B,QAAS,GAAK02B,EAab,IAAjBC,EAAM32B,QAAoC,IAApBm3B,EAASn3B,QA1LjB,wCA0MxBy2B,GAAkB7rC,aAAe,CAC/B+zB,KAAM,GACN1jB,WAAY,GACZolB,QAAS,IAGI5vB,sBAAKgmC,I,+BClRdgB,I,QAAe,SAAC9tC,GAAW,IAE7BgC,EACEhC,EADFgC,UAAWoW,EACTpY,EADSoY,MAAOyb,EAChB7zB,EADgB6zB,OAAQxb,EACxBrY,EADwBqY,SAAUjB,EAClCpX,EADkCoX,QAASpY,EAC3CgB,EAD2ChB,MAAOC,EAClDe,EADkDf,OAAQ8uC,EAC1D/tC,EAD0D+tC,iBAAqB/6B,EAFrD,aAG1BhT,EAH0B,yFAKxB8mB,EAAW8E,yBAAc,CAAE3G,SAAU,MALb,EAONjK,oBAAS,GAPH,mBAOvB4oB,EAPuB,KAOjBoK,EAPiB,KAa9B,OACE,cAAC,KAAD,2BACMh7B,GADN,IAEE+Y,UAAWjF,EACT,cAAC,KAAD,IAEA,sBAAMpiB,MAAO,CAAE6S,MAAO,sBAAtB,SACE,cAAC,KAAD,CAAW7S,MAAO,CAAE6V,SAAU,QAGlCvY,UAAW8rB,KAAW,gBAAiB9rB,GACvCoW,MAAOA,EACPpZ,MAAOA,EACPC,OAAQA,EACR0rB,QAnBY,WACdqjB,GAAQ,GACRD,GAAiB,IAkBf32B,QAAO,OAAEA,QAAF,IAAEA,IAAWwsB,EACpB/P,OAAQA,EACRV,cAAc,EAhBhB,SAkBE,qBAAKnxB,UAAU,iBAAf,SAAiCqW,SAgBvCy1B,GAAa7sC,aAAe,CAC1Be,UAAW,GACXoW,MAAO,GACPyb,YAAQlhB,EACR0F,cAAU1F,EACVyE,aAASzE,EACT3T,MAAO,MACPC,YAAQ0T,EACRo7B,iBAAkB,cAGLjnC,sBAAKgnC,I,0CCjDdG,I,QAAkC,CAAC,KAAM,OAAQ,SAEjDC,GAAkB,SAACluC,GAAW,IAEhCsR,EAIEtR,EAJFsR,WACA2lB,EAGEj3B,EAHFi3B,SACAkX,EAEEnuC,EAFFmuC,kBACArnB,EACE9mB,EADF8mB,SAL+B,EAQD9L,mBAAS,MARR,mBAQ1BozB,EAR0B,KAQhBC,EARgB,OASKrzB,mBAAS,MATd,mBAS1BszB,EAT0B,KASbC,EATa,OAUKvzB,oBAAS,GAVd,mBAU1BwzB,EAV0B,KAUbC,EAVa,OAWmBzzB,mBAAS,MAX5B,mBAW1B0zB,EAX0B,KAWNC,EAXM,OAYW3zB,mBAAS,MAZpB,mBAY1B4zB,EAZ0B,KAYVC,EAZU,KAyCjCj4B,qBAAU,WACR,GAAIu3B,EAAmB,CACrB,IAAMW,EAAax9B,EAAWiH,QAAO,SAACw2B,GAAD,OAAQA,EAAGtZ,eAAiB0Y,KAC7DW,EAAWz4B,OAAS,GACtBw4B,EAAkBC,EAAW,SAG/BD,OAAkBl8B,KAEnB,IAEHiE,qBAAU,WACR,GAAItF,GAAcA,EAAW+E,OAC3B,GAAIu4B,EACFP,EAAY,iBAAD,OAAkBpX,EAAS0O,cAA3B,cAA8CiJ,EAAej7B,KAA7D,0BAENs6B,GAAgCzyB,SAASozB,EAAe9W,mBAC3DuW,EAAY,GAAD,OAAIpX,EAAS0O,cAAb,cAAgCiJ,EAAej7B,KAA/C,mDACX86B,GAAe,QAEZ,CACLJ,EAAY,iBAAD,OAAkBpX,EAAS0O,cAA3B,4BACX,IAAMqJ,EAAsB19B,EAAWiH,QAAO,SAAC02B,GAAD,OAAUhB,GAAgCzyB,SAASyzB,EAAKnX,oBACtG6W,EAAsBK,GAEtB,IAAME,EAAwB59B,EAAWiH,QAAO,SAAC02B,GAAD,OAAWhB,GAAgCzyB,SAASyzB,EAAKnX,oBACzG,GAAIoX,EAAsB74B,OAAS,EAAG,CACpC,IAAM84B,EACJ,qCACE,2IAEED,EAAsBxkC,KAAI,SAACukC,GAAD,OAAW,8BAA8BA,EAAKt7B,MAAzBs7B,EAAKxZ,oBAK1D8Y,EAAeY,SAInBd,EAAY,8EACZI,GAAe,KAEhB,CAACG,IAEJ,IAAMQ,EAAgB,yCAAG,uBAAAhzB,EAAA,sEACjBzQ,OAAOi4B,KAAK,yDADK,2CAAH,qDAItB,OACE,sBAAK5hC,UAAU,uBAAf,UACE,eAAC,KAAD,CACE0C,MAAO,CAAE6S,MAAO,WAChBgsB,MAAM,SACN9Q,OAAQ,CAAC3L,EAAW,EAAI,GAAI,IAC5BuoB,QAAQ,gBAJV,UAME,eAAC,KAAD,CACEC,GAAId,EAAc,GAAK,GACvBxH,GAAI,GAFN,UAIE,oBAAItiC,MAAO,CAAE6S,MAAO,SAApB,yCACA,sBAAK7S,MAAO,CAAE6S,MAAO,SAArB,UACI62B,EACAE,GAAeE,GAEb,cAAC,KAAD,CAAS9nB,UAAU,OAAO1kB,UAAU,cAAcoW,MAAOk2B,EAAzD,SACE,cAACiB,GAAA,EAAD,YAKRf,GAEE,cAAC,KAAD,CACEc,GAAI,GACJtI,GAAI,GAFN,SAIE,eAAC,KAAD,CACEhlC,UAAU,kCACVwpB,KAAK,QACL9mB,MAAO,CAAE1F,MAAO,OAAQunB,WAAY,QAAS9L,OAAQ,GACrD5C,QA7GiB,WAC7B,IAAI23B,EAEAC,EADEC,EAAK,IAAIlnB,KAQf,GALEinB,EADEC,EAAGC,WAAa,EACR,UAAMD,EAAGhD,cAAgB,EAAzB,wBAEA,UAAMgD,EAAGhD,cAAT,wBAGRyB,EAAmB,CACrB,IAAMW,EAAax9B,EAAWiH,QAAO,SAACw2B,GAAD,OAAQA,EAAGtZ,eAAiB0Y,KAC7DW,EAAWz4B,OAAS,IACtBm5B,EAAW,8DAA0DvY,EAASe,eAAnE,wBAAiG8W,EAAW,GAAGtU,eAA/G,oBAAyIiV,SAGtJD,EAAW,8DAA0DvY,EAASe,eAAnE,iBACX0W,EAAmBr8B,SAAQ,SAAC48B,GAC1BO,GAAW,UAAOP,EAAKzU,eAAZ,UAGbgV,GAAW,2BAAwBC,GAGrC9jC,OAAOi4B,KAAK4L,IAiFF,UAME,cAACI,GAAA,EAAD,IANF,oBAWN,qBAAKlrC,MAAO,CAAE2gB,aAAc,oBAAqBrmB,MAAO,MAAO6wC,OAAQ,eAEzE,eAAC,KAAD,CACEnrC,MAAO,CAAE6S,MAAO,WAChBgsB,MAAM,SACN9Q,OAAQ,CAAC3L,EAAW,EAAI,GAAI,IAC5BuoB,QAAQ,gBAJV,UAME,eAAC,KAAD,CACEC,GAAI,GACJtI,GAAI,GAFN,UAIE,oBAAItiC,MAAO,CAAE6S,MAAO,SAApB,kDACA,qBAAK7S,MAAO,CAAE6S,MAAO,SAArB,uFAGA,sBAAKvV,UAAU,mBAAmB0C,MAAO,CAAE6S,MAAO,SAAlD,4BAEE,cAAC,KAAD,CAASmP,UAAU,OAAOtO,MAAM,wQAAhC,SACE,cAACm3B,GAAA,EAAD,YAIN,cAAC,KAAD,CACED,GAAI,GACJtI,GAAI,GAFN,SAIE,eAAC,IAAD,CACE7zB,GAAI,CAAE0D,SAAS,uDAAD,OAAyDogB,EAASe,eAAlE,UACd1L,OAAO,SACPtqB,UAAU,uCACVwpB,KAAK,QACL9mB,MAAO,CAAE1F,MAAO,OAAQunB,WAAY,QAAS9L,OAAQ,GALvD,UAOE,cAACq1B,GAAA,EAAD,IAPF,mBAWF,qBAAKprC,MAAO,CAAE2gB,aAAc,oBAAqBrmB,MAAO,MAAO6wC,OAAQ,eAEzE,eAAC,KAAD,CACEnrC,MAAO,CAAE6S,MAAO,WAChBgsB,MAAM,SACN9Q,OAAQ,CAAC3L,EAAW,EAAI,GAAI,IAC5BuoB,QAAQ,gBAJV,UAME,eAAC,KAAD,CACEC,GAAI,GACJtI,GAAI,GAFN,UAIE,oBAAItiC,MAAO,CAAE6S,MAAO,SAApB,yCACA,qBAAK7S,MAAO,CAAE6S,MAAO,SAArB,uEAIF,cAAC,KAAD,CACE+3B,GAAI,GACJtI,GAAI,GAFN,SAIE,eAAC,KAAD,CACEhlC,UAAU,kCACVwpB,KAAK,QACL3T,QAASu3B,EACT1qC,MAAO,CAAE1F,MAAO,OAAQunB,WAAY,QAAS9L,OAAQ,GAJvD,UAME,cAACs1B,GAAA,EAAD,IANF,yBAsBV7B,GAAgBjtC,aAAe,CAC7BqQ,WAAY,GACZ2lB,SAAU,KACVkX,kBAAmB,KACnBrnB,UAAU,GAGGhgB,sBAAKonC,I,oDCpOd8B,GAAkB,SAAC,GAElB,IADLlpB,EACI,EADJA,SAAUjT,EACN,EADMA,OAAQgE,EACd,EADcA,QAASo4B,EACvB,EADuBA,aACvB,EACej1B,mBAASnH,GAArBq8B,EADH,sBAE8Bl1B,oBAAS,GAFvC,mBAEGm1B,EAFH,KAEcC,EAFd,KAGEl5B,EAAUC,eAER2lB,EAAoBqE,KAApBrE,gBAGNtoB,EACEkC,qBAAWzC,IADbO,YAGMD,EAAsBmC,qBAAWzC,IAAjCM,kBAWFyoB,EAAiBF,EAAgBhpB,MAAK,SAACmpB,GAAD,uBAAWA,EAAMC,gCAAjB,aAAW,EAAgC1hB,SAASy0B,MAE1FI,EAAqBF,GAAaD,EAAW,OAASA,EAAQ,OAAGlT,QAAH,IAAGA,OAAH,EAAGA,EAAgBuE,gBAAkB,cACnG+O,EAAiBJ,GAAYC,EAAY,OAAxB,OAAiCnT,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAgBuE,gBAClEgP,EAAWL,GAAYC,EAAZ,OAAwBnT,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAgBuE,gBAAkB2O,EAAW,OAAH,OAAYlT,QAAZ,IAAYA,OAAZ,EAAYA,EAAgBuE,gBAE/G,OACE,qBACE78B,MAAO,CACL8rC,YAAaF,GAEftuC,UAAW8rB,KAAWhH,EAAW,aAAe,WAAY,sBAC5DjP,QAASA,EALX,SAOE,qBACE7V,UAAW8rB,KAAW,WAAYoiB,EAAW,SAAW,aACxDr4B,QAAS,SAACmxB,GAAD,OAzBI,SAACA,GAClBA,EAAM5F,kBACF5uB,EACF0C,EAAQY,KAAK,wBAEbvD,GAAkB,GAoBIk8B,CAAWzH,IAC/B0H,aAAc,kBAAMN,GAAa,IACjCO,aAAc,kBAAMP,GAAa,IACjC1rC,MAAO,CACL6S,OAAqB,OAAdylB,QAAc,IAAdA,OAAA,EAAAA,EAAgBuE,kBAAmB,OAC1Cx8B,gBAAiBsrC,GAPrB,SAUE,cAACO,GAAA,EAAD,CAAmBlsC,MAAO,CACxB6S,MAAOg5B,UAejBP,GAAgB/uC,aAAe,CAC7B6lB,UAAU,EACVjT,QAAQ,EACRgE,QAAS,cAGIm4B,UChETa,GAAY,SAAC7wC,GAAW,IAE1Bqa,EAeEra,EAfFqa,KACAkgB,EAcEv6B,EAdFu6B,KACAuW,EAaE9wC,EAbF8wC,UACAn9B,EAYE3T,EAZF2T,KACAo9B,EAWE/wC,EAXF+wC,aACAr+B,EAUE1S,EAVF0S,MACAkB,EASE5T,EATF4T,KACAlP,EAQE1E,EARF0E,MACAssC,EAOEhxC,EAPFgxC,cACAC,EAMEjxC,EANFixC,oBACAp5B,EAKE7X,EALF6X,QACAiP,EAIE9mB,EAJF8mB,SACAoqB,EAGElxC,EAHFkxC,WACAr9B,EAEE7T,EAFF6T,OACAo8B,EACEjwC,EADFiwC,aAGIzJ,EAAgB,kBACpBnsB,EACE,iCACGA,EADH,UAIE,IAGA82B,EAAiBpH,GAAkBr3B,EAAOkB,GACxCkpB,EAAoBqE,KAApBrE,gBAER,OACEgU,EAEI,gCACE,qBAAK9uC,UAAU,KAAf,SACGmvC,IAEH,8BAAMx9B,OAIR,qCACE,cAAC,GAAD,CACEu9B,WAAYA,EACZr9B,OAAQA,EACRgE,QAASA,EACTo4B,aAAcA,IAEhB,sBACEvrC,MAAK,2BACAA,GADA,IACOE,QAAS,OAAQ2/B,cAAe,SAAUvsB,eAAgB,WAEtEH,QAAS,kBAAMA,KACf7V,UAAU,YALZ,UAOE,sBAAK0C,MAAO,CAAEE,QAAS,QAAvB,UACE,sBAAM5C,UAAU,KAAhB,SACGmvC,IAEFH,EAEG,cAAC,KAAD,CACE54B,MAAM,GACN1F,MAAO,IACP0+B,UAAW,EACXC,WAAY,CACV95B,MAAOpF,GAAepF,OAAOgB,QAASwM,SAAU,GAAIrC,UAAW,MAAOwC,WAAY,IAEpFyR,OAAQ,cAACmlB,GAAA,EAAD,IACR/kB,OAAO,MAGT,MAEN,sBAAK7nB,MAAOoiB,EAAW,CAAE3B,WAAY,IAAKosB,eAAgB,aAAgB,CAAEpsB,WAAY,KAAOnjB,UAAW+uC,EAAe,WAAa,GAAtI,UACE,cAACvK,EAAD,IACA,sBAAK9hC,MAAO,CAAEE,QAAS,OAAQqT,WAAY,UAA3C,UACE,sBAAMvT,MAAO,CAAE4V,YAAa,GAA5B,SACGuiB,GAAsBC,EAAiBmT,KAE1C,sBAAMvrC,MAAOqsC,EAAe,CAC1BS,WAAY,SACZltC,SAAU,SACVmtC,aAAc,YACZ,GAJJ,SAME,sBAAM/sC,MAAO,CAAE6V,SAAU,IAAzB,SACG5G,YAKT,sBAAK3R,UAAU,UAAU0C,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOoB,WAA/D,UACE,cAAC27B,GAAA,EAAD,IADF,OAGG/jB,KAAOwU,GAAMiB,aAEfyV,EAEG,sBAAKjvC,UAAU,YAAf,UACE,cAAC0vC,GAAA,EAAD,IADF,wBAKE,UAyBlBb,GAAU5vC,aAAe,CACvBoZ,KAAM,KACN1G,KAAM,GACNo9B,cAAc,EACdr+B,MAAO,GACPkB,KAAM,GACN2mB,KAAM,EACNuW,WAAW,EACXpsC,MAAO,GACPssC,eAAe,EACfC,qBAAqB,EACrBp5B,QAAS,aACTiP,UAAU,EACVoqB,YAAY,EACZr9B,QAAQ,EACRo8B,aAAc,IAGDnpC,sBAAK+pC,IC1Jdc,GAAe,SAAC3xC,GAAW,IACvBwT,EAASxT,EAATwT,KA4CR,OACE,sBAAM9O,MAAO,CAAEygB,WAAY,IAAKvgB,QAAS,QAAzC,SAxCIm3B,GAAkBC,KAAKxgB,SAAShI,GAEhC,qCACE,cAAC,KAAD,CAAiB9O,MAAO,CAAEC,cAAe,YAD3C,OAGE,2CAGKo3B,GAAkBE,MAAMzgB,SAAShI,GAExC,qCACE,cAAC,MAAD,CAAW9O,MAAO,CAAEC,cAAe,SAAU4V,SAAU,MADzD,OAGE,4CAGKwhB,GAAkBG,OAAO1gB,SAAShI,GAEzC,qCACE,cAAC,KAAD,CAAY9O,MAAO,CAAEC,cAAe,SAAU4V,SAAU,MAD1D,OAGE,6CAGKwhB,GAAkBI,kBAAkB3gB,SAAShI,GAEpD,qCACE,cAAC,MAAD,CAAc9O,MAAO,CAAEC,cAAe,SAAU4V,SAAU,MAD5D,OAGE,wDAIe/G,KAezBm+B,GAAa1wC,aAAe,CAC1BuS,KAAM,IAGOm+B,UCnETC,GAAoB,aACpBC,GAAuB,gBACvBC,GAAyB,kBACzBC,GAAqB,cACrBC,GAAsB,eACtBC,GAAsB,iBACtBC,GAAe,gBAiBRC,GAAY,CACvBC,uBAAwB,CACtBxjB,SAAUsjB,GACV3+B,OAAQ,wCAEV8+B,oBAAqB,CACnBzjB,SAAUsjB,GACV3+B,OAAQ,8BAEV++B,uBAAwB,CACtB1jB,SAAUsjB,GACV3+B,OAAQ,gCAEVg/B,sBAAuB,CACrB3jB,SAAUsjB,GACV3+B,OAAQ,qCAEVi/B,wBAAyB,CACvB5jB,SAAUsjB,GACV3+B,OAAQ,0CAEVk/B,mBAAoB,CAClB7jB,SAAUsjB,GACV3+B,OAAQ,gDAICm/B,GAAsB,CACjCC,cAAe,CACb/jB,SAAUkjB,GACVv+B,OAAQ,2BAEVq/B,mBAAoB,CAClBhkB,SAAUkjB,GACVv+B,OAAQ,wBAEVs/B,eAAgB,CACdjkB,SAAUkjB,GACVv+B,OAAQ,mCAEVu/B,oBAAqB,CACnBlkB,SAAUkjB,GACVv+B,OAAQ,sCAEVw/B,kBAAmB,CACjBnkB,SAAU,gBACVrb,OAAQ,uBAEVy/B,iBAAkB,CAChBpkB,SAAUojB,GACVz+B,OAAQ,sBAIC0/B,GAAiB,CAC5BC,iBAAkB,CAChBtkB,SAAUgjB,GACVr+B,OAAQ,wBAEV4/B,qBAAsB,CACpBvkB,SAAUgjB,GACVr+B,OAAQ,4BAEV6/B,UAAW,CACTxkB,SAAUgjB,GACVr+B,OAAQ,gBAEV8/B,aAAc,CACZzkB,SAAUgjB,GACVr+B,OAAQ,qBAEV+/B,iBAAkB,CAChB1kB,SAAUgjB,GACVr+B,OAAQ,sBAEVggC,WAAY,CACV3kB,SAAUgjB,GACVr+B,OAAQ,eAEVigC,gBAAiB,CACf5kB,SAAUgjB,GACVr+B,OAAQ,qBAKCkgC,GAAgB,CAC3BC,YAAa,CACX9kB,SAAUijB,GACVt+B,OAAQ,6BAEVogC,iBAAkB,CAChB/kB,SAAUijB,GACVt+B,OAAQ,mCAEVqgC,eAAgB,CACdhlB,SAAUijB,GACVt+B,OAAQ,yBAEVsgC,oBAAqB,CACnBjlB,SAAUijB,GACVt+B,OAAQ,gCAICugC,GAAkB,CAC7BC,MAAO,CACLnlB,SAAUmjB,GACVx+B,OAAQ,0CAEVygC,oBAAqB,CACnBplB,SAAUmjB,GACVx+B,OAAQ,uBAEV0gC,eAAgB,CACdrlB,SAAUmjB,GACVx+B,OAAQ,iCAEV2gC,kBAAmB,CACjBtlB,SAAUmjB,GACVx+B,OAAQ,oCAIC4gC,GAKO,CAChBvlB,SAAU,cACVrb,OAAQ,4BAIC6gC,GAAmB,CAC9BlB,iBAAkB,CAChBtkB,SAAUojB,GACVz+B,OAAQ,wBAEV8gC,mBAAoB,CAClBzlB,SAAUojB,GACVz+B,OAAQ,iCAEV4/B,qBAAsB,CACpBvkB,SAAUojB,GACVz+B,OAAQ,4BAEV+gC,gBAAiB,CACf1lB,SAAUojB,GACVz+B,OAAQ,8BAICghC,GAAwB,CACnCC,iBAAkB,CAChB5lB,SAAUqjB,GACV1+B,OAAQ,+BAEVkhC,iBAAkB,CAChB7lB,SAAUqjB,GACV1+B,OAAQ,6BAEVmhC,cAAe,CACb9lB,SAAUqjB,GACV1+B,OAAQ,iCAEVohC,eAAgB,CACd/lB,SAAUqjB,GACV1+B,OAAQ,kCAEVqhC,eAAgB,CACdhmB,SAAUqjB,GACV1+B,OAAQ,kCAEVshC,aAAc,CACZjmB,SAAUqjB,GACV1+B,OAAQ,gCAEVuhC,eAAgB,CACdlmB,SAAUqjB,GACV1+B,OAAQ,kCAEVwhC,eAAgB,CACdnmB,SAAUqjB,GACV1+B,OAAQ,mCCtMNyhC,I,eAAc,SAACh1C,GAAW,IAE5BqY,EACErY,EADFqY,SAAUrW,EACRhC,EADQgC,UAAWizC,EACnBj1C,EADmBi1C,cAAiCC,GACpDl1C,EADkCm1C,iBAClCn1C,EADoDk1C,gBAAmBliC,EAF9C,aAGzBhT,EAHyB,8EAMvBhB,EAAQi2C,EACV,IACAC,EAAiB,IAAM,IAE3B,OACE,cAAC,KAAD,2BACMliC,GADN,IAEEhM,MAAI,EACJouC,WAAS,EACTpzC,UAAS,uBAAkBA,GAC3BhD,MAAOA,EACP+sB,UACE,qBAAKlU,QAASo9B,EAAgB,kBAAMI,KAAQrM,MAAMuL,GAAsBE,mBAAoB,aAA5F,SACE,cAAC,KAAD,CACE/vC,MAAO,CACL6S,MAAO,QAIPW,UAAW,GACXoC,YAAa,QAKrBwQ,OAAQ,KApBV,SAsBGzS,OAaP28B,GAAY/zC,aAAe,CACzBoX,SAAU,KACVrW,UAAW,GACXizC,eAAe,EACfE,kBAAkB,EAClBD,gBAAgB,GAGHF,U,gCCjEFM,GACM,cADNA,GAEG,WAFHA,GAGO,eAHPA,GAIA,QAJAA,GAKO,eALPA,GAMG,gBCcVC,I,QAAS,SAACv1C,GAAW,IAEvBw1C,EAIEx1C,EAJFw1C,cACAC,EAGEz1C,EAHFy1C,kBACAC,EAEE11C,EAFF01C,oBACAhN,EACE1oC,EADF0oC,WAGIiN,EAAU,CACd,CACEljC,IAAK6iC,GACLj7B,KAAM,cAACu7B,GAAA,EAAD,IACNjiC,KAAM,cACNyD,SAAS,GAEX,CACE3E,IAAK6iC,GACLj7B,KAAMquB,EAAa,cAAC/tB,GAAA,EAAD,IAAkB,cAACk7B,GAAA,EAAD,IACrCliC,KAAM+0B,EAAa,kBAAoB,mBACvCtxB,QAASqB,GAAYG,WAEvB,CACEnG,IAAK6iC,GACLj7B,KAAM,cAACG,GAAA,EAAD,IACN7G,KAAM,kBACNyD,QAASqB,GAAYM,YAEvB,CACEtG,IAAK6iC,GACLj7B,KAAM,cAACy7B,GAAA,EAAD,CAAkBpxC,MAAO,CAAE4V,YAAa,KAC9C3G,KAAM,iBACNyD,SAAS,GAEX,CACE3E,IAAK6iC,GACLj7B,KAAM,cAAC07B,GAAA,EAAD,IACNpiC,KAAM,kBACNyD,SAAS,GAEX,CACE3E,IAAK6iC,GACLj7B,KAAM,cAACu1B,GAAA,EAAD,IACNj8B,KAAM,gBACNyD,QAASqB,GAAYa,eAInBwN,EAAW8E,yBAAc,CAAE3G,SAAU,MA/CnB,EAiDIjK,mBAAS,IAjDb,mBAiDjBg7B,EAjDiB,KAiDTC,EAjDS,OAkDkBj7B,mBAAS,IAlD3B,mBAkDjBk7B,EAlDiB,KAkDFC,EAlDE,KAgExBv/B,qBAAU,WACR++B,EAAQtjC,SAAQ,SAAC+jC,GACf,IAAMC,EAAS,OAAGb,QAAH,IAAGA,OAAH,EAAGA,EAAe1hC,MAAK,SAAChJ,GAAD,OAAOA,EAAE2H,MAAQ2jC,EAAI3jC,OACrD6jC,GAAsB,OAATD,QAAS,IAATA,OAAA,EAAAA,EAAWj/B,UAAWg/B,EAAIh/B,QACvCm/B,GAAsB,OAATF,QAAS,IAATA,OAAA,EAAAA,EAAWG,YAAaJ,EAAII,WAE3CH,GAAaE,GAAcD,GAGpBF,GAAOE,GAAcC,KAF9BN,EAAUG,EAAI3jC,KACd0jC,EAAiBC,EAAI3jC,WAMxB,IAEHmE,qBAAU,WACc,IAAlBo/B,EAAO3/B,QAAkC,KAAlB6/B,GACzBD,EAAUC,KAEX,CAACF,IApFoB,MAyFpBt/B,qBAAWzC,IAFbM,EAvFsB,EAuFtBA,kBACAJ,EAxFsB,EAwFtBA,YAGIsiC,EAAW,yCAAG,WAAOhkC,GAAP,gBAAA2J,EAAA,uDAGlB,QAFMi6B,EAAYb,EAAc1hC,MAAK,SAAChJ,GAAD,OAAOA,EAAE2H,MAAQA,YAEtD,IAAI4jC,OAAJ,EAAIA,EAAWx+B,UACbw+B,EAAUx+B,UAJM,KAOVpF,EAPU,cAQX6iC,GARW,SAgBXA,GAhBW,sBASVnhC,EATU,yCAULshC,KAVK,cAadlhC,GAAkB,GAbJ,mBAeP,GAfO,WAiBVJ,EAjBU,0CAkBLuhC,KAlBK,eAqBdnhC,GAAkB,GArBJ,mBAsBP,GAtBO,4CAAH,sDAmCjB,OACE,qBAAKvS,UAAU,UAAf,SACG2zC,EAAQjrC,KAAI,SAAC0rC,EAAKplB,GAAW,IAAD,IAVR0lB,EAWbL,EAAS,OAAGb,QAAH,IAAGA,OAAH,EAAGA,EAAe1hC,MAAK,SAAChJ,GAAD,OAAOA,EAAE2H,MAAQ2jC,EAAI3jC,OACrD6jC,EAAU,iBAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAWj/B,eAAd,QAAyBg/B,EAAIh/B,QACvCu/B,EAAU,iBAAGN,QAAH,IAAGA,OAAH,EAAGA,EAAWM,kBAAd,SAEVC,EACJ,sBAEElyC,MAAO,CAAEgT,aAAc,GACvBg5B,aAAc,kBArFEj+B,EAqFqB2jC,EAAI3jC,SAnFjDwjC,EADkB,CAACxjC,IADI,IAACA,GAsFhBk+B,aAAc,kBAjFC,SAACl+B,GACxB,GAAIujC,EAAQ,CACV,IAAMa,EAAYb,EAAOz9B,QAAO,SAACzN,GAAD,OAAOA,IAAM2H,KAC7CwjC,EAAUY,IA8EgBC,CAAiBV,EAAI3jC,MAJ3C,SAME,cAAC,KAAD,CACEzQ,WAvBa00C,EAuBcN,EAAI3jC,IAtBrCi2B,GAAcgO,IAAWpB,GACpB,uCAGF,wBAmBGj7B,KAAM+7B,EAAI/7B,KACVmR,KAAK,QACL3T,QAAS,kBAAM4+B,EAAYL,EAAI3jC,MAC/BugB,SAAU2jB,EALZ,UAOI7vB,GAAwB,UAAZsvB,EAAI3jC,MAAjB,OAAoCujC,QAApC,IAAoCA,OAApC,EAAoCA,EAAQx6B,SAAS46B,EAAI3jC,MAAO,+BAAO2jC,EAAIziC,OAAe,MAZxFqd,GAiBT,OACEslB,KACW,OAATD,QAAS,IAATA,OAAA,EAAAA,EAAWU,OAAQ,cAAC,IAAD,CAAwB5jC,GAAE,OAAEkjC,QAAF,IAAEA,OAAF,EAAEA,EAAWU,MAAvC,SAA+CH,GAA9B5lB,GAAqD4lB,UAuBrGrB,GAAOt0C,aAAe,CACpBu0C,cAAe,GACfC,kBAAmB,aACnBC,oBAAqB,aACrBhN,YAAY,GAGC5hC,sBAAKyuC,I,2CCjLZj+B,I,OAASoN,KAATpN,MAEA0/B,GAAqBlV,KAArBkV,SAAUnV,GAAWC,KAAXD,OAEZoV,GAAc,SAACj3C,GAAW,IAAD,4BAE3B8mB,EACE9mB,EADF8mB,SAAUmQ,EACRj3B,EADQi3B,SAAsBigB,EAC9Bl3C,EADkBsR,WAAgC8F,EAClDpX,EADkDoX,QAASuT,EAC3D3qB,EAD2D2qB,QAFlC,EAKO3P,oBAAS,GALhB,mBAKtBm8B,EALsB,KAKVC,EALU,OAMOp8B,mBAASk8B,EAAmB3+B,QAAO,SAAC+X,GAAD,eAAO,UAAAA,EAAEsJ,cAAF,eAAUM,iBAAV,UAA2B5J,EAAEsJ,cAA7B,aAA2B,EAAUQ,mBANtF,mBAMtB9oB,EANsB,KAMV+lC,EANU,OAO6Br8B,oBAAS,GAPtC,mBAOtBs8B,EAPsB,KAOCC,EAPD,OAQ6Bv8B,oBAAS,GARtC,mBAQtBw8B,EARsB,KAQCC,EARD,OAS6Bz8B,mBAAS,MATtC,mBAStB08B,EATsB,KASCC,EATD,OAU6B38B,mBAAS,MAVtC,mBAUtB48B,EAVsB,KAUCC,EAVD,OAYqB78B,qBAZrB,mBAYtBmzB,EAZsB,KAYH2J,GAZG,KAcvBC,GAAoB33B,IAAO8R,QAAQ5gB,GAAY,SAACgf,GAAD,OAAOA,EAAE6I,SAdjC,GAed6e,KAAKC,UAAbC,GAfsB,qBAiBrBjjC,GAAoByB,qBAAWzC,IAA/BgB,gBAjBqB,GAsBzBuK,aACFmB,GAAcY,2BACdwd,GACA,CACErf,sBAAsB,EACtBgrB,SAAS,IAPLyN,GApBqB,GAoB3B9iC,KACS+iC,GArBkB,GAqB3Bv4B,QArB2B,GAkCzBL,aAASmB,GAAc2B,8BAA+BqU,GAAyB,CACjFjX,sBAAsB,EACtBgrB,SAAS,IAJHG,GAhCqB,GAgC3Bx1B,KACSgjC,GAjCkB,GAiC3Bx4B,QAjC2B,GA0CzBL,aAASmB,GAAcqB,uCAAwCid,GAAyB,CAAEvf,sBAAsB,IAF5G44B,GAxCqB,GAwC3BjjC,KACSkjC,GAzCkB,GAyC3B14B,QAGFjJ,qBAAU,WACR,GAAIuhC,IAA6BtN,IAAiCyN,IAA4D,IAA9BpB,EAAmB7gC,OAAc,CAAC,IAAD,IACzHmiC,EAAeL,GAA0BrkC,MAAK,SAAChJ,GAAD,OAAOA,EAAEktB,iBAAmBf,EAASe,kBACnFygB,EAAU,iBAAGD,QAAH,IAAGA,GAAH,UAAGA,EAAcxhB,uCAAjB,aAAG,EAA+CC,SAASC,mBAA3D,SAA2E,EACvFwhB,EAAwB,IACR,IAAhBD,IACFC,EAAwBJ,GAA2B//B,QAAO,SAAC8e,GAAD,OAAQA,EAAGH,cAAgBuhB,MAIvF,IAAME,EAAiBD,EACpBngC,QAAO,SAAC+X,GAAD,OAAQA,EAAEuH,aACjBntB,KAAI,SAAC0nB,GACJ,IAAMsC,EAAkBmW,GACrB/2B,MAAK,SAAChJ,GAAD,OAAOA,EAAEgqB,gBAAkB1C,EAAU0C,eAAiBhqB,EAAEgtB,kBAAoB1F,EAAU0F,mBAE9F,GAAIpD,EAAiB,CAAC,IAAD,WACkDA,QADlD,IACkDA,OADlD,EACkDA,EAAiBkF,OAA/Dgf,EADJ,EACXxe,cAA4Cye,EADjC,EACkB3e,cAE/B4e,EAAwBvc,GAAqB,CACjD7H,kBACAhiB,MAAOkmC,EACP3jC,qBAGI8jC,EAAwBxc,GAAqB,CACjD7H,kBACAhiB,MAAOmmC,EACP5jC,qBAGIwf,EAAa,OAAGC,QAAH,IAAGA,OAAH,EAAGA,EAAiB4D,kBACjCC,EAAgB/D,GAAiBC,EAAeC,EAAiBzf,IACjEyjB,EAAmBhE,EAAkBA,EAAgB+D,MAAM3kB,MAAK,SAAChJ,GAAD,OAAOA,EAAEzL,KAAOk5B,KAAiB,KACvG,OAAO,2BACFnG,GADL,IAEEze,KAAM+gB,EAAgBqE,aAAaC,GACnCG,MAAK,UAAE/G,EAAU+G,aAAZ,QAAqB,EAC1BS,OAAQ,CACNQ,cAAa,OAAE0e,QAAF,IAAEA,IAAyBF,EACxC1e,cAAa,OAAE6e,QAAF,IAAEA,IAAyBF,GAE1CjlC,KAAI,OAAE8kB,QAAF,IAAEA,OAAF,EAAEA,EAAkBW,SAI5B,OAAO,2BACFjH,GADL,IAEEwH,OAAQ,QAIdyd,EAAa,OAACsB,QAAD,IAACA,OAAD,EAACA,EAAgBpgC,QAAO,SAAC+X,GAAD,eAAO,UAAAA,EAAEsJ,cAAF,eAAUM,iBAAV,UAA2B5J,EAAEsJ,cAA7B,aAA2B,EAAUQ,sBAElF,CAAC+d,GAA2BtN,GAA+ByN,KAE9D1hC,qBAAU,WACJtF,GAAcA,EAAW+E,OAAS,GACpCyhC,GAAqBxmC,EAAW,IAEhC4mC,GAAKc,eAAe,CAClBC,cAAe,EACfC,cAAe,MAERhC,GAAoD,IAA9BA,EAAmB7gC,SAElD+hC,KACAC,KACAE,QAED,CAACjnC,IAEJ,IAAM6nC,GAAqB,SAAChgB,GAAD,OAAW4e,GAAkB5e,GAAOzuB,KAAI,SAAC0nB,EAAWpB,GAAZ,OACjE,cAAC,GAAD,CAEEte,MAAK,UAAK0f,EAAU0C,cAAf,YAAgC1C,EAAU0F,gBAA1C,YAA6DqB,GAFpE,SAIG/G,EAAUze,MAJb,oBACoBwlB,EADpB,YAC6BnI,QAtHF,GAoIRgnB,KAAKC,UAAnBmB,GApIsB,qBAsIvBC,GAAWvvB,cAAY,SAACzU,GAAD,OAAU2N,GAAY3N,MAC7CikC,GAAiBxvB,cAAY,SAACzU,GAAD,OAAU4N,GAAY5N,MAEzDuB,qBAAU,WACiB,IAAD,EAApByiC,GAASE,YACXnC,GAAc,GACdgC,GAAWJ,eAAe,CACxBrlC,KAAI,UAAE0lC,GAAShkC,YAAX,aAAE,EAAe1B,UAGxB,CAAC0lC,KAEJziC,qBAAU,WACRshC,GAAKc,eAAe,CAClBC,cAAa,OAAE9K,QAAF,IAAEA,OAAF,EAAEA,EAAmBz7B,MAClCwmC,cAAa,OAAE/K,QAAF,IAAEA,OAAF,EAAEA,EAAmBz7B,UAEnC,CAACy7B,IAEJ,IAAMqL,GAA2B,WAC/BpC,GAAc,GACdiC,GAASI,QACTH,GAAeG,SAGjB7iC,qBAAU,WACJ0iC,GAAeC,WAAapC,IAC9BxsB,IACA6uB,QAED,CAACF,GAAeC,YAEnB,IAuDMG,GAAoB,SAACzO,GACzBqO,GAAepvB,OAAf,2BAEO+gB,GAFP,IAGI5rC,GAAIg6C,GAAShkC,KAAKskC,iBAKlBC,GAAsBC,mBAAQ,wBAClC,sBAAK73C,UAAU,aAAf,UACE,qBAAKyM,IAAI,uBAAuBC,IAAI,aACpC,qBAAK1M,UAAU,KAAf,yBAGA,eAAC,KAAD,CACE83C,SAAUJ,GACVxB,KAAMkB,GAFR,UAIE,cAAC,KAAKz9B,KAAN,CAAWhI,KAAK,OAAOomC,aAAY,oBAAKV,GAAShkC,YAAd,aAAK,EAAe1B,MAAvD,SACE,cAAC,KAAD,CAAO6X,KAAK,YAEd,cAAC,KAAD,CACElB,MAAM,QACNkB,KAAK,QACL9mB,MAAO,CACLK,gBAAiBoN,GAAepF,OAAOa,QAAS2J,MAAOpF,GAAepF,OAAOuB,WAAYmM,OAAQ,OAAQvC,UAAW,GAAIlZ,MAAO,QAEjIg7C,SAAS,SANX,qBAWF,eAAC,GAAD,CAAMniC,QAAS2hC,GAAf,UACE,cAACS,GAAA,EAAD,IACC,IAFH,+BAMD,CAACZ,KAEJ,OACE,cAAC,GAAD,CACEjiC,QAASA,EACT22B,iBAAkBpjB,EAClBjE,UAAU,OACV1kB,UAAU,sBAJZ,SAMGm1C,EAAayC,GAEV,qCACE,sBAAK53C,UAAU,SAAf,UACE,cAACoxB,GAAA,EAAD,CACEvb,QAAS8S,IAEV,IACD,sBAAM3oB,UAAU,QAAhB,gCAEF,eAAC,KAAD,CACEk4C,cAAe,CACbjB,cAAa,OAAE9K,QAAF,IAAEA,OAAF,EAAEA,EAAmBz7B,MAClCwmC,cAAa,OAAE/K,QAAF,IAAEA,OAAF,EAAEA,EAAmBz7B,OAEpCwlC,KAAMA,GACN4B,SAvHK,SAAC7O,GAAY,IAAD,IAKvB2N,EACAC,EAqBAsB,EA1BEC,EAAiB,UAAGnP,EAAOgO,qBAAV,QAA2B9K,EAAkB3mB,MAAMyxB,cACpEoB,EAAiB,UAAGpP,EAAOiO,qBAAV,QAA2B/K,EAAkB3mB,MAAM0xB,cAClE3gB,EAAkB4V,EAAlB5V,cACA9D,EAAkB0Z,EAAlB1Z,cAIR,IAAK6iB,IAA0BE,EAC7B,OAAO8C,KAAQjZ,MAAM,4CAGvB,GAAIiW,GAAyBE,GAAyB6C,EAAoBD,EACxE,OAAOE,KAAQjZ,MAAM,yDAGvB,IACEuX,EAAe9e,KAAIK,OAAOigB,GAAoB7hB,GAC3CplB,GAAGshB,GAAeuF,OAAOC,QAAQ,GACpC4e,EAAe/e,KAAIK,OAAOkgB,GAAoB9hB,GAC3CplB,GAAGshB,GAAeuF,OAAOC,QAAQ,GACpC,MAAO/uB,GAEP0tC,EAAewB,EACfvB,EAAewB,EAMfF,EADE7C,GAAyBE,EACb,CACZyB,cAAeL,EACfM,cAAeL,GAERvB,EACK,CACZ4B,cAAeL,GAGH,CACZI,cAAeL,GAInBS,GAASnvB,OAAO,CACd8N,eAAgBf,EAASe,eACzBrkB,KAAK,GAAD,OAAKw6B,EAAkBx6B,KAAvB,cACJ4mC,wBAAyBpM,EAAkBrZ,cAC3C0lB,0BAA2BrM,EAAkBrW,gBAC7C2iB,gBAAiBtM,EAAkBhV,MACnCuhB,WAAY,YACZC,kCAAmCR,KA8D7B,UAQE,uDACA,cAAC,KAAD,CACEznC,MAAK,iBAAKy7B,QAAL,IAAKA,OAAL,EAAKA,EAAmBrZ,cAAxB,mBAAyCqZ,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAmBrW,gBAA5D,mBAA+EqW,QAA/E,IAA+EA,OAA/E,EAA+EA,EAAmBhV,OACvGz0B,MAAO,CAAE1F,MAAO,QAChBwsB,KAAK,QACLa,SAvKO,SAACnhB,GAAO,IAAD,EACaA,EAAEiL,MAAM,KADrB,mBACnB85B,EADmB,KACL2K,EADK,KAG1B9C,GAAqBxmC,EAAWwC,MAAK,SAACse,GAAD,OAAeA,EAAU0F,kBAAoB8iB,GAC7ExoB,EAAU0C,gBAAkBmb,OAoKrBjuC,UAAU,cACV0lC,kBAAkB,uBAClB/zB,KAAK,YAPP,SAUIpI,OAAOD,KAAKysC,IAAmBrtC,KAAI,SAACyuB,GAAD,OACjC,cAAC,IAAM0hB,SAAP,UACE,cAAC7D,GAAD,CACEtqB,MACE,sBAAKhoB,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUV,MAAO,QAA5D,UACE,sBAAM7S,MAAO,CAAE4V,YAAa,GAAIk3B,WAAY,UAA5C,SACqB,IAAlBrX,OAAOhB,GAAe,UAAtB,UAAqCA,EAArC,cAEH,qBAAKz0B,MAAO,CAAEK,gBAAiB+hB,EAAW3U,GAAepF,OAAOmB,KAAOiE,GAAepF,OAAOqB,SAAUnP,OAAQ,EAAGD,MAAO,cAN/H,SAWGm6C,GAAmBhgB,IAXtB,sBASsBA,KAVxB,gBAA8BA,SAmBpC,8BACE,4EAGF,eAAC,KAAD,CAAKn3B,UAAU,YAAf,UACE,cAAC,KAAD,CAAKqwB,KAAM,EAAX,SACE,cAAC,KAAK1W,KAAN,CAAWhI,KAAK,kBAAhB,SACE,qCACE,cAAC,KAAD,CACEud,QAASomB,EACTjrB,SAAU,SAACnhB,GAAD,OAAOqsC,EAAyBrsC,EAAEohB,OAAO4E,YAHvD,eAME,iDAMN,cAAC,KAAD,CAAKmB,KAAM,GAAX,SACE,cAAC,KAAK1W,KAAN,CAAWhI,KAAK,gBAAhB,SACE,cAAC,KAAD,CACEmnC,aAAc,SAACpoC,GAAD,gBAAcA,EAAd,mBAAuBy7B,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAmBv6B,OACxDmnC,IAAG,OAAE5M,QAAF,IAAEA,GAAF,UAAEA,EAAmBvU,cAArB,aAAE,EAA2BQ,cAChC4gB,IAAG,OAAE7M,QAAF,IAAEA,GAAF,UAAEA,EAAmBvU,cAArB,aAAE,EAA2BM,cAChC+gB,OAAK,0BACF9M,QADE,IACFA,GADE,UACFA,EAAmBvU,cADjB,aACF,EAA2BQ,cADzB,iBAC4C+T,QAD5C,IAC4CA,GAD5C,UAC4CA,EAAmBvU,cAD/D,aAC4C,EAA2BQ,cADvE,mBACwF+T,QADxF,IACwFA,OADxF,EACwFA,EAAmBv6B,OAD3G,qBAEFu6B,QAFE,IAEFA,GAFE,UAEFA,EAAmBvU,cAFjB,aAEF,EAA2BM,cAFzB,iBAE4CiU,QAF5C,IAE4CA,GAF5C,UAE4CA,EAAmBvU,cAF/D,aAE4C,EAA2BM,cAFvE,mBAEwFiU,QAFxF,IAEwFA,OAFxF,EAEwFA,EAAmBv6B,OAF3G,GAILsnC,KAAM,IACNloB,UAAWskB,EACXjrB,SAAU,SAAC3Z,GAAD,OAAWmlC,EAAyBnlC,aAMtD,eAAC,KAAD,CAAK1Q,UAAU,YAAf,UACE,cAAC,KAAD,CAAKqwB,KAAM,EAAX,SACE,cAAC,KAAK1W,KAAN,CAAWhI,KAAK,kBAAkBomC,cAAc,EAAhD,SACE,qCACE,cAAC,KAAD,CACE7oB,QAASsmB,EACTnrB,SAAU,SAACnhB,GAAD,OAAOusC,EAAyBvsC,EAAEohB,OAAO4E,YAHvD,eAME,iDAIN,cAAC,KAAD,CAAKmB,KAAM,GAAX,SACE,cAAC,KAAK1W,KAAN,CAAWhI,KAAK,gBAAgBwnC,MAAO,CAAC,CAAEC,SAAU5D,IAApD,SACE,cAAC,KAAD,CACE6D,eAAgBjkC,EAChB0jC,aAAc,SAACpoC,GAAD,gBAAcA,EAAd,mBAAuBy7B,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAmBv6B,OACxDmnC,IAAG,OAAE5M,QAAF,IAAEA,GAAF,UAAEA,EAAmBvU,cAArB,aAAE,EAA2BQ,cAChC4gB,IAAG,OAAE7M,QAAF,IAAEA,GAAF,UAAEA,EAAmBvU,cAArB,aAAE,EAA2BM,cAChC+gB,OAAK,0BACF9M,QADE,IACFA,GADE,UACFA,EAAmBvU,cADjB,aACF,EAA2BQ,cADzB,iBAC4C+T,QAD5C,IAC4CA,GAD5C,UAC4CA,EAAmBvU,cAD/D,aAC4C,EAA2BQ,cADvE,mBACwF+T,QADxF,IACwFA,OADxF,EACwFA,EAAmBv6B,OAD3G,qBAEFu6B,QAFE,IAEFA,GAFE,UAEFA,EAAmBvU,cAFjB,aAEF,EAA2BM,cAFzB,iBAE4CiU,QAF5C,IAE4CA,GAF5C,UAE4CA,EAAmBvU,cAF/D,aAE4C,EAA2BM,cAFvE,mBAEwFiU,QAFxF,IAEwFA,OAFxF,EAEwFA,EAAmBv6B,OAF3G,GAILsnC,KAAM,IACNloB,UAAWwkB,EACXnrB,SAAU,SAAC3Z,GAAD,OAAWilC,EAAyBjlC,aAMpD4kC,EAEI,wCAEG,IACAM,EACA,IAJH,OAKGzJ,QALH,IAKGA,OALH,EAKGA,EAAmBv6B,QAGtB,6BAGJ4jC,EAEI,wCAEG,IACAE,EACA,IAJH,OAKGvJ,QALH,IAKGA,OALH,EAKGA,EAAmBv6B,QAGtB,6BAEN,cAAC,KAAD,CACE0W,MAAM,QACNkB,KAAK,QACL9mB,MAAO,CACLK,gBAAiBoN,GAAepF,OAAOa,QACvC2J,MAAOpF,GAAepF,OAAOuB,WAC7BmM,OAAQ,OACRvC,UAAW,GACXlZ,MAAO,QAETg7C,SAAS,SAVX,2BA6Bd/C,GAAYh2C,aAAe,CACzB6lB,UAAU,EACVxV,WAAY,GACZ8F,SAAS,EACT6f,SAAU,KACVtM,QAAS,cAGIssB,UC1dTqE,I,QAAiB,SAACt7C,GAAW,IACzBs6C,EAAkBt6C,EAAlBs6C,QAASjgC,EAASra,EAATqa,KACXyM,EAAW8E,yBAAc,CAAE3G,SAAU,MAE3C,OACE,qBACEjjB,UAAU,wBADZ,SAGE,sBAAKA,UAAY8kB,EAAsB,GAAX,SAA5B,UACGzM,EACD,qBAAKrY,UAAU,gBAAf,SACGs4C,WAeXgB,GAAer6C,aAAe,CAC5BoZ,KAAM,GACNigC,QAAS,IAGIgB,UClCTC,GAAe,kBACnB,sBAAK72C,MAAO,CAAEiT,SAAU,YAAxB,UACE,qBACEjT,MAAO,CACL1F,MAAO,GACPC,OAAQ,GACR0Y,SAAU,WACVgQ,IAAK,GACL6zB,KAAM,GACN97C,UAAW,kBAEbP,QAAQ,MACRC,MAAM,6BACNkF,SAAS,UACTvC,oBAAoB,OACpB7C,QAAQ,cACRD,OAAO,KACPD,MAAM,KAfR,SAiBE,oBAAGU,UAAU,kBAAb,UACE,+DACA,wDACA,mBAAGD,SAAS,UAAUD,KAAK,OAAOD,YAAY,IAAID,OAAO,OAAOD,GAAG,2CAAnE,SAA8G,sBAAMG,KAAK,UAAUH,GAAG,+BAA+BM,EAAE,4oCAA4oCS,aAAa,8BAGp0C,sBAAKnB,OAAO,KAAKqF,SAAS,UAAUpF,QAAQ,eAAeF,MAAM,MAAMI,MAAM,6BAA7E,UACE,8BACE,+BAAM,sBAAMC,GAAG,wBAAwBM,EAAE,6nBAA6nBS,aAAa,yBAClrB,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,01BACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,6aAA6aS,aAAa,yBACje,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,qsBACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,gCAAgCS,aAAa,yBACpF,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,kJACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,gCAAgCS,aAAa,yBACpF,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,oJACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,oCAAoCS,aAAa,yBACxF,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,sJACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,oCAAoCS,aAAa,yBACxF,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,qJACFS,aAAa,0BAGjB,8BACE,+BAAM,sBAAMf,GAAG,uBAAuBM,EAAE,kQAAkQS,aAAa,yBACtT,IACD,sBACEsE,MAAO,CACLpF,OAAQ,qBACRC,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,eAERG,EAAE,k7CACFS,aAAa,0BAGjB,8BACE,iCACE,sBAAMf,GAAG,uBAAuBM,EAAE,kQAAkQS,aAAa,uBACjT,iCAAgBf,GAAG,8BAA8BoB,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMR,aAAa,qBAAlG,UACE,sBAAMU,OAAO,KAAKD,UAAU,mBAAmB46C,YAAY,IAAIr7C,aAAa,uBAC5E,sBAAMU,OAAO,OAAOD,UAAU,kBAAkB46C,YAAY,IAAIr7C,aAAa,6BAGhF,IACD,sBACEsE,MAAO,CACLnF,YAAa,EACbmG,cAAe,OACf2B,eAAgB,QAChB7H,KAAM,uCAERG,EAAE,k3BACFS,aAAa,iCASRs7C,GAFO,SAAC17C,GAAD,OAAW,cAACC,EAAA,EAAD,aAAMC,UAAWq7C,IAAkBv7C,KC1J9D27C,GAAmB,SAAC37C,GAAW,IAEjC47C,EACE57C,EADF47C,mBAAoBC,EAClB77C,EADkB67C,iBAAkBC,EACpC97C,EADoC87C,kBAAmBC,EACvD/7C,EADuD+7C,KAGnDjf,EAAoBqE,KAApBrE,gBA+DR,OACE,mCACGA,EACEvkB,QAAO,SAAC0kB,GAAD,QAAW,OAACA,QAAD,IAACA,OAAD,EAACA,EAAO+e,WAC1BzjC,QAAO,SAAC0kB,GAAD,OAAW6e,EAAkBtgC,SAASyhB,EAAMqE,eACnD52B,KAAI,SAACsyB,GAAD,OAjEY,SAACC,GAAW,IAAD,EAC1Bgf,EAAaJ,IAAqB5e,EAAMqE,WACxCqV,GAAcmF,EAAkBtgC,SAASyhB,EAAMqE,YAUrD,OACE,yBAEEt/B,UAAS,UAAKi6C,EAAa,WAAa,IACxCpkC,QAZgB,WAEhB+jC,EADEjF,GAAcsF,EACG,GAEAhf,EAAMqE,aASzB58B,MAAO,CACLE,QAAS,OACToT,eAAgB,SAChBC,WAAY,SACZwC,OAAQ,oBAAAwhC,GAAcF,EAAoB9e,EAAMuE,cAA+BvE,EAAMsE,iBACrF18B,aAAc,OACdC,QAASm3C,IAAeF,EAAO,UAAY,kBAC3C98C,OAAQ,GACR8F,gBAAiBk3C,EAAU,UAAMhf,EAAMuE,eAAkB,cACzD96B,QAASiwC,EAAa,GAAM,EAC5BpxB,OAAQoxB,EAAa,OAAS,UAC9Bp8B,SAAU,IAfd,UAkBGwhC,EACC,sBACEr3C,MAAO,CACLE,QAAS,OACToT,eAAgB,SAChBC,WAAY,SACZsO,WAAY0W,EAAMuE,cAClBxiC,MAAO,GACPC,OAAQ,GACR4F,aAAc,GACdyV,YAAa2hC,EAAa,EAAI,IATlC,SAYGhf,EAAM5iB,OAGT,sBACE3V,MAAO,CACL4V,YAAa,EAAG1V,QAAS,OAAQoT,eAAgB,SAAUC,WAAY,UAF3E,SAKGglB,EAAM5iB,OAGX,qBAAK3V,MAAO,CAAE6S,MAAOwkC,IAASE,EAAa,OAAS,SAApD,mBAAgEhf,EAAMlE,oBAAtE,aAAgE,EAAoBC,OAzC/EiE,EAAMqE,YAmDc4a,CAAelf,SAYhD2e,GAAiB16C,aAAe,CAC9B26C,mBAAoB,aACpBC,iBAAkB,GAClBC,kBAAmB,GACnBC,MAAM,GAGOJ,U,qBCzFTQ,I,QAAiB,SAAC,GAAD,IAAG7B,EAAH,EAAGA,QAAH,OACrB,qBAAKt4C,UAAU,0BAAf,SACE,sBAAKA,UAAU,kBAAf,UACE,cAAC,KAAD,IACA,cAAC,GAAD,CAAUmiB,OAAQm2B,WASxB6B,GAAel7C,aAAe,CAC5Bq5C,QAAS,IAGI6B,U,UCnBTC,I,QAAU,SAACp8C,GACf,IAAMq8C,EAAW3qB,IAAM9D,OAAO,MACtBZ,EAAYhtB,EAAZgtB,QAIFsvB,EAAY,kBAChB,qBAAKC,mBAAA,EAAL,SACE,uBAAOnuB,IAAKiuB,EAAUr6C,UAAU,WAAhC,SACE,uBAAOw6C,KAAK,WAAWC,QAAQ,KAAK/vB,MAAM,0BAmBhD,OAdAgF,IAAM9a,WAAU,WACd,IACI8lC,EADEC,EAAeN,EAASnuB,QAM9B,OAJIyuB,IACFD,EAASE,aAAQD,EAAc3vB,GAAS,gBAGnC,WACD0vB,GACFA,EAAOG,aAGV,CAAC7vB,IAEI,cAACsvB,EAAD,MAOVF,GAAQn7C,aAAe,CACrB+rB,QAAS,IAGIovB,UCzCTU,GAAiB,SAACC,GAAD,MACrB,CACEC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,QAAS,CAAC,CACR3uC,IAAKsuC,EACLvpC,KAAM,gBAKC6pC,GAAe,SAACN,EAAUO,GAA8B,IAArBx2B,IAAoB,yDAC5Dy2B,EAAWR,EAAS5mC,MAAM,KAC1BqnC,EAASD,EAASA,EAASlnC,OAAS,GAAGib,cAC7C,MAAe,QAAXksB,GAA+B,QAAXA,GAA+B,QAAXA,EACtCF,EAEA,cAAC,IAAMzC,SAAP,UACE,qBAAKpsC,IAAKsuC,EAAU/9C,MAAO8nB,EAAW,IAAM,IAAKpY,IAAI,gCAKzD,cAAC,IAAMmsC,SAAP,UACE,qBAAKpsC,IAAKsuC,EAAUruC,IAAI,gCAK5B,cAAC,GAAD,CAASse,QAAS8vB,GAAeC,MCnB/BU,GAAqB,SAACz9C,GAAW,IA0Cf09C,EAxCpBrjC,EAiBEra,EAjBFqa,KACAkgB,EAgBEv6B,EAhBFu6B,KACAuW,EAeE9wC,EAfF8wC,UACAn9B,EAcE3T,EAdF2T,KACAo9B,EAaE/wC,EAbF+wC,aACAr+B,EAYE1S,EAZF0S,MACAkB,EAWE5T,EAXF4T,KACA+pC,EAUE39C,EAVF29C,KACAj5C,EASE1E,EATF0E,MACAssC,EAQEhxC,EARFgxC,cACAC,EAOEjxC,EAPFixC,oBACAp5B,EAME7X,EANF6X,QACAiP,EAKE9mB,EALF8mB,SACAoqB,EAIElxC,EAJFkxC,WACAr9B,EAGE7T,EAHF6T,OACAo8B,EAEEjwC,EAFFiwC,aACAnX,EACE94B,EADF84B,cAYI8kB,GAAoB,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAMtnC,QAAS,EAAIsnC,EAAKplC,QAAO,SAAC40B,GAAD,MAA2B,4BAApBA,EAAErY,iBAA+C,KACvG+oB,GAAc,OAAJF,QAAI,IAAJA,OAAA,EAAAA,EAAMtnC,QAAS,EAAIsnC,EAAKplC,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KAC1FgpB,GAAc,OAAJH,QAAI,IAAJA,OAAA,EAAAA,EAAMtnC,QAAS,EAAIsnC,EAAKplC,QAAO,SAAC40B,GAAD,MAA2B,qBAApBA,EAAErY,iBAAwC,KAC1FipB,GAAkB,OAAJJ,QAAI,IAAJA,OAAA,EAAAA,EAAMtnC,QAAS,EAAIsnC,EAAKplC,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KACjGkpB,GAAkB,OAAJL,QAAI,IAAJA,OAAA,EAAAA,EAAMtnC,QAAS,EAAIsnC,EAAKplC,QAAO,SAAC40B,GAAD,MAA2B,wBAApBA,EAAErY,iBAA2C,KAejG0R,GAbQ1N,EAActd,SAAS,QACpBsd,EAActd,SAAS,WAYlB,kBACpBnB,EACE,iCACGA,EADH,UAIE,KAGA82B,EAAiBpH,GAAkBr3B,EAAOkB,GAEhD,OACEk9B,EAEI,gCACE,qBAAK9uC,UAAU,KAAf,SACGmvC,IAEH,8BAAMx9B,OAIR,qCACE,cAAC,GAAD,CACEA,KAAMA,EACNu9B,WAAYA,EACZr9B,OAAQA,EACRgE,QAASA,EACTo4B,aAAcA,IAEhB,sBACEvrC,MAAK,2BACAA,GADA,IACOE,QAAS,OAAQ2/B,cAAe,SAAUvsB,eAAgB,WAEtEH,QAAS,kBAAMA,KACf7V,UAAU,YALZ,UAOE,sBAAK0C,MAAO,CAAEE,QAAS,QAAvB,UACE,sBAAM5C,UAAU,KAAhB,SACGmvC,IAEFH,EAEG,cAAC,KAAD,CACE54B,MAAM,GACN1F,MAAO,IACP0+B,UAAW,EACXC,WAAY,CACV95B,MAAOpF,GAAepF,OAAOgB,QAASwM,SAAU,GAAIrC,UAAW,MAAOwC,WAAY,IAEpFyR,OAAQ,cAACmlB,GAAA,EAAD,IACR/kB,OAAO,MAGT,IACI,OAAPsxB,QAAO,IAAPA,OAAA,EAAAA,EAASxnC,QAAS,EAEf,cAAC,KAAD,CACE+B,MACE,sBAAM1T,MAAO,CACX6S,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,IALd,kBAWFhI,MAAOq3B,GAAkB8T,EAAQ,GAAGnrC,MAAOmrC,EAAQ,GAAGjqC,MACtDw9B,UAAW,EACXC,WAAY,CACV95B,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,MAIhB,IACI,OAAPojC,QAAO,IAAPA,OAAA,EAAAA,EAASznC,QAAS,EAEf,cAAC,KAAD,CACE+B,MACE,sBAAM1T,MAAO,CACX6S,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,IALd,kBAWFhI,MAAOq3B,GAAkB+T,EAAQ,GAAGprC,MAAOorC,EAAQ,GAAGlqC,MACtDw9B,UAAW,EACXC,WAAY,CACV95B,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,MAIhB,IACQ,OAAXsjC,QAAW,IAAXA,OAAA,EAAAA,EAAa3nC,QAAS,EAEnB,cAAC,KAAD,CACE+B,MACE,sBAAM1T,MAAO,CACX6S,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,IALd,oBAWFhI,MAAOq3B,GAAkBiU,EAAY,GAAGtrC,MAAOsrC,EAAY,GAAGpqC,KAAOoqC,EAAY,GAAGpqC,KAAO,IAC3Fw9B,UAAW,EACXC,WAAY,CACV95B,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,MAIhB,IACQ,OAAXqjC,QAAW,IAAXA,OAAA,EAAAA,EAAa1nC,QAAS,EAEnB,cAAC,KAAD,CACE+B,MACE,sBAAM1T,MAAO,CACX6S,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,IALd,oBAWFhI,MAAOq3B,GAAkBgU,EAAY,GAAGrrC,MAAOqrC,EAAY,GAAGnqC,KAAOmqC,EAAY,GAAGnqC,KAAO,IAC3Fw9B,UAAW,EACXC,WAAY,CACV95B,MAAO,OACPgD,SAAU,GACV4K,WAAY,OACZjN,UAAW,EACXwC,WAAY,MAIhB,MAEN,sBAAKhW,MAAOoiB,EAAW,CAAE3B,WAAY,IAAKosB,eAAgB,aAAgB,CAAEpsB,WAAY,KAAOnjB,UAAW+uC,EAAe,WAAa,GAAtI,UACE,cAACvK,EAAD,IACA,sBAAK9hC,MAAO,CAAEE,QAAS,OAAQqT,WAAY,UAA3C,UACG4kB,GAAsBlpB,GACvB,sBAAMjP,MAAOqsC,EAAe,CAC1BS,WAAY,SACZltC,SAAU,SACVmtC,aAAc,YAEZ,GALJ,SAOE,uBAAM/sC,MAAO,CAAE6V,SAAU,IAAzB,UACqD,GACA,IAxL/CmjC,EAyLU/pC,EAxLb,8BAAb+pC,EACK,cAEFA,cA0LC,sBAAK17C,UAAU,UAAU0C,MAAO,CAAE6S,MAAOpF,GAAepF,OAAOoB,WAA/D,UACE,cAAC27B,GAAA,EAAD,IADF,OAGG/jB,KAAOwU,GAAMiB,aAEhB,gCACgB,OAAboiB,QAAa,IAAbA,OAAA,EAAAA,EAAevnC,QAAS,EAAI,cAAgB,KAE9C46B,EAEG,sBAAKjvC,UAAU,YAAf,UACE,cAAC0vC,GAAA,EAAD,IADF,wBAKE,UA2BlB+L,GAAmBx8C,aAAe,CAChCoZ,KAAM,KACN1G,KAAM,GACNo9B,cAAc,EACdr+B,MAAO,GACPkB,KAAM,GACN+pC,KAAM,GACNpjB,KAAM,EACNuW,WAAW,EACXpsC,MAAO,GACPssC,eAAe,EACfC,qBAAqB,EACrBp5B,QAAS,aACTiP,UAAU,EACVoqB,YAAY,EACZr9B,QAAQ,EACRo8B,aAAc,GACdnX,cAAe,IAGFhyB,sBAAK22C,ICtPdQ,GAAgB,SAACj+C,GAAW,IAAD,cACzBkX,EAAUC,eAGdqf,EACEx2B,EADFw2B,QAASllB,EACPtR,EADOsR,WAAYw2B,EACnB9nC,EADmB8nC,UAAW1wB,EAC9BpX,EAD8BoX,QAAS8mC,EACvCl+C,EADuCk+C,iBAAkB3nB,EACzDv2B,EADyDu2B,cAAe4nB,EACxEn+C,EADwEm+C,oBAAqBznB,EAC7F12B,EAD6F02B,QAEzF8R,EAAehS,EAAfgS,WANuB,EAOY9xB,qBAAWzC,IAA9CE,EAPuB,EAOvBA,YAAaI,EAPU,EAOVA,kBACfuS,EAAW8E,yBAAc,CAAE3G,SAAU,MACrCm5B,EAAyBt3B,EAAW,SAAW,OATtB,EAUe9L,mBAASojC,GAVxB,mBAUxBC,EAVwB,KAUPC,EAVO,OAWMtjC,oBAAS,GAXf,mBAWxBujC,EAXwB,KAWbC,EAXa,OAYmBxjC,oBAAS,GAZ5B,mBAYxByjC,EAZwB,KAYLC,EAZK,OAae1jC,oBAAS,GAbxB,mBAaxB2jC,EAbwB,KAaPC,EAbO,OAcK5jC,oBAAS,GAdd,mBAcxB0tB,EAdwB,KAcZU,EAdY,OAemBpuB,oBAAS,GAf5B,mBAexB6jC,EAfwB,KAeLC,EAfK,OAgBmC9jC,mBAAS,IAhB5C,oBAgBxB+jC,GAhBwB,MAgBGC,GAhBH,SAiBuBhkC,mBAAS,IAjBhC,qBAiBxBikC,GAjBwB,MAiBHC,GAjBG,SAkB8C1/B,aAC3EmB,GAAcO,gCACd,kBAAMsd,OACN,CAAE9e,sBAAsB,IAHZy/B,GAlBiB,GAkBvB9pC,KAAwC+pC,GAlBjB,GAkBQv/B,QAM/Bid,GAAoBqE,KAApBrE,gBAEFuiB,GAAgB7oB,EAAQgS,WAAWtgB,kBAAoB/V,GAAe1B,QAAQC,eAC9E4uC,GAAqBvjB,GAAkBI,kBAAkB3gB,SAASgtB,EAAWM,eA3BpD,GA+B3BpyB,qBAAWzC,IADbgB,GA9B6B,GA8B7BA,gBAAiBT,GA9BY,GA8BZA,YAAaC,GA9BD,GA8BCA,eAGhCmC,qBAAU,WACR,IAAMsG,EAAW,2BACZ1I,IADY,IAEf+qC,iBAAkBtqC,KAEpBgI,GAAkBC,GACfjS,MAAK,SAACoK,GACLZ,GAAeY,MAEhB2G,OAAM,SAAC9Q,GAEN6pB,QAAQsM,MAAMn2B,QAEjB,CAAC+J,KAECkqC,IACHC,KAjD6B,IAoDjBjH,GAA8B34B,aAC1CmB,GAAca,0CACdud,GACA,CAAErf,sBAAsB,IAHlBrK,KAMFmqC,GAAU,OAAGrH,SAAH,IAAGA,QAAH,EAAGA,GAA2BrkC,MAAK,SAAChJ,GAAD,OAAOA,EAAEktB,iBAAmBxB,EAAQgS,WAAWxQ,kBAC5FynB,GAAiB,OAAGD,SAAH,IAAGA,IAAH,UAAGA,GAAYxoB,uCAAf,iBAAG,EAA6CC,gBAAhD,aAAG,EAAuDyoB,WAC3EC,GAAc,OAAGH,SAAH,IAAGA,IAAH,UAAGA,GAAYI,2BAAf,aAAG,EAAiCtF,QA5DzB,GAiE3B96B,aACFb,GAAkBQ,gCAClBmE,GACA,CACE5D,sBAAsB,IANlB2pB,GA/DuB,GA+D7Bh0B,KACSi0B,GAhEoB,GAgE7BzpB,SASGwpB,KAAD,OAAyBl1B,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAaqI,WACxC8sB,KAGF,IAAMuW,GAAiC/1B,cAAY,SAACzU,GAAD,OAAUwO,GAAmBxO,MAY1EyqC,GAA8Bh2B,cAAY,SAACzqB,GAAD,OAAQmkB,GAAmBnkB,MAa3EuX,qBAAU,WACR,GAAIyyB,GACF,GAAIA,GAAqBE,KAAoC,kCAA7BF,GAAqBE,IACnDxU,QAAQyU,IAAI,uCACP,CACL,IAAMuW,EAAW1W,GAAqBv1B,MAAK,SAAC6c,GAAD,OAAOA,EAAEqH,iBAAmBxB,EAAQgS,WAAWxQ,kBAExFoR,IADE2W,MAOP,CAAC1W,KAEJ,IAAM2W,GAAiB,SAAC90C,GACtBA,EAAE0b,iBACF03B,EAAuC,SAApBD,EAA6B,SAAW,QAC3DG,GAAgB,IAGZyB,GAAiB,SAAC/0C,GACtBA,EAAE0b,iBACF03B,EAAuC,SAApBD,EAA6B,SAAW,QAC3DG,GAAgB,IAWZ/I,GAAoB,WACpBthC,GACFyqC,GAAmB,GAErBvJ,KAAQrM,MAAR,2BACKmJ,GAAUK,yBADf,IAEE9lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,+BAMH8oB,GAAwB,yCAAG,uBAAA9jC,EAAA,sDAC/B0iC,GAAsBD,GACtBxJ,KAAQrM,MAAR,2BACKmJ,GAAUM,oBADf,IAEE/lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,iCAJwB,2CAAH,qDAQxBse,GAAmB,yCAAG,6BAAAt5B,EAAA,yDACrBjI,EADqB,uBAGxBI,GAAkB,GAHM,kBAIjB,MAJiB,OAOtBm0B,GACIqX,EAAW1W,GAAqBv1B,MAAK,SAAC6c,GAAD,OAAOA,EAAEqH,iBAAmBxB,EAAQgS,WAAWxQ,kBAvFxDmoB,EAwFLJ,EAASK,wBAvFxCP,GAA+B31B,OAC7B,CACE7qB,GAAI8gD,GAEN,CACEE,UAAW/W,KAmFb+L,KAAQrM,MAAR,2BACKmJ,GAAUG,wBADf,IAEE5lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,6BA/EwB/3B,EAkFLm3B,EAAQgS,WAAWxQ,eAjF/C8nB,GAA4B51B,OAC1B,CACE8N,eAAgB34B,EAChBskB,SAAU,IAEZ,CACE08B,UAAW/W,KA4Eb+L,KAAQrM,MAAR,2BACKmJ,GAAUE,qBADf,IAEE3lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,0BAGTie,KAAQrM,MAAR,2BACKmJ,GAAUC,wBADf,IAEE1lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,+BAvBmB,iCAnEM,IAAC/3B,EAZG8gD,IA+EV,OAAH,qDAmCnBtoC,GAAU,SAACyoC,GACf,IAAMC,EAAkBD,EAAiB7qB,aACzCve,EAAQY,KAAKwnC,GAAkB,kCACA9oB,EAAQgS,WAAWtR,YADnB,YACkCV,EAAQgS,WAAWxQ,eADrD,uCAEVxB,EAAQgS,WAAWxQ,eAFT,sBAEqCuoB,IACpElL,KAAQrM,MAAR,2BACK0J,GAAoBM,kBADzB,IAEEtmB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,YAA2CkpB,EAAiB9lB,oBAY/DoO,GAAc,OAAG4W,SAAH,IAAGA,IAAH,UAAGA,GAAYxoB,uCAAf,iBAAG,EAA6CC,gBAAhD,aAAG,EAAuD4R,iBAExE2X,GAAyC,aAAnB5X,GAEtB6X,GAAe,OAAGtB,SAAH,IAAGA,QAAH,EAAGA,GAAyBrrC,MAAK,qBAAGkkB,iBAAoDwQ,EAAWxQ,kBAClH0oB,GAA4B,UAAGvjB,GAAwBsjB,WAA3B,aAAG,EAA0C7qB,aAAa,GAAG8D,UACzFinB,GAAqB,UAAGxjB,GAAwBsjB,WAA3B,aAAG,EAA0ChrB,aAElEmrB,GAAerjB,GAAgBmjB,GAAD,OAA+BD,SAA/B,IAA+BA,QAA/B,EAA+BA,GAAiBzoB,eAAgB2oB,IA2JpG,OACE,qCACGpC,GAAaz3B,EAEV,eAAC,GAAD,CACE9kB,UAAU,gCACV+rC,iBAAkBmQ,EAClBrmC,QAASmoC,GACTn1B,UAAQ,EACRnE,UAAU,SACVtP,QAASA,EACTnY,OAAO,QACPyF,MAAO,CACL1F,MAAO,QATX,UAYE,cAAC,KAAD,CAAKqwC,QAAQ,SAAb,SACE,cAACwR,GAAA,EAAD,CACEhpC,QAASmoC,GACTc,WAAS,EACTp8C,MAAO,CACL6V,SAAU,OACVrC,UAAW,YAKjB,eAAC,KAAD,CAAKxT,MAAO,CAAEwT,UAAW,IAAMua,OAAQ,CAAC,EAAG,GAA3C,UACE,cAAC,KAAD,CAAKJ,KAAM,GAAX,SACE,8BAAMmW,EAAWpR,oBAEnB,cAAC,KAAD,CACE/E,KAAM,GACN3tB,MAAO,CACL6S,MAAO,qBACPgD,SAAU,OACV0R,cAAe,MACf80B,WAAY,4BANhB,SASE,sBAAMr8C,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUD,eAAgB,YAAtE,SACE,cAAC,GAAD,CACEwwB,WAAYA,EACZE,WAAYA,EACZ5X,UAAW,CACT7xB,OAAQogD,GAAgB,OAAS,OACjCrgD,MAAOqgD,GAAgB,OAAS,iBAM1C,cAAC,KAAD,UACE,cAAC,KAAD,CACEhtB,KAAM,GACN3tB,MAAO,CACL6S,MAAO,qBACPgD,SAAU,OACV4K,WAAY,SACZ8G,cAAe,MACf80B,WAAY,+BAPhB,SAUGvY,EAAW7C,kBAGhB,cAAC,KAAD,UACE,eAAC,KAAD,CAAKtT,KAAM,GAAI3tB,MAAO,CAAE6V,SAAU,IAAlC,UACE,cAACuvB,GAAA,EAAD,IACC,IACAhM,GAAmB0K,EAAY9R,WAMtC,eAAC,GAAD,CACE10B,UAAU,4BACV+rC,iBAAkBmQ,EAClBrzB,UAAQ,EACRnE,UAAW23B,EACXjnC,QAASA,EACT0T,OAAQ,KACR+I,OACE,gCACE,qBAAK7xB,UAAU,UACf,8BACE,cAAC,GAAD,CACEwzC,cAAe,CACb,CACE/iC,IAAK6iC,GACLl+B,SAAUopC,GACV3oC,QAjVE,WACtBw9B,KAAQrM,MAAM0J,GAAoBK,oBAiVdgE,MAAQuI,GAAkB,kCACK9oB,EAAQgS,WAAWtR,YADxB,YACuCV,EAAQgS,WAAWxQ,eAD1D,uCAELwQ,EAAWxQ,gBAChCwe,WAAW,GAEb,CACE/jC,IAAK6iC,GACLl+B,SAAS,EACTo/B,WAAW,GAEb,CACE/jC,IAAK6iC,GACLl+B,SAAS,EACTS,QAAS49B,GACTe,WAAW,GAEb,CACE/jC,IAAK6iC,GACLl+B,SAAUkoC,GACVznC,QAASqoC,GACTvsC,KAAM,kBAGV8hC,kBAAmBA,GACnBuL,oBAAqBd,GACrBxK,oBAAqBA,GACrBhN,WAAYA,OAGd4W,IACA,qBAAKt9C,UAAU,SAAS0C,MAAO,CAAEqiC,WAAY,GAAIxvB,MAAO,QAAUM,QA5WxD,WACxBw9B,KAAQrM,MAAM0J,GAAoBI,sBA2WpB,SACGhL,EAAUp9B,KAAI,SAACusB,EAAUjG,GAAX,OACb,eAAC,IAAD,CAAkBtsB,MAAO,CAAE6S,MAAO,QAAUM,QAAS,kBAAM0e,EAAcU,IAAzE,UACa,IAAVjG,EAAc,cAACoC,GAAA,EAAD,CAAc1uB,MAAO,CAAE4V,YAAa,KAAU,GAC5D2c,EAASuR,WAAW7C,cACV,IAAV3U,EAAc,cAACiwB,GAAA,EAAD,CAAev8C,MAAO,CAAEgW,WAAY,KAAU,KAHpDsW,WAjDvB,UA4DGlK,EAEG,cAAC,KAAD,CAAKuoB,QAAQ,SAAb,SACE,cAACrnB,GAAA,EAAD,CACEnQ,QAASooC,GACT9c,YAAa8c,GACba,WAAS,EACTp8C,MAAO,CACL6V,SAAU,OACVrC,UAAW,YAIf,GAEe,WAApBmmC,EAEG,sBAAKr8C,UAAW8rB,KAAW,SAAU,MAArC,UACE,8BAAM0a,EAAW7C,gBACjB,sBAAMjhC,MAAO,CACX+S,YAAaqP,EAAW,GAAK,IAD/B,SAIE,sBAAMpiB,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUD,eAAgB,YAAtE,SACE,cAAC,GAAD,CACEwwB,WAAYA,EACZE,WAAYA,EACZ5X,UAAW,CACT7xB,OAAQogD,GAAgB,OAAS,OACjCrgD,MAAOqgD,GAAgB,OAAS,iBAMxC,KAEN,cAAC,KAAD,CACE36C,MAAO,CAAE6S,MAAO,OAAQW,UAAW,IACnCqrB,MAAM,SACN9Q,OAAQ,CAAC,GAAI,IACb4c,QAAQ,gBACR2M,OAA4B,WAApBqC,EALV,SAOE,cAAC,KAAD,CACEhsB,KAAM,GADR,SAGE,sBAAK3tB,MAAO,CAAEE,QAAS,QAAvB,UACG6T,GAAYE,iBAET,cAAC,KAAD,CACE6S,KAAM,GACN/c,IAAI,qHACJ/J,MAAO,CAAE4V,YAAa,MAG5B,gCACE,qBAAKtY,UAAU,KAAf,SAAqBwmC,EAAWpR,kBAChC,qBAAKp1B,UAAU,KAAf,SAAqBwmC,EAAW7C,gBAC/BltB,GAAYQ,QAAUwmC,IAEnB,qBAAKz9C,UAAU,SAAf,SACE,eAAC,IAAD,CAAM6V,QAzaP,kBAAM6mC,GAAqB,IAya1B,UACE,cAAC,MAAD,IACC,IAFH,2BAQNY,IACA,qBAAKt9C,UAAU,wBAAwB0C,MAAO,CAAEgW,WAAY,OAAQxC,UAAW,IAA/E,SACE,cAAC,KAAD,CACEmC,KA9YhBquB,EACM,cAAC/tB,GAAA,EAAD,CAAajW,MAAO,CAAE6V,SAAU,GAAIrC,UAAW,KAGjD,cAAC29B,GAAA,EAAD,CAAenxC,MAAO,CAAE6V,SAAU,GAAIrC,UAAW,KA2YrCL,QAAS69B,GACTprB,MAAM,SACNkB,KAAK,QACL9mB,MAAO,CACL+V,OAAQ,OAAQ1V,gBAAiBoN,GAAepF,OAAOa,QAAS2J,MAAO,mBAQpFooC,IACC,cAAC,GAAD,CAAgBrF,QAASqF,KAE3B,sBACEj7C,MAAO,CACLE,QAA6B,WAApBy5C,EAA+B,OAAS,OACjDnmC,UAAW,GACXR,aAAc,EACdD,YAAa,EACbO,eAAgB,gBAChBC,WAAY,UAPhB,UAUE,cAAC,GAAD,CAAczE,KAAMg1B,EAAWM,gBAC/B,uBACEpkC,MAAO,CACLuT,WAAY,SACZrT,QAAS,OACTugB,WAAY,IACZ1N,YAAa,IALjB,UAQE,cAAC,MAAD,CAAgB/S,MAAO,CAAE4V,YAAa,KACtC,cAAC,IAAD,CAAMnH,GAAE,+BAA0Bq1B,EAAWtgB,iBAAmBxjB,MAAO,CAAE6S,MAAO,SAAhF,SAA4F4mC,EAAoB3V,QAG/G8W,GAmBC,sBAAM56C,MAAO,CAAEE,QAAS,OAAQD,cAAe,SAAUkjC,SAAU,UAlBnE,sBAAMnjC,MAAO,CACXE,QAAS,OACTD,cAAe,SACfkjC,SAAU,QAHZ,SAME,sBAAMnjC,MAAO,CAAEE,QAAS,OAAQqT,WAAY,SAAUD,eAAgB,YAAtE,SACE,cAAC,GAAD,CACEwwB,WAAYA,EACZE,WAAYA,EACZ5X,UAAW,CACT7xB,OAAQogD,GAAgB,OAAS,OACjCrgD,MAAOqgD,GAAgB,OAAS,iBAU9C,qBACE36C,MAAO,CACLE,QAAS,OAAQE,QAAS,iBAAkBkT,eAAgB,QAASC,WAAY,SAAU4vB,SAAU,OAAQ3iB,IAAK,OAAQD,SAAU,QAFxI,SAKE,cAAC,GAAD,CAAkB22B,mBA/bH,SAAChtB,GAC1BowB,GAA6BpwB,GAC7BymB,KAAQrM,MAAR,2BACKmJ,GAAUI,uBADf,IAEE7lB,MAAM,GAAD,OAAK8J,EAAQgS,WAAWpR,gBAAxB,YAA2CxI,OA2bkBitB,iBAAkBkD,GAA2BjD,kBAAmBmD,OAE5H,cAAC,KAAD,CAAKv6C,MAAO,CAAEwT,UAAW,IAAMua,OAAQ,EAAvC,UACa,OAAVnhB,QAAU,IAAVA,OAAA,EAAAA,EAAY+E,UACNmyB,EAAWS,gCAAkCx3B,GAAUM,sBACtDgqB,GAAkBI,kBAAkB3gB,SAASgtB,EAAWM,gBACxD/M,GAAkBK,SAAS5gB,SAASgtB,EAAWvR,SAAS4R,mBAnbhD,SAACv3B,GAC3B,IAAM4vC,EAAqB5vC,EAAWiH,QAAO,SAAC6Z,GAC5C,IAAM+uB,EAAYp7B,OAASq7B,KAAKr7B,KAAOqM,EAAUmI,MAAO,SAGxD,IAAM+kB,IAAsB6B,EAAY1vC,GAAUM,uBAAyByuC,IACtErmB,OAAOE,MAAM8mB,IACbhnB,OAAOE,MAAMjI,EAAU1f,OAC1B,OAAO,EAET,IAAKqsC,GACH,OAAO3sB,EAET,IAAM4K,EAAiBF,GAAgBhpB,MAAK,SAACmpB,GAAD,OAAWA,EAAMqE,aAAeyd,MAE5E,OAAK/hB,IAIDA,EAAeE,yBAAyB1hB,SAAS4W,EAAU0C,gBACtD1C,EAJAA,KAUPivB,EAAc,KACdC,EAAiB,KAkBrB,MAjBuB,aAAnB1Y,IACFsY,EAAmB7uC,SAAQ,SAAC+f,GACtBA,EAAU+G,QAAUkoB,IACtBA,EAAcjvB,EAAU+G,OAEtB/G,EAAU+G,OAAS/G,EAAU+G,MAAQkoB,IACvCA,EAAcjvB,EAAU+G,OAEtB/G,EAAU+G,QAAUmoB,IACtBA,EAAiBlvB,EAAU+G,OAEzB/G,EAAU+G,OAAS/G,EAAU+G,MAAQmoB,IACvCA,EAAiBlvB,EAAU+G,UAK1B+nB,EAAmBx2C,KAAI,SAAC0nB,EAAWpB,GACxC,IAAMuwB,EAAoBL,EAAmBlwB,EAAQ,GAC/CgM,EAAiBF,GAAgBhpB,MAAK,SAACmpB,GAAD,uBAAYA,EAAMC,gCAAlB,aAAY,EAAgC1hB,SAAS4W,EAAU0C,kBAK3G,OAJkB,OAAdkI,QAAc,IAAdA,OAAA,EAAAA,EAAgBsE,cAAe2d,GAAoBzjC,SAASwhB,EAAesE,aAC7E4d,GAAuB,GAAD,oBAAKD,IAAL,CAA0BjiB,EAAesE,cAI/D,eAAC,IAAMuZ,SAAP,aACM0G,GAAqBA,EAAkBpoB,QAAU/G,EAAU+G,QAE3D,cAAC,KAAD,CAAK9G,KAAM,GAAX,UACIitB,IACA,sBAAK56C,MAAO,CACVE,QAAS,OAAQqT,WAAY,SAAUV,MAAO,OAAQi6B,WAAY,UADpE,UAIKpf,EAAU+G,OAA6B,IAApB/G,EAAU+G,OAAmC,aAAnByP,GAGzB,aAAnBA,GAEI,qCAEMxW,EAAU+G,OAAS/G,EAAU+G,QAAUkoB,IACpCjvB,EAAU+G,OAAS/G,EAAUoI,eAAehf,SAAS,QAEtD,uBAAM9W,MAAO,CAAE4V,YAAa,GAAImB,aAAc,OAA9C,oBAEG,IACA4gB,GAA4BjK,EAAU+G,UAGzC,6BAGF/G,EAAU+G,OAAS/G,EAAU+G,QAAUmoB,IACpClvB,EAAU+G,OAAS/G,EAAUoI,eAAehf,SAAS,WAEtD,uBAAM9W,MAAO,CAAE4V,YAAa,GAAImB,aAAc,OAA9C,iBAEG,IACA4gB,GAA4BjK,EAAU+G,UAGzC,gCAKR,uBAAMz0B,MAAO,CAAE4V,YAAa,IAA5B,UACG+hB,GAA4BjK,EAAU+G,OACtC,IAFH,WAhCJ,sBAAMz0B,MAAO,CAAE4V,YAAa,GAAImB,aAAc,OAA9C,qBAuCJ,qBAAK/W,MAAO,CAAEK,gBAAiBoN,GAAepF,OAAOmB,KAAMjP,OAAQ,EAAGD,MAAO,eA9CnF,sBAAmCozB,EAAUovB,aAmDjD,cAAC,KAAD,CAEEnvB,KAAMmuB,GAAqB,GAAK,GAChC97C,MAAO,CAAE4V,YAAa,GAAImB,aAAc,IAH1C,SAKI+kC,GACA,cAAC,GAAD,CAEEjmB,KAAMnI,EAAUmI,KAChB5mB,KAAMye,EAAUze,KAChBjB,MAAO0f,EAAU1f,MACjBkB,KAAMwe,EAAUxe,KAChB+pC,KAAMvrB,EAAU/Z,SAChBy4B,UAA+B,WAApBuN,EACXpN,qBAAqB,EACrBD,eAAe,EACfn5B,QAAS,kBAAMA,GAAQua,IACvBve,OAAQue,EAAUve,OAClBilB,cAAe1G,EAAUoI,eACzByV,aAAc7d,EAAU0C,cACxBhO,SAAUA,EACVoqB,YAAU,GAdL9e,EAAUqD,cAiBjB,cAAC,GAAD,CAEE8E,KAAMnI,EAAUmI,KAChB5mB,KAAMye,EAAUze,KAChBjB,MAAO0f,EAAU1f,MACjBkB,KAAMwe,EAAUxe,KAChBk9B,UAA+B,WAApBuN,EACXpN,qBAAqB,EACrBD,eAAe,EACfn5B,QAAS,kBAAMA,GAAQua,IACvBve,OAAQue,EAAUve,OAClBo8B,aAAc7d,EAAU0C,cACxBhO,SAAUA,EACVoqB,YAAU,GAZL9e,EAAUqD,eAxBdzE,KAvDYA,MAgYXywB,CAAoBnwC,GAEpB,cAAC,GAAD,CACE+I,KAAoC,cAA9BmuB,EAAWO,eAAiC,cAAC,GAAD,IAAoB,cAAC,KAAD,IACtEuR,QACE,qCACiC,cAA9B9R,EAAWO,eACR,+FACA,oFACJ,wFAEG,IACD,cAAC,IAAD,CAAM51B,GAAIytC,GAAV,kBAHF,iBAclB,cAAC,GAAD,CACE5+C,UAAU,oBACVoV,QAASqnC,EACT3zB,OAAQ,KACR9rB,MAAO8nB,EAAW,IAAM,IACxB+M,OAAQ,KACRC,UAAQ,EACRH,SAAU,kBAAM+qB,GAAqB,IAPvC,SASGe,GACGpC,GACAoC,IACA,EACA34B,GAEA,KAGLxV,GACC,cAAC,GAAD,CACEwV,SAAUA,EACVmQ,SAAUT,EAAQgS,WAClBl3B,WAAYA,EACZ8F,QAASunC,EACTh0B,QAAS,kBAAMi0B,GAAmB,MAItC,cAAC,GAAD,CACExnC,QAASynC,EACTlrB,SAAUusB,GACVl+C,UAAU,gBACV6xB,OAAQ,KAJV,SAME,cAAC,GAAD,CAAiBviB,WAAYA,EAAY2lB,SAAUT,EAAQgS,WAAY1hB,SAAUA,UAiBzFm3B,GAAch9C,aAAe,CAC3Bu1B,QAAS,GACTllB,WAAY,GACZw2B,UAAW,GACX1wB,SAAS,EACTmf,cAAe,aACf2nB,iBAAkB,aAClBC,oBAAqB,aACrBznB,QAAS,IAGI5vB,sBAAKm3C,I,UC3xBLyD,GAXU,SAACnnB,GACxB,IAAMonB,EAAgBpnB,EAAKqnB,iBACrBC,EAAiB,UAAGtnB,EAAKunB,cAAgB,GAAIC,SAAS,EAAG,KACzDC,EAAgB,UAAGznB,EAAK0nB,cAAeF,SAAS,EAAG,KAEnDG,EAAU3nB,EAAK4nB,cAEfC,EAAgB,UADFF,EAAU,IAAM,EAAIA,EAAUA,EAAU,GACrBH,SAAS,EAAG,KACnD,MAAM,IAAN,OAAWJ,EAAX,YAA4BE,EAA5B,YAA8CG,EAA9C,YAA+DI,ICelDC,GArBC,kBACd,qBACEljD,QAAQ,MACRC,MAAM,6BACNkF,SAAS,UACTvC,oBAAoB,OACpB7C,QAAQ,YACRF,MAAM,KACNC,OAAO,KACPyF,MAAO,CAAElF,KAAM,sBACfY,aAAa,qBATf,SAWE,4BACE,sBACEf,GAAG,OACHM,EAAE,qPCKK2iD,GApBE,kBACf,qBACEnjD,QAAQ,MACRC,MAAM,6BACNkF,SAAS,UACTvC,oBAAoB,OACpB7C,QAAQ,YACRF,MAAM,KACNC,OAAO,KACPyF,MAAO,CAAElF,KAAM,sBACfY,aAAa,qBATf,SAWE,4BACE,sBACET,EAAE,yCCLJ4iD,GAAa,SAACviD,GAAW,IAE3BwiD,EAEExiD,EAFFwiD,eACAC,EACEziD,EADFyiD,iBAGI37B,EAAW8E,yBAAc,CAAE3G,SAAU,MAErCy9B,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAC1FnoB,EAAO,IAAI/R,KACXm6B,EAAe77B,EAAY,EAAM,GACjC87B,EAAcroB,EAAKsoB,WAAaF,EAChCG,EAAWh8B,EAAY,GAAO,IAZR,EAasB9L,mBAAS4nC,GAb/B,mBAarBG,EAbqB,KAaFC,EAbE,OAcsBhoC,qBAdtB,mBAcrBioC,EAdqB,KAcFC,EAdE,OAeSloC,oBAAS,GAflB,mBAerBmoC,EAfqB,KAeVC,EAfU,KAiBxBL,EAAoB,IAAM,GAC5BC,EAAqBD,EAAoB,GAG3C,IAAMM,EAAqB,WACzBL,EAAqBJ,GACrBvN,KAAQrM,MAAM8K,GAAgBC,QAG1BuP,EAAW,SAACC,GAChB,IAAMziD,EAAS,IAAI0nB,KAAK+R,EAAK9R,UAAoB,GAAP86B,EAAa,GAAK,KAC5D,MAAM,GAAN,OAAUb,EAAO5hD,EAAO6uC,YAAxB,YAAuC7uC,EAAO0rC,YAgB1CgX,EAA0C,8BAArBf,EAAmD,KAAO37B,EAAW,IAAO,IAQjG28B,EAAa,WACjB,IAAKN,EAAW,CACd,IAAMO,EAAcvpB,OAAO4oB,GAAqB,EAChDC,EAAqBU,GAEvBN,GAAiBD,GACjB9N,KAAQrM,MAAM8K,GAAgBE,sBAyChC,OArCAp9B,qBAAU,WACR,IAAM+sC,EAAa,IAAIn7B,KAAK+R,EAAK9R,UAA2E,IAA9D0R,OAAO4oB,GAAqBxoB,EAAKsoB,WAAaF,GAAqB,KACjHH,EAAed,GAAiBiC,IAjChB,SAACZ,GACjB,IAAMa,EAAgBzpB,OAAO4oB,GAAqB,GAC5Cc,EAAO,IAAIr7B,KACjBq7B,EAAKC,SAASF,GACdV,EAAqBW,EAAKE,eAAe,QAAS,CAAEC,KAAM,UAAWC,QAAQ,KA8B7EC,CAAUnB,GACV,IAAMoB,EAAMluC,SAASmuC,cAAc,2BAC/BD,IACFA,EAAIz/C,MAAM82C,KAAV,UAAoBrhB,QAAS4oB,EAAoB,GAAKD,EAAY,KAAlE,QAED,CAACC,EAAmBP,IAGvB5rC,qBAAU,WACHujB,OAAO4oB,IAAuBD,EAAW,GAAOK,GACnDM,IACApO,KAAQrM,MAAM8K,GAAgBI,oBACrBiP,GA/BXkB,YAAW,WACT,IAAMX,EAAcvpB,OAAO4oB,GAAqB,EAChDC,EAAqBU,KACpBF,KA+BF,CAACL,EAAWJ,IAGfnsC,qBAAU,WACR,IAAM0tC,EAAe1B,EAAc,IAAM,EAAKA,EAAc,EAAMA,EAC5Dc,EAAcvpB,OAAO4oB,GACvBuB,IAAiBvB,IACfj8B,EACE48B,EAAc,GAChBL,IACSK,EAAc,IACvBV,EAAqBU,EAAc,IAE3B58B,GACVk8B,EAAqBU,EAAc,OAGtC,CAAC58B,IAGF,qCACGA,GAEC,qBAAK9kB,UAAU,0BAAf,SACE,sBAAKA,UAAU,2BAAf,UACE,sBAAKA,UAAU,qBAAqB6V,QAAS4rC,EAA7C,WACIN,GAEA,cAACoB,GAAD,IAEDpB,GAEC,cAACqB,GAAD,OAGJ,qBAAKxiD,UAAU,uBAAf,SACE,cAAC,KAAD,CACEA,UAAU,aACVi5C,MAAO,CAAC,GAAI,GAAI,GAAI,IACpBwJ,cAAc,YACd1J,IAAK,EACLG,KAAM,EACNF,IAAK8H,EACLpwC,MAAOqwC,EACP2B,eAAe,eACfC,eAAe,eACft4B,SAxFO,SAAC3Z,GACpB0wC,GAAgB,GAChBJ,EAAqB,UAAGtwC,GAAQqvC,SAAS,EAAG,MAC5C1M,KAAQrM,MAAM8K,GAAgBG,iBAsFlB2Q,YAAa,SAAC5kD,GAAD,OACX,+CAASA,GAAT,aACE,sBAAKgC,UAAU,yBAAf,UACE,qBAAKA,UAAU,eACf,qBAAKA,UAAW8kB,EAAW,sBAAwB,eAAnD,SACGm8B,IAEH,qBAAKjhD,UAAU,iBACf,qBAAKA,UAAU,2BAMzB,sBAAKA,UAAU,uBAAf,UACE,qBAAKA,UAAU,wBAAwB6V,QAASwrC,EAAhD,mBACA,qBAAKrhD,UAAU,uBAAf,SAAuCshD,EAAS,KAChD,qBAAKthD,UAAU,uBAAf,SAAuCshD,EAAS,cAKtDx8B,GAEA,sBAAK9kB,UAAU,mBAAf,UACE,sBAAKA,UAAU,oBAAf,UACE,sBAAKA,UAAU,cAAc6V,QAAS4rC,EAAtC,WACIN,GAEA,cAACoB,GAAD,IAEDpB,GAEG,cAACqB,GAAD,OAGN,qBAAKxiD,UAAU,gBAAf,SACE,cAAC,KAAD,CACEA,UAAU,aACVi5C,MAAO,CAAC,GAAI,GAAI,GAAI,IACpBwJ,cAAc,YACd1J,IAAK,EACLG,KAAM,EACNF,IAAK8H,EACLpwC,MAAOqwC,EACP2B,eAAe,eACfC,eAAe,eACft4B,SAAU,SAAC3Z,GAAD,OAAWswC,EAAqBtwC,IAC1CkyC,YAAa,SAAC5kD,GAAD,OACX,+CAASA,GAAT,aACE,sBAAKgC,UAAU,yBAAf,UACE,qBAAKA,UAAU,eACf,qBAAKA,UAAW8kB,EAAW,sBAAwB,eAAnD,SACGm8B,IAEH,qBAAKjhD,UAAU,iBACf,qBAAKA,UAAU,2BAMzB,qBAAKA,UAAU,gBAAf,SACE,sBAAKA,UAAU,uBAAf,UACE,qBAAKA,UAAU,gBAAf,SAAgCshD,GAAU,KAE1C,qBAAKthD,UAAU,gBAAf,SAAgCshD,GAAU,KAE1C,qBAAKthD,UAAU,iBAAiB6V,QAASwrC,EAAzC,mBAEA,qBAAKrhD,UAAU,gBAAf,SAAgCshD,EAAS,KAEzC,qBAAKthD,UAAU,gBAAf,SAAgCshD,EAAS,aAI/C,qBAAKthD,UAAU,2BAAf,gGASVugD,GAAWthD,aAAe,CACxBuhD,eAAgB,aAChBC,iBAAkB,IAML37C,sBAAKy7C,I,0CC5NdsC,GAA0B,SAAC7kD,GAAW,IAExC8kD,EAGE9kD,EAHF8kD,QACAn1B,EAEE3vB,EAFF2vB,aACAo1B,EACE/kD,EADF+kD,UAGIj+B,EAAW8E,yBAAc,CAAE3G,SAAU,QAAW8/B,EAPb,EAQP/pC,oBAAS,GARF,mBAQlCoM,EARkC,KAQvB49B,EARuB,OASLhqC,mBAAS,IATJ,mBASlCiqC,EATkC,KAStBC,EATsB,KAWnCC,EAAQ,yCAAG,WAAOC,GAAP,oBAAAhpC,EAAA,6DACTipC,EADS,UAbD,mEAaC,OACeP,EADf,YAC0BM,EAD1B,sBAEWE,MAAMD,GAFjB,cAETE,EAFS,gBAGOA,EAAYC,cAHnB,cAGTC,EAHS,yBAIRC,KAAOC,OAAO,IAAIC,KAAIH,KAJd,2CAAH,sDAQRI,EAAS,yCAAG,WAAOl2B,GAAP,gCAAAvT,EAAA,2DACZuT,EAAatZ,OAAS,GADV,uBAER+uC,EAFQ,WAEEz1B,EAAa,GAAG,GAAG2B,cAFrB,gBAGQ6zB,EAASC,GAHjB,OAGRK,EAHQ,OAIdP,EAAc,CACZ,CACEre,KAAM,cACNif,SAAU,oBACVzwC,KAAMowC,KARI,0BAWmB,IAAxB91B,EAAatZ,OAXR,kCAYwDtL,QAAQg7C,IAAI,CAChFZ,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,WAjBG,2CAYPa,EAZO,KAYIC,EAZJ,KAYeC,EAZf,KAY0BC,EAZ1B,KAYqCC,EAZrC,eAmBRlB,EAAc,CAClB,CACEre,KAAM,cACNif,SAAU,oBACVzwC,KAAM2wC,GAER,CACEnf,KAAM,QACNif,SAAU,cACVzwC,KAAM4wC,GAER,CACEpf,KAAM,QACNif,SAAU,cACVzwC,KAAM6wC,GAER,CACErf,KAAM,QACNif,SAAU,cACVzwC,KAAM8wC,GAER,CACEtf,KAAM,QACNif,SAAU,cACVzwC,KAAM+wC,KA3CI,QA8CdpB,GAAa,GA9CC,4CAAH,sDAiDfpuC,qBAAU,WACHwQ,IACH49B,GAAa,GACba,EAAUl2B,GACP1kB,MAAK,WACJ+5C,GAAa,MAEdhpC,OAAM,WACLgpC,GAAa,SAGlB,CAACr1B,EAAcm1B,IAElB,IAAMuB,EAAY,CAChB7yC,KAAM,OACN8yC,SAAU,iBACVC,MAAO,CACL,aACE,CACE,cACA,CACE,eACA,EACA,EACA,GACA,IAEF,CAAC,MAAO,SACR,EACA,qBACA,IACA,UACA,IACA,UACA,IACA,UACA,KACA,oBACA,KACA,oBACA,KACA,UACA,KACA,UACA,KACAp0C,GAAepF,OAAOa,QACtB,KACA,UACA,KACA,UACA,KACA,UACA,KACA,UACA,KACA,WAEJ,eAAgB,EAChB,kBAAkB,IAGhB44C,EAAY1/B,EACd,CACA,KACA,KACA,KACA,KACA,KACA,IACA,GAEA,CACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,GAEJ,OACE,qCACGA,GAEC,qBAAK9kB,UAAU,+BAAf,SACE,qBAAKA,UAAU,qBAAf,SACGwkD,EAAU97C,KAAI,SAAC87C,EAAWx1B,GAAZ,OACb,qBAAKhvB,UAAU,0BAAf,SACE,sBAAMA,UAAU,+BAAhB,SACGy5B,GAAyB+qB,MAF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","file":"static/js/main.ab1dbff8.chunk.js","sourcesContent":["import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst AirTempSvg = () => (\n \n Air Temp\n Created with Sketch.\n \n \n \n \n \n \n \n \n);\n\nconst AirTempIcon = (props) => ;\n\nexport default AirTempIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst AnchoredSvg = () => (\n \n Anchored\n \n \n \n \n \n \n);\n\nconst AnchoredIcon = (props) => ;\n\nexport default AnchoredIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst AnchorSvg = () => (\n \n Anchor\n Created with Sketch.\n \n \n \n \n \n \n);\n\nconst AnchorIcon = (props) => ;\n\nexport default AnchorIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveSvg = (props) => (\n \n Buoy Active\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyActiveIcon = (props) => } {...props} />;\n\nBuoyActiveIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveClickedSvg = (props) => (\n \n Buoy Active Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyActiveClickedIcon = (props) => } {...props} />;\n\nBuoyActiveClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveLikedSvg = (props) => (\n \n Liked Buoy Active\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyActiveLikedIcon = (props) => } {...props} />;\n\nBuoyActiveLikedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveLikedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveLikedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveLikedClickedSvg = (props) => (\n \n Liked Buoy Active Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyActiveLikedClickedIcon = (props) => } {...props} />;\n\nBuoyActiveLikedClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveLikedClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveLikedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInActiveSvg = (props) => (\n \n Buoy Inactive\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyInActiveIcon = (props) => } {...props} />;\n\nBuoyInActiveIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyInActiveIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyInActiveIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInActiveClickedSvg = (props) => (\n \n Liked Buoy Inactive Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyInActiveClickedIcon = (props) => } {...props} />;\n\nBuoyInActiveClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyInActiveClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\nexport default BuoyInActiveClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInActiveLikedSvg = (props) => (\n \n Liked Buoy Inactive\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyInActiveLikedIcon = (props) => } {...props} />;\n\nBuoyInActiveLikedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyInActiveLikedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyInActiveLikedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInActiveLikedClickedSvg = (props) => (\n \n Liked Buoy Inactive Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyInActiveLikedClickedIcon = (props) => } {...props} />;\n\nBuoyInActiveLikedClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyInActiveLikedClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyInActiveLikedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst BuoyOutlineSvg = () => (\n \n Buoy Icon Color\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyOutlineIcon = (props) => ;\n\nexport default BuoyOutlineIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredSvg = (props) => (\n \n Buoy Recovered\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyRecoveredIcon = (props) => } {...props} />;\n\nBuoyRecoveredIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyRecoveredIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyRecoveredIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredClickedSvg = (props) => (\n \n Buoy Recovered Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyRecoveredClickedIcon = (props) => } {...props} />;\n\nBuoyRecoveredClickedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyRecoveredClickedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyRecoveredClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredLikedSvg = (props) => (\n \n Liked Buoy Recovered\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyRecoveredLikedIcon = (props) => } {...props} />;\n\nBuoyRecoveredLikedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyRecoveredLikedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyRecoveredLikedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredLikedClickedSvg = (props) => (\n \n Liked Buoy Recovered Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyRecoveredLikedClickedIcon = (props) => } {...props} />;\n\nBuoyRecoveredLikedClickedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyRecoveredLikedClickedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyRecoveredLikedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedSvg = (props) => (\n \n Buoy Decommissioned\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyDecommissionedIcon = (props) => } {...props} />;\n\nBuoyDecommissionedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyDecommissionedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyDecommissionedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedLikedSvg = (props) => (\n \n Liked Buoy Decomissioned\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyDecommissionedLikedIcon = (props) => } {...props} />;\n\nBuoyDecommissionedLikedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyDecommissionedLikedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyDecommissionedLikedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedClickedSvg = (props) => (\n \n Buoy Decommissioned Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyDecommissionedClickedIcon = (props) => } {...props} />;\n\nBuoyDecommissionedClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyDecommissionedClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyDecommissionedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedLikedClickedSvg = (props) => (\n \n Liked Buoy Decomissioned Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyDecommissionedLikedClickedIcon = (props) => } {...props} />;\n\nBuoyDecommissionedLikedClickedIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyDecommissionedLikedClickedIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyDecommissionedLikedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyTempRecoveredSvg = (props) => (\n \n Buoy Unavailable\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyTempRecoveredIcon = (props) => } {...props} />;\n\nBuoyTempRecoveredIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyTempRecoveredIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyTempRecoveredIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n Liked Buoy Temp Recovered\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyTempRecoveredLikedIcon = (props) => } {...props} />;\n\nBuoyTempRecoveredLikedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyTempRecoveredLikedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyTempRecoveredLikedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyTempRecoveredClickedSvg = (props) => (\n \n Buoy Unavailable Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyTempRecoveredClickedIcon = (props) => } {...props} />;\n\nBuoyTempRecoveredClickedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyTempRecoveredClickedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyTempRecoveredClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyTempRecoveredLikedClickedSvg = (props) => (\n \n Liked Buoy Unavailable Clicked\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyTempRecoveredLikedClickedIcon = (props) => } {...props} />;\n\nBuoyTempRecoveredLikedClickedIcon.propTypes = {\n width: PropTypes.string,\n height: PropTypes.string,\n};\n\nBuoyTempRecoveredLikedClickedIcon.defaultProps = {\n width: '1.8em',\n height: '1.8em',\n};\n\nexport default BuoyTempRecoveredLikedClickedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst CloseSvg = () => (\n \n \n \n \n\n \n);\n\nconst CloseIcon = (props) => ;\n\nexport default CloseIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst CloseCircleSvg = () => (\n \n \n \n);\n\nconst CloseCircleIcon = (props) => (\n \n \n \n);\n\nexport default CloseCircleIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst CloudSvg = () => (\n \n \n\n \n);\n\nconst CloudIcon = (props) => ;\n\nexport default CloudIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst ErieSvg = () => (\n \n \n \n \n \n \n \n \n);\n\nconst ErieIcon = (props) => } {...props} />;\n\nErieIcon.propTypes = {\n style: PropTypes.object,\n};\n\nErieIcon.defaultProps = {\n style: {},\n};\nexport default ErieIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst FacebookSvg = () => (\n \n \n \n \n \n \n \n \n\n);\n\nconst FacebookIcon = (props) => ;\n\nexport default FacebookIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst FilterSvg = () => (\n \n Filter\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst FilterIcon = (props) => ;\n\nexport default FilterIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst GliderSvg = () => (\n \n Glider Icon color\n Created with Sketch.\n \n \n \n \n \n \n);\n\nconst GliderIcon = (props) => ;\n\nexport default GliderIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst HeartSvg = () => (\n \n \n \n \n \n);\n\nconst HeartIcon = (props) => ;\n\nexport default HeartIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst HuronSvg = (props) => (\n \n \n \n \n \n \n \n \n);\n\nconst HuronIcon = (props) => } {...props} />;\n\nHuronIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nHuronIcon.defaultProps = {\n height: '55px',\n width: '49px',\n};\n\nexport default HuronIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst LinkedInSvg = () => (\n \n \n \n \n \n);\n\nconst LinkedInIcon = (props) => ;\n\nexport default LinkedInIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst LogoutSvg = () => (\n \n \n \n);\n\nconst LogoutIcon = (props) => ;\n\nexport default LogoutIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst MapViewSvg = () => (\n \n \n \n \n \n \n \n \n);\n\nconst MapViewIcon = (props) => ;\n\nexport default MapViewIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst MarkSvg = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n);\n\nconst MarkIcon = (props) => ;\n\nexport default MarkIcon;\n","import React, { memo } from 'react';\nimport Icon from '@ant-design/icons';\n\nconst MenuSvg = () => (\n \n Menu\n Created with Sketch.\n \n \n \n \n \n);\n\nconst MenuIcon = (props) => ;\n\nMenuIcon.propTypes = {};\n\nMenuIcon.defaultProps = {};\n\nexport default memo(MenuIcon);\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst MovingSvg = () => (\n \n Moving\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst MovingIcon = (props) => ;\n\nexport default MovingIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst MichiganSvg = (props) => (\n \n \n \n \n \n \n \n \n);\n\nconst MichiganIcon = (props) => (\n (\n \n )}\n {...props}\n />\n);\n\nMichiganIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n style: PropTypes.object,\n};\n\nMichiganIcon.defaultProps = {\n height: '49px',\n width: '26px',\n style: { transform: 'translateY(-5px)' },\n};\nexport default MichiganIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst NoDataSvg = () => (\n \n Sleeping Seagull\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst NoDataIcon = (props) => ;\n\nexport default NoDataIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst OntarioSvg = () => (\n \n \n \n \n \n \n \n \n);\n\nconst OntarioIcon = (props) => ;\n\nexport default OntarioIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst PlatformsSvg = () => (\n \n \n\n \n);\n\nconst PlatformsIcon = (props) => ;\n\nexport default PlatformsIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst RadioUnselectedSvg = () => (\n \n \n \n \n \n \n \n \n \n \n);\n\nconst RadioUnselectedIcon = (props) => ;\n\nexport default RadioUnselectedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst RadioSelectedSvg = () => (\n \n \n \n \n \n {' '}\n \n \n \n \n \n \n \n \n\n \n);\n\nconst RadioSelectedIcon = (props) => ;\n\nexport default RadioSelectedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst RainSvg = () => (\n \n \n \n \n \n \n);\n\nconst RainIcon = (props) => ;\n\nexport default RainIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SamplingSvg = () => (\n \n Field Sampling Color\n \n \n \n \n);\n\nconst SamplingIcon = (props) => ;\n\nexport default SamplingIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SeagullSvg = () => (\n \n Seagull\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst SeagullIcon = (props) => ;\n\nexport default SeagullIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SettingSvg = () => (\n \n \n \n);\n\nconst SettingIcon = (props) => ;\n\nexport default SettingIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SuperiorSvg = () => (\n \n \n \n \n \n \n \n \n);\n\nconst SuperiorIcon = (props) => ;\n\nexport default SuperiorIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SunSvg = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n);\n\nconst SunIcon = (props) => ;\n\nexport default SunIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst ThermometerSvg = () => (\n \n Water Temp Color\n \n \n \n \n);\n\nconst ThermometerIcon = (props) => ;\n\nexport default ThermometerIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst TowerSvg = () => (\n \n Tower Icon Color\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst TowerIcon = (props) => ;\n\nexport default TowerIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst UserAddFilledSvg = () => (\n \n \n \n \n\n \n);\n\nconst UserAddFilledIcon = (props) => ;\n\nexport default UserAddFilledIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst UserFilledSvg = () => (\n \n \n \n\n \n\n \n);\n\nconst UserFilledIcon = (props) => ;\n\nexport default UserFilledIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst UsersFilledSvg = () => (\n \n \n \n \n\n \n);\n\nconst UsersFilledIcon = (props) => ;\n\nexport default UsersFilledIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst VerifiedSvg = () => (\n \n \n \n \n\n \n);\n\nconst VerifiedIcon = (props) => ;\n\nexport default VerifiedIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst VirusSvg = () => (\n \n Virus Solid\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n);\n\nconst VirusIcon = (props) => ;\n\nexport default VirusIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst WaveHeightSvg = () => (\n \n Wave Height\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n);\n\nconst WaveHeightIcon = (props) => ;\n\nexport default WaveHeightIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst WebcamSvg = () => (\n \n \n \n \n\n \n);\n\nconst WebcamIcon = (props) => ;\n\nexport default WebcamIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst WindSpeedSvg = () => (\n \n Wind Speed\n Created with Sketch.\n \n \n \n \n \n \n \n \n);\n\nconst WindSpeedIcon = (props) => ;\n\nexport default WindSpeedIcon;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst OptionsSvg = () => (\n \n \n \n);\n\nconst OptionsIcon = (props) => ;\nexport default OptionsIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SeagullSvg = () => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst SeagullLogo = (props) => ;\n\nexport default SeagullLogo;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst RaeonSvg = () => (\n \n \n \n {' '}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst RaeonLogo = (props) => ;\n\nexport default RaeonLogo;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst PlusCircleSvg = () => (\n \n \n \n \n\n \n);\n\nconst PlusCircleIcon = (props) => ;\n\nexport default PlusCircleIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst CollectionSiteSvg = (props) => (\n \n \n \n);\n\nconst CollectionSiteIcon = (props) => } {...props} />;\n\nCollectionSiteIcon.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nCollectionSiteIcon.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default CollectionSiteIcon;\n","var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t1607,\n\t\t17\n\t],\n\t\"./amplify-auth-container.entry.js\": [\n\t\t1608,\n\t\t18\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t1609,\n\t\t19\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t1610,\n\t\t5\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t1611,\n\t\t20\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t1612,\n\t\t4\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t1613,\n\t\t21\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t1614,\n\t\t6\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t1615,\n\t\t22\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t1616,\n\t\t23\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t1617,\n\t\t24\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t1618,\n\t\t25\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t1619,\n\t\t26\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t1620,\n\t\t27\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t1621,\n\t\t7\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t1622,\n\t\t28\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t1623,\n\t\t29\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t1624,\n\t\t30\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t1625,\n\t\t31\n\t],\n\t\"./amplify-radio-button_3.entry.js\": [\n\t\t1626,\n\t\t8\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t1627,\n\t\t9\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t1628,\n\t\t10\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t1629,\n\t\t11\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t1630,\n\t\t12\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t1631,\n\t\t13\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t1632,\n\t\t32\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t1633,\n\t\t14\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t1634,\n\t\t33\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 1430;\nmodule.exports = webpackAsyncContext;","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyActiveFlat = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyActiveFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyActiveFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyActiveFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInactiveFlatSvg = (props) => (\n \n \n \n \n \n);\n\nconst BuoyActiveFlat = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyActiveFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyActiveFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyActiveFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyUnavailableFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyUnavailableFlat = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyUnavailableFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyUnavailableFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyUnavailableFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredFlatSvg = (props) => (\n \n \n \n \n \n);\n\nconst BuoyRecoveredFlat = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyRecoveredFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyRecoveredFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyRecoveredFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyDecommissionedFlat = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyDecommissionedFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyDecommissionedFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyDecommissionedFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyActiveFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyActiveFlat = (props) => } {...props} />;\n\nBuoyActiveFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyInactiveFlatSvg = (props) => (\n \n \n \n \n \n);\n\nconst BuoyActiveFlat = (props) => } {...props} />;\n\nBuoyActiveFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyActiveFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyActiveFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyUnavailableFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyUnavailableFlat = (props) => } {...props} />;\n\nBuoyUnavailableFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyUnavailableFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyUnavailableFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyRecoveredFlatSvg = (props) => (\n \n \n \n \n \n);\n\nconst BuoyRecoveredFlat = (props) => } {...props} />;\n\nBuoyRecoveredFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyRecoveredFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyRecoveredFlat;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst BuoyDecommissionedFlatSvg = (props) => (\n \n \n \n \n);\n\nconst BuoyDecommissionedFlat = (props) => } {...props} />;\n\nBuoyDecommissionedFlat.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n};\n\nBuoyDecommissionedFlat.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n};\n\nexport default BuoyDecommissionedFlat;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyActiveFlatLiked = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyActiveFlatLiked.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyActiveFlatLiked.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyActiveFlatLiked;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n \n \n \n \n \n \n \n);\n\nconst BuoyInactiveFlatLiked = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyInactiveFlatLiked.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyInactiveFlatLiked.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyInactiveFlatLiked;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nconst BuoyUnavailableFlatLiked = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyUnavailableFlatLiked.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyUnavailableFlatLiked.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyUnavailableFlatLiked;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n \n \n \n \n \n \n \n);\n\nconst BuoyRecoveredFlatLiked = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyRecoveredFlatLiked.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyRecoveredFlatLiked.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyRecoveredFlatLiked;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\nimport PropTypes from 'prop-types';\n\nconst SvgComponent = (props) => (\n \n \n \n \n);\n\nconst BuoyDecommissionedFlatLiked = (props) => {\n const { isClicked } = props;\n return (\n }\n {...props}\n />\n );\n};\n\nBuoyDecommissionedFlatLiked.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\n isClicked: PropTypes.bool,\n};\n\nBuoyDecommissionedFlatLiked.defaultProps = {\n height: '1.8em',\n width: '1.8em',\n isClicked: false,\n};\n\nexport default BuoyDecommissionedFlatLiked;\n","import React from 'react';\nimport { fromPairs, toPairs } from 'lodash';\nimport BuoyActiveFlat from '../components/icons/BuoyActiveFlat';\nimport BuoyInactiveFlat from '../components/icons/BuoyInactiveFlat';\nimport BuoyUnavailableFlat from '../components/icons/BuoyUnavailableFlat';\nimport BuoyRecoveredFlat from '../components/icons/BuoyRecoveredFlat';\nimport BuoyDecommissionedFlat from '../components/icons/BuoyDecommissionedFlat';\n\nimport BuoyActiveFlatWhite from '../components/icons/BuoyActiveFlatWhite';\nimport BuoyInactiveFlatWhite from '../components/icons/BuoyInactiveFlatWhite';\nimport BuoyUnavailableFlatWhite from '../components/icons/BuoyUnavailableFlatWhite';\nimport BuoyRecoveredFlatWhite from '../components/icons/BuoyRecoveredFlatWhite';\nimport BuoyDecommissionedFlatWhite from '../components/icons/BuoyDecommissionedFlatWhite';\n\nimport {\n BuoyActiveIcon, BuoyInActiveIcon, BuoyTempRecoveredIcon, BuoyRecoveredIcon, BuoyDecommissionedIcon, BuoyActiveLikedIcon, BuoyInActiveLikedIcon, BuoyTempRecoveredLikedIcon, BuoyRecoveredLikedIcon, BuoyDecommissionedLikedIcon,\n} from '../components/icons';\nimport BuoyActiveFlatLiked from '../components/icons/BuoyActiveFlatLiked';\nimport BuoyInactiveFlatLiked from '../components/icons/BuoyInactiveFlatLiked';\nimport BuoyUnavailableFlatLiked from '../components/icons/BuoyUnavailableFlatLiked';\nimport BuoyRecoveredFlatLiked from '../components/icons/BuoyRecoveredFlatLiked';\nimport BuoyDecommissionedFlatLiked from '../components/icons/BuoyDecommissionedFlatLiked';\n\nexport const configSettings = {\n colors: {\n primary: {\n DEFAULT: '#4CB1F7',\n GLOS: '#4CB1F7',\n RAEON: '#225977',\n },\n primaryThirty: {\n DEFAULT: 'rgb(76, 177, 247, .3)',\n GLOS: 'rgba(76, 177, 247, .3)',\n RAEON: 'rgba(34, 89, 119, .3)',\n },\n primaryDark: {\n DEFAULT: '#074A74',\n GLOS: '#074A74',\n RAEON: '#1b475f', // '#828994',\n },\n primaryDark2: {\n DEFAULT: '#04304b',\n GLOS: '#04304b',\n RAEON: '#123040', // '#1b475f',\n },\n primaryDark2Seventy: {\n DEFAULT: 'rgba(4,48,75,.7)',\n GLOS: 'rgba(7,74,116,.7)',\n RAEON: 'rgba(18, 48, 64,.7)', // '#1b475f',\n },\n primaryDark2Eighty: {\n DEFAULT: 'rgba(4,48,75,.8)',\n GLOS: 'rgba(7,74,116,.8)',\n RAEON: 'rgba(18, 48, 64,.8)', // '#1b475f',\n },\n primaryDark2Ninety: {\n DEFAULT: 'rgba(4,48,75,.9)',\n GLOS: 'rgba(7,74,116,.9)',\n RAEON: 'rgba(18, 48, 64,.9)', // '#1b475f',\n },\n primaryDark3: {\n DEFAULT: '#021322',\n GLOS: '#074A74',\n RAEON: '#0d2430', // '#828994',\n },\n primaryDark4: {\n DEFAULT: '#031f31',\n GLOS: '#031f31',\n RAEON: '#031f31',\n },\n accent1: {\n DEFAULT: '#F67D28',\n GLOS: '#F67D28',\n RAEON: '#edad03',\n },\n accent1Thirty: {\n DEFAULT: 'rgba(246, 125, 40, .3)',\n GLOS: 'rgba(246, 125, 40, .3)',\n RAEON: 'rgba(51, 51, 51, .3)',\n },\n accent3: {\n DEFAULT: '#000782',\n GLOS: '#000782',\n RAEON: '#074A74',\n },\n success: {\n DEFAULT: '#7CDF09',\n GLOS: '#7CDF09',\n RAEON: '#074A74',\n },\n successThirty: {\n DEFAULT: 'rgba(124, 223, 9, .3)',\n GLOS: 'rgba(124, 223, 9, .3)',\n RAEON: 'rgba(7, 74, 116, .3)',\n },\n danger: {\n DEFAULT: '#FF7474',\n GLOS: '#FF7474',\n RAEON: '#074A74',\n },\n grey: {\n DEFAULT: '#A3A3A3',\n GLOS: '#A3A3A3',\n RAEON: '#074A74',\n },\n greyLight: {\n DEFAULT: '#E6E6E6',\n GLOS: '#E6E6E6',\n RAEON: '#E6E6E6',\n },\n greyDark: {\n DEFAULT: '#444444',\n GLOS: '#444444',\n RAEON: '#444444',\n },\n header: {\n DEFAULT: '#001529',\n GLOS: '#001529',\n RAEON: '#333333',\n },\n buttonText: {\n DEFAULT: '#fff',\n GLOS: '#fff',\n RAEON: '#444',\n },\n },\n icons: {\n blogo: {\n DEFAULT: (\"Great),\n GLOS: (\"Great),\n RAEON: (\"The),\n },\n logo: {\n DEFAULT: (\n \n \n \n \n \n \n \n \n \n \n \n ),\n GLOS: (\n \n \n \n \n \n \n \n \n \n \n \n ),\n RAEON: (\"The),\n },\n buoyActive: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyActiveLiked: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyInactive: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyInactiveLiked: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyUnavailable: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyUnavailableLiked: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyRecovered: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyRecoveredLiked: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyDecommissioned: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyDecommissionedLiked: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyActiveLegend: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyInactiveLegend: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyUnavailableLegend: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyRecoveredLegend: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n buoyDecommissionedLegend: {\n DEFAULT: ,\n GLOS: ,\n RAEON: ,\n },\n },\n fonts: {\n heading: {\n DEFAULT: '/fonts/pulp-display-semi-bold.otf',\n GLOS: '/fonts/pulp-display-semi-bold.otf',\n RAEON: 'Livvic',\n },\n headingName: {\n DEFAULT: 'PulpDisplay-SemiBold',\n GLOS: 'PulpDisplay-SemiBold',\n RAEON: 'Livvic',\n },\n body: {\n DEFAULT: 'https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600&display=swap',\n GLOS: 'https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600&display=swap',\n RAEON: 'https://fonts.googleapis.com/css2?family=Livvic:wght@200;300;400;500;600;700&display=swap',\n },\n bodyName: {\n DEFAULT: 'Work Sans',\n GLOS: 'Work Sans',\n RAEON: 'Livvic',\n },\n },\n labels: {\n siteTitle: {\n DEFAULT: 'Seagull - by GLOS',\n GLOS: 'Seagull',\n RAEON: 'RAEON Seagull',\n },\n nestName: {\n DEFAULT: 'Seagull',\n GLOS: 'Seagull',\n RAEON: 'RAEON',\n },\n },\n filters: {\n organizationId: {\n DEFAULT: null,\n GLOS: null,\n RAEON: 34,\n },\n defaultLake: {\n DEFAULT: '',\n GLOS: '',\n RAEON: 'Erie',\n },\n isNest: {\n DEFAULT: false,\n GLOS: false,\n RAEON: true,\n },\n },\n map: {\n latitude: {\n DEFAULT: 44.149,\n GLOS: 44.149,\n RAEON: 41.9521368,\n },\n longitude: {\n DEFAULT: -84.131259,\n GLOS: -84.131259,\n RAEON: -82.6132682,\n },\n zoom: {\n DEFAULT: 5.5,\n GLOS: 5.5,\n RAEON: 8.2,\n },\n landingLatitude: {\n DEFAULT: 44.149,\n GLOS: 44.149,\n RAEON: 42.0091296,\n },\n landingLatitudeMobile: {\n DEFAULT: 44.149,\n GLOS: 44.149,\n RAEON: 41.9521368,\n },\n landingLongitude: {\n DEFAULT: -89.572291,\n GLOS: -89.572291,\n RAEON: -83.4282485,\n },\n landingLongitudeMobile: {\n DEFAULT: -84.9391837,\n GLOS: -84.9391837,\n RAEON: -82.6132682,\n },\n landingZoom: {\n DEFAULT: 5.5,\n GLOS: 5.5,\n RAEON: 8.2,\n },\n markers: {\n DEFAULT: [\n '#F67D28',\n '#7CDF09',\n '#F7A165',\n '#4CB1F7',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#FF7474',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n GLOS: [\n '#F67D28',\n '#7CDF09',\n '#F7A165',\n '#4CB1F7',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#FF7474',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n RAEON: [\n '#333333',\n '#074A74',\n '#F7A165',\n '#225977',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#074A74',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n },\n parameters: {\n DEFAULT: [\n '#F67D28',\n '#7CDF09',\n '#F7A165',\n '#4CB1F7',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#FF7474',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n GLOS: [\n '#F67D28',\n '#7CDF09',\n '#F7A165',\n '#4CB1F7',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#FF7474',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n RAEON: [\n '#333333',\n '#074A74',\n '#F7A165',\n '#225977',\n '#B9FF7D',\n '#DA1313',\n '#EECC11',\n '#fca1a1',\n '#074A74',\n '#E6E6E6',\n '#5e27b4',\n '#42ad46',\n '#2bcbbd',\n '#ac5f58',\n '#f7f08b',\n '#c05a36',\n '#5bfca8',\n '#6d123d',\n '#eed25b',\n '#874190',\n '#ff98ee',\n '#597c4c',\n '#a08d7e',\n '#134929',\n '#d83e03',\n '#db1998',\n '#0462a0',\n '#3cc48d',\n '#4e0d04',\n '#32e407',\n ],\n },\n },\n};\n\nconst SITE_NAME = process.env.REACT_APP_PRIVATE_LABEL_CLIENT;\n\nexport const getConfigFromSettings = () => {\n let settings;\n Object.keys(configSettings).forEach((config) => {\n settings = {\n ...settings,\n [config]: fromPairs(\n toPairs(configSettings[config]).map(([key, value]) => [\n key,\n SITE_NAME in value\n ? value[SITE_NAME]\n : 'DEFAULT' in value\n ? value.DEFAULT\n : undefined,\n ]),\n ),\n };\n });\n\n return settings;\n};\n","import { getConfigFromSettings } from './branding';\n\nconst appConfig = {\n env: process.env.NODE_ENV || 'development',\n baseURL: process.env.REACT_APP_API || 'http://localhost:4000/api',\n metadataURL: process.env.REACT_APP_METADATA_API || 'https://seagull-geoportal.glos.org/geoportal',\n tokenKey: process.env.REACT_APP_TOKEN_KEY || 'auth_token',\n oldDataCutoffInHours: process.env.REACT_APP_OLD_DATA_CUTOFF_IN_HOURS || 24,\n socialSharingBucket: `https://${process.env.REACT_APP_SHARING_BUCKET}.s3.us-east-2.amazonaws.com`,\n sharingBaseURL: process.env.REACT_APP_SHARING_API || 'http://localhost:4000/api',\n};\n\nexport default appConfig;\n\nexport const brandingConfig = getConfigFromSettings();\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Redirect, Route } from 'react-router-dom';\n\nconst PublicRoute = ({ component: C, props: cProps, ...rest }) => (\n (!cProps.user ? (\n \n ) : (\n \n ))}\n />\n);\n\nPublicRoute.propTypes = {\n component: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]).isRequired,\n props: PropTypes.object.isRequired,\n};\n\nexport default PublicRoute;\n","import { createContext } from 'react';\nimport _ from 'lodash';\n\nconst UserContext = createContext({\n cognitoUser: {},\n setCognitoUser: () => {},\n authState: {},\n authDrawerOpen: false,\n setAuthDrawerOpen: () => {},\n seagullUser: {},\n setSeagullUser: () => {},\n notifications: {},\n setNotifications: () => {},\n userLocation: [],\n globalSearch: '',\n setGlobalSearch: () => {},\n searchActive: false,\n setSearchActive: () => {},\n unitPreferences: [],\n unitPreferencesAction: () => {},\n});\n\nconst unitPrefsReducer = (state, action) => {\n switch (action.type) {\n case 'UNIT':\n if (_.isEmpty(state)) {\n return ([{\n name: action.unit,\n value: action.value,\n pinned: action.pinned,\n }]);\n }\n if (state.find((unit) => unit.name === action.unit)) {\n return state.map((unit) => {\n if (unit.name === action.unit) {\n const value = Object.hasOwn(action, 'value') ? action.value : unit.value;\n const pinned = Object.hasOwn(action, 'pinned') ? action.pinned : unit.pinned;\n return {\n ...unit,\n value,\n pinned,\n };\n }\n return unit;\n });\n }\n return state.concat({ name: action.unit, value: action.value, pinned: action.pinned });\n case 'REPLACE':\n return action.value;\n default:\n return state;\n }\n};\n\nconst pinnedParams = (unitPreferences) => {\n // Checks if unitPreferences is falsy or if unit preferences is an empty object\n if (!unitPreferences || Object.keys(unitPreferences).length === 0) {\n return [];\n }\n const pinned = [];\n unitPreferences?.forEach((param) => {\n if (param.pinned) {\n pinned.push(param.name);\n }\n });\n return pinned;\n};\n\nexport default UserContext;\nexport { pinnedParams, unitPrefsReducer };\n","const storageService = {\n setItem: (key, data) => {\n if (typeof data === 'object') {\n localStorage.setItem(key, JSON.stringify(data));\n } else {\n localStorage.setItem(key, data);\n }\n // https://stackoverflow.com/questions/56660153/how-to-listen-to-localstorage-value-changes-in-react\n window.dispatchEvent(new Event('storage'));\n },\n\n getItem: (key) => {\n let item = localStorage.getItem(key);\n try {\n item = JSON.parse(item);\n } catch (e) {\n return item;\n }\n return item;\n },\n\n removeItem: (key) => {\n localStorage.removeItem(key);\n },\n\n deleteAllCookies: () => {\n const cookies = document.cookie.split(';');\n\n for (let i = 0; i < cookies.length; i += 1) {\n const cookie = cookies[i];\n const eqPos = cookie.indexOf('=');\n const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT`;\n }\n },\n};\n\nexport default storageService;\n","import React, { useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Route } from 'react-router-dom';\nimport UserContext from '../contexts/UserContext';\nimport storageService from '../services/storage.service';\n\nconst PrivateRoute = ({ component: C, props: cProps, ...rest }) => {\n const {\n authState, setAuthDrawerOpen,\n } = useContext(UserContext);\n\n const { path } = { ...rest };\n\n useEffect(() => {\n if (!authState) {\n storageService.setItem('redirectAfterAuthentication', window.location.pathname ?? path);\n setAuthDrawerOpen(true);\n }\n });\n\n return (\n (authState === 'signedin' || authState === 'cognitoHostedUI') && (\n \n )}\n />\n );\n};\n\nPrivateRoute.propTypes = {\n component: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]).isRequired,\n props: PropTypes.object.isRequired,\n};\n\nexport default PrivateRoute;\n","import React, { memo } from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router-dom';\nimport { Typography } from 'antd';\nimport { brandingConfig } from '../../config';\n\nconst Content = styled.div`\n background-color: ${brandingConfig.colors.primary};\n color: #fff;\n text-align: center;\n width: 145px;\n font-family: var(--seagull-heading-font);\n font-size: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n \n @media (max-width: 767px) {\n display: block;\n background: none;\n position: relative;\n margin: 0 auto;\n left: 8%;\n }\n`;\n\nconst BLogo = (props) => {\n const history = useHistory();\n\n const {\n visible,\n onNavigate,\n style,\n setAuthDrawerOpen,\n } = props;\n\n const onClick = () => {\n onNavigate();\n setAuthDrawerOpen(false);\n\n history.push('/');\n };\n\n return visible ? (\n \n \n {brandingConfig.icons.blogo}\n \n \n ) : ;\n};\n\nBLogo.propTypes = {\n visible: PropTypes.bool,\n onNavigate: PropTypes.func,\n style: PropTypes.object,\n setAuthDrawerOpen: PropTypes.func,\n};\n\nBLogo.defaultProps = {\n visible: true,\n onNavigate: () => {},\n style: {},\n setAuthDrawerOpen: () => {},\n};\n\nexport default memo(BLogo);\n","import React, { memo } from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router-dom';\nimport { Typography } from 'antd';\nimport { brandingConfig } from '../../config';\n\nconst Content = styled.div`\n background-color: ${brandingConfig.colors.primary};\n color: #fff;\n text-align: center;\n width: 145px;\n font-family: var(--seagull-heading-font);\n font-size: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n \n @media (max-width: 767px) {\n background: none;\n position: relative;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n width: 100%;\n }\n`;\n\nconst Logo = (props) => {\n const history = useHistory();\n\n const {\n visible,\n onNavigate,\n style,\n setAuthDrawerOpen,\n } = props;\n\n const onClick = () => {\n onNavigate();\n setAuthDrawerOpen(false);\n\n history.push('/');\n };\n\n return visible ? (\n \n \n {brandingConfig.icons.logo}\n \n \n ) : ;\n};\n\nLogo.propTypes = {\n visible: PropTypes.bool,\n onNavigate: PropTypes.func,\n style: PropTypes.object,\n setAuthDrawerOpen: PropTypes.func,\n};\n\nLogo.defaultProps = {\n visible: true,\n onNavigate: () => {},\n style: {},\n setAuthDrawerOpen: () => {},\n};\n\nexport default memo(Logo);\n","import React from 'react';\n\nexport const consoleMenu = [\n {\n key: '/data-console',\n title: 'Observing Platforms',\n children: null,\n },\n {\n key: '/data-console-datasets',\n title: 'Datasets',\n children: null,\n },\n {\n key: '/data-console/groups',\n title: 'Groups',\n children: null,\n },\n {\n key: '/workspace-beta',\n title: (\n
\n Workspace\n

Beta

\n
\n ),\n children: null,\n },\n];\n\nexport const consoleMenuMobile = [\n {\n key: 'console',\n title: 'Console',\n children: consoleMenu.filter((cm) => cm.key !== '/workspace-beta'),\n },\n];\n","export const featureFlag = {\n userProfile: Boolean(+process.env.REACT_APP_FF_USER_PROFILE),\n platformPicture: Boolean(+process.env.REACT_APP_FF_PLATFORM_PICTURE),\n favorites: Boolean(+process.env.REACT_APP_FF_FAVORITES),\n filterFavorites: Boolean(+process.env.REACT_APP_FF_FILTER_FAVORITES),\n userPlatforms: Boolean(+process.env.REACT_APP_FF_USER_PLATFORMS),\n userAlerts: Boolean(+process.env.REACT_APP_FF_USER_ALERTS),\n userPreferences: Boolean(+process.env.REACT_APP_FF_USER_PREFERENCES),\n webcam: Boolean(+process.env.REACT_APP_FF_WEBCAM),\n notifications: Boolean(+process.env.REACT_APP_FF_NOTIFICATIONS),\n sponsors: Boolean(+process.env.REACT_APP_FF_SPONSORS),\n weather: Boolean(+process.env.REACT_APP_FF_WEATHER),\n inviteGroupMember: Boolean(+process.env.REACT_APP_FF_INVITE_GROUP_MEMBER),\n downloadData: Boolean(+process.env.REACT_APP_FF_DOWNLOAD_DATA),\n groupListMemberCount: Boolean(+process.env.REACT_APP_FF_GROUP_LIST_MEMBER_COUNT),\n groupListDatasetCount: Boolean(+process.env.REACT_APP_FF_GROUP_LIST_DATASET_COUNT),\n filter_moving: Boolean(+process.env.REACT_APP_FF_MAP_FILTER_MOVING),\n filter_algae_bloom: Boolean(+process.env.REACT_APP_FF_MAP_FILTER_HABS),\n filter_field_sampling_location: Boolean(+process.env.REACT_APP_FF_MAP_FILTER_SAMPLING_LOCATIONS),\n generalProdUnreleased: Boolean(+process.env.REACT_APP_FF_GENERAL_PROD_UNRELEASED),\n platformComparison: Boolean(+process.env.REACT_APP_FF_PLATFORM_COMPARISON),\n omics: Boolean(+process.env.REACT_APP_FF_OMICS),\n omicsToxins: Boolean(+process.env.REACT_APP_FF_OMICS_TOXINS),\n socialSharingTimeSeries: Boolean(+process.env.REACT_APP_FF_SOCIAL_SHARING_TIME_SERIES),\n bathy: Boolean(+process.env.REACT_APP_FF_BATHY),\n};\n","import React from 'react';\nimport {\n BellFilled,\n HeartFilled,\n} from '@ant-design/icons';\nimport { Badge } from 'antd';\n\nimport {\n PlatformsIcon, SettingIcon, UserFilledIcon, UsersFilledIcon,\n} from '../icons';\nimport { featureFlag } from '../../constant';\n\nexport const profileMenuItems = () => {\n const items = [];\n\n if (featureFlag.userProfile) {\n items.push({\n icon: ,\n key: '/profile',\n title: 'Profile',\n });\n }\n\n if (featureFlag.userAlerts) {\n items.push({\n icon: ,\n key: '/profile/alerts',\n title: (\n \n Notifications\n {featureFlag.notifications && (\n \n )}\n \n ),\n });\n }\n\n if (featureFlag.userPlatforms) {\n items.push({\n icon: ,\n key: '/profile/platforms',\n title: 'My Platforms',\n });\n }\n if (featureFlag.favorites) {\n items.push({\n icon: ,\n key: '/profile/favorites',\n title: 'My Favorites',\n });\n }\n\n items.push({\n icon: ,\n key: '/profile/groups',\n title: (\n \n My Groups\n \n ),\n });\n\n if (featureFlag.userPreferences) {\n items.push({\n icon: ,\n key: '/profile/preferences',\n title: 'Preferences',\n });\n }\n\n return items;\n};\n","import React, {\n memo, useState,\n} from 'react';\nimport { Layout, Menu } from 'antd';\nimport { useLocation } from 'react-router';\nimport PropTypes from 'prop-types';\nimport { NavLink } from 'react-router-dom';\n\nimport BLogo from './BLogo';\nimport Logo from '../topbar/Logo';\nimport { consoleMenu } from './constant';\nimport { profileMenuItems } from '../topbar/constant';\n\nimport './styles.scss';\n\nconst {\n Sider,\n} = Layout;\n\nconst SideBar = (props) => {\n const { getSelectedKey } = props;\n\n const [collapsed, setCollapsed] = useState(false);\n\n const location = useLocation();\n\n const onCollapse = (status) => {\n setCollapsed(status);\n };\n\n const menuContent = () => {\n let menuItems = [];\n const selectedKeys = getSelectedKey();\n\n if (location.pathname.includes('data-console') || location.pathname.includes('workspace-beta')) {\n menuItems = consoleMenu;\n } else if (location.pathname.includes('profile')) {\n menuItems = profileMenuItems();\n }\n\n const marginBottom = `${100 / menuItems.length}%`;\n\n return (\n \n {menuItems.map((menuItem) => (\n \n \n {menuItem.title}\n \n \n ))}\n \n );\n };\n\n return (\n <>\n \n \n {menuContent()}\n \n \n \n );\n};\n\nSideBar.propTypes = {\n getSelectedKey: PropTypes.func,\n};\n\nSideBar.defaultProps = {\n getSelectedKey: () => {},\n};\n\nexport default memo(SideBar);\n","import Axios from 'axios';\nimport { Auth } from 'aws-amplify';\n\nexport const getCognitoUser = () => Auth.currentAuthenticatedUser()\n .then((data) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getCurrentSession = () => Auth.currentSession()\n .then((data) => data)\n .catch((err) => Promise.reject(err));\n\n/**\n * Extracts access token from cognitoUser to use in Seagull API request\n *\n * @returns JWT Access token if successful\n */\nexport const getCognitoAccessToken = async () => {\n try {\n const userData = await getCognitoUser();\n if (!userData) return null;\n const { clientId } = userData?.pool;\n const { username } = userData;\n const accessTokenKey = `CognitoIdentityServiceProvider.${clientId}.${username}.accessToken`;\n return userData.storage[accessTokenKey];\n } catch {\n return null;\n }\n};\n\nexport const getSeagullUser = async () => {\n const accessToken = await getCognitoAccessToken();\n return Axios.get(\n `${process.env.REACT_APP_API}v1/user`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const updateSeagullUser = async (updatedUser) => {\n const accessToken = await getCognitoAccessToken();\n return Axios.put(\n `${process.env.REACT_APP_API}v1/user`,\n updatedUser,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n","import axios from 'axios';\n\nimport config from '../config';\nimport storage from './storage.service';\n\nexport const http = axios.create({ baseURL: `${config.baseURL}/` });\nexport const metaDataHttp = axios.create({ baseURL: `${config.metadataURL}/` });\n\nexport const get = async (url, headers = {}, params = {}) => {\n const accessToken = storage.getItem(config.tokenKey);\n\n const authHeader = accessToken ? { Authorization: `Bearer ${accessToken}`, accept: 'application/json' } : {};\n return http.get(url, {\n ...params,\n headers: { ...authHeader, ...headers },\n });\n};\n\nexport const remove = async (url, data, headers = {}) => {\n const accessToken = storage.getItem(config.tokenKey);\n const authHeader = { Authorization: `Bearer ${accessToken}` };\n return http.delete(url, {\n headers: { ...authHeader, ...headers },\n data,\n });\n};\n\nexport const getMetaDataFromGeoPortal = async (url) => metaDataHttp.get(url);\n","import Axios from 'axios';\n\nimport { getCognitoAccessToken } from './user.service';\nimport * as httpService from './http.service';\n\nexport const createOrganization = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.post(\n `${process.env.REACT_APP_API}v1/organizations`,\n requestData,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const updateOrganization = async (id, requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.put(\n `${process.env.REACT_APP_API}v1/organizations/${id}`,\n requestData,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getOrganizations = () => httpService\n .get('/v1/organizations')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getUserOrganizations = async () => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.get(\n `${process.env.REACT_APP_API}v1/user-organizations`,\n {\n headers: accessToken ? { Authorization: `Bearer ${accessToken}` } : {},\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getOrganizationUserOrganizations = async (requestData) => {\n const { organizationId } = requestData;\n const accessToken = await getCognitoAccessToken();\n\n return Axios.get(\n `${process.env.REACT_APP_API}v1/organizations/${organizationId}/user-organizations`,\n {\n headers: accessToken ? { Authorization: `Bearer ${accessToken}` } : {},\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const updateUserOrganization = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n const { organizationId, userOrganizationId, ...rest } = requestData;\n\n return Axios.put(\n `${process.env.REACT_APP_API}v1/organizations/${organizationId}/user-organizations/${userOrganizationId}`,\n { ...rest },\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const deleteUserOrganization = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n const { organizationId, userOrganizationId } = requestData;\n\n return Axios.delete(\n `${process.env.REACT_APP_API}v1/organizations/${organizationId}/user-organizations/${userOrganizationId}`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const joinOrganization = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n const { id, ...rest } = requestData;\n\n return Axios.post(\n `${process.env.REACT_APP_API}v1/organizations/${requestData.id}/user-organizations`,\n { ...rest },\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const verifyOrganization = async (organizationId) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.post(\n `${process.env.REACT_APP_API}v1/organizations/${organizationId}/verifications`,\n {},\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n","const ProfileQueryTypes = {\n REST_PROFILE_PLATFORM: 'REST_PROFILE_PLATFORM',\n REST_PROFILE_ALERTS: 'REST_PROFILE_ALERTS',\n REST_PROFILE_CREATE_ALERT: 'REST_PROFILE_CREATE_ALERT',\n REST_PROFILE_ALERTS_HISTORY: 'REST_PROFILE_ALERTS_HISTORY',\n REST_PROFILE_PREFERENCES: 'REST_PROFILE_PREFERENCES',\n REST_PROFILE_FAVORITES: 'REST_PROFILE_FAVORITES',\n REST_PROFILE_ORGANIZATION_USER_ORGANIZATIONS: 'REST_PROFILE_ORGANIZATION_USER_ORGANIZATIONS',\n REST_PROFILE_FAVORITE_PLATFORMS: 'REST_PROFILE_FAVORITE_PLATFORMS',\n REST_PROFILE_FAVORITE_FILTERS: 'REST_PROFILE_FAVORITE_FILTERS',\n};\n\nexport default ProfileQueryTypes;\n","import { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from 'react-query';\nimport lodash from 'lodash';\n\nimport { getOrganizationUserOrganizations } from '../../services/organization.service';\nimport ProfileQueryTypes from '../../services/query-types/profile';\n\nconst OrganizationNotifications = ({ organizationId, setPendingRequests, pendingRequests }) => {\n const {\n data: organizationUserOrganizationsResult,\n refetch: organizationUserOrganizationsRefetch,\n } = useQuery(\n [ProfileQueryTypes.REST_ORGANIZATION_USER_ORGANIZATIONS, organizationId],\n () => getOrganizationUserOrganizations({ organizationId }),\n { refetchOnWindowFocus: true },\n );\n\n useEffect(() => {\n organizationUserOrganizationsRefetch();\n }, [pendingRequests]);\n\n useEffect(() => {\n if (organizationUserOrganizationsResult?.user_organizations?.length > 0) {\n const joinRequests = organizationUserOrganizationsResult.user_organizations.filter(\n (userOrganization) => userOrganization.pending_organization_role && !userOrganization.deleted_at,\n );\n const newNotifications = lodash.union(pendingRequests, joinRequests);\n setPendingRequests(newNotifications);\n }\n }, [organizationUserOrganizationsResult]);\n\n return null;\n};\n\nOrganizationNotifications.propTypes = {\n organizationId: PropTypes.number,\n setPendingRequests: PropTypes.func,\n pendingRequests: PropTypes.array,\n};\n\nOrganizationNotifications.defaultProps = {\n organizationId: null,\n setPendingRequests: () => {},\n pendingRequests: [],\n};\n\nexport default OrganizationNotifications;\n","const MapQueryTypes = {\n REST_OBSERVATIONAL_DATA: 'REST_OBSERVATIONAL_DATA', // Dashboard\n REST_OBSERVATIONAL_DATA_CONSOLE_DETAIL: 'REST_OBSERVATIONAL_DATA_CONSOLE_DETAIL',\n REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL: 'REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL',\n REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL_OMICS: 'REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL_OMICS',\n REST_OBSERVATIONAL_V2_DATA: 'REST_OBSERVATIONAL_V2_DATA',\n REST_OBSERVATIONAL_V2_DATA_OMICS: 'REST_OBSERVATIONAL_V2_DATA_OMICS',\n REST_OBSERVATIONAL_LATEST_DATA: 'REST_OBSERVATIONAL_LATEST_DATA',\n REST_OBSERVATIONAL_PLATFORMS: 'REST_OBSERVATIONAL_PLATFORMS',\n REST_OBSERVATIONAL_PLATFORMS_BY_PLATFORM: 'REST_OBSERVATIONAL_PLATFORMS_BY_PLATFORM',\n REST_OBSERVATIONAL_PLATFORMS_BY_ORG: 'REST_OBSERVATIONAL_PLATFORMS_BY_ORG',\n REST_OBS_DATASETS: 'REST_OBS_DATASETS',\n REST_OBS_DATASET_SUMMARIES: 'REST_OBS_DATASET_SUMMARIES', // Dashboard\n REST_OBS_DATASET_SUMMARIES_DATASET_DETAIL: 'REST_OBS_DATASET_SUMMARIES_DATASET_DETAIL',\n REST_OBS_DATASET_SUMMARIES_PARAMETER_DETAIL: 'REST_OBS_DATASET_SUMMARIES_PARAMETER_DETAIL',\n REST_OBS_DATASETS_LATEST: 'REST_OBS_DATASETS_LATEST',\n REST_ORGANIZATIONS: 'REST_ORGANIZATIONS',\n REST_USER_ORGANIZATIONS: 'REST_USER_ORGANIZATIONS',\n REST_PARAMETERS_REGISTERED: 'REST_PARAMETERS_REGISTERED',\n REST_PARAMETERS_REGISTERED_GROUPDETAIL: 'REST_PARAMETERS_REGISTERED_GROUPDETAIL',\n REST_PARAMETERS_REGISTERED_ALERTS: 'REST_PARAMETERS_REGISTERED_ALERTS',\n REST_PARAMETERS_REGISTERED_CREATEALERT: 'REST_PARAMETERS_REGISTERED_CREATEALERT',\n REST_PARAMETERS_REGISTERED_PARAMETERDETAIL: 'REST_PARAMETERS_REGISTERED_PARAMETERDETAIL',\n REST_PARAMETERS_REGISTERED_CONSOLEDETAIL: 'REST_PARAMETERS_REGISTERED_CONSOLEDETAIL',\n REST_PARAMETERS_REGISTERED_DATACONSOLE: 'REST_PARAMETERS_REGISTERED_DATACONSOLE',\n REST_PARAMETERS_REGISTERED_CONSOLECOMPARE: 'REST_PARAMETERS_REGISTERED_CONSOLECOMPARE',\n REST_PARAMETERS_REGISTERED_DASHBOARD: 'REST_PARAMETERS_REGISTERED_DASHBOARD',\n REST_PARAMETER_CONFIGURATIONS: 'REST_PARAMETER_CONFIGURATIONS',\n REST_PARAMETER_GROUP_CONFIGURATIONS: 'REST_PARAMETER_GROUP_CONFIGURATIONS',\n REST_PARAMETERS: 'REST_PARAMETERS',\n REST_SEARCH_DATA: 'REST_SEARCH_DATA',\n REST_PLATFORM_METADATA: 'REST_PLATFORM_METADATA',\n REST_PLATFORM_SPONSORS: 'REST_PLATFORM_SPONSORS',\n REST_PLATFORM_WEATHER: 'REST_PLATFORM_WEATHER',\n REST_ORGANIZATION_DATASETS: 'REST_ORGANIZATION_DATASETS',\n REST_OBSERVATIONAL_DATASET_TRAJECTORIES: 'REST_OBSERVATIONAL_DATASET_TRAJECTORIES',\n};\n\nexport default MapQueryTypes;\n","import Axios from 'axios';\n\nimport { getCognitoAccessToken } from './user.service';\n\nexport const getUserAlerts = async () => {\n const accessToken = await getCognitoAccessToken();\n if (accessToken) {\n return Axios.get(\n `${process.env.REACT_APP_API}v1/obs-alerts`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n }\n};\n\nexport const createAlert = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.post(\n `${process.env.REACT_APP_API}v1/obs-alerts`,\n requestData,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const updateAlert = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.put(\n `${process.env.REACT_APP_API}v1/obs-alerts/${requestData.id}`,\n { name: requestData.name },\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const deleteAlert = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.delete(\n `${process.env.REACT_APP_API}v1/obs-alerts/${requestData.id}`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n data: {},\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getUserAlertsHistory = async (params) => {\n const accessToken = await getCognitoAccessToken();\n if (accessToken) {\n return Axios.get(\n `${process.env.REACT_APP_API}v1/obs-alert-events?alertStatus=active`,\n {\n params,\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n ).then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n }\n};\n\nexport const acknowledgeAlert = async (requestData) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.patch(\n `${process.env.REACT_APP_API}v1/obs-alert-event-acknowledgements`,\n requestData,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getUserPreferences = () => Axios.get('/data/preferences.json').then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getUserFavoritePlatforms = async () => {\n const accessToken = await getCognitoAccessToken();\n\n if (!accessToken) return null;\n\n return Axios.get(\n `${process.env.REACT_APP_API}v1/obs-dataset-favorites`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getUserFavoriteFilters = () => Axios.get('/data/favorites.json').then(({ data }) => data.filters);\n\nexport const createUserFavorite = async (newFavorite) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.post(\n `${process.env.REACT_APP_API}v1/obs-dataset-favorites`,\n newFavorite,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const updateUserFavorite = async (data) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.put(\n `${process.env.REACT_APP_API}v1/obs-dataset-favorites/${data.id}`,\n { nickname: data.newNickname },\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const deleteUserFavorite = async (data) => {\n const accessToken = await getCognitoAccessToken();\n\n return Axios.delete(\n `${process.env.REACT_APP_API}v1/obs-dataset-favorites/${data.id}`,\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getUserPlatforms = () => Axios.get('/data/platforms.json').then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n","import React from 'react';\nimport { Badge } from 'antd';\nimport PropTypes from 'prop-types';\n\nimport { brandingConfig } from '../../config';\n\nconst NotificationsBadge = ({ notificationCount, style }) => (\n \n);\n\nNotificationsBadge.propTypes = {\n notificationCount: PropTypes.number,\n style: PropTypes.object,\n};\n\nNotificationsBadge.defaultProps = {\n notificationCount: 0,\n style: {},\n};\n\nexport default NotificationsBadge;\n","import React from 'react';\nimport DOMPurify from 'dompurify';\nimport PropTypes from 'prop-types';\n\nconst HtmlText = ({ string }) => {\n const sanitizedHtmlContent = DOMPurify.sanitize(string);\n\n return (\n // eslint-disable-next-line react/no-danger\n \n );\n};\n\nHtmlText.propTypes = {\n string: PropTypes.string,\n};\n\nHtmlText.defaultProps = {\n string: '',\n};\n\nexport default HtmlText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport {\n Button,\n Typography,\n} from 'antd';\nimport moment from 'moment';\n\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport { brandingConfig } from '../../config';\nimport NotificationsBadge from './NotificationsBadge';\nimport HtmlText from '../html-text';\n\nconst { Title, Paragraph } = Typography;\n\nconst NotificationsDrawer = ({\n setIsNotificationsDrawerOpen,\n announcements,\n dismissAllAnnouncements,\n alertCount,\n}) => (\n \n
\n \n \n Alerts\n {alertCount > 0 && (\n \n )}\n \n

\n Announcements\n {announcements?.length > 0 && (\n \n )}\n

\n
\n setIsNotificationsDrawerOpen(false)}\n />\n \n
\n {announcements?.length >= 1\n ? announcements.map((announcement) => (\n \n \n {announcement.announcement_title}\n \n \n \n \n \n {moment(announcement.begin_time).format('MMM Do, YYYY hh:mma')}\n \n
\n ))\n : No New Announcements}\n \n \n \n Dismiss All\n \n \n See All\n \n \n \n);\n\nNotificationsDrawer.propTypes = {\n setIsNotificationsDrawerOpen: PropTypes.func,\n announcements: PropTypes.array,\n dismissAllAnnouncements: PropTypes.func,\n alertCount: PropTypes.number,\n};\n\nNotificationsDrawer.defaultProps = {\n setIsNotificationsDrawerOpen: () => {},\n announcements: [],\n dismissAllAnnouncements: () => {},\n alertCount: 0,\n};\n\nexport default NotificationsDrawer;\n","import * as React from 'react';\n\nconst Megaphone = (props) => (\n \n \n \n \n \n);\nexport default Megaphone;\n","import React from 'react';\nimport {\n Typography, Dropdown,\n} from 'antd';\nimport PropTypes from 'prop-types';\n\nimport NotificationsDrawer from './NotificationsDrawer';\nimport Megaphone from '../icons/Megaphone';\nimport NotificationsBadge from './NotificationsBadge';\nimport { brandingConfig } from '../../config';\n\nconst NotificationsMenu = ({\n isNotificationsDrawerOpen,\n setIsNotificationsDrawerOpen,\n announcements,\n dismissAllAnnouncements,\n alertCount,\n announcementCount,\n}) => (\n setIsNotificationsDrawerOpen(!isNotificationsDrawerOpen)}\n >\n \n )}\n trigger={['click']}\n placement=\"topRight\"\n overlayClassName=\"custom-dropdown-overlay\"\n visible={isNotificationsDrawerOpen}\n >\n e.preventDefault()}\n style={{\n marginRight: 10,\n marginLeft: 10,\n display: 'flex',\n alignItems: 'center',\n }}\n >\n \n  \n {(alertCount > 0 || announcementCount) > 0 && (\n \n )}\n \n \n \n);\n\nNotificationsMenu.propTypes = {\n isNotificationsDrawerOpen: PropTypes.bool,\n setIsNotificationsDrawerOpen: PropTypes.func,\n announcements: PropTypes.array,\n dismissAllAnnouncements: PropTypes.func,\n alertCount: PropTypes.number,\n announcementCount: PropTypes.number,\n};\n\nNotificationsMenu.defaultProps = {\n isNotificationsDrawerOpen: false,\n setIsNotificationsDrawerOpen: () => {},\n announcements: [],\n dismissAllAnnouncements: () => {},\n alertCount: 0,\n announcementCount: 0,\n};\n\nexport default NotificationsMenu;\n","import React, {\n useContext, useState, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Avatar, Dropdown, Menu, Typography,\n} from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport { Link as NavLink } from 'react-router-dom';\nimport { useQuery } from 'react-query';\n\nimport { profileMenuItems } from './constant';\nimport { featureFlag } from '../../constant';\nimport UserContext from '../../contexts/UserContext';\nimport OrganizationNotifications from './OrganizationNotifications';\nimport MapQueryTypes from '../../services/query-types/map';\nimport ProfileQueryTypes from '../../services/query-types/profile';\nimport { getUserOrganizations } from '../../services/organization.service';\nimport { getUserAlertsHistory } from '../../services/profile.service';\nimport NotificationsMenu from './NotificationsMenu';\n\nconst { Link } = Typography;\n\nconst LoggedInProfileMenu = ({\n isMobile,\n onMenuClick,\n handleSignOut,\n announcements,\n dismissAllAnnouncements,\n}) => {\n const { cognitoUser } = useContext(UserContext);\n const [alertCount, setAlertCount] = useState(0);\n const [pendingRequests, setPendingRequests] = useState([]);\n const [isNotificationsDrawerOpen, setIsNotificationsDrawerOpen] = useState(false);\n\n const {\n data: userOrganizationsResult,\n isLoading: userOrganizationsResultIsLoading,\n } = useQuery(MapQueryTypes.REST_USER_ORGANIZATIONS, getUserOrganizations, { refetchOnWindowFocus: false });\n\n const {\n data: alertsHistoryResult,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_ALERTS_HISTORY,\n () => getUserAlertsHistory(),\n {\n refetchOnWindowFocus: true,\n },\n );\n\n useEffect(() => {\n let newNotificationCount = 0;\n\n if (alertsHistoryResult?.length > 0) {\n const newAlerts = alertsHistoryResult.filter((alert) => !alert.acknowledged);\n if (newAlerts?.length > 0) {\n newNotificationCount += newAlerts.length;\n }\n }\n\n if (pendingRequests?.length > 0) {\n newNotificationCount += pendingRequests.length;\n }\n\n setAlertCount(newNotificationCount);\n }, [pendingRequests, alertsHistoryResult]);\n\n const profileMenu = (\n \n {profileMenuItems().map((menuItem) => (\n \n \n {menuItem.icon}\n {menuItem.title}\n \n \n ))}\n \n \n Log out\n \n \n \n );\n\n return (\n isMobile ? (\n \n \n )\n }\n >\n Welcome, \n {cognitoUser?.attributes?.given_name}\n  \n \n {profileMenuItems().map((menuItem) => (\n \n \n {menuItem.icon}\n {menuItem.title}\n \n \n ))}\n \n \n Log out\n \n \n \n ) : (\n <>\n
\n \n e.preventDefault()}\n style={{ marginRight: 10, marginLeft: 10 }}\n >\n Welcome, \n {cognitoUser?.attributes?.preferred_username || cognitoUser?.attributes?.given_name}\n  \n \n \n \n
\n {featureFlag.notifications\n && (\n <>\n {!userOrganizationsResultIsLoading\n && !!userOrganizationsResult.length\n && userOrganizationsResult?.map((userOrganization) => (\n userOrganization.organization_role === 'admin' && (\n \n // ^this component just runs a query and some logic and sets pendingRequests state. Not the best way to do this.\n )\n ))}\n \n \n )}\n \n )\n );\n};\n\nLoggedInProfileMenu.propTypes = {\n isMobile: PropTypes.bool,\n onMenuClick: PropTypes.func,\n handleSignOut: PropTypes.func,\n announcements: PropTypes.array,\n dismissAllAnnouncements: PropTypes.func,\n};\n\nLoggedInProfileMenu.defaultProps = {\n isMobile: false,\n onMenuClick: () => {},\n handleSignOut: () => {},\n announcements: [],\n dismissAllAnnouncements: () => {},\n};\n\nexport default LoggedInProfileMenu;\n","export const ANNOUNCEMENT_LEVELS = {\n central: 'central',\n info: 'info',\n};\n\nexport const LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY = 'announcementsAcknowledgements';\n\n/**\n * Get active (unexpired) announcements\n * @param {array} announcements - array of announcements\n * @param {string} announcementLevel - level of announcement: central||info. If unspecified, all announcement types are returned.\n * @returns {array} containing active announcements\n */\nexport const getActiveAnnouncements = (announcements, announcementLevel = null) => {\n const now = new Date().getTime();\n const activeAnnouncements = announcements\n .filter((announcement) => {\n const beginTime = new Date(announcement.begin_time).getTime();\n const expirationTime = new Date(announcement.expiration_time).getTime();\n\n return beginTime <= now && expirationTime >= now;\n });\n\n if (!announcementLevel) {\n return activeAnnouncements;\n }\n\n return activeAnnouncements.filter((announcement) => announcement.announcement_level === announcementLevel);\n};\n\n/**\n * Returns all announcements\n * @param {array} announcements - array of announcements\n * @param {string} announcementLevel - level of announcement: central||info. If unspecified, all announcement types are returned.\n * @returns {array} containing all announcements\n */\nexport const getAllAnnouncements = (announcements, announcementLevel = null) => {\n if (!announcementLevel) {\n return announcements;\n }\n\n return announcements.filter((announcement) => announcement.announcement_level === announcementLevel);\n};\n\n/**\n * Get active, unacknowledged announcements\n * @param {array} announcements - array of announcements\n * @returns {array} containing unacknowledged announcements\n */\nexport const getUnacknowledgedAnnouncements = (announcements) => {\n const acknowledgedAnnouncementIds = JSON.parse(localStorage.getItem(LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY)) || [];\n\n // If an announcement contains acknowledgements (from authenticated API request), or its ID is in\n // acknowledgedAnnouncementIds (from unauthenticated local storage), it is considered acknowledged.\n const unacknowledged = announcements\n .filter((announcement) => announcement.acknowledgements.length < 1)\n .filter((announcement) => !acknowledgedAnnouncementIds.includes(announcement.announcement_id));\n\n return unacknowledged;\n};\n","import axios from 'axios';\n\nimport { getCognitoAccessToken } from './user.service';\nimport storageService from './storage.service';\nimport { LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY } from '../utils/announcements';\n\nexport const getAnnouncements = async () => {\n const accessToken = await getCognitoAccessToken();\n\n return axios.get(\n `${process.env.REACT_APP_API}v1/announcements?nestOrganizationId=${process.env.REACT_APP_NEST_ORGANIZATION_ID}`,\n {\n headers: accessToken ? { Authorization: `Bearer ${accessToken}` } : {},\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const acknowledgeAnnouncement = async (announcementId) => {\n const accessToken = await getCognitoAccessToken();\n\n // Get array of acknowledged announcement IDs from local storage. If one doesn't yet exist, initialize to empty array.\n const acknowledgedAnnouncementIds = storageService.getItem(LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY) || [];\n if (!acknowledgedAnnouncementIds.includes(announcementId)) {\n acknowledgedAnnouncementIds.push(announcementId);\n }\n\n storageService.setItem(LOCALSTORAGE_ACKNOWLEDGEMENTS_KEY, acknowledgedAnnouncementIds);\n\n if (!accessToken) {\n // unauthenticated user\n // useMutation, which calls acknowledgeAnnouncement as its queryFn, expects a Promise returned\n return new Promise((resolve) => {\n resolve();\n });\n }\n\n return axios.post(\n `${process.env.REACT_APP_API}v1/announcements/${announcementId}/acknowledge`,\n {}, // empty request body\n {\n headers: { Authorization: `Bearer ${accessToken}` },\n },\n )\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n","import { useQuery } from 'react-query';\nimport { getAnnouncements } from '../../services/announcement.service';\nimport { getActiveAnnouncements, getUnacknowledgedAnnouncements, getAllAnnouncements } from '../../utils/announcements';\n\n/**\n * Hook to use announcements\n * @param {object} cognitoUser - The current Cognito user object\n * @param {boolean} unacknowledged - Return only announcements that have not been acknowledged.\n * If unspecified, all announcements are returned.\n * @param {string} announcementLevel - Level of announcement: central||info.\n * If unspecified, all announcement types are returned.\n * @param {boolean} includeExpired - If true, expired announcements are returned as well as active.\n* If false, returns only active non-expired announcements.\n * If unspecified, returns only active non-expired announcements.\n * @returns {array} containing announcements\n */\nexport const useAnnouncements = (cognitoUser, unacknowledged = false, announcementLevel = null, includeExpired = false) => {\n const queryKey = ['announcements'];\n\n if (cognitoUser) {\n queryKey.push(cognitoUser.username);\n }\n\n const { data: announcements, isLoading, refetch: refetchAnnouncements } = useQuery(\n queryKey,\n getAnnouncements,\n {\n select: (data) => {\n if (includeExpired) {\n const allAnnouncements = getAllAnnouncements(data, announcementLevel);\n\n if (unacknowledged) {\n return getUnacknowledgedAnnouncements(allAnnouncements, announcementLevel);\n }\n\n return allAnnouncements;\n }\n\n const activeAnnouncements = getActiveAnnouncements(data, announcementLevel);\n if (unacknowledged) {\n return getUnacknowledgedAnnouncements(activeAnnouncements, announcementLevel);\n }\n\n return activeAnnouncements;\n },\n },\n );\n\n return { announcements, isLoading, refetchAnnouncements };\n};\n","import { useMutation } from 'react-query';\nimport { acknowledgeAnnouncement } from '../../services/announcement.service';\n\nexport const useAcknowledgeAnnouncement = () => useMutation((announcementId) => acknowledgeAnnouncement(announcementId));\n","import React, {\n useContext, useState,\n} from 'react';\nimport {\n Menu, Typography, Button,\n} from 'antd';\nimport PropTypes from 'prop-types';\nimport { Link as NavLink } from 'react-router-dom';\nimport { AuthState } from '@aws-amplify/ui-components';\nimport UserContext from '../../contexts/UserContext';\nimport { brandingConfig } from '../../config';\nimport LoggedInProfileMenu from './LoggedInProfileMenu';\nimport { useAnnouncements } from '../announcements/useAnnouncements';\nimport { useAcknowledgeAnnouncement } from '../announcements/useAcknowledgeAnnouncement';\nimport NotificationsMenu from './NotificationsMenu';\n\nconst { Link } = Typography;\nconst ProfileMenu = (props) => {\n const {\n isMobile, onClickSignIn, handleSignOut, onMenuClick,\n } = props;\n const {\n authState, cognitoUser,\n } = useContext(UserContext);\n const { announcements, refetchAnnouncements } = useAnnouncements(cognitoUser, true);\n\n const [isNotificationsDrawerOpen, setIsNotificationsDrawerOpen] = useState(false);\n\n const acknowledgementMutation = useAcknowledgeAnnouncement();\n\n const dismissAllAnnouncements = () => {\n announcements.forEach((announcement) => {\n acknowledgementMutation.mutate(announcement.announcement_id, {\n onSettled: () => refetchAnnouncements(),\n });\n });\n };\n\n if (authState === AuthState.SignedIn || authState === 'cognitoHostedUI') {\n return (\n \n );\n }\n\n if (isMobile) {\n return (\n \n \n \n Log in\n \n \n \n \n Preferences\n \n \n \n \n Notifications\n \n \n \n );\n }\n\n // not logged in and not mobile\n return (\n <>\n \n \n Log in\n \n \n );\n};\n\nProfileMenu.propTypes = {\n isMobile: PropTypes.bool,\n onClickSignIn: PropTypes.func,\n handleSignOut: PropTypes.func,\n onMenuClick: PropTypes.func,\n};\n\nProfileMenu.defaultProps = {\n isMobile: false,\n onClickSignIn: () => {},\n handleSignOut: () => {},\n onMenuClick: () => {},\n};\n\nexport default ProfileMenu;\n","import React, { useEffect } from 'react';\nimport { Drawer, Menu } from 'antd';\nimport { Link as NavLink, useHistory } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport Logo from './Logo';\nimport ProfileMenu from './ProfileMenu';\nimport { featureFlag } from '../../constant';\nimport { MarkIcon } from '../icons';\nimport { consoleMenuMobile } from '../sidebar/constant';\n\nconst { SubMenu } = Menu;\n\nconst MobileMenu = (props) => {\n const {\n visible,\n selectedKey,\n onClose,\n handleSignOut,\n onClickSignIn,\n } = props;\n\n const history = useHistory();\n\n useEffect(() => {\n history.listen(() => {\n if (visible) {\n onClose();\n }\n });\n }, [history]);\n\n const menuItems = [\n {\n key: 'map',\n title: 'Map',\n },\n ...consoleMenuMobile,\n ];\n\n return (\n }\n >\n \n \n \n \n {menuItems.map((menuItem) => (\n menuItem?.children\n ? (\n \n {menuItem?.children && menuItem?.children?.map((subMenuItem) => (\n \n \n {subMenuItem?.title}\n \n \n ))}\n \n ) : (\n \n \n {menuItem.title}\n \n \n )\n ))}\n \n {featureFlag.userProfile && (\n \n )}\n \n );\n};\n\nMobileMenu.propTypes = {\n selectedKey: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n handleSignOut: PropTypes.func,\n onClickSignIn: PropTypes.func,\n};\n\nMobileMenu.defaultProps = {\n selectedKey: '',\n visible: false,\n onClose: () => {},\n handleSignOut: () => {},\n onClickSignIn: () => {},\n};\n\nexport default MobileMenu;\n","import React, { memo } from 'react';\nimport { Button } from 'antd';\nimport { ArrowRightOutlined, CloseCircleFilled, LoadingOutlined } from '@ant-design/icons';\n\nimport PropTypes from 'prop-types';\nimport { brandingConfig } from '../../../config';\n\nconst SearchSuffix = (props) => {\n const {\n hasText, searchReady, onClick, onClear, isFetching,\n } = props;\n\n return (\n <>\n {searchReady && hasText\n ? (\n \n ) : ''}\n : }\n onClick={onClick}\n />\n \n );\n};\n\nSearchSuffix.propTypes = {\n hasText: PropTypes.bool,\n searchReady: PropTypes.bool,\n onClick: PropTypes.func,\n onClear: PropTypes.func,\n isFetching: PropTypes.bool,\n};\n\nSearchSuffix.defaultProps = {\n hasText: false,\n searchReady: false,\n onClick: () => {},\n onClear: () => {},\n isFetching: false,\n};\n\nexport default memo(SearchSuffix);\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Drawer, Input } from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport { useHistory } from 'react-router';\nimport { useMediaQuery } from 'react-responsive';\n\nimport SearchSuffix from '../../pages/landing/components/SearchSuffix';\nimport { CloseIcon } from '../icons';\nimport Logo from '../topbar/Logo';\n\nimport './styles.scss';\n\nconst SearchDrawer = (props) => {\n const history = useHistory();\n const isMobile = useMediaQuery({ maxWidth: 567 });\n\n const { visible, onClose } = props;\n\n const [searchQuery, setSearchQuery] = useState('');\n\n const onChange = (e) => setSearchQuery(e.target.value);\n\n const onSearch = () => {\n history.push({\n pathname: '/landing',\n search: `?q=${searchQuery}`,\n });\n };\n\n return (\n \n \n
\n )}\n onClose={onClose}\n mask={isMobile}\n maskClosable={isMobile}\n visible={visible}\n title={}\n >\n \n What are you looking for?\n \n }\n onChange={onChange}\n suffix={(\n \n )}\n />\n \n );\n};\n\nSearchDrawer.propTypes = {\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nSearchDrawer.defaultProps = {\n visible: false,\n onClose: () => {},\n};\nexport default SearchDrawer;\n","import React from 'react';\n// import PropTypes from 'prop-types';\nimport {\n Dropdown, Radio, Space,\n} from 'antd';\nimport { DownOutlined, SettingFilled } from '@ant-design/icons';\n\nimport storageService from '../../services/storage.service';\nimport './styles.scss';\n\nconst temperatureOptions = [\n {\n label: 'Fahrenheit',\n value: 'fahrenheit',\n },\n {\n label: 'Celsius',\n value: 'celsius',\n },\n];\n\nconst unitsOfMeasureOptions = [\n {\n label: 'Imperial',\n value: 'imperial',\n },\n {\n label: 'Metric',\n value: 'metric',\n },\n];\n\nconst PreferencesMenu = () => {\n const onChangeTemp = (e) => {\n const userPreferences = storageService.getItem('userPreferences');\n userPreferences.temp_preference = e.target.value;\n storageService.setItem('userPreferences', userPreferences);\n };\n\n const onChangeUnit = (e) => {\n const userPreferences = storageService.getItem('userPreferences');\n userPreferences.unit_preference = e.target.value;\n storageService.setItem('userPreferences', userPreferences);\n };\n\n const menu = (\n
\n \n
\n
Temperature
\n \n
\n
\n
Units of Measurement
\n \n
\n
\n
\n );\n\n return (\n \n e.preventDefault()} style={{ marginLeft: 10 }}>\n \n  \n Preferences\n  \n \n \n \n );\n};\n\nPreferencesMenu.propTypes = {\n};\n\nPreferencesMenu.defaultProps = {\n};\n\nexport default PreferencesMenu;\n","import React, {\n memo, useState, useContext, useRef, useEffect,\n} from 'react';\nimport {\n Button, Input, Layout, Menu,\n} from 'antd';\nimport { useLocation } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport MediaQuery from 'react-responsive';\nimport classnames from 'classnames';\nimport { SearchOutlined } from '@ant-design/icons';\nimport PropTypes from 'prop-types';\nimport { AuthState } from '@aws-amplify/ui-components';\nimport './styles.scss';\nimport ProfileMenu from './ProfileMenu';\nimport MobileMenu from './MobileMenu';\nimport Logo from './Logo';\nimport { CloseIcon, MenuIcon } from '../icons';\nimport SearchDrawer from '../search-drawer';\nimport { featureFlag } from '../../constant';\nimport UserContext from '../../contexts/UserContext';\nimport PreferencesMenu from './PreferencesMenu';\n\nconst { Header } = Layout;\n\nconst TopBar = (props) => {\n const {\n logoVisible,\n getSelectedKey,\n setAuthDrawerOpen,\n handleSignOut,\n } = props;\n\n const [visible, setVisible] = useState(false);\n const [searchVisible, setSearchVisible] = useState(false);\n\n const {\n authState,\n globalSearch,\n setGlobalSearch,\n setSearchActive,\n } = useContext(UserContext);\n\n const location = useLocation();\n const searchBtn = useRef(null);\n\n const onClick = () => setVisible(!visible);\n\n const onClose = () => setVisible(false);\n\n const onCloseSearch = () => setSearchVisible(false);\n\n const showSearch = () => setSearchVisible(!searchVisible);\n\n const onChange = (e) => setGlobalSearch(e.target.value);\n\n const onEnter = (e) => {\n if (e.key === 'Enter') {\n searchBtn?.current.click();\n }\n };\n\n const onClickSignIn = () => {\n setAuthDrawerOpen(true);\n };\n\n const selectedKey = getSelectedKey();\n\n useEffect(() => {\n if (location.pathname !== '/search') {\n setGlobalSearch('');\n }\n }, [location]);\n\n return (\n <>\n
\n
\n {visible ? \n :
\n \n
\n \n \n setAuthDrawerOpen(false)}>\n Map\n \n \n \n setAuthDrawerOpen(false)}>\n Console\n \n \n \n
\n\n
\n { !visible\n ? (\n <>\n \n setSearchActive(true)}>\n }\n />\n \n )}\n />\n \n \n {searchVisible ? \n : }\n \n \n ) : '' }\n {featureFlag.userPreferences && authState !== AuthState.SignedIn && authState !== 'cognitoHostedUI' && (\n \n \n \n )}\n {featureFlag.userProfile && (\n \n \n \n )}\n
\n
\n \n\n {!location.pathname?.includes('/landing')\n ? : ''}\n \n );\n};\n\nTopBar.propTypes = {\n logoVisible: PropTypes.bool,\n getSelectedKey: PropTypes.func,\n setAuthDrawerOpen: PropTypes.func,\n handleSignOut: PropTypes.func,\n};\n\nTopBar.defaultProps = {\n logoVisible: true,\n getSelectedKey: () => {},\n setAuthDrawerOpen: () => {},\n handleSignOut: () => {},\n};\n\nexport default memo(TopBar);\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SeabedSvg = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst SeabedIcon = (props) => ;\n\nexport default SeabedIcon;\n","import React from 'react';\nimport { ExclamationCircleOutlined } from '@ant-design/icons';\n\nimport {\n AnchoredIcon,\n CurrentIcon,\n ThermometerIcon,\n WindSpeedIcon,\n TowerIcon,\n SamplingIcon,\n ErieIcon,\n HuronIcon,\n MovingIcon,\n MichiganIcon,\n OntarioIcon,\n SuperiorIcon,\n VirusIcon,\n SeagullLogo,\n RaeonLogo,\n} from '../../components/icons';\n\nimport SeabedIcon from '../../components/icons/Seabed';\n\nexport const greatLakes = [\n {\n icon: ErieIcon,\n key: 'erie',\n text: 'Erie',\n },\n {\n icon: HuronIcon,\n text: 'Huron',\n key: 'huron',\n },\n {\n icon: MichiganIcon,\n text: 'Michigan',\n key: 'michigan',\n },\n {\n icon: OntarioIcon,\n text: 'Ontario',\n key: 'ontatrio',\n },\n {\n icon: SuperiorIcon,\n text: 'Superior',\n key: 'superior',\n },\n];\n\nexport const parameters = [\n {\n category: 'general',\n name: 'Air Pressure',\n },\n {\n category: 'general',\n name: 'Chlorophyll',\n },\n {\n category: 'general',\n name: 'Dew Point',\n },\n {\n category: 'general',\n name: 'Max Wave Height',\n },\n {\n category: 'general',\n name: 'Relatie Humidity',\n },\n {\n category: 'general',\n name: 'Solar Radiation',\n },\n {\n category: 'general',\n name: 'Turbidity',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @3ft',\n },\n {\n category: 'general',\n name: 'Wave Direction',\n },\n {\n category: 'general',\n name: 'Wave Period',\n },\n {\n category: 'general',\n name: 'Wind Gust',\n },\n {\n category: 'general',\n name: 'Air Temp',\n },\n {\n category: 'general',\n name: 'Battery Voltage',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @7ft',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @10ft',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @13ft',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @16ft',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @20ft',\n },\n {\n category: 'water_temp_at_depths',\n name: 'Water Temp @23ft',\n },\n];\n\nexport const statuses = [\n {\n title: 'Activated',\n },\n {\n title: 'Recovered',\n },\n {\n title: 'Unavailable',\n },\n {\n title: 'Decommissioned',\n },\n];\n\nexport const platformTags = [\n {\n icon: ,\n key: 'nest',\n text: 'Platforms',\n category: 'platform',\n type: 'nest',\n },\n {\n icon: ,\n key: 'seagull',\n text: 'Platforms',\n category: 'platform',\n type: 'nest',\n },\n {\n icon: ,\n key: 'buoy',\n text: 'Anchored',\n category: 'platform',\n },\n {\n icon: ,\n key: 'moving',\n text: 'Moving',\n category: 'platform',\n },\n {\n icon: ,\n key: 'tower',\n text: 'Towers',\n category: 'platform',\n },\n {\n icon: ,\n key: 'sampling_location',\n text: 'Sampling Locations',\n category: 'platform',\n },\n];\n\nexport const weatherTags = [\n {\n icon: ,\n key: 'water_current',\n text: 'Water Currents',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n {\n icon: ,\n key: 'surface_water_temperature',\n text: 'Surface Water Temperature',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n {\n icon: ,\n key: 'wind_current',\n text: 'Wind Speed',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n {\n icon: ,\n key: 'omics',\n text: '\\'Omics Data',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n];\n\nexport const overlayTags = [\n {\n icon: ,\n key: 'water_current',\n text: 'Water Currents',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n {\n icon: ,\n key: 'surface_water_temperature',\n text: 'Surface Water Temperature',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n {\n icon: ,\n key: 'wind_current',\n text: 'Wind Speed',\n forecast: true,\n category: 'weather',\n overlay: true,\n },\n];\n\nexport const waterTags = [\n {\n icon: ,\n key: 'algae_bloom',\n text: 'Algae Blooms',\n category: 'water',\n },\n];\n\nexport const orgTags = [\n {\n icon: ,\n key: 'omics',\n text: '\\'Omics',\n category: 'org',\n overlay: true,\n },\n {\n icon: ,\n key: 'bathy',\n text: 'Bathymetry',\n category: 'org',\n overlay: true,\n },\n];\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SvgComponent = (props) => (\n \n \n \n);\n\nconst FavoriteIcon = (props) => ;\n\nexport default FavoriteIcon;\n","import * as React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst SvgComponent = (props) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nconst ShareIcon = (props) => ;\n\nexport default ShareIcon;\n","import React, {\n memo, useContext, useEffect, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button, Tag, Tooltip, Switch,\n} from 'antd';\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport MediaQuery, { useMediaQuery } from 'react-responsive';\nimport classNames from 'classnames';\nimport _ from 'lodash';\n\nimport { greatLakes, platformTags } from '../constant';\nimport FavoriteIcon from '../../../components/icons/Favorite';\n\nimport {\n FilterIcon, CollectionSiteIcon,\n} from '../../../components/icons';\nimport { brandingConfig } from '../../../config';\nimport './MapControls.scss';\nimport UserContext from '../../../contexts/UserContext';\nimport { featureFlag } from '../../../constant';\nimport ShareIcon from '../../../components/icons/Share';\n\nconst MapControls = (props) => {\n const {\n tags,\n onClick,\n onTagRemove,\n selectedLake,\n onClearLakes,\n filterFavorites,\n setFilterFavorites,\n setShowPaths,\n onTagSelect,\n onClickShare,\n } = props;\n\n const [addFilters, setAddFilters] = useState(null);\n\n const {\n cognitoUser, setAuthDrawerOpen,\n } = useContext(UserContext);\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const filters = isMobile ? tags.slice(0, 1) : tags;\n const filterActiveClass = tags.length > 0 ? 'active' : '';\n\n // const onCloseTag = (tag) => onTagRemove(tag);\n const onClearLake = () => {\n onClearLakes();\n };\n\n const lakeIdx = greatLakes.find((p) => p.text === selectedLake);\n\n const getLakeIcon = () => {\n const LakeIconComponent = lakeIdx.icon;\n\n switch (lakeIdx.text.toLowerCase()) {\n case 'michigan':\n return ;\n case 'erie': case 'ontario':\n return ;\n default:\n return ;\n }\n };\n\n const onFilterFavorites = () => {\n if (cognitoUser) {\n setFilterFavorites(!filterFavorites);\n } else {\n setAuthDrawerOpen(true);\n }\n };\n\n useEffect(() => {\n if (brandingConfig.filters.isNest) {\n // for nests, need to display option to add Seagull platforms\n const seagullTag = platformTags.find((t) => t.key === 'seagull');\n const seagullIncluded = filters.some((f) => f.key === seagullTag.key);\n const nestFiltered = filters.some((f) => f.key === 'nest');\n\n if (!seagullIncluded && nestFiltered) {\n if (!_.isEqual(addFilters, [seagullTag])) {\n setAddFilters([seagullTag]);\n }\n } else {\n setAddFilters(null);\n }\n }\n }, [filters]);\n\n const iconProps = {\n width: brandingConfig.filters.isNest ? '16' : '28',\n height: brandingConfig.filters.isNest ? '16' : '28',\n style: {\n marginTop: brandingConfig.filters.isNest ? 10 : 4,\n marginBottom: brandingConfig.filters.isNest ? 10 : 4,\n },\n };\n\n return (\n
\n
\n }\n style={{ marginRight: '3%' }}\n />\n {filters.map((tag, index) => {\n if (isMobile || tag.category !== 'overlay') {\n return (\n onTagRemove(tag)}\n closeIcon={}\n className={`${tag.key}-tag ${index}`}\n >\n {tag.icon}\n {' '}\n {tag.text}\n {tag.key === 'moving' && (\n <>\n \n Paths\n \n setShowPaths(checked)}\n />\n \n )}\n \n );\n }\n return null;\n })}\n {addFilters?.length > 0 && addFilters.map((tag, index) => (\n onTagSelect(tag, true, 'platforms')}\n onClick={() => onTagSelect(tag, true, 'platforms')}\n closeIcon={}\n className={classNames(`${tag.key}-tag`, 'add-filter')}\n >\n {tag.icon}\n {' '}\n {tag.text}\n \n ))}\n {selectedLake.length > 0\n && (\n }\n >\n {getLakeIcon()}\n {'Lake '}\n {lakeIdx.text}\n \n )}\n {isMobile && tags.length > 1 && (\n \n )}\n
\n }\n type=\"primary\"\n onClick={onFilterFavorites}\n >\n Favorites\n \n }\n type=\"primary\"\n onClick={onClickShare}\n >\n Share\n \n \n
\n \n {React.cloneElement(brandingConfig.icons.buoyActiveLegend, iconProps)}\n \n \n {React.cloneElement(brandingConfig.icons.buoyRecoveredLegend, iconProps)}\n \n \n {React.cloneElement(brandingConfig.icons.buoyUnavailableLegend, iconProps)}\n \n \n {React.cloneElement(brandingConfig.icons.buoyDecommissionedLegend, iconProps)}\n \n {featureFlag.omics && (\n \n \n \n )}\n
\n
\n
\n );\n};\n\nMapControls.propTypes = {\n tags: PropTypes.array,\n onClick: PropTypes.func,\n onTagRemove: PropTypes.func,\n selectedLake: PropTypes.string,\n onClearLakes: PropTypes.func,\n filterFavorites: PropTypes.bool,\n setFilterFavorites: PropTypes.func,\n setShowPaths: PropTypes.func,\n onTagSelect: PropTypes.func,\n onClickShare: PropTypes.func,\n};\n\nMapControls.defaultProps = {\n tags: [],\n onClick: () => {},\n onTagRemove: () => {},\n onClearLakes: () => {},\n selectedLake: '',\n filterFavorites: false,\n setFilterFavorites: () => {},\n setShowPaths: () => {},\n onTagSelect: () => {},\n onClickShare: () => {},\n};\n\nexport default memo(MapControls);\n","import React, {\n memo,\n} from 'react';\nimport {\n Checkbox,\n} from 'antd';\nimport PropTypes from 'prop-types';\nimport { brandingConfig } from '../../../config';\n\nconst CustomOption = (props) => {\n const {\n key, text, prefix, selected, onClick,\n } = props;\n\n return (\n \n {prefix\n ? {prefix}\n : }\n {text}\n {prefix ? \n : ''}\n \n );\n};\n\nCustomOption.propTypes = {\n key: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n text: PropTypes.string,\n prefix: PropTypes.element,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nCustomOption.defaultProps = {\n key: 0,\n text: '',\n prefix: null,\n selected: false,\n onClick: () => {},\n};\n\nexport default memo(CustomOption);\n","import React from 'react';\nimport {\n Checkbox, Col, Row, Typography,\n} from 'antd';\nimport PropTypes from 'prop-types';\nimport lodash from 'lodash';\n\nimport { parameters } from '../constant';\n\nconst { Link } = Typography;\n\nconst ParametersComponent = (props) => {\n const { collapsed, onExpand } = props;\n\n const paramsGrouped = lodash(parameters).groupBy('category')\n .map((items, category) => ({ category, names: lodash.map(items, 'name') })).value();\n\n const onClick = () => {\n onExpand(false);\n };\n\n return (\n collapsed\n ? (\n \n {parameters.slice(0, 11).map((parameter, index) => (\n \n \n {parameter.name}\n \n ))}\n \n See All\n \n \n )\n : (\n \n {paramsGrouped.map((paramRow) => (\n \n \n \n {paramRow.names.map((nameRow) => (\n \n \n {nameRow}\n \n ))}\n \n \n ))}\n \n )\n );\n};\n\nParametersComponent.propTypes = {\n collapsed: PropTypes.bool,\n onExpand: PropTypes.func,\n};\n\nParametersComponent.defaultProps = {\n collapsed: true,\n onExpand: () => {},\n};\n\nexport default ParametersComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Tag } from 'antd/lib';\nimport './CustomTag.scss';\n\nconst { CheckableTag } = Tag;\n\nconst CustomTag = (props) => {\n const {\n platformTag, index, selectedTags, onTagSelect, disabled, tagCategory,\n } = props;\n\n return (\n disabled\n ? (\n \n {platformTag.icon}\n  \n {platformTag.text}\n \n )\n : (\n item.key).indexOf(platformTag.key) > -1\n }\n onChange={(checked) => onTagSelect(platformTag, checked, tagCategory)}\n >\n {platformTag.icon}\n  \n {platformTag.text}\n \n )\n );\n};\n\nCustomTag.propTypes = {\n platformTag: PropTypes.object,\n index: PropTypes.number,\n selectedTags: PropTypes.array,\n onTagSelect: PropTypes.func,\n disabled: PropTypes.bool,\n tagCategory: PropTypes.string,\n};\n\nCustomTag.defaultProps = {\n platformTag: {},\n index: null,\n selectedTags: [],\n onTagSelect: () => {},\n disabled: false,\n tagCategory: '',\n};\n\nexport default CustomTag;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Drawer, Button, Input,\n} from 'antd';\nimport {\n LeftOutlined,\n} from '@ant-design/icons';\nimport { useMediaQuery } from 'react-responsive';\n\nimport { CloseIcon } from '../../../components/icons';\n\nconst FavoriteModal = (props) => {\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const {\n visible,\n onClose,\n } = props;\n\n const goBack = () => onClose();\n\n return (\n <>\n \n \n
\n )}\n title={(\n
\n {isMobile &&
\n )}\n >\n
\n \"thumb\n
Views and Filters Saved
\n

\n Your Location in Lake Erie and the Surface Water Temperature layer were successfully saved\n

\n \n \n
\n \n \n );\n};\n\nFavoriteModal.propTypes = {\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n};\n\nFavoriteModal.defaultProps = {\n visible: false,\n onClose: () => {},\n};\n\nexport default memo(FavoriteModal);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'antd/lib/modal/Modal';\nimport { Button, Typography } from 'antd';\n\nimport './styles.scss';\n\nimport { CheckCircleIcon, CloseIcon } from '../icons';\nimport { brandingConfig } from '../../config';\n\nconst ConfirmModal = (props) => {\n const {\n visible, removed, description, removedTxt, okText, cancelText, onCancel, onOk,\n } = props;\n\n return (\n }\n onCancel={onCancel}\n maskClosable\n >\n {removed\n ? (\n
\n \n

{removedTxt}

\n
\n )\n : (\n <>\n
Are you sure ?
\n {description &&

{description}

}\n {cancelText}\n \n \n )}\n \n );\n};\n\nConfirmModal.propTypes = {\n visible: PropTypes.bool,\n removed: PropTypes.bool,\n removedTxt: PropTypes.string,\n okText: PropTypes.string,\n cancelText: PropTypes.string,\n description: PropTypes.string,\n onOk: PropTypes.func,\n onCancel: PropTypes.func,\n};\n\nConfirmModal.defaultProps = {\n visible: false,\n removed: false,\n removedTxt: '',\n okText: '',\n cancelText: '',\n description: '',\n onOk: () => {},\n onCancel: () => {},\n};\n\nexport default ConfirmModal;\n","import React from 'react';\nimport Qty from 'js-quantities';\nimport moment from 'moment';\nimport { pinnedParams } from '../contexts/UserContext';\nimport {\n AirTempIcon, WaterTempIcon, WaveHeightIcon, WindSpeedIcon,\n} from '../components/icons';\nimport storageService from '../services/storage.service';\n\nexport const mediaBreakpoints = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400,\n};\n\nexport const getCurrentDirectionValue = (eastwardVelocity, northwardVelocity) => Math.abs((Math.atan(eastwardVelocity / northwardVelocity) * 180) / Math.PI) + 180;\nexport const getCurrentSpeedValue = (eastwardVelocity, northwardVelocity) => Math.sqrt(((eastwardVelocity) ** 2) + ((northwardVelocity) ** 2)) * 100;\n\n/**\n * Computes a \"derived\" current direction observation from eastward and northward velocity obs\n *\n * @param {object} eastwardVelocityObs\n * @param {object} northwardVelocityObs\n * @returns {object} directionObs\n */\nexport const getCurrentDirectionObs = (eastwardVelocityObs, northwardVelocityObs) => {\n // check specifically undefined or null because 0 is falsey, but shouldn't get caught\n if (eastwardVelocityObs?.value === null || eastwardVelocityObs?.value === undefined\n || northwardVelocityObs?.value == null) {\n return null;\n }\n\n const directionObs = { ...eastwardVelocityObs };\n\n directionObs.value = getCurrentDirectionValue(eastwardVelocityObs.value, northwardVelocityObs.value);\n\n return directionObs;\n};\n\n/**\n * Computes a \"derived\" current speed observation from eastward and northward velocity obs\n *\n * @param {object} eastwardVelocityObs\n * @param {object} northwardVelocityObs\n * @returns {object} speedObs\n */\nexport const getCurrentSpeedObs = (eastwardVelocityObs, northwardVelocityObs) => {\n // check specifically undefined or null because 0 is falsey, but shouldn't get caught\n if (eastwardVelocityObs?.value === null || eastwardVelocityObs?.value === undefined\n || northwardVelocityObs?.value == null) {\n return null;\n }\n\n const speedObs = { ...eastwardVelocityObs };\n\n speedObs.value = getCurrentSpeedValue(eastwardVelocityObs.value, northwardVelocityObs.value);\n\n return speedObs;\n};\n\nexport const getPreferredUnit = (canonicalUnit, parameterConfig, unitPreferences) => {\n if (!parameterConfig) { return null; }\n\n if (unitPreferences && Array.isArray(unitPreferences)) {\n const userValue = unitPreferences?.find((p) => p.name === parameterConfig.standard_name);\n if (userValue) {\n return userValue.value;\n }\n } else {\n // eslint-disable-next-line no-console\n console.info(`NOTE: unitPreferences is not an object: ${unitPreferences}`);\n }\n return (canonicalUnit === 'kelvin' || canonicalUnit === 'fahrenheit' || canonicalUnit === 'celsius')\n ? (storageService.getItem('userPreferences').temp_preference === 'fahrenheit' ? parameterConfig?.preferred_imperial_unit_id : parameterConfig?.preferred_metric_unit_id)\n : (storageService.getItem('userPreferences').unit_preference === 'imperial' ? parameterConfig?.preferred_imperial_unit_id : parameterConfig?.preferred_metric_unit_id);\n};\n\nexport const getUnitDisplayName = (parameterConfiguration, preferredUnit) => {\n if (!parameterConfiguration) { return null; }\n return parameterConfiguration?.units.find((o) => o.id === preferredUnit)?.symbol;\n};\n\nconst normalizeCurrentSpeed = (parameter, parametersArr) => {\n let observationsResult = [];\n let northwardObs = [];\n let eastwardObs = [];\n\n if (parameter?.derived_name === 'current_speed' || parameter?.derived_name === 'current_direction') {\n northwardObs = parametersArr.find((o) => o.parameter_id === parameter?.northward_sea_water_velocity_id);\n eastwardObs = parametersArr.find((o) => o.parameter_id === parameter?.eastward_sea_water_velocity_id);\n }\n\n if (parameter?.derived_name === 'current_speed') {\n if (eastwardObs?.observations.length > 0 && northwardObs?.observations.length > 0) {\n const currentObs = {};\n currentObs.observations = eastwardObs?.observations.map((element, index) => getCurrentSpeedObs(eastwardObs.observations[index], northwardObs.observations[index]));\n observationsResult.push(currentObs);\n }\n } else if (parameter?.derived_name === 'current_direction') {\n if (eastwardObs?.observations.length > 0 && northwardObs?.observations.length > 0) {\n const currentObs = {};\n currentObs.observations = eastwardObs?.observations.map((element, index) => getCurrentDirectionObs(eastwardObs.observations[index], northwardObs.observations[index]));\n observationsResult.push(currentObs);\n }\n } else {\n observationsResult = parametersArr.filter((o) => o.parameter_id === parameter.parameter_id);\n }\n\n return observationsResult?.length > 0 ? observationsResult[0].observations : [];\n};\n\n// TODO: ensure that all data normalization is async chained from the query\nexport const normalizeParameterObs = (parameter, parametersArr) => (normalizeCurrentSpeed(parameter, parametersArr));\n\nexport const espStandardNames = [\n 'microcystin_concentration',\n 'microcystin_is_estimate',\n 'microcystin_llod',\n 'microcystin_lloq',\n 'microcystin_gt_uloq',\n 'microcystin_lt_llod',\n];\n\n/**\n * This will get all parameters of the supplied dataset\n *\n * @param {object} dataset\n * @param {array} datasetSummaries\n * @param {array} obsData\n * @param {array} parameterConfigurations\n * @param {array} registeredParameters\n * @param {array} unitPreferences\n * @param {boolean} doTransform\n *\n * @returns array\n */\n// TODO: all of the observation calculations, renaming, etc should be encapsulated elsewhere and used in all of the places that require it\nexport const getParameters = ({\n dataset, datasetSummaries, obsData, parameterConfigurations, registeredParameters, unitPreferences, doTransform = true,\n}) => {\n const parameters = [];\n\n // TODO: also send obs-latest data here so we can show that before all the obs data is loaded\n\n if (\n !dataset\n || !obsData\n || obsData?.code === 500\n || !parameterConfigurations\n || parameterConfigurations.length < 1\n || !registeredParameters\n || registeredParameters.length < 1\n ) {\n return parameters;\n }\n\n let parametersList = [];\n let targetPlatformId = -1;\n\n if (dataset.obs_dataset_platform_assignment !== undefined) {\n targetPlatformId = dataset.obs_dataset_platform_assignment.platform.platform_id;\n } else {\n const obsDataParameters = datasetSummaries.find((o) => o.org_platform_id === dataset?.org_platform_id);\n\n if (!obsDataParameters) {\n return parameters;\n }\n\n targetPlatformId = obsDataParameters.obs_dataset_platform_assignment.platform.platform_id;\n }\n\n if (targetPlatformId === -1) {\n return parameters;\n }\n\n parametersList = registeredParameters.filter((rp) => rp.platform_id === targetPlatformId);\n\n // Get icon from parameter name\n const getIcon = (name) => {\n if (name === undefined) {\n return '';\n }\n\n let icon;\n if (name?.includes('Water Temp')) {\n icon = ;\n } else if (name?.includes('Wave Height')) {\n icon = ;\n } else if (name?.includes('Air Temp')) {\n icon = ;\n } else if (name?.includes('Wind Speed')) {\n icon = ;\n }\n\n return icon;\n };\n\n // Format the parameters\n let minDepth = 0;\n let maxDepth = 0;\n const childParameters = [];\n\n // create new array for transformations\n const currentsParametersList = parametersList.filter((parameter) => parameter.standard_name === 'northward_sea_water_velocity' || parameter.standard_name === 'eastward_sea_water_velocity');\n // remove items in new array\n parametersList = parametersList.filter((parameter) => parameter.standard_name !== 'northward_sea_water_velocity' && parameter.standard_name !== 'eastward_sea_water_velocity');\n\n const currentsParametersListTransformed = currentsParametersList.map((originalParam) => {\n const parameter = { ...originalParam };\n\n if (parameter.standard_name === 'eastward_sea_water_velocity') {\n parameter.derived_name = 'current_direction';\n parameter.eastward_sea_water_velocity_id = parameter.parameter_id;\n parameter.northward_sea_water_velocity_id = currentsParametersList.find((parameter) => parameter.parent_parameter_id === originalParam.parameter_id)?.parameter_id;\n } else if (parameter.standard_name === 'northward_sea_water_velocity') {\n parameter.derived_name = 'current_speed';\n parameter.eastward_sea_water_velocity_id = parameter.parent_parameter_id;\n parameter.northward_sea_water_velocity_id = parameter.parameter_id;\n parameter.parent_parameter_id = null; // so that it doesn't get processed as a child parameter\n }\n return parameter;\n });\n\n currentsParametersListTransformed.forEach((parameter) => {\n parametersList.push(parameter);\n });\n\n parametersList.forEach((parameter) => {\n // Ignore parameters if profiling is true\n if (parameter.profiling === false) {\n const parameterConfig = parameterConfigurations ? parameterConfigurations.find((o) => o.name_vocabulary === parameter.name_vocabulary && o.standard_name === parameter.standard_name) : null;\n\n const datasetParametersRes = obsData && obsData?.length > 0 ? obsData.find((o) => o.obs_dataset_id === dataset.obs_dataset_id) : null;\n\n const datasetParameters = datasetParametersRes ? datasetParametersRes.parameters : [];\n\n const parameterObservations = normalizeParameterObs(parameter, datasetParameters);\n\n const userLang = navigator.language.toLowerCase();\n const lang = userLang.split('-')[0];\n const canonicalUnit = parameterConfig?.canonical_unit_id;\n const preferredUnit = getPreferredUnit(canonicalUnit, parameterConfig, unitPreferences);\n\n // Canonical unit array\n const canonicalUnitObj = parameterConfig ? parameterConfig.units.find((o) => o.id === canonicalUnit) : null;\n\n // Preferred unit array\n const preferredUnitObj = parameterConfig ? parameterConfig.units.find((o) => o.id === preferredUnit) : null;\n\n let parameterValue = 0;\n let parameterDate = parameter.created_at;\n let parameterName = parameterConfig?.display_name[lang] ?? parameterConfig?.display_name?.en;\n const parameterDescription = parameterConfig?.display_description[lang] ?? parameterConfig?.display_description?.en;\n\n if (minDepth > parameter.depth) {\n minDepth = parameter.depth;\n }\n\n if (maxDepth < parameter.depth) {\n maxDepth = parameter.depth;\n }\n\n const parameterUnitIfNull = parameterConfig && parameterConfig.units.length > 0 ? parameterConfig.units[0].symbol : null;\n let parameterUnit = preferredUnitObj ? preferredUnitObj?.symbol : parameterUnitIfNull;\n\n if (parameterObservations && parameterObservations.length > 0) {\n const latestParameterObservation = parameterObservations\n .filter((o) => o !== null && o !== undefined)\n .reduce((latest, current) => (new Date(current.timestamp) > new Date(latest.timestamp) ? current : latest));\n\n const configAlerts = parameterConfig?.alerts;\n let alertsThreshold = configAlerts;\n\n if (parameter?.derived_name !== 'current_speed' && parameter?.derived_name !== 'current_direction' && doTransform === true) {\n try {\n // Convert to preferred unit\n parameterValue = Qty(latestParameterObservation.value, canonicalUnitObj.js_qty_unit).to(preferredUnitObj.js_qty_unit).scalar.toFixed(2);\n\n if (configAlerts) {\n alertsThreshold = {\n threshold_max: Number(Qty(Number(configAlerts.threshold_max), canonicalUnitObj.js_qty_unit).to(preferredUnitObj.js_qty_unit).scalar.toFixed(2)),\n threshold_min: Number(Qty(Number(configAlerts.threshold_min), canonicalUnitObj.js_qty_unit).to(preferredUnitObj.js_qty_unit).scalar.toFixed(2)),\n };\n }\n } catch (e) {\n parameterValue = latestParameterObservation?.value?.toFixed(2) ?? null;\n }\n } else if (parameter?.derived_name === 'current_speed') {\n parameterValue = storageService.getItem('userPreferences').unit_preference === 'imperial'\n ? `${(latestParameterObservation?.value / 51.444).toFixed(2)}`\n : `${latestParameterObservation?.value.toFixed(2)}`;\n } else {\n parameterValue = latestParameterObservation?.value?.toFixed(2) ?? null;\n }\n\n // * 1000 to convert Unix timestamp in seconds to milliseconds for JavaScript/moment.js\n parameterDate = Number.isNaN(Number(latestParameterObservation?.timestamp))\n ? new Date(latestParameterObservation?.timestamp).getTime()\n : new Date(latestParameterObservation?.timestamp * 1000).getTime();\n\n // console.log('considering parameterDate', parameterDate);\n\n if (parameter?.derived_name === 'current_speed') {\n parameterName = 'Current Speed';\n parameterUnit = storageService.getItem('userPreferences').unit_preference === 'imperial' ? 'kts' : 'cm/s';\n } else if (parameter?.derived_name === 'current_direction') {\n parameterName = 'Current Direction (from)';\n parameterUnit = '°';\n }\n\n const parameterData = {\n parameter_id: parameter.parameter_id,\n name: parameterName,\n derived_name: parameter?.derived_name,\n description: parameterDescription,\n value: Number(parameterValue),\n unit: parameterUnit,\n canonicalUnit: canonicalUnitObj?.js_qty_unit,\n preferredUnit: preferredUnitObj?.js_qty_unit,\n date: parameterDate,\n icon: getIcon(parameterName),\n name_vocabulary: parameter.name_vocabulary,\n standard_name: parameter.standard_name,\n parameter_name: parameter.parameter_name,\n depth: parameter.depth ?? 0,\n parent_parameter_id: parameter.parent_parameter_id,\n eastward_sea_water_velocity_id: parameter?.eastward_sea_water_velocity_id,\n northward_sea_water_velocity_id: parameter?.northward_sea_water_velocity_id,\n alerts: alertsThreshold,\n };\n\n if (parameterValue) {\n if (parameter.parent_parameter_id) {\n childParameters.push({ ...parameterData, parent_parameter_id: parameter.parent_parameter_id });\n } else {\n parameters.push(parameterData);\n }\n }\n }\n } // if not profiling parameter\n });\n\n const pinnedPrefs = pinnedParams(unitPreferences);\n // split array into pinned and unpinned\n const pinned = parameters.filter((p) => pinnedPrefs.includes(p.standard_name)).map((parameter) => ({ ...parameter, pinned: true }));\n const unpinned = parameters.filter((p) => !pinnedPrefs.includes(p.standard_name));\n // Sort unpinned with depth name asc then name asc\n unpinned.sort((a, b) => a.depth - b.depth || (a.name || '').localeCompare(b.name || ''));\n const sorted = [...pinned, ...unpinned];\n return sorted.map((parameter) => ({\n ...parameter,\n children: childParameters.filter((child) => (\n child.parent_parameter_id && child.parent_parameter_id === parameter.parameter_id\n )),\n })).filter((p) => p.name !== undefined);\n};\n\nexport const formatParameterObservation = (parameterConfigurations, parameter, parameterObservation, unitPreferences) => {\n let parameterValue = 0;\n const parameterConfig = parameterConfigurations.find((o) => o.name_vocabulary === parameter?.name_vocabulary && o.standard_name === parameter?.standard_name);\n\n if (!parameterConfig) {\n return parameterObservation.value;\n }\n\n if (parameterObservation?.value < -998) {\n return null;\n }\n\n if (parameterObservation?.value === null || parameterObservation?.value === undefined) {\n return parameterValue;\n }\n\n if (parameter?.derived_name === 'current_speed') {\n return storageService.getItem('userPreferences').unit_preference === 'imperial'\n ? `${(parameterObservation.value / 51.444).toFixed(2)} kts`\n : `${parameterObservation.value.toFixed(2)} cm/s`;\n }\n\n if (parameter?.derived_name === 'current_direction') {\n return !Number.isNaN(parameterObservation.value) ? `${parameterObservation.value.toFixed(2)} °` : null;\n }\n\n const canonicalUnit = parameterConfig.canonical_unit_id;\n const preferredUnit = getPreferredUnit(canonicalUnit, parameterConfig, unitPreferences);\n\n // Canonical unit array\n const canonicalUnitObj = parameterConfig.units.find((o) => o.id === canonicalUnit);\n\n // Preferred unit array\n const preferredUnitObj = parameterConfig.units.find((o) => o.id === preferredUnit);\n\n const parameterUnit = preferredUnitObj?.symbol;\n\n try {\n // Convert to preferred unit\n parameterValue = Qty(parameterObservation.value, canonicalUnitObj.js_qty_unit).to(preferredUnitObj.js_qty_unit).scalar.toFixed(2);\n } catch (e) {\n parameterValue = parameterObservation.value ? parameterObservation.value.toFixed(2) : parameterObservation.value;\n }\n return parameterValue ? `${parameterValue} ${parameterUnit}` : null;\n};\n\n/**\n * Get the date of most recent observation for a dataset\n * @param {object} dataset the obs dataset\n * @param {array} obsData the observation data\n * @param {boolean} raw indicate raw Epoch timestamp or relative time\n */\nexport const getLatestParameterDate = (dataset, obsData, raw = false) => {\n let latestDate;\n\n if (\n !obsData\n || obsData.length < 1\n || !dataset\n ) {\n return null;\n }\n\n const datasetObsData = obsData.find((o) => o.obs_dataset_id === dataset.obs_dataset_id);\n\n if (!datasetObsData) {\n return null;\n }\n\n const { parameters } = datasetObsData;\n\n parameters.forEach((parameter) => {\n // observations are returned from API ordered by timestamp DESC, so first item is newest\n const latestObservation = parameter.observations[0];\n // TODO: ^reduce or sort to find the guaranteed newest obs\n\n // if latestDate is not set yet or the current parameter's latest observation is newer, update latestDate\n if (latestObservation\n && (!latestDate || (new Date(latestObservation.timestamp * 1000).getTime() > new Date(latestDate).getTime())\n )\n ) {\n // * 1000 to convert Unix timestamp in seconds to milliseconds for JavaScript/moment.js\n latestDate = latestObservation.timestamp * 1000;\n }\n });\n\n return raw ? latestDate : moment(latestDate).fromNow();\n};\n\nexport const preferredTemperatureUnit = (value) => (\n storageService.getItem('userPreferences').temp_preference === 'fahrenheit'\n ? `${Math.round((((value) / 5) * 9) + 32)}°F`\n : `${Math.round(value)}°C`\n);\n\nexport const celsiusTemperatureUnit = (value) => (\n `${Math.round(value)}°C`\n);\n\nexport const fahrenheitTemperatureUnit = (value) => (\n `${Math.round((((value) / 5) * 9) + 32)}°F`\n);\n\nexport const preferredWindMagnitudeUnit = (value) => (\n `${Math.round((value * 1.944 * 100) / 100)}kts`\n);\n\nexport const preferredWindMagnitudeUnitLines = (value) => (\n `${Math.round(value * 1.944 * 100) / 100}\\nkts`\n);\n\nexport const preferredWaterMagnitudeUnit = (value) => (\n storageService.getItem('userPreferences').unit_preference === 'metric'\n ? `${Math.round((value * 100)) / 100}m/s`\n : `${Math.round(value * 3.28084 * 100) / 100}ft/s`\n);\n\nexport const objectToQuerystring = (params) => Object.keys(params)\n .filter((key) => params[key])\n .map((key) => `${key}=${params[key]}`)\n .join('&');\n\nexport const platformGroupings = {\n buoy: ['moored_buoy', 'wave_buoy', 'profiling_buoy', 'buoy', 'fixed', 'profiler', 'mooring'],\n tower: ['offshore_tower', 'tower'],\n moving: ['submersible', 'automated_underwater_vehicle', 'glider', 'drifting_buoy'],\n sampling_location: ['sampling_location'],\n esp_site: ['esp_site'],\n};\n\n/**\n * Get a depth value in the preferred unit\n * @param {number} value\n * @returns {string} Depth in preferred unit, rounded to the nearest 1 decimal point, with unit symbol. Null if value is not a number.\n */\nexport const getPreferredMeasurementUnit = (value) => {\n const numberValue = Number(value);\n if (Number.isNaN(numberValue)) {\n return null;\n }\n\n // meters to feet conversion\n const CONVERSION = 3.280839895;\n const unitPreference = storageService.getItem('userPreferences').unit_preference;\n\n if (unitPreference === 'metric') {\n return `${numberValue.toFixed(1)} m`;\n }\n\n return `${(numberValue * CONVERSION).toFixed(1)} ft`;\n};\n\nexport const convertParameterUnit = ({\n parameterConfig, value, unitPreferences, toCanonical = false, appendUnit = false,\n}) => {\n const canonicalUnit = parameterConfig?.canonical_unit_id;\n const preferredUnit = getPreferredUnit(canonicalUnit, parameterConfig, unitPreferences);\n\n // Canonical unit array\n const canonicalUnitObj = parameterConfig ? parameterConfig.units.find((o) => o.id === canonicalUnit) : null;\n\n // Preferred unit array\n const preferredUnitObj = parameterConfig ? parameterConfig.units.find((o) => o.id === preferredUnit) : null;\n\n let frmUnit;\n let toUnit;\n\n if (toCanonical) {\n frmUnit = preferredUnitObj;\n toUnit = canonicalUnitObj;\n } else {\n frmUnit = canonicalUnitObj;\n toUnit = preferredUnitObj;\n }\n\n let newVal;\n\n if (canonicalUnit === preferredUnit) {\n newVal = value;\n } else {\n try {\n newVal = Qty(value, frmUnit.js_qty_unit).to(toUnit.js_qty_unit).scalar.toFixed(2);\n\n newVal = Number(newVal);\n } catch (e) {\n newVal = value;\n }\n }\n\n if (appendUnit) {\n if (toUnit) {\n return `${newVal} ${toUnit.symbol}`;\n }\n return `${newVal}`;\n }\n\n return newVal;\n};\n\nexport const getParameterGroupIcon = (parameterGroups, parameterStandardName) => {\n if (!parameterGroups || parameterGroups.length < 1) return null;\n\n const parameterGroup = parameterGroups.find((group) => group.parameter_standard_names?.includes(parameterStandardName));\n\n if (!parameterGroup) {\n return null;\n }\n\n return parameterGroup.icon;\n};\n\nexport const capitalizeFirstLetter = (inputString) => inputString.charAt(0).toUpperCase() + inputString.slice(1);\n\n/**\n * Finds the most recent parameter\n * @param {Object} obsData - The obsDataset for the platform\n * @returns {Object} - Returns the most recent parameter\n */\nexport const findMostRecentParameter = (obsData) => {\n let recentIndex = 0;\n let recentTimestamp = 0;\n\n // TODO: change this to reduce\n obsData?.parameters?.forEach(({ observations }, index) => {\n if (observations[0]) {\n const { timestamp: paramTimestamp } = observations[0];\n if (paramTimestamp > recentTimestamp) {\n recentTimestamp = paramTimestamp;\n recentIndex = index;\n }\n }\n });\n return obsData?.parameters[recentIndex];\n};\n\n/**\n * Gets the research workspace URL with the proper start & end dates for the selected platform\n * @param {Date} updatedDate - the timestamp the platform was last updated\n * @param {Number} datasetId - the parameter's dateset ID\n * @param {Number} parameterId - the parameter ID for the first parameter you want to display\n * @returns {string} Returns the research workspace URL with the proper start & end dates for the selected platform\n */\nexport const getWorkspaceUrl = (updatedDate, datasetId, parameterId) => {\n if (updatedDate !== undefined) {\n const sevenDaysEarlier = (updatedDate * 1000) - 604800000; // timestamp is in milliseconds\n const formattedStartDate = new Date(sevenDaysEarlier).toISOString().slice(0, 10);\n const formattedEndDate = new Date(updatedDate * 1000).toISOString().slice(0, 10);\n return `/workspace-beta?datasetIds=${datasetId}&endDate=${formattedEndDate}¶meterIds=${parameterId}&period=7%20days&startDate=${formattedStartDate}`;\n }\n};\n\nexport const getLatestTimestamp = (dataset, obsData) => getLatestParameterDate(dataset, obsData);\n","import Axios from 'axios';\nimport { isObject } from 'lodash';\nimport { objectToQuerystring } from '../utils';\n\nimport * as httpService from './http.service';\n\nimport appConfig from '../config';\n\n// Remove values that are less than -998\nconst filterValues = (data) => {\n if (data.code) {\n return [];\n }\n if (data.length <= 0) { return []; }\n\n const newData = [];\n data.forEach((ds) => {\n const newParams = [];\n ds.parameters.forEach((item) => {\n const newObs = item.observations.filter((obs) => obs.value > -998);\n newParams.push({ parameter_id: item.parameter_id, observations: newObs });\n });\n newData.push({ obs_dataset_id: ds.obs_dataset_id, parameters: newParams });\n });\n return newData;\n};\n\nexport const getObsData = (filter) => {\n const queryString = isObject(filter) ? objectToQuerystring(filter) : `startDate=${filter}`;\n\n return httpService\n .get(`/v1/obs?${queryString}`)\n .then(({ data }) => filterValues(data))\n .catch((err) => Promise.reject(err));\n};\n\nexport const getObsLatestData = (collectionStatus = undefined) => {\n const url = collectionStatus\n ? `/v2/obs-latest?collectionStatus=${encodeURIComponent(collectionStatus)}`\n : '/v2/obs-latest';\n\n return httpService\n .get(url)\n .then(({ data }) => filterValues(data))\n .catch((err) => Promise.reject(err));\n};\n\nexport const getObsDataV2 = (filter) => {\n const queryString = isObject(filter) ? objectToQuerystring(filter) : `startDate=${filter}`;\n return httpService\n .get(`/v2/obs?${queryString}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getObsDataV2ById = (startDate, obsDatasetId) => httpService\n .get(`/v2/obs?startDate=${startDate}&obsDatasetId=${obsDatasetId}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getObsDatasetsGeojson = () => httpService\n .get('/v1/obs-datasets.geojson')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getObsDatasetsPlatformGeojson = (platformId) => httpService\n .get(`/v1/obs-datasets.geojson?platformId=${platformId}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getObsDatasetsOrgGeojson = (orgId) => httpService\n .get(`/v1/obs-datasets.geojson?orgId=${orgId}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getParameters = () => httpService\n .get('/v1/parameters')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const datasetTrajectoriesGeojson = () => httpService\n .get('/v1/obs-dataset-trajectories.geojson')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const datasets = () => httpService\n .get('/v1/obs-datasets')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getDatasetsLatest = (filter) => {\n const queryString = objectToQuerystring(filter);\n\n return httpService\n .get(`/v1/obs-datasets-latest?${queryString}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\nexport const getDatasetSummaries = (filter) => {\n const queryString = isObject(filter) ? `?${objectToQuerystring(filter)}` : '';\n\n return httpService\n .get(`/v1/obs-dataset-summaries${queryString}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n\n// TODO: rename to getParameterConfigurations\nexport const parameterConfigurations = () => httpService\n .get('/v1/parameter-configurations')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getParameterGroupConfigurations = () => httpService\n .get('/v1/parameter-configurations/groups')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getRegisteredParameters = () => httpService\n .get('/v1/parameters')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const searchData = (query) => httpService\n .get(`/v1/search?query=${query}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getPlatformMetadata = (id) => httpService\n .get(`/v1/obs-datasets/${id}/metadata`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getPlatformSponsors = () => Axios\n .get('/data/sponsors.json')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getPlatformWeather = () => Axios\n .get('/data/weather.json')\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getAllNonFunctionalDatasets = () => Axios\n .get('/data/dataset-detail.json').then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const downloadNonFunctionalDataset = (id, filename) => httpService\n .get(`/v1/datasets/${id}/files?filename=${filename}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getHostedNonFunctionalDataset = (datasetId) => httpService\n .get(`/v1/datasets/${datasetId}`).then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n\nexport const getNonFunctionalMetadata = (metadataId) => httpService.getMetaDataFromGeoPortal(`/rest/metadata/item/${metadataId}`);\n\nexport const searchNonFunctionalMetadata = (searchText, searchFilters, start, size = 10) => {\n let textQuery = '';\n if (searchText && searchText.length > 0) {\n textQuery = searchText.toLowerCase();\n }\n\n let filterQuery = '';\n if (searchFilters && searchFilters.length > 0) {\n const filterCons = searchFilters.map((filter) => {\n let newFilter = '';\n newFilter += `\\\\\"${filter.toLowerCase()}\\\\\"`;\n return newFilter;\n });\n\n filterQuery = filterCons.join(' ');\n }\n\n const query = `${textQuery} ${filterQuery}`;\n\n const esdslQuery = {\n query: {\n bool: {\n must_not: [\n {\n exists: {\n field: 'seagull_obs_dataset_id_i',\n },\n },\n ],\n must: [],\n },\n },\n };\n\n if (query.trim().length > 0) {\n esdslQuery.query.bool.must = [\n {\n query_string: {\n analyze_wildcard: true,\n query: `${query}`,\n },\n },\n ];\n }\n\n // eslint-disable-next-line\n // const appendedUrl = encodeURIComponent(`{\"query\":{\"bool\":{\"must\":[{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"${query}\"}}],\"must_not\":[{\"exists\":{\"field\":\"seagull_obs_dataset_id_i\"}}]}}}`);\n return httpService.getMetaDataFromGeoPortal(`/opensearch?f=json&from=${start}&size=${size}&sort=title.sort:asc&esdsl=${encodeURIComponent(JSON.stringify(esdslQuery))}`);\n};\n\nexport const getOrganizationDatasets = (organizationName, from = 1) => {\n if (!organizationName) return null;\n\n const query = {\n query: {\n bool: {\n must: [\n {\n term: {\n contact_organizations_s: organizationName,\n },\n },\n ],\n must_not: [\n {\n exists: {\n field: 'seagull_obs_dataset_id_i',\n },\n },\n ],\n // ^ I'm not sure why we were excluding datasets with a seagull_obs_dataset_id_i field...\n // but we may want to remove this\n },\n },\n };\n\n return Axios\n .get(`${appConfig.metadataURL}/opensearch?f=json&from=${from}&size=99&esdsl=${encodeURIComponent(JSON.stringify(query))}`)\n .then(({ data }) => data)\n .catch((err) => Promise.reject(err));\n};\n","import * as React from 'react';\n\nconst AirQualityIcon = (props) => (\n \n \n \n \n \n \n \n \n \n \n);\nexport default AirQualityIcon;\n","import * as React from 'react';\n\nconst CurrentsIcon = (props) => (\n \n \n \n \n \n);\nexport default CurrentsIcon;\n","import * as React from 'react';\n\nconst DiagnosticsIcon = (props) => (\n \n \n \n);\nexport default DiagnosticsIcon;\n","import * as React from 'react';\n\nconst WaterPropertyIcon = (props) => (\n \n \n \n \n \n \n);\nexport default WaterPropertyIcon;\n","import * as React from 'react';\n\nconst WaterQualityIcon = (props) => (\n \n \n \n \n);\nexport default WaterQualityIcon;\n","import * as React from 'react';\n\nconst WaterTempIcon = (props) => (\n
\n \n \n \n \n \n \n \n \n \n \n
\n);\nexport default WaterTempIcon;\n","import * as React from 'react';\n\nconst WavesIcon = (props) => (\n \n \n \n \n \n \n);\nexport default WavesIcon;\n","import * as React from 'react';\n\nconst WindIcon = (props) => (\n
\n \n \n \n \n \n \n
\n);\nexport default WindIcon;\n","import React from 'react';\nimport { useQuery } from 'react-query';\n\nimport MapQueryTypes from '../services/query-types/map';\nimport { getParameterGroupConfigurations } from '../services/dataset.service';\nimport { VirusIcon } from '../components/icons';\n\n// TOOO: named exports\nimport AirQualityIcon from '../components/icons/AirQualityIcon';\nimport CurrentsIcon from '../components/icons/CurrentsIcon';\nimport DiagnosticsIcon from '../components/icons/DiagnosticsIcon';\nimport WaterPropertyIcon from '../components/icons/WaterPropertyIcon';\nimport WaterQualityIcon from '../components/icons/WaterQualityIcon';\nimport WaterTempIcon from '../components/icons/WaterTempIcon';\nimport WavesIcon from '../components/icons/WavesIcon';\nimport WindIcon from '../components/icons/WindIcon';\nimport { featureFlag } from '../constant';\n\nconst useParameterGroups = () => {\n const {\n data: parameterGroupConfigurations,\n isLoading,\n error,\n } = useQuery(MapQueryTypes.REST_PARAMETER_GROUP_CONFIGURATIONS, getParameterGroupConfigurations, {\n refetchOnWindowFocus: false,\n });\n\n // Without unSelectedColor key/value pair, white category button will cover text upon selection\n const parameterGroups = [\n {\n group_name: 'water_temperature',\n unSelectedColor: '#158c96',\n selectedColor: '#158c96',\n icon: ,\n },\n {\n group_name: 'air_quality',\n unSelectedColor: '#7cdf09',\n selectedColor: '#7cdf09',\n icon: ,\n },\n {\n group_name: 'wind',\n unSelectedColor: '#7cdf09',\n selectedColor: '#7cdf09',\n icon: ,\n },\n {\n group_name: 'waves',\n unSelectedColor: '#4cb1f7',\n selectedColor: '#4cb1f7',\n icon: ,\n },\n {\n group_name: 'water_quality',\n unSelectedColor: '#1db6c4',\n selectedColor: '#1db6c4',\n icon: ,\n },\n {\n group_name: 'water_property',\n unSelectedColor: '#1db6c4',\n selectedColor: '#1db6c4',\n icon: ,\n },\n {\n group_name: 'currents',\n unSelectedColor: '#2880bf',\n selectedColor: '#2880bf',\n icon: ,\n },\n {\n group_name: 'diagnostics',\n unSelectedColor: 'white',\n selectedColor: 'black',\n icon: ,\n },\n ];\n\n if (featureFlag.omics) {\n parameterGroups.push(\n {\n group_name: 'omics',\n name: 'omicsOrganismAbundances',\n label: 'Organism Abundance',\n unSelectedColor: '#686fed',\n selectedColor: '#7cdf09',\n icon: ,\n parameters: [\n 'Anabaena abundance',\n 'Aphanizomenon abundance',\n 'Cuspidothrix abundance',\n 'Cyanobium abundance',\n 'Cylindrospermopsis abundance',\n 'Diatoms abundance',\n 'Didymosphenia abundance',\n 'Dolichospermum abundance',\n 'Dreissenid mussel abundance',\n 'Lyngbya abundance',\n 'Microcystis abundance',\n 'Oscillatoria abundance',\n 'Planktothrix abundance',\n 'Pseudanabaena abundance',\n 'Raphidiopsis abundance',\n ],\n standard_names: [\n 'anabaena_abundance',\n 'aphanizomenon_abundance',\n 'cuspidothrix_abundance',\n 'cyanobium_abundance',\n 'cylindrospermopsis_abundance',\n 'diatoms_abundance',\n 'didymosphenia_abundance',\n 'dolichospermum_abundance',\n 'dreissenid_mussels_abundance',\n 'lyngbya_abundance',\n 'microcystis_abundance',\n 'oscillatoria_abundance',\n 'planktothrix_abundance',\n 'pseudanabaena_abundance',\n 'raphidiopsis_abundance',\n ],\n isVisibleByDefault: false,\n },\n {\n group_name: 'omics',\n name: 'omicsOrganismCounts',\n label: 'Organism Count',\n unSelectedColor: '#686fed',\n selectedColor: '#7cdf09',\n icon: ,\n parameters: [\n 'Anabaena cell count',\n 'Aphanizomenon count',\n 'Cuspidothrix count',\n 'Cyanobium count',\n 'Cylindrospermopsis cell count',\n 'Diatoms count',\n 'Didymosphenia count',\n 'Dolichospermum count',\n 'Dreissenid mussel count',\n 'Lyngbya count',\n 'Microcystis cell count',\n 'Oscillatoria count',\n 'Planktothrix cell count',\n 'Pseudanabaena count',\n 'Raphidiopsis cell count',\n ],\n standard_names: [\n 'anabaena_count',\n 'aphanizomenon_count',\n 'cuspidothrix_count',\n 'cyanobium_count',\n 'cylindrospermopsis_count',\n 'diatoms_count',\n 'didymosphenia_count',\n 'dolichospermum_count',\n 'dreissenid_mussels_count',\n 'lyngbya_count',\n 'microcystis_count',\n 'oscillatoria_count',\n 'planktothrix_count',\n 'pseudanabaena_count',\n 'raphidiopsis_count',\n ],\n isVisibleByDefault: false,\n },\n );\n }\n\n if (featureFlag.omicsToxins) {\n parameterGroups.push({\n group_name: 'omics',\n name: 'omicsToxins',\n label: 'Toxin',\n unSelectedColor: '#eecc11',\n selectedColor: '#eecc11',\n parameters: [\n 'All',\n 'Lorem ipsum',\n 'dolor sit',\n 'amet, consectet',\n 'adipiscing elit',\n 'Etiam facilisis',\n 'nisl quis',\n 'odio imperdiet',\n 'fringilla',\n 'In nec',\n 'velit accumsan',\n ],\n isVisibleByDefault: false,\n });\n }\n\n parameterGroups?.forEach((configurationGroup) => {\n const group = parameterGroupConfigurations?.find((group) => group.group_name === configurationGroup.group_name);\n if (group) {\n // Merge the configuration into the group\n Object.assign(configurationGroup, group);\n }\n });\n\n // parameterGroupConfigurations?.forEach((configurationGroup) => {\n // const group = parameterGroups?.find((group) => group.group_name === configurationGroup.group_name);\n // if (group) {\n // // Merge the configuration into the group\n // Object.assign(group, configurationGroup);\n // }\n // });\n\n return {\n parameterGroups,\n isLoading,\n error,\n };\n};\n\nexport default useParameterGroups;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DatePicker,\n Select,\n Tooltip,\n} from 'antd';\nimport { CaretDownFilled } from '@ant-design/icons';\nimport { useMediaQuery } from 'react-responsive';\nimport moment from 'moment';\nimport {\n CloseIcon, MapViewInfoIcon, RadioSelectedIcon, RadioUnselectedIcon, VirusIcon,\n} from '../../../icons';\nimport useParameterGroups from '../../../../config/useParameterGroups';\nimport { featureFlag } from '../../../../constant';\n\nconst { Option } = Select;\n\nconst OmicsData = (props) => {\n const {\n isActive,\n setIsActive,\n omicsFilters,\n setOmicsFilters,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const [isFilterSelectOpen, setIsFilterSelectOpen] = useState(false);\n const [selectedFilterType, setSelectedFilterType] = useState('omicsOrganismAbundances');\n const { parameterGroups } = useParameterGroups();\n\n const setSelectedFilter = (filter) => {\n setOmicsFilters({\n ...omicsFilters,\n filter,\n });\n };\n\n const setStartDate = (startDate) => {\n setOmicsFilters({\n ...omicsFilters,\n startDate,\n });\n };\n\n const setEndDate = (endDate) => {\n setOmicsFilters({\n ...omicsFilters,\n endDate,\n });\n };\n\n const isSelectedFilterTypeOrganisms = selectedFilterType === 'omicsOrganismAbundances';\n\n const disabledStartDates = (current) => {\n if (omicsFilters.endDate) return current && (current > moment().endOf('day') || current > omicsFilters.endDate.startOf('day'));\n return current && current > moment().startOf('day');\n };\n\n const disabledEndDates = (current) => {\n if (omicsFilters.startDate) return current && (current > moment().endOf('day') || current < omicsFilters.startDate.endOf('day'));\n return current && current > moment().endOf('day');\n };\n\n const renderDropdown = (menu) => (\n {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n
\n
Filter By:
\n setIsFilterSelectOpen(false)} />\n
\n {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n { if (!isSelectedFilterTypeOrganisms) setSelectedFilterType('omicsOrganismAbundances'); }}\n >\n
Organism
\n \n { if (isSelectedFilterTypeOrganisms && featureFlag.omicsToxins) setSelectedFilterType('omicsToxins'); }}\n >\n {featureFlag.omicsToxins && (\n
Toxin
\n )}\n \n \n {menu}\n \n );\n\n const renderOptions = ['All', ...parameterGroups.find((group) => group.name === selectedFilterType).parameters].map((param, index) => (\n \n ));\n\n return (\n <>\n {!isMobile\n && (\n
{ if (!isActive) { setIsActive(true); } }}>\n
\n
\n \n setIsActive(false)} style={isActive ? {} : { display: 'none' }} />\n \n \n \n
\n
'Omics
\n
Data
\n
\n
\n
\n
    \n
  • \n \n }\n size=\"small\"\n open={isFilterSelectOpen}\n value={omicsFilters.filter}\n onChange={(value) => setSelectedFilter(value)}\n optionLabelProp=\"label\"\n listHeight={408}\n defaultValue=\"All\"\n dropdownMatchSelectWidth={false}\n dropdownAlign={{ offset: [140, -155] }}\n dropdownRender={renderDropdown}\n onDropdownVisibleChange={(visible) => setIsFilterSelectOpen(visible)}\n >\n {renderOptions}\n \n
  • \n
  • \n \n }\n size=\"small\"\n inputReadOnly\n theme=\"dark\"\n value={omicsFilters.startDate}\n dropdownAlign={{ offset: [140, -182] }}\n clearIcon={false}\n showToday={false}\n format=\"MM-DD-YY\"\n disabledDate={disabledStartDates}\n onChange={(selected) => setStartDate(selected)}\n />\n
  • \n
  • \n \n }\n size=\"small\"\n inputReadOnly\n theme=\"dark\"\n value={omicsFilters.endDate}\n dropdownAlign={{ offset: [140, -182] }}\n clearIcon={false}\n showToday={false}\n format=\"MM-DD-YY\"\n disabledDate={disabledEndDates}\n onChange={(selected) => setEndDate(selected)}\n />\n
  • \n
\n
\n
\n
\n )}\n {isMobile && (\n
\n \n }\n size=\"small\"\n open={isFilterSelectOpen}\n value={omicsFilters.filter}\n onChange={(value) => setSelectedFilter(value)}\n optionLabelProp=\"label\"\n listHeight={200}\n defaultValue=\"All\"\n dropdownMatchSelectWidth={false}\n dropdownRender={renderDropdown}\n onDropdownVisibleChange={(visible) => setIsFilterSelectOpen(visible)}\n style={{ borderRadius: '15px', backgroundColor: 'black' }}\n >\n {renderOptions}\n \n \n }\n size=\"small\"\n inputReadOnly\n theme=\"dark\"\n value={omicsFilters.startDate}\n clearIcon={false}\n showToday={false}\n format=\"MM-DD-YY\"\n disabledDate={disabledStartDates}\n onChange={(selected) => setStartDate(selected)}\n />\n \n }\n size=\"small\"\n inputReadOnly\n theme=\"dark\"\n value={omicsFilters.endDate}\n clearIcon={false}\n showToday={false}\n format=\"MM-DD-YY\"\n disabledDate={disabledEndDates}\n onChange={(selected) => setEndDate(selected)}\n />\n
\n )}\n \n );\n};\n\nOmicsData.propTypes = {\n isActive: PropTypes.bool,\n setIsActive: PropTypes.func,\n omicsFilters: PropTypes.object,\n setOmicsFilters: PropTypes.func,\n};\n\nOmicsData.defaultProps = {\n isActive: false,\n setIsActive: () => {},\n omicsFilters: {},\n setOmicsFilters: () => {},\n};\n\nexport default OmicsData;\n","import React, {\n memo, useCallback, useEffect, useRef, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Card, Drawer, Col, Row, Input, Select, Typography, Button, Tooltip,\n} from 'antd';\nimport {\n CaretDownFilled, LeftOutlined,\n} from '@ant-design/icons';\nimport { useMediaQuery } from 'react-responsive';\nimport lodash from 'lodash';\nimport { Link as RouterLink, useHistory } from 'react-router-dom';\n\nimport {\n greatLakes,\n statuses,\n} from '../constant';\nimport CustomOption from './CustomOption';\nimport ParametersComponent from './Parameters';\n\nimport {\n CloseCircleIcon, CloseIcon, HeartIcon, MapViewInfoIcon,\n} from '../../../components/icons';\nimport CustomTag from './CustomTag';\nimport FavoriteModal from './FavoriteModal';\nimport { featureFlag } from '../../../constant';\nimport ConfirmModal from '../../../components/confirm-modal';\nimport { brandingConfig } from '../../../config';\nimport OmicsData from '../../../components/custom-map/components/map-overlay-drawer/OmicsData';\n\nconst { Meta } = Card;\nconst { Link } = Typography;\n\nconst MapFilterPopup = (props) => {\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const history = useHistory();\n\n const {\n editing,\n removedTag,\n selectedPlatform,\n selectedTags,\n selectedLake,\n visible,\n tagsList,\n platformEvents,\n platformsCount,\n onClose,\n onTagSelect,\n handleClearFilters,\n onLakeSelect,\n onStatusSelect,\n omicsFilters,\n setOmicsFilters,\n } = props;\n\n const [collapsed, setCollapsed] = useState(true);\n const onCollapse = () => setCollapsed(true);\n const [statusList, setStatusList] = useState(platformEvents.map((platform) => lodash.capitalize(platform.split('_').join(' '))));\n const [favoritesVisible, setFavoritesVisible] = useState();\n const [selectedLakeClass, setSelectedLakeClass] = useState({});\n const onCloseFavorites = () => setFavoritesVisible(false);\n const [platformName, setPlatformName] = useState(selectedPlatform.platform_name);\n const [platformSaved, setPlatformSaved] = useState(false);\n\n const container = useRef();\n\n const onTagRemove = useCallback(() => {\n const keys = Object.keys(selectedTags);\n for (let i = 0; i < keys.length; i++) {\n const tagIdx = selectedTags[keys[i]].indexOf(removedTag);\n\n if (tagIdx > -1) {\n selectedTags[keys[i]].splice(tagIdx, 1);\n break;\n }\n }\n }, [removedTag, selectedTags]);\n\n useEffect(() => {\n onTagRemove();\n }, [onTagRemove]);\n\n const onCloseFilter = () => {\n const tags = Object.keys(selectedTags).reduce(\n (prev, cur) => [...prev, ...selectedTags[cur]],\n [],\n );\n onClose({ tags, lake: selectedLake });\n };\n\n const handleClickStatus = (value, checked) => {\n let newStatuses = [...statusList];\n if (checked) {\n newStatuses.push(value);\n } else {\n newStatuses = newStatuses.filter((stat) => stat !== value);\n }\n\n setStatusList(newStatuses);\n onStatusSelect(newStatuses);\n };\n\n const onClearFilters = () => {\n setStatusList([]);\n setSelectedLakeClass({});\n handleClearFilters();\n setSelectedLakeClass({});\n };\n\n const handleLakeSelect = (e, lake) => {\n const selected = !e.currentTarget.classList.contains('selected') ? 'selected' : '';\n const lakeText = selected ? lake.text : '';\n\n onLakeSelect(lakeText);\n\n setSelectedLakeClass({ [lake.text]: selected });\n };\n\n useEffect(() => {\n if (selectedLake === '') {\n setSelectedLakeClass({});\n }\n }, [selectedLake]);\n\n const getLakeIcon = (icon) => {\n const IconComponent = icon;\n\n return ;\n };\n\n const showFavorites = () => {\n setFavoritesVisible(true);\n };\n\n const handleSavePlatform = () => {\n if (platformName) {\n setPlatformSaved(true);\n }\n };\n\n const isOmicsTagSelected = selectedTags?.weather?.some((tag) => tag.key.includes('omics'));\n\n return (\n <>\n
\n \n ) : (\n \n \n \n )}\n title={(\n editing\n ? (\n
\n {`Editing your saved Location and Filter '${selectedPlatform.platform_name}'`}\n
\n Cancel\n  \n \n Save Changes\n \n
\n
\n )\n : (\n
\n {!collapsed ?
\n )\n )}\n footer={isMobile ? (\n
\n \n Clear All\n \n \n {`Show ${platformsCount} Platforms`}\n \n
\n ) : null}\n >\n {collapsed\n ? (\n
\n {editing\n && (\n
\n \n setPlatformName(e.target.value)}\n />\n
\n )}\n
\n \n

Select a Great Lake to narrow your focus

\n \n {greatLakes.map((lake, index) => (\n 0 ? 1 : 0 }} lg={7} xs={7} key={lake.text}>\n handleLakeSelect(e, lake)}\n className={lodash.isEmpty(selectedLakeClass) && selectedLake === lake.text ? 'selected' : selectedLakeClass[lake.text]}\n data-testid={`${lake.text}-lake-card`}\n >\n {getLakeIcon(lake.icon)}\n \n \n \n ))}\n \n
\n
\n \n

Select different data-collecting platforms

\n \n \n }\n value={statusList}\n onDeselect={(value) => handleClickStatus(value, false)}\n showSearch={false}\n dropdownRender={() => (\n statuses.map((status) => (\n -1}\n onClick={() => handleClickStatus(status.title, statusList.indexOf(status.title) === -1)}\n />\n ))\n )}\n />\n \n \n {tagsList?.platformTags?.map((platformTag, index) => (\n \n ))}\n \n \n
\n {isMobile\n && (\n
\n \n

Discover interactive data layers

\n
\n {tagsList?.weatherTags?.map((weatherTag, index) => (\n \n \n \n ))}\n {featureFlag.bathy\n && (\n \n ot.key === 'bathy')[0]}\n onTagSelect={onTagSelect}\n selectedTags={selectedTags?.org}\n tagCategory=\"org\"\n />\n \n )}\n \n \n \n {featureFlag.omics && isOmicsTagSelected\n && (\n \n )}\n
\n
\n )}\n
\n \n

See areas affected by harmful algal blooms (HABs)

\n
\n {tagsList?.waterTags?.map((waterTag, index) => (\n \n \n \n ))}\n
\n
\n
\n )\n : }\n \n
\n {!isMobile && visible && !favoritesVisible && featureFlag.filterFavorites && !editing\n && (\n }\n shape=\"circle\"\n onClick={showFavorites}\n />\n )}\n\n \n history.push('/profile/favorites')}\n />\n \n );\n};\n\nMapFilterPopup.propTypes = {\n editing: PropTypes.bool,\n visible: PropTypes.bool,\n selectedLake: PropTypes.string,\n removedTag: PropTypes.object,\n selectedTags: PropTypes.object,\n tagsList: PropTypes.object,\n platformEvents: PropTypes.array,\n platformsCount: PropTypes.number,\n selectedPlatform: PropTypes.object,\n onClose: PropTypes.func,\n onTagSelect: PropTypes.func,\n handleClearFilters: PropTypes.func,\n onLakeSelect: PropTypes.func,\n onStatusSelect: PropTypes.func,\n omicsFilters: PropTypes.object,\n setOmicsFilters: PropTypes.func,\n};\n\nMapFilterPopup.defaultProps = {\n editing: false,\n visible: false,\n selectedLake: null,\n removedTag: null,\n selectedTags: {},\n tagsList: {},\n platformEvents: [],\n platformsCount: 0,\n selectedPlatform: {},\n onClose: () => { },\n onTagSelect: () => { },\n handleClearFilters: () => { },\n onLakeSelect: () => { },\n onStatusSelect: () => { },\n omicsFilters: {},\n setOmicsFilters: () => { },\n};\n\nexport default memo(MapFilterPopup);\n","const unitsToCardinal = (parameterValue, unitValue) => {\n if (unitValue === '°') {\n const units = Math.round(parameterValue);\n switch (true) {\n case units >= 348.75 || units < 11.25:\n return (`N (${units}${unitValue})`);\n case units >= 11.25 && units < 33.75:\n return (`NNE (${units}${unitValue})`);\n case units >= 33.75 && units < 56.25:\n return (`NE (${units}${unitValue})`);\n case units >= 56.25 && units < 78.75:\n return (`ENE (${units}${unitValue})`);\n case units >= 78.75 && units < 101.25:\n return (`E (${units}${unitValue})`);\n case units >= 101.25 && units < 123.75:\n return (`ESE (${units}${unitValue})`);\n case units >= 123.75 && units < 146.25:\n return (`SE (${units}${unitValue})`);\n case units >= 146.25 && units < 168.75:\n return (`SSE (${units}${unitValue})`);\n case units >= 168.75 && units < 191.25:\n return (`S (${units}${unitValue})`);\n case units >= 191.25 && units < 213.75:\n return (`SSW (${units}${unitValue})`);\n case units >= 213.75 && units < 236.25:\n return (`SW (${units}${unitValue})`);\n case units >= 236.25 && units < 258.75:\n return (`WSW (${units}${unitValue})`);\n case units >= 258.75 && units < 281.25:\n return (`W (${units}${unitValue})`);\n case units >= 281.25 && units < 303.75:\n return (`WNW (${units}${unitValue})`);\n case units >= 303.75 && units < 326.25:\n return (`NW (${units}${unitValue})`);\n case units >= 326.25 && units < 348.75:\n return (`NNW (${units}${unitValue})`);\n default:\n return (`${units}${unitValue} ()`);\n }\n } else {\n return (`${parameterValue} ${unitValue}`);\n }\n};\n\nexport default unitsToCardinal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport appConfig, { brandingConfig } from '../../config/index';\n\nimport {\n BuoyActiveIcon,\n BuoyActiveClickedIcon,\n BuoyActiveLikedIcon,\n BuoyActiveLikedClickedIcon,\n BuoyTempRecoveredIcon,\n BuoyTempRecoveredLikedIcon,\n BuoyTempRecoveredClickedIcon,\n BuoyTempRecoveredLikedClickedIcon,\n BuoyRecoveredIcon,\n BuoyRecoveredClickedIcon,\n BuoyRecoveredLikedIcon,\n BuoyRecoveredLikedClickedIcon,\n BuoyDecommissionedLikedClickedIcon,\n BuoyDecommissionedClickedIcon,\n BuoyDecommissionedLikedIcon,\n BuoyDecommissionedIcon,\n CollectionSiteIcon,\n} from '.';\n\nconst MarkerStatus = (props) => {\n const {\n properties, showText, isClicked, isFavorite, iconProps,\n } = props;\n\n const isNestPlatform = properties?.organization_id === brandingConfig.filters.organizationId;\n const externalIdType = properties?.platform?.external_id_type;\n\n const platformEventEl = () => {\n if (properties.platform_type === 'sampling_location') {\n return (\n \n );\n }\n\n const switchProp = properties.platform_event ? properties.platform_event : properties.event;\n switch (switchProp) {\n case 'activated':\n // exclude ESP sites from old data cutoff\n if (\n properties.last_updated_parameter_in_hours > appConfig.oldDataCutoffInHours\n && externalIdType !== 'esp_site'\n ) {\n return (\n <>\n {isFavorite\n ? \n : }\n {showText\n && Unavailable}\n \n );\n }\n\n if (isClicked) {\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyActiveLiked, { ...iconProps, isClicked: true }) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyActive, { ...iconProps, isClicked: true }) : }\n {showText && Active}\n \n );\n }\n\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyActiveLiked, iconProps) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyActive, iconProps) : }\n {showText && Active}\n \n );\n case 'deactivated':\n if (isClicked) {\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailableLiked, { ...iconProps, isClicked: true }) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailable, { ...iconProps, isClicked: true }) : }\n {showText && Unavailable}\n \n );\n }\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailableLiked, iconProps) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailable, iconProps) : }\n {showText && Unavailable}\n \n );\n case 'recovered':\n if (isClicked) {\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyRecoveredLiked, { ...iconProps, isClicked: true }) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyRecovered, { ...iconProps, isClicked: true }) : }\n {showText && Recovered}\n \n );\n }\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyRecoveredLiked, iconProps) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyRecovered, iconProps) : }\n {showText && Recovered}\n \n );\n case 'temporarily_unavailable':\n return (\n <>\n \n {showText && Unavailable}\n \n );\n case 'unavailable':\n if (isClicked) {\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailableLiked, { ...iconProps, isClicked: true }) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailable, { ...iconProps, isClicked: true }) : }\n {showText && Unavailable}\n \n );\n }\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailableLiked, iconProps) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyUnavailable, iconProps) : }\n {showText && Unavailable}\n \n );\n default:\n if (isClicked) {\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyDecommissionedLiked, { ...iconProps, isClicked: true }) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyDecommissioned, { ...iconProps, isClicked: true }) : }\n {showText && Inactive}\n \n );\n }\n return (\n <>\n {isFavorite\n ? isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyDecommissionedLiked, iconProps) : \n : isNestPlatform ? React.cloneElement(brandingConfig.icons.buoyDecommissioned, iconProps) : }\n {showText && Inactive}\n \n );\n }\n };\n\n return (\n <>\n {platformEventEl()}\n \n );\n};\n\nMarkerStatus.propTypes = {\n properties: PropTypes.object,\n showText: PropTypes.bool,\n isClicked: PropTypes.bool,\n isFavorite: PropTypes.bool,\n iconProps: PropTypes.any,\n};\n\nMarkerStatus.defaultProps = {\n properties: {},\n showText: true,\n isClicked: false,\n isFavorite: false,\n iconProps: null,\n};\n\nexport default React.memo(MarkerStatus);\n","import React, {\n memo,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { useQuery } from 'react-query';\nimport PropTypes from 'prop-types';\nimport { Col, Row } from 'antd';\nimport { useMediaQuery } from 'react-responsive';\n\nimport { ClockCircleOutlined } from '@ant-design/icons';\nimport DegreesToCardinal from '../../parameter/DegreesToCardinal';\nimport { getUserFavoritePlatforms } from '../../../services/profile.service';\nimport ProfileQueryTypes from '../../../services/query-types/profile';\nimport UserContext from '../../../contexts/UserContext';\nimport appConfig, { brandingConfig } from '../../../config/index';\nimport MarkerStatus from '../../icons/MarkerStatus';\nimport { getLatestTimestamp } from '../../../utils';\n\nconst DatasetSummary = (props) => {\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const { info, parameters, obsData } = props;\n const { properties } = info;\n const { cognitoUser } = useContext(UserContext);\n const [isFavorite, setIsFavorite] = useState(false);\n\n const {\n data: favoritePlatformData,\n refetch: favoritesRefetchPlatforms,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n },\n );\n\n if (!favoritePlatformData && cognitoUser?.username) {\n favoritesRefetchPlatforms();\n }\n\n useEffect(() => {\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n } else {\n const foundFavorite = favoritePlatformData.filter((fpd) => fpd.obs_dataset_id === properties.obs_dataset_id);\n if (foundFavorite.length > 0) {\n setIsFavorite(true);\n }\n }\n }\n }, [favoritePlatformData]);\n\n const getStatus = (status) => {\n switch (status) {\n case 'activated':\n return 'active';\n case 'deactivated':\n return 'inactive';\n default:\n return status;\n }\n };\n\n // TODO: these should really be using standard names in case the labels change\n const desiredOrder = ['Air temperature', 'Surface water temperature', 'Wind speed', 'Wind direction (from)', 'Air pressure at mean sea level', 'Significant wave height', 'Wave direction (from)', 'Dominant wave period', 'Chlorophyll fluorescence', 'Turbidity', 'pH', 'Phycocyanin fluorescence'];\n const getPriority = (name) => (desiredOrder.indexOf(name) >= 0 ? desiredOrder.indexOf(name) : 100);\n const platformEvent = properties.platform_event\n ? `This platform is ${getStatus(properties.platform_event)} and not ${properties.last_updated_parameter_in_hours > appConfig.oldDataCutoffInHours ? 'sending us' : 'reporting'} data` : 'There is no reporting data';\n\n const externalIdType = properties?.platform?.external_id_type;\n\n return (\n
\n
\n \n
{properties.org_platform_id}
\n {properties.platform_name}\n \n \n  \n {getLatestTimestamp(properties, obsData)}\n
\n \n \n \n \n \n \n
\n\n \n {parameters.length > 0\n && properties.last_updated_parameter_in_hours <= appConfig.oldDataCutoffInHours\n && externalIdType !== 'esp_site'\n ? parameters.sort((a, b) => (getPriority(a.name) - getPriority(b.name))).slice(0, 4).map((parameter, index) => (\n \n
\n {DegreesToCardinal(parameter.value, parameter.unit)}\n
\n
\n {parameter.name}\n
\n \n )) : platformEvent}\n
\n \n );\n};\n\nDatasetSummary.propTypes = {\n info: PropTypes.object,\n parameters: PropTypes.array,\n obsData: PropTypes.object,\n};\n\nDatasetSummary.defaultProps = {\n info: {},\n parameters: [],\n obsData: {},\n};\n\nexport default memo(DatasetSummary);\n","import React, {\n memo,\n useEffect,\n useState,\n} from 'react';\nimport { useQuery } from 'react-query';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { ClockCircleOutlined } from '@ant-design/icons';\nimport Chart from 'react-apexcharts';\n\nimport MapQueryTypes from '../../../services/query-types/map';\nimport { getObsDataV2ById, parameterConfigurations } from '../../../services/dataset.service';\nimport { brandingConfig } from '../../../config/index';\nimport './OmicsDatasetSummary.scss';\nimport useParameterGroups from '../../../config/useParameterGroups';\n\nconst OMICS_ABUNDANCE_NEGLIGIBLE_THRESHOLD = 0.0001;\nconst OMICS_ABUNDANCE_OTHER_THRESHOLD = 1;\nconst OMICS_ABUNDANCE_DISPLAY_THRESHOLD = 0.01;\n\nconst OmicsDatasetSummary = (props) => {\n const {\n info, // Do what you do to this here in DatasetDetail to selectedPlatform\n filters,\n parameters,\n } = props;\n const { properties } = info;\n\n const [chartData, setChartData] = useState([]);\n const [chartTime, setChartTime] = useState('');\n const [chartLabels, setChartLabels] = useState([]);\n const [startDate, setStartDate] = useState(filters.startDate.format('YYYY-MM-DD'));\n const { parameterGroups } = useParameterGroups();\n\n useEffect(() => {\n if (properties.observations) {\n setStartDate(moment(properties.observations[0].obs_timestamp).format('YYYY-MM-DD'));\n }\n }, [properties?.observations]);\n\n const obsDatasetId = properties.obs_dataset_id;\n\n const {\n data: observationalV2DataResult,\n isLoading: observationalV2DataIsLoading,\n } = useQuery(\n [MapQueryTypes.REST_OBSERVATIONAL_V2_DATA_OMICS, startDate, obsDatasetId],\n () => getObsDataV2ById(startDate, obsDatasetId), {\n refetchOnWindowFocus: false,\n enabled: (!!startDate && !!obsDatasetId),\n },\n );\n\n const {\n data: parameterConfigurationsResult,\n } = useQuery(MapQueryTypes.REST_PARAMETER_CONFIGURATIONS, parameterConfigurations, { refetchOnWindowFocus: false });\n\n const chartOptions = {\n legend: {\n height: '100%',\n floating: true,\n },\n labels: chartLabels,\n };\n\n const validateOmicsData = (value, parameter) => {\n const omicsGroup = parameterGroups.find((g) => g.name === 'omicsOrganismAbundances');\n\n if (omicsGroup.standard_names.includes(parameter.standard_name) && value > OMICS_ABUNDANCE_NEGLIGIBLE_THRESHOLD) {\n return true;\n }\n\n return false;\n };\n\n useEffect(() => {\n if (observationalV2DataResult && parameters && parameterConfigurationsResult) {\n const values = observationalV2DataResult?.parameter_obs.values;\n const times = observationalV2DataResult?.timestamps;\n const latestIndex = times.length - 1;\n const data = [];\n const otherData = [];\n const dataLabels = [];\n\n Object.keys(observationalV2DataResult?.parameter_obs.values).map((parameterId) => Number(parameterId)).forEach((parameterId) => {\n // Assume last obs is latest\n const obsValue = values[parameterId][latestIndex];\n const parameter = parameters.find((p) => p.parameter_id === parameterId);\n\n if (parameter && validateOmicsData(obsValue, parameter)) {\n const parameterConfig = parameterConfigurationsResult?.find((p) => p.standard_name === parameter.standard_name);\n const displayName = parameterConfig.display_name.en;\n const isCurrentFilter = filters.filter ? displayName.includes(filters.filter) : false;\n\n if (obsValue < OMICS_ABUNDANCE_OTHER_THRESHOLD && !isCurrentFilter) {\n otherData.push(obsValue);\n } else {\n data.push(obsValue);\n\n let label = obsValue < OMICS_ABUNDANCE_DISPLAY_THRESHOLD ? `${displayName} <0.01%` : `${displayName} ${obsValue.toFixed(2)}%`;\n\n if (isCurrentFilter) {\n label = `${label}`;\n }\n\n if (parameterConfig) {\n dataLabels.push(label);\n }\n }\n }\n });\n\n if (otherData.length > 0) {\n const otherSum = otherData.reduce((a, b) => a + b, 0);\n data.push(otherSum);\n const otherLabel = otherSum < OMICS_ABUNDANCE_DISPLAY_THRESHOLD ? 'Other <0.01%' : `Other ${otherSum.toFixed(2)}%`;\n dataLabels.push(otherLabel);\n }\n\n setChartData(data);\n setChartLabels(dataLabels);\n\n // Time formatting in JavaScript, from a one-shot\n // standpoint, is very limited. So to get it to design,\n // we need to get the pieces from the Date object\n // Formatter cite: https://stackoverflow.com/questions/1643320/get-month-name-from-date/18648314#18648314\n const formatter = new Intl.DateTimeFormat('en', { month: 'long' });\n if (latestIndex >= 0) {\n let obsTime = times[latestIndex];\n obsTime = new Date(parseInt(`${obsTime.toString()}000`, 10));\n const obsMonth = formatter.format(obsTime);\n const obsDate = obsTime.getDate();\n const obsYear = obsTime.getFullYear();\n\n setChartTime(`${obsMonth} ${obsDate}, ${obsYear}`);\n } else {\n setChartTime('');\n }\n }\n }, [observationalV2DataResult, parameters, parameterConfigurationsResult]);\n\n return (\n
\n
\n \n
\n {properties.platform_name}\n
\n \n
\n Lat:\n  \n {info.geometry?.coordinates[1].toFixed(5)}\n   \n Lon:\n  \n {info.geometry?.coordinates[0].toFixed(5)}\n
\n {chartTime.length > 0 && (\n
\n \n  \n Most recent sample\n  \n \n (\n {chartTime}\n )\n \n
\n )}\n
\n \n
\n {/* This loading component seems to be causing issues with the tooltip persisting... */}\n {/* {observationalV2DataIsLoading && (\n
\n \n
\n )} */}\n {observationalV2DataResult && !observationalV2DataIsLoading && (\n
\n {chartData.length > 0 && (\n \n )}\n
\n )}\n \n );\n};\n\nOmicsDatasetSummary.propTypes = {\n info: PropTypes.object,\n filters: PropTypes.object,\n parameters: PropTypes.array,\n};\n\nOmicsDatasetSummary.defaultProps = {\n info: {},\n filters: {},\n parameters: [],\n};\n\nexport default memo(OmicsDatasetSummary);\n","import React, {\n memo,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { useQuery } from 'react-query';\nimport PropTypes from 'prop-types';\nimport { Col, Row } from 'antd';\nimport { useMediaQuery } from 'react-responsive';\n\nimport { ClockCircleOutlined } from '@ant-design/icons';\nimport DegreesToCardinal from '../../parameter/DegreesToCardinal';\nimport { getUserFavoritePlatforms } from '../../../services/profile.service';\nimport ProfileQueryTypes from '../../../services/query-types/profile';\nimport UserContext from '../../../contexts/UserContext';\nimport { brandingConfig } from '../../../config/index';\nimport MarkerStatus from '../../icons/MarkerStatus';\nimport { getLatestTimestamp } from '../../../utils';\n\nconst ESPDatasetSummary = (props) => {\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const { info, parameters, obsData } = props;\n const { properties } = info;\n const { cognitoUser } = useContext(UserContext);\n const [isFavorite, setIsFavorite] = useState(false);\n // TODO: feature flag or similar\n const displayQualifiers = false;\n\n // Break down is_estimate, llod, lloq, is_gt_uloq, is_lt_llod, etc...\n\n const topMC = parameters.filter((par) => par.parameter_name === 'top_mc');\n const topIsEstimate = topMC.length > 0 ? topMC[0].children?.filter((q) => q.standard_name === 'microcystin_is_estimate') : null;\n const topLLOD = topMC.length > 0 ? topMC[0].children?.filter((q) => q.standard_name === 'microcystin_llod') : null;\n const topLLOQ = topMC.length > 0 ? topMC[0].children?.filter((q) => q.standard_name === 'microcystin_lloq') : null;\n const topIsGtULOQ = topMC.length > 0 ? topMC[0].children?.filter((q) => q.standard_name === 'microcystin_lt_llod') : null;\n const topIsLtLLOD = topMC.length > 0 ? topMC[0].children?.filter((q) => q.standard_name === 'microcystin_gt_uloq') : null;\n\n const bottomMC = parameters.filter((par) => par.parameter_name === 'bottom_mc');\n const bottomIsEstimate = bottomMC.length > 0 ? bottomMC[0].children?.filter((q) => q.standard_name === 'microcystin_is_estimate') : null;\n const bottomLLOD = bottomMC.length > 0 ? bottomMC[0].children?.filter((q) => q.standard_name === 'microcystin_llod') : null;\n const bottomLLOQ = bottomMC.length > 0 ? bottomMC[0].children?.filter((q) => q.standard_name === 'microcystin_lloq') : null;\n const bottomIsGtULOQ = bottomMC.length > 0 ? bottomMC[0].children?.filter((q) => q.standard_name === 'microcystin_lt_llod') : null;\n const bottomIsLtLLOD = bottomMC.length > 0 ? bottomMC[0].children?.filter((q) => q.standard_name === 'microcystin_gt_uloq') : null;\n\n const {\n data: favoritePlatformData,\n refetch: favoritesRefetchPlatforms,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n },\n );\n\n if (!favoritePlatformData && cognitoUser?.username) {\n favoritesRefetchPlatforms();\n }\n\n useEffect(() => {\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n } else {\n const foundFavorite = favoritePlatformData.filter((fpd) => fpd.obs_dataset_id === properties.obs_dataset_id);\n if (foundFavorite.length > 0) {\n setIsFavorite(true);\n }\n }\n }\n }, [favoritePlatformData]);\n\n const platformEvent = 'This ESP has not yet sent data';\n\n // Should be esp_site here\n // const externalIdType = properties?.platform?.external_id_type;\n\n return (\n
\n
\n \n
{properties.org_platform_id}
\n {properties.platform_name}\n \n \n  \n {getLatestTimestamp(properties, obsData)}\n
\n \n \n \n \n \n \n
\n\n \n {\n topMC.length > 0\n && (\n \n
\n {DegreesToCardinal(topMC[0].value, topMC[0].unit)}\n
\n
\n Shallow MC\n
\n \n )\n }\n {\n bottomMC.length > 0\n && (\n \n
\n {DegreesToCardinal(bottomMC[0].value, bottomMC[0].unit)}\n
\n
\n Deep MC\n
\n \n )\n }\n {\n topIsEstimate?.length > 0 && displayQualifiers\n && (\n \n
\n Shallow is estimate\n
\n \n )\n }\n {\n bottomIsEstimate?.length > 0 && displayQualifiers\n && (\n \n
\n Deep is estimate\n
\n \n )\n }\n {\n topLLOD?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(topLLOD[0].value, topLLOD[0].unit)}\n
\n
\n Shallow LLOD\n
\n \n )\n }\n {\n bottomLLOD?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(bottomLLOD[0].value, bottomLLOD[0].unit)}\n
\n
\n Deep LLOD\n
\n \n )\n }\n {\n topLLOQ?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(topLLOQ[0].value, topLLOQ[0].unit)}\n
\n
\n Shallow LLOQ\n
\n \n )\n }\n {\n bottomLLOQ?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(bottomLLOQ[0].value, bottomLLOQ[0].unit)}\n
\n
\n Deep LLOQ\n
\n \n )\n }\n {\n topIsLtLLOD?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(topIsLtLLOD[0].value, topIsLtLLOD[0].unit ? topIsLtLLOD[0].unit : '')}\n
\n
\n Shallow < LLOD\n
\n \n )\n }\n {\n bottomIsLtLLOD?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(bottomIsLtLLOD[0].value, bottomIsLtLLOD[0].unit ? bottomIsLtLLOD[0].unit : '')}\n
\n
\n Deep < LLOD\n
\n \n )\n }\n {\n topIsGtULOQ?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(topIsGtULOQ[0].value, topIsGtULOQ[0].unit)}\n
\n
\n Shallow > ULOQ\n
\n \n )\n }\n {\n bottomIsGtULOQ?.length > 0 && displayQualifiers\n && (\n \n
\n {DegreesToCardinal(bottomIsGtULOQ[0].value, bottomIsGtULOQ[0].unit)}\n
\n
\n Deep > ULOQ\n
\n \n )\n }\n {\n topMC.length === 0 && bottomMC.length === 0\n && (\n platformEvent\n )\n }\n
\n \n );\n};\n\nESPDatasetSummary.propTypes = {\n info: PropTypes.object,\n parameters: PropTypes.array,\n obsData: PropTypes.object,\n};\n\nESPDatasetSummary.defaultProps = {\n info: {},\n parameters: [],\n obsData: {},\n};\n\nexport default memo(ESPDatasetSummary);\n","import React, { memo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Drawer } from 'antd';\nimport classnames from 'classnames';\nimport { useMediaQuery } from 'react-responsive';\nimport { CloseCircleIcon, CloseIcon } from '../icons';\nimport './styles.scss';\n\nconst CustomDrawer = (props) => {\n const {\n className, title, footer, children, visible, width, height, handleShowDrawer, ...rest\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const [open, setOpen] = useState(false);\n const onClose = () => {\n setOpen(false);\n handleShowDrawer(false);\n };\n\n return (\n \n ) : (\n \n \n \n )}\n className={classnames('custom-drawer', className)}\n title={title}\n width={width}\n height={height}\n onClose={onClose}\n visible={visible ?? open}\n footer={footer}\n getContainer={false}\n >\n
{children}
\n \n );\n};\n\nCustomDrawer.propTypes = {\n className: PropTypes.string,\n title: PropTypes.node,\n footer: PropTypes.node,\n children: PropTypes.node,\n visible: PropTypes.bool,\n width: PropTypes.string,\n height: PropTypes.string,\n handleShowDrawer: PropTypes.func,\n};\n\nCustomDrawer.defaultProps = {\n className: '',\n title: '',\n footer: undefined,\n children: undefined,\n visible: undefined,\n width: '38%',\n height: undefined,\n handleShowDrawer: () => {},\n};\n\nexport default memo(CustomDrawer);\n","import React, { memo, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Col,\n Row,\n Tooltip,\n} from 'antd';\nimport {\n DownloadOutlined,\n InfoCircleFilled,\n LinkOutlined,\n CommentOutlined,\n} from '@ant-design/icons';\n\nimport './styles-old.scss';\nimport { Link } from 'react-router-dom';\n\nconst allowedParameterVocabularyNames = ['cf', 'ioos', 'glos'];\n\nconst OldDataDownload = (props) => {\n const {\n parameters,\n platform,\n selectedParameter,\n isMobile,\n } = props;\n\n const [csvTitle, setCsvTitle] = useState(null);\n const [toolTipText, setToolTipText] = useState(null);\n const [canDownload, setCanDownload] = useState(true);\n const [downloadParameters, setDownloadParameters] = useState(null);\n const [foundParameter, setFoundParameter] = useState(null);\n\n const handleCsvDownloadClick = () => {\n let downloadUrl;\n const cd = new Date();\n let timeString;\n if (cd.getMonth() < 3) {\n timeString = `${cd.getFullYear() - 1}-03-01T00%3A00%3A00Z`;\n } else {\n timeString = `${cd.getFullYear()}-03-01T00%3A00%3A00Z`;\n }\n\n if (selectedParameter) {\n const parmSearch = parameters.filter((pm) => pm.parameter_id === selectedParameter);\n if (parmSearch.length > 0) {\n downloadUrl = `https://seagull-erddap.glos.org/erddap/tabledap/obs_${platform.obs_dataset_id}.csvp?time%2C${parmSearch[0].parameter_name}&time%3E=${timeString}`;\n }\n } else {\n downloadUrl = `https://seagull-erddap.glos.org/erddap/tabledap/obs_${platform.obs_dataset_id}.csvp?time%2C`;\n downloadParameters.forEach((parm) => {\n downloadUrl += `${parm.parameter_name}%2C`;\n });\n\n downloadUrl += `platform&time%3E=${timeString}`;\n }\n\n window.open(downloadUrl);\n };\n\n useEffect(() => {\n if (selectedParameter) {\n const parmSearch = parameters.filter((pm) => pm.parameter_id === selectedParameter);\n if (parmSearch.length > 0) {\n setFoundParameter(parmSearch[0]);\n }\n } else {\n setFoundParameter(undefined);\n }\n }, []);\n\n useEffect(() => {\n if (parameters && parameters.length) {\n if (foundParameter) {\n setCsvTitle(`Access all of ${platform.platform_name}'s ${foundParameter.name} data for the season.`);\n\n if (!allowedParameterVocabularyNames.includes(foundParameter.name_vocabulary)) { // } !== 'cf' && foundParameter.name_vocabulary !== 'ioos' && foundParameter.name_vocabulary !== 'glos') {\n setCsvTitle(`${platform.platform_name}'s ${foundParameter.name} data is not available for download currently.`);\n setCanDownload(false);\n }\n } else {\n setCsvTitle(`Access all of ${platform.platform_name}'s data for the season.`);\n const availableParameters = parameters.filter((parm) => allowedParameterVocabularyNames.includes(parm.name_vocabulary)); // === 'cf' || parm.name_vocabulary === 'ioos' || parm.name_vocabulary === 'glos');\n setDownloadParameters(availableParameters);\n\n const unavailableParameters = parameters.filter((parm) => !allowedParameterVocabularyNames.includes(parm.name_vocabulary)); // !== 'cf' && parm.name_vocabulary !== 'ioos' && parm.name_vocabulary !== 'glos');\n if (unavailableParameters.length > 0) {\n const toolTip = (\n <>\n
Some parameters are currently not included in data downloads. The following parameters are not included:
\n {\n unavailableParameters.map((parm) => (
{parm.name}
))\n }\n \n );\n\n setToolTipText(toolTip);\n }\n }\n } else {\n setCsvTitle('It looks like this platform isn\\'t displaying data. Please check back soon.');\n setCanDownload(false);\n }\n }, [foundParameter]);\n\n const handleEmailClick = async () => {\n await window.open('mailto:support@glos.org?subject=Data Download Request');\n };\n\n return (\n
\n \n \n

Download this season's data

\n
\n { csvTitle }\n { toolTipText && canDownload\n && (\n \n \n \n )}\n
\n \n { canDownload\n && (\n \n \n \n Download CSV\n \n \n )}\n
\n \n \n \n

Have more control over your download

\n
\n Go to ERDDAP so you can control the parameters and timeframe to download.\n
\n
\n What is ERDDAP?\n \n \n \n
\n \n \n \n \n GLOS ERDDAP\n \n \n
\n \n \n \n

Contact us for more options

\n
\n Our team is happy to help support your download needs.\n
\n \n \n \n \n Contact us\n \n \n \n
\n );\n};\n\nOldDataDownload.propTypes = {\n parameters: PropTypes.array,\n platform: PropTypes.object,\n selectedParameter: PropTypes.number,\n isMobile: PropTypes.bool,\n};\n\nOldDataDownload.defaultProps = {\n parameters: [],\n platform: null,\n selectedParameter: null,\n isMobile: false,\n};\n\nexport default memo(OldDataDownload);\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { useHistory } from 'react-router-dom';\n\nimport UserContext from '../../contexts/UserContext';\nimport useParameterGroups from '../../config/useParameterGroups';\nimport SvgPinClickedIcon from '../icons/SvgPinClicked';\nimport './styles.scss';\n\nconst ParameterColors = ({\n isMobile, pinned, onClick, standardName,\n}) => {\n const [isPinned] = useState(pinned);\n const [isHovered, setIsHovered] = useState(false);\n const history = useHistory();\n\n const { parameterGroups } = useParameterGroups();\n\n const {\n seagullUser,\n } = useContext(UserContext);\n\n const { setAuthDrawerOpen } = useContext(UserContext);\n\n const onPinClick = (event) => {\n event.stopPropagation();\n if (seagullUser) {\n history.push('/profile/preferences');\n } else {\n setAuthDrawerOpen(true);\n }\n };\n\n const parameterGroup = parameterGroups.find((group) => group.parameter_standard_names?.includes(standardName));\n // Conditional styles for param pin if param is pinned & hovered\n const pinBackgroundColor = isHovered && isPinned ? '#fff' : isPinned ? parameterGroup?.unSelectedColor : 'transparent';\n const pinBorderColor = isPinned && isHovered ? '#fff' : parameterGroup?.unSelectedColor;\n const pinColor = isPinned && isHovered ? parameterGroup?.unSelectedColor : isPinned ? '#fff' : parameterGroup?.unSelectedColor;\n\n return (\n \n onPinClick(event)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n style={{\n color: parameterGroup?.unSelectedColor || '#fff',\n backgroundColor: pinBackgroundColor,\n }}\n >\n \n
\n
\n );\n};\n\nParameterColors.propTypes = {\n isMobile: PropTypes.bool,\n pinned: PropTypes.bool,\n onClick: PropTypes.func,\n standardName: PropTypes.string.isRequired,\n};\n\nParameterColors.defaultProps = {\n isMobile: false,\n pinned: false,\n onClick: () => { },\n};\n\nexport default ParameterColors;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Statistic } from 'antd';\nimport {\n CaretUpFilled,\n ClockCircleOutlined,\n SafetyCertificateFilled,\n} from '@ant-design/icons';\nimport moment from 'moment';\nimport DegreesToCardinal from './DegreesToCardinal';\nimport { brandingConfig } from '../../config';\nimport './styles.scss';\nimport ParameterColors from './parameterColors';\nimport { getParameterGroupIcon } from '../../utils';\nimport useParameterGroups from '../../config/useParameterGroups';\n\nconst Parameter = (props) => {\n const {\n icon,\n date,\n minimized,\n name,\n nameEllipsis,\n value,\n unit,\n style,\n metricVisible,\n dataVerifiedVisible,\n onClick,\n isMobile,\n isSnapshot,\n pinned,\n standardName,\n } = props;\n\n const IconComponent = () => (\n icon ? (\n \n {icon}\n  \n \n ) : ''\n );\n\n const formattedValue = DegreesToCardinal(value, unit);\n const { parameterGroups } = useParameterGroups();\n\n return (\n minimized\n ? (\n
\n
\n {formattedValue}\n
\n
{name}
\n
\n )\n : (\n <>\n \n onClick()}\n className=\"parameter\"\n >\n
\n \n {formattedValue}\n \n {metricVisible\n ? (\n }\n suffix=\"%\"\n />\n )\n : ''}\n
\n
\n \n
\n \n {getParameterGroupIcon(parameterGroups, standardName)}\n \n \n \n {name}\n \n \n
\n
\n
\n \n  \n {moment(date).fromNow()}\n
\n {dataVerifiedVisible\n ? (\n
\n \n  \n Data Verified\n
\n ) : ''}\n \n \n )\n );\n};\n\nParameter.propTypes = {\n icon: PropTypes.element,\n name: PropTypes.string,\n nameEllipsis: PropTypes.bool,\n value: PropTypes.number,\n unit: PropTypes.string,\n date: PropTypes.number,\n minimized: PropTypes.bool,\n style: PropTypes.object,\n metricVisible: PropTypes.bool,\n dataVerifiedVisible: PropTypes.bool,\n onClick: PropTypes.func,\n isMobile: PropTypes.bool,\n isSnapshot: PropTypes.bool,\n pinned: PropTypes.bool,\n standardName: PropTypes.string,\n};\n\nParameter.defaultProps = {\n icon: null,\n name: '',\n nameEllipsis: false,\n value: '',\n unit: '',\n date: 0,\n minimized: false,\n style: {},\n metricVisible: true,\n dataVerifiedVisible: false,\n onClick: () => { },\n isMobile: false,\n isSnapshot: false,\n pinned: false,\n standardName: '',\n};\n\nexport default memo(Parameter);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n BuoyOutlineIcon,\n GliderIcon,\n TowerIcon,\n SamplingIcon,\n} from '../icons';\nimport { platformGroupings } from '../../utils';\n\nconst PlatformType = (props) => {\n const { type } = props;\n\n const getPlatformType = () => {\n let newPlatformEvent;\n\n if (platformGroupings.buoy.includes(type)) {\n newPlatformEvent = (\n <>\n \n  \n Buoy\n \n );\n } else if (platformGroupings.tower.includes(type)) {\n newPlatformEvent = (\n <>\n \n  \n Tower\n \n );\n } else if (platformGroupings.moving.includes(type)) {\n newPlatformEvent = (\n <>\n \n  \n Glider\n \n );\n } else if (platformGroupings.sampling_location.includes(type)) {\n newPlatformEvent = (\n <>\n \n  \n Sampling Location\n \n );\n } else {\n newPlatformEvent = type;\n }\n\n return newPlatformEvent;\n };\n\n return (\n {getPlatformType()}\n );\n};\n\nPlatformType.propTypes = {\n type: PropTypes.string,\n};\n\nPlatformType.defaultProps = {\n type: '',\n};\n\nexport default PlatformType;\n","const searchCategory = 'Search';\nconst mapFilterCategory = 'Map Filter';\nconst forecastDataCategory = 'Forecast Data';\nconst platformMarkerCategory = 'Platform Marker';\nconst timeSliderCategory = 'Time Slider';\nconst dataConsoleCategory = 'Data Console';\nconst socialShareCategory = 'Social Sharing';\nconst userCategory = 'User Activity';\n\nexport const SearchEvent = {\n Submit: {\n category: searchCategory,\n action: 'Submitted Search',\n },\n InputText: {\n category: searchCategory,\n action: 'Input Text',\n },\n LocationResultSelect: {\n category: searchCategory,\n action: 'Location Result Selected',\n },\n};\n\nexport const UserEvent = {\n TogglePlatformFavorite: {\n category: userCategory,\n action: 'Toggled Favorite Status For Platform',\n },\n AddPlatformFavorite: {\n category: userCategory,\n action: 'Added Platform As Favorite',\n },\n RemovePlatformFavorite: {\n category: userCategory,\n action: 'Removed Platform As Favorite',\n },\n ToggleParameterFilter: {\n category: userCategory,\n action: 'Parameter Category Filter Toggled',\n },\n AlertCreationOfInterest: {\n category: userCategory,\n action: 'User Attempted to Start Creating Alert',\n },\n DownloadOfInterest: {\n category: userCategory,\n action: 'User Expressed Interest in Downloading Data',\n },\n};\n\nexport const PlatformMarkerEvent = {\n MarkerClicked: {\n category: platformMarkerCategory,\n action: 'Platform Marker Clicked',\n },\n SelectedPlatformId: {\n category: platformMarkerCategory,\n action: 'Selected Platform Id',\n },\n ClusterClicked: {\n category: platformMarkerCategory,\n action: 'Platform Marker Cluster Clicked',\n },\n NextPlatformClicked: {\n category: platformMarkerCategory,\n action: 'Next or Previous Platform Selected',\n },\n DiveDeeperClicked: {\n category: 'DatasetDetail',\n action: 'Dive Deeper Clicked',\n },\n ParameterClicked: {\n category: dataConsoleCategory,\n action: 'Parameter Clicked',\n },\n};\n\nexport const MapFilterEvent = {\n LakeFilterSelect: {\n category: mapFilterCategory,\n action: 'Lake Filter Selected',\n },\n PlatformStatusFilter: {\n category: mapFilterCategory,\n action: 'Platform Status Selected',\n },\n TagSelect: {\n category: mapFilterCategory,\n action: 'Tag Selected',\n },\n ClearFilters: {\n category: mapFilterCategory,\n action: 'Clear All Filters',\n },\n ClearLakeFilters: {\n category: mapFilterCategory,\n action: 'Clear Lake Filters',\n },\n TagRemoved: {\n category: mapFilterCategory,\n action: 'Tag Removed',\n },\n MapFilterParams: {\n category: mapFilterCategory,\n action: 'Map Query Change',\n\n },\n};\n\nexport const ForecastEvent = {\n WaterTempOn: {\n category: forecastDataCategory,\n action: 'Water Temperature Toggled',\n },\n WaterTempClicked: {\n category: forecastDataCategory,\n action: 'Water Temperature Layer Clicked',\n },\n WaterCurrentOn: {\n category: forecastDataCategory,\n action: 'Water Current Toggled',\n },\n WaterCurrentClicked: {\n category: forecastDataCategory,\n action: 'Water Current Layer Clicked',\n },\n};\n\nexport const TimeSliderEvent = {\n Reset: {\n category: timeSliderCategory,\n action: 'Slider Value Reset to Current Datetime',\n },\n TogglePlayAnimation: {\n category: timeSliderCategory,\n action: 'Play Button Toggled',\n },\n ChangedByMouse: {\n category: timeSliderCategory,\n action: 'Slider Value Changed by Mouse',\n },\n AnimationFinished: {\n category: timeSliderCategory,\n action: 'Time Animation Played Until End',\n },\n};\n\nexport const MapEvent = {\n EnteredFromLanding: {\n category: 'Landing',\n action: 'Clicked on map to enter map',\n },\n UserDidGeolocate: {\n category: 'Geolocation',\n action: 'Clicked Geolocate Button',\n },\n};\n\nexport const DataConsoleEvent = {\n LakeFilterSelect: {\n category: dataConsoleCategory,\n action: 'Lake Filter Selected',\n },\n PlatformTypeFilter: {\n category: dataConsoleCategory,\n action: 'Platform Type Filter Selected',\n },\n PlatformStatusFilter: {\n category: dataConsoleCategory,\n action: 'Platform Status Selected',\n },\n ListViewToggled: {\n category: dataConsoleCategory,\n action: 'Toggle List and Tile View',\n },\n};\n\nexport const ParameterDetailsEvent = {\n ShareModalSelect: {\n category: socialShareCategory,\n action: 'Social Sharing Modal Opened',\n },\n ShareModalClosed: {\n category: socialShareCategory,\n action: 'Social Share Modal Closed',\n },\n TwitterSelect: {\n category: socialShareCategory,\n action: 'Twitter Social Share Selected',\n },\n FacebookSelect: {\n category: socialShareCategory,\n action: 'Facebook Social Share Selected',\n },\n LinkedInSelect: {\n category: socialShareCategory,\n action: 'LinkedIn Social Share Selected',\n },\n RedditSelect: {\n category: socialShareCategory,\n action: 'Reddit Social Share Selected',\n },\n DownloadSelect: {\n category: socialShareCategory,\n action: 'Download Social Share Selected',\n },\n CopyLinkSelect: {\n category: socialShareCategory,\n action: 'Social Share Image Link Copied',\n },\n};\n\nexport const DetailHeaderEvent = {\n ShareModalSelect: {\n category: socialShareCategory,\n action: 'Social Sharing Modal Opened',\n },\n ShareModalClosed: {\n category: socialShareCategory,\n action: 'Social Share Modal Closed',\n },\n TwitterSelect: {\n category: socialShareCategory,\n action: 'Twitter Social Share Selected',\n },\n FacebookSelect: {\n category: socialShareCategory,\n action: 'Facebook Social Share Selected',\n },\n LinkedInSelect: {\n category: socialShareCategory,\n action: 'LinkedIn Social Share Selected',\n },\n EmailSelect: {\n category: socialShareCategory,\n action: 'Email Social Share Selected',\n },\n DownloadSelect: {\n category: socialShareCategory,\n action: 'Download Social Share Selected',\n },\n CopyLinkSelect: {\n category: socialShareCategory,\n action: 'Social Share Image Link Copied',\n },\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'antd/lib/modal/Modal';\nimport ReactGA from 'react-ga4';\n// import { useMediaQuery } from 'react-responsive';\nimport { ParameterDetailsEvent } from '../../constant/google-analytics/constant';\n\nimport './styles.scss';\n\nimport { CloseIcon } from '../icons';\n\nconst CustomModal = (props) => {\n const {\n children, className, isSocialShare, isCommunityModal, isDataDownload, ...rest\n } = props;\n\n // const isMobile = useMediaQuery({ maxWidth: 767 });\n const width = isSocialShare\n ? 640\n : isDataDownload ? 875 : 520;\n\n return (\n ReactGA.event(ParameterDetailsEvent.ShareModalClosed) : () => {}}>\n \n \n )}\n zIndex={1001}\n >\n {children}\n \n );\n};\n\nCustomModal.propTypes = {\n children: PropTypes.element,\n className: PropTypes.string,\n isSocialShare: PropTypes.bool,\n isCommunityModal: PropTypes.bool,\n isDataDownload: PropTypes.bool,\n};\n\nCustomModal.defaultProps = {\n children: null,\n className: '',\n isSocialShare: false,\n isCommunityModal: false,\n isDataDownload: false,\n};\n\nexport default CustomModal;\n","export const CTA_BUTTONS = {\n CTA_DIVE_DEEPER: 'dive_deeper',\n CTA_FAVORITE: 'favorite',\n CTA_CREATE_ALERT: 'create_alert',\n CTA_SHARE: 'share',\n CTA_REPORT_ISSUE: 'report_issue',\n CTA_DOWNLOAD: 'download_data',\n};\n","import React, {\n memo, useContext, useEffect, useState,\n} from 'react';\nimport {\n Button,\n} from 'antd';\nimport {\n BarChartOutlined,\n BellFilled, ExclamationCircleFilled, ShareAltOutlined, DownloadOutlined, HeartOutlined, HeartFilled,\n} from '@ant-design/icons';\nimport { useMediaQuery } from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport { Link as RouterLink } from 'react-router-dom';\n\nimport { featureFlag } from '../../constant';\nimport { CTA_BUTTONS } from './constants';\nimport UserContext from '../../contexts/UserContext';\n\nimport './styles.scss';\n\nconst CTABar = (props) => {\n const {\n buttonsConfig,\n handleCreateAlert,\n handleFavoriteClick,\n isFavorite,\n } = props;\n\n const buttons = [\n {\n key: CTA_BUTTONS.CTA_DIVE_DEEPER,\n icon: ,\n name: 'Dive Deeper',\n visible: false,\n },\n {\n key: CTA_BUTTONS.CTA_FAVORITE,\n icon: isFavorite ? : ,\n name: isFavorite ? 'Remove Favorite' : 'Mark As Favorite',\n visible: featureFlag.favorites,\n },\n {\n key: CTA_BUTTONS.CTA_CREATE_ALERT,\n icon: ,\n name: 'Create an Alert',\n visible: featureFlag.userAlerts,\n },\n {\n key: CTA_BUTTONS.CTA_SHARE,\n icon: ,\n name: 'Share Platform',\n visible: false,\n },\n {\n key: CTA_BUTTONS.CTA_REPORT_ISSUE,\n icon: ,\n name: 'Report an Issue',\n visible: false,\n },\n {\n key: CTA_BUTTONS.CTA_DOWNLOAD,\n icon: ,\n name: 'Download Data',\n visible: featureFlag.downloadData,\n },\n ];\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const [active, setActive] = useState([]);\n const [defaultButton, setDefaultButton] = useState('');\n\n const handleMouseEnter = (key) => {\n const activeBtn = [key];\n setActive(activeBtn);\n };\n\n const handleMouseLeave = (key) => {\n if (active) {\n const activeBtn = active.filter((o) => o !== key);\n setActive(activeBtn);\n }\n };\n\n useEffect(() => {\n buttons.forEach((btn) => {\n const btnConfig = buttonsConfig?.find((o) => o.key === btn.key);\n const btnVisible = btnConfig?.visible || btn.visible;\n const btnDefault = btnConfig?.isDefault || btn.isDefault;\n\n if (btnConfig && btnDefault && btnVisible) {\n setActive(btn.key);\n setDefaultButton(btn.key);\n } else if (btn && btnVisible && btnDefault) {\n setActive(btn.key);\n setDefaultButton(btn.key);\n }\n });\n }, []);\n\n useEffect(() => {\n if (active.length === 0 && defaultButton !== '') {\n setActive(defaultButton);\n }\n }, [active]);\n\n const {\n setAuthDrawerOpen,\n cognitoUser,\n } = useContext(UserContext);\n\n const handleClick = async (key) => {\n const btnConfig = buttonsConfig.find((o) => o.key === key);\n\n if (btnConfig?.onClick) {\n btnConfig.onClick();\n }\n\n switch (key) {\n case CTA_BUTTONS.CTA_CREATE_ALERT:\n if (cognitoUser) {\n return handleCreateAlert();\n }\n\n setAuthDrawerOpen(true);\n\n return false;\n case CTA_BUTTONS.CTA_FAVORITE:\n if (cognitoUser) {\n return handleFavoriteClick();\n }\n\n setAuthDrawerOpen(true);\n return false;\n default:\n }\n };\n\n const buttonClassName = (btnKey) => {\n if (isFavorite && btnKey === CTA_BUTTONS.CTA_FAVORITE) {\n return 'bg-dark favorite-btn favorite-active';\n }\n\n return 'bg-dark favorite-btn';\n };\n\n return (\n
\n {buttons.map((btn, index) => {\n const btnConfig = buttonsConfig?.find((o) => o.key === btn.key);\n const btnVisible = btnConfig?.visible ?? btn.visible;\n const isDisabled = btnConfig?.isDisabled ?? false;\n\n const button = (\n handleMouseEnter(btn.key)}\n onMouseLeave={() => handleMouseLeave(btn.key)}\n >\n handleClick(btn.key)}\n disabled={isDisabled}\n >\n {!isMobile && btn.key !== 'share' && active?.includes(btn.key) ? {btn.name} : ''}\n \n \n );\n\n return (\n btnVisible && (\n btnConfig?.route ? {button} : button\n )\n );\n })}\n
\n );\n};\n\nCTABar.propTypes = {\n buttonsConfig: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n route: PropTypes.string,\n visible: PropTypes.bool,\n onClick: PropTypes.func,\n isDefault: PropTypes.bool,\n }),\n ),\n handleCreateAlert: PropTypes.func,\n handleFavoriteClick: PropTypes.func,\n isFavorite: PropTypes.bool,\n};\n\nCTABar.defaultProps = {\n buttonsConfig: [],\n handleCreateAlert: () => { },\n handleFavoriteClick: () => { },\n isFavorite: false,\n};\n\nexport default memo(CTABar);\n","import { LeftOutlined, PlusCircleFilled } from '@ant-design/icons';\nimport React, {\n useEffect, useMemo, useState, useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button, Checkbox, Col, Form, Input, message, Row, Select, Slider, Typography,\n\n} from 'antd';\nimport lodash from 'lodash';\nimport { useMutation, useQuery } from 'react-query';\nimport Qty from 'js-quantities';\nimport CustomDrawer from '../../../../../components/drawer';\nimport { createAlert, updateAlert } from '../../../../../services/profile.service';\n\nimport './styles.scss';\nimport MapQueryTypes from '../../../../../services/query-types/map';\nimport {\n getDatasetSummaries,\n parameterConfigurations,\n getRegisteredParameters,\n} from '../../../../../services/dataset.service';\nimport { convertParameterUnit, getPreferredUnit } from '../../../../../utils';\nimport { brandingConfig } from '../../../../../config';\n\nimport UserContext from '../../../../../contexts/UserContext';\n\nconst { Link } = Typography;\n\nconst { OptGroup, Option } = Select;\n\nconst CreateAlert = (props) => {\n const {\n isMobile, platform, parameters: platformParameters, visible, onClose,\n } = props;\n\n const [alertSaved, setAlertSaved] = useState(false);\n const [parameters, setParameters] = useState(platformParameters.filter((p) => p.alerts?.threshold_max || p.alerts?.threshold_min));\n const [aboveThresholdChecked, setAboveThresholdChecked] = useState(true);\n const [belowThresholdChecked, setBelowThresholdChecked] = useState(false);\n const [currMinThresholdValue, setCurrMinThresholdValue] = useState(null);\n const [currMaxThresholdValue, setCurrMaxThresholdValue] = useState(null);\n\n const [selectedParameter, setSelectedParameter] = useState();\n\n const parametersGrouped = lodash.groupBy(parameters, (p) => p.depth);\n const [form] = Form.useForm();\n\n const { unitPreferences } = useContext(UserContext);\n\n const {\n data: obsDatasetSummariesResult,\n refetch: datasetSumariesRefetch,\n } = useQuery(\n MapQueryTypes.REST_OBS_DATASET_SUMMARIES,\n getDatasetSummaries,\n {\n refetchOnWindowFocus: false,\n enabled: false,\n },\n );\n\n const {\n data: parameterConfigurationsResult,\n refetch: parameterConfigurationsRefetch,\n } = useQuery(MapQueryTypes.REST_PARAMETER_CONFIGURATIONS, parameterConfigurations, {\n refetchOnWindowFocus: false,\n enabled: false,\n });\n\n const {\n data: registeredParametersResult,\n refetch: registeredParametersRefetch,\n } = useQuery(MapQueryTypes.REST_PARAMETERS_REGISTERED_CREATEALERT, getRegisteredParameters, { refetchOnWindowFocus: false });\n\n useEffect(() => {\n if (obsDatasetSummariesResult && parameterConfigurationsResult && registeredParametersResult && platformParameters.length === 0) {\n const platformData = obsDatasetSummariesResult.find((o) => o.obs_dataset_id === platform.obs_dataset_id);\n const platformId = platformData?.obs_dataset_platform_assignment?.platform.platform_id ?? -1;\n let platformParametersArr = [];\n if (platformId !== -1) {\n platformParametersArr = registeredParametersResult.filter((rp) => rp.platform_id === platformId);\n }\n\n // add details\n const parametersData = platformParametersArr\n .filter((p) => !p.profiling)\n .map((parameter) => {\n const parameterConfig = parameterConfigurationsResult\n .find((o) => o.standard_name === parameter.standard_name && o.name_vocabulary === parameter.name_vocabulary);\n\n if (parameterConfig) {\n const { threshold_min: minThreshold, threshold_max: maxThreshold } = parameterConfig?.alerts;\n\n const minThresholdPreferred = convertParameterUnit({\n parameterConfig,\n value: minThreshold,\n unitPreferences,\n });\n\n const maxThresholdPreferred = convertParameterUnit({\n parameterConfig,\n value: maxThreshold,\n unitPreferences,\n });\n\n const canonicalUnit = parameterConfig?.canonical_unit_id;\n const preferredUnit = getPreferredUnit(canonicalUnit, parameterConfig, unitPreferences);\n const preferredUnitObj = parameterConfig ? parameterConfig.units.find((o) => o.id === preferredUnit) : null;\n return {\n ...parameter,\n name: parameterConfig.display_name.en,\n depth: parameter.depth ?? 0,\n alerts: {\n threshold_min: minThresholdPreferred ?? minThreshold,\n threshold_max: maxThresholdPreferred ?? maxThreshold,\n },\n unit: preferredUnitObj?.symbol,\n };\n }\n\n return {\n ...parameter,\n alerts: {},\n };\n });\n\n setParameters(parametersData?.filter((p) => p.alerts?.threshold_max || p.alerts?.threshold_min));\n }\n }, [obsDatasetSummariesResult, parameterConfigurationsResult, registeredParametersResult]);\n\n useEffect(() => {\n if (parameters && parameters.length > 0) {\n setSelectedParameter(parameters[0]);\n\n form.setFieldsValue({\n min_threshold: 4,\n max_threshold: 12,\n });\n } else if (platformParameters && platformParameters.length === 0) {\n // Fetch dataset summaries\n datasetSumariesRefetch();\n parameterConfigurationsRefetch();\n registeredParametersRefetch();\n }\n }, [parameters]);\n\n const getDepthParameters = (depth) => parametersGrouped[depth].map((parameter, index) => (\n \n {parameter.name}\n \n ));\n\n const handleChange = (e) => {\n const [standardName, nameVocabulary] = e.split('-');\n\n setSelectedParameter(parameters.find((parameter) => parameter.name_vocabulary === nameVocabulary\n && parameter.standard_name === standardName));\n };\n\n const [updateForm] = Form.useForm();\n\n const mutation = useMutation((data) => createAlert(data));\n const updateMutation = useMutation((data) => updateAlert(data));\n\n useEffect(() => {\n if (mutation.isSuccess) {\n setAlertSaved(true);\n updateForm.setFieldsValue({\n name: mutation.data?.name,\n });\n }\n }, [mutation]);\n\n useEffect(() => {\n form.setFieldsValue({\n min_threshold: selectedParameter?.value,\n max_threshold: selectedParameter?.value,\n });\n }, [selectedParameter]);\n\n const handleCreateAnotherAlert = () => {\n setAlertSaved(false);\n mutation.reset();\n updateMutation.reset();\n };\n\n useEffect(() => {\n if (updateMutation.isSuccess && alertSaved) {\n onClose();\n handleCreateAnotherAlert();\n }\n }, [updateMutation.isSuccess]);\n\n const onSubmit = (values) => {\n const minThresholdValue = values.min_threshold ?? selectedParameter.alert.min_threshold;\n const maxThresholdValue = values.max_threshold ?? selectedParameter.alert.max_threshold;\n const { preferredUnit } = selectedParameter;\n const { canonicalUnit } = selectedParameter;\n let minThreshold;\n let maxThreshold;\n\n if (!aboveThresholdChecked && !belowThresholdChecked) {\n return message.error('At least one threshold value is required');\n }\n\n if (aboveThresholdChecked && belowThresholdChecked && maxThresholdValue < minThresholdValue) {\n return message.error('Max threshold cannot be less than min threshold value');\n }\n\n try {\n minThreshold = Qty(Number(minThresholdValue), preferredUnit)\n .to(canonicalUnit).scalar.toFixed(2);\n maxThreshold = Qty(Number(maxThresholdValue), preferredUnit)\n .to(canonicalUnit).scalar.toFixed(2);\n } catch (e) {\n // console.log(e, mutation.isError);\n minThreshold = minThresholdValue;\n maxThreshold = maxThresholdValue;\n }\n\n let alertConfig;\n\n if (aboveThresholdChecked && belowThresholdChecked) {\n alertConfig = {\n min_threshold: minThreshold,\n max_threshold: maxThreshold,\n };\n } else if (aboveThresholdChecked) {\n alertConfig = {\n max_threshold: maxThreshold,\n };\n } else {\n alertConfig = {\n min_threshold: minThreshold,\n };\n }\n\n mutation.mutate({\n obs_dataset_id: platform.obs_dataset_id,\n name: `${selectedParameter.name} Threshold`,\n parameter_standard_name: selectedParameter.standard_name,\n parameter_name_vocabulary: selectedParameter.name_vocabulary,\n parameter_depth: selectedParameter.depth,\n alert_type: 'threshold',\n obs_threshold_alert_configuration: alertConfig,\n });\n };\n\n const handleUpdateAlert = (values) => {\n updateMutation.mutate(\n {\n ...values,\n id: mutation.data.obs_alert_id,\n },\n );\n };\n\n const alertSavedComponent = useMemo(() => (\n
\n \"thumb\n
\n Alert Saved\n
\n \n \n \n \n \n Done\n \n \n \n \n {' '}\n Create another Alert\n \n
\n ), [mutation]);\n\n return (\n \n {alertSaved ? alertSavedComponent\n : (\n <>\n
\n \n {' '}\n Create an Alert\n
\n \n \n \n {\n Object.keys(parametersGrouped).map((depth) => (\n \n \n \n {Number(depth) === 0 ? 'SURFACE' : `${depth}FT DEPTH`}\n \n
\n
\n )}\n key={`depth-group-${depth}`}\n >\n {getDepthParameters(depth)}\n \n
\n ))\n }\n \n\n
\n \n
\n\n \n \n \n <>\n setAboveThresholdChecked(e.target.checked)}\n />\n    \n \n \n \n \n \n \n `${value} ${selectedParameter?.unit}`}\n min={selectedParameter?.alerts?.threshold_min}\n max={selectedParameter?.alerts?.threshold_max}\n marks={{\n [selectedParameter?.alerts?.threshold_min]: `${selectedParameter?.alerts?.threshold_min} ${selectedParameter?.unit}`,\n [selectedParameter?.alerts?.threshold_max]: `${selectedParameter?.alerts?.threshold_max} ${selectedParameter?.unit}`,\n }}\n step={0.01}\n disabled={!aboveThresholdChecked}\n onChange={(value) => setCurrMaxThresholdValue(value)}\n />\n \n \n \n\n \n \n \n <>\n setBelowThresholdChecked(e.target.checked)}\n />\n    \n \n \n \n \n \n \n `${value} ${selectedParameter?.unit}`}\n min={selectedParameter?.alerts?.threshold_min}\n max={selectedParameter?.alerts?.threshold_max}\n marks={{\n [selectedParameter?.alerts?.threshold_min]: `${selectedParameter?.alerts?.threshold_min} ${selectedParameter?.unit}`,\n [selectedParameter?.alerts?.threshold_max]: `${selectedParameter?.alerts?.threshold_max} ${selectedParameter?.unit}`,\n }}\n step={0.01}\n disabled={!belowThresholdChecked}\n onChange={(value) => setCurrMinThresholdValue(value)}\n />\n \n \n \n {\n aboveThresholdChecked\n ? (\n
\n Above\n {' '}\n {currMaxThresholdValue}\n {' '}\n {selectedParameter?.unit}\n
\n )\n : <>\n }\n {\n belowThresholdChecked\n ? (\n
\n Below\n {' '}\n {currMinThresholdValue}\n {' '}\n {selectedParameter?.unit}\n
\n )\n : <>\n }\n \n Save\n \n \n \n )}\n \n );\n};\n\nCreateAlert.propTypes = {\n isMobile: PropTypes.bool,\n parameters: PropTypes.array,\n visible: PropTypes.bool,\n platform: PropTypes.object,\n onClose: PropTypes.func,\n};\n\nCreateAlert.defaultProps = {\n isMobile: false,\n parameters: [],\n visible: false,\n platform: null,\n onClose: () => {},\n};\n\nexport default CreateAlert;\n","import React from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport PropTypes from 'prop-types';\n\nimport './styles.scss';\n\nconst NoPlatformData = (props) => {\n const { message, icon } = props;\n const isMobile = useMediaQuery({ maxWidth: 760 });\n\n return (\n \n
\n {icon}\n
\n {message}\n
\n
\n \n );\n};\n\nNoPlatformData.propTypes = {\n icon: PropTypes.object,\n message: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n};\n\nNoPlatformData.defaultProps = {\n icon: {},\n message: '',\n};\n\nexport default NoPlatformData;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst RecoveredSvg = () => (\n
\n \n \n Buoy (Search Result) White\n Created with Sketch.\n \n \n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n {' '}\n \n \n \n \n \n \n \n \n \n \n {' '}\n \n \n \n
\n);\n\nconst RecoveredIcon = (props) => ;\n\nexport default RecoveredIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useParameterGroups from '../../config/useParameterGroups';\n\nconst ParameterFilters = (props) => {\n const {\n onCategoriesChange, categorySelected, categoriesPresent, dark,\n } = props;\n\n const { parameterGroups } = useParameterGroups();\n\n // TODO: categoryButton should probably be its own component\n const categoryButton = (group) => {\n const isSelected = categorySelected === group.group_name;\n const isDisabled = !categoriesPresent.includes(group.group_name);\n\n const handleClick = () => {\n if (isDisabled || isSelected) {\n onCategoriesChange('');\n } else {\n onCategoriesChange(group.group_name);\n }\n };\n\n return (\n \n {dark ? (\n \n {group.icon}\n
\n ) : (\n \n {group.icon}\n \n )}\n
{group.display_name?.en}
\n \n );\n };\n\n return (\n <>\n {parameterGroups\n .filter((group) => !group?.hidden)\n .filter((group) => categoriesPresent.includes(group.group_name))\n .map((parameterGroup) => categoryButton(parameterGroup))}\n \n );\n};\n\nParameterFilters.propTypes = {\n onCategoriesChange: PropTypes.func,\n categorySelected: PropTypes.string,\n categoriesPresent: PropTypes.array,\n dark: PropTypes.bool,\n};\n\nParameterFilters.defaultProps = {\n onCategoriesChange: () => { },\n categorySelected: '',\n categoriesPresent: [],\n dark: false,\n};\n\nexport default ParameterFilters;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport MessageFilled from '@ant-design/icons/MessageFilled';\n\nimport HtmlText from '../html-text';\nimport './styles.scss';\n\nconst DatasetMessage = ({ message }) => (\n
\n
\n \n \n
\n
\n);\n\nDatasetMessage.propTypes = {\n message: PropTypes.string,\n};\n\nDatasetMessage.defaultProps = {\n message: '',\n};\n\nexport default DatasetMessage;\n","import React from 'react';\nimport videojs from 'video.js';\nimport 'video.js/dist/video-js.css';\nimport PropTypes from 'prop-types';\n\nconst VideoJS = (props) => {\n const videoRef = React.useRef(null);\n const { options } = props;\n\n // This seperate functional component fixes the removal of the videoelement\n // from the DOM when calling the dispose() method on a player\n const VideoHtml = () => (\n
\n \n
\n );\n\n React.useEffect(() => {\n const videoElement = videoRef.current;\n let player;\n if (videoElement) {\n player = videojs(videoElement, options, () => {\n });\n }\n return () => {\n if (player) {\n player.dispose();\n }\n };\n }, [options]);\n\n return ();\n};\n\nVideoJS.propTypes = {\n options: PropTypes.object,\n};\n\nVideoJS.defaultProps = {\n options: {},\n};\n\nexport default VideoJS;\n","import React from 'react';\nimport VideoJS from '../components/video-js';\n\nconst videoJsOptions = (mediaURL) => (\n {\n autoplay: false,\n controls: true,\n responsive: true,\n fluid: true,\n sources: [{\n src: mediaURL,\n type: 'video/mp4',\n }],\n }\n);\n\nexport const videoOrImage = (mediaURL, isPopUp, isMobile = true) => {\n const urlSplit = mediaURL.split('.');\n const urlExt = urlSplit[urlSplit.length - 1].toLowerCase();\n if (urlExt === 'png' || urlExt === 'jpg' || urlExt === 'gif') {\n if (isPopUp) {\n return (\n \n \"Webcam\n \n );\n }\n return (\n \n \"Webcam\n \n );\n }\n return (\n \n );\n};\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Statistic } from 'antd';\nimport {\n CaretUpFilled,\n ClockCircleOutlined,\n SafetyCertificateFilled,\n} from '@ant-design/icons';\nimport moment from 'moment';\nimport DegreesToCardinal from './DegreesToCardinal';\nimport { brandingConfig } from '../../config';\nimport './styles.scss';\nimport ParameterColors from './parameterColors';\nimport { getParameterGroupIcon } from '../../utils';\n\nconst QualifiedParameter = (props) => {\n const {\n icon,\n date,\n minimized,\n name,\n nameEllipsis,\n value,\n unit,\n meta,\n style,\n metricVisible,\n dataVerifiedVisible,\n onClick,\n isMobile,\n isSnapshot,\n pinned,\n standardName,\n parameterName,\n } = props;\n\n // ESP Qualifiers\n // I do note that ESP data and metadata are incredibly difficult to create\n // a general interface for, and do invite proposals for how to achieve it.\n // That said, having a qualified parameter object is my proposal to begin\n // development of a solution to those and similar aims. If there are other\n // unique parameters that come up with special qualifiers, then we can\n // codify the logic of them here.\n // -Joe Smith (GLOS)\n\n const espIsEstimate = meta?.length > 0 ? meta.filter((q) => q.standard_name === 'microcystin_is_estimate') : null;\n const espLLOD = meta?.length > 0 ? meta.filter((q) => q.standard_name === 'microcystin_llod') : null;\n const espLLOQ = meta?.length > 0 ? meta.filter((q) => q.standard_name === 'microcystin_lloq') : null;\n const espIsGtULOQ = meta?.length > 0 ? meta.filter((q) => q.standard_name === 'microcystin_lt_llod') : null;\n const espIsLtLLOD = meta?.length > 0 ? meta.filter((q) => q.standard_name === 'microcystin_gt_uloq') : null;\n\n const isTop = parameterName.includes('top_');\n const isBottom = parameterName.includes('bottom_');\n const wantDepthParamAdjective = false;\n\n // End ESP Qualifiers\n\n const getShortName = (longName) => {\n if (longName === 'Microcystin concentration') {\n return 'Microcystin';\n }\n return longName;\n };\n\n const IconComponent = () => (\n icon ? (\n \n {icon}\n  \n \n ) : ''\n );\n\n const formattedValue = DegreesToCardinal(value, unit);\n\n return (\n minimized\n ? (\n
\n
\n {formattedValue}\n
\n
{name}
\n
\n )\n : (\n <>\n \n onClick()}\n className=\"parameter\"\n >\n
\n \n {formattedValue}\n \n {metricVisible\n ? (\n }\n suffix=\"%\"\n />\n )\n : ''}\n {espLLOD?.length > 0\n ? (\n \n LLOD\n \n )}\n value={DegreesToCardinal(espLLOD[0].value, espLLOD[0].unit)}\n precision={2}\n valueStyle={{\n color: '#fff',\n fontSize: 10,\n fontWeight: 'bold',\n marginTop: 0,\n marginLeft: 15,\n }}\n />\n )\n : ''}\n {espLLOQ?.length > 0\n ? (\n \n LLOQ\n \n )}\n value={DegreesToCardinal(espLLOQ[0].value, espLLOQ[0].unit)}\n precision={2}\n valueStyle={{\n color: '#fff',\n fontSize: 10,\n fontWeight: 'bold',\n marginTop: 0,\n marginLeft: 15,\n }}\n />\n )\n : ''}\n {espIsLtLLOD?.length > 0\n ? (\n \n < LLOQ\n \n )}\n value={DegreesToCardinal(espIsLtLLOD[0].value, espIsLtLLOD[0].unit ? espIsLtLLOD[0].unit : '')}\n precision={2}\n valueStyle={{\n color: '#fff',\n fontSize: 10,\n fontWeight: 'bold',\n marginTop: 0,\n marginLeft: 15,\n }}\n />\n )\n : ''}\n {espIsGtULOQ?.length > 0\n ? (\n \n > ULOQ\n \n )}\n value={DegreesToCardinal(espIsGtULOQ[0].value, espIsGtULOQ[0].unit ? espIsGtULOQ[0].unit : '')}\n precision={2}\n valueStyle={{\n color: '#fff',\n fontSize: 10,\n fontWeight: 'bold',\n marginTop: 0,\n marginLeft: 15,\n }}\n />\n )\n : ''}\n
\n
\n \n
\n {getParameterGroupIcon(name)}\n \n \n {(isTop && wantDepthParamAdjective) ? 'Shallow ' : ''}\n {(isBottom && wantDepthParamAdjective) ? 'Deep ' : ''}\n {getShortName(name)}\n \n \n
\n
\n
\n \n  \n {moment(date).fromNow()}\n
\n \n {espIsEstimate?.length > 0 ? 'Is estimate' : ''}\n \n {dataVerifiedVisible\n ? (\n
\n \n  \n Data Verified\n
\n ) : ''}\n \n \n )\n );\n};\n\nQualifiedParameter.propTypes = {\n icon: PropTypes.element,\n name: PropTypes.string,\n nameEllipsis: PropTypes.bool,\n value: PropTypes.number,\n unit: PropTypes.string,\n meta: PropTypes.array,\n date: PropTypes.number,\n minimized: PropTypes.bool,\n style: PropTypes.object,\n metricVisible: PropTypes.bool,\n dataVerifiedVisible: PropTypes.bool,\n onClick: PropTypes.func,\n isMobile: PropTypes.bool,\n isSnapshot: PropTypes.bool,\n pinned: PropTypes.bool,\n standardName: PropTypes.string,\n parameterName: PropTypes.string,\n};\n\nQualifiedParameter.defaultProps = {\n icon: null,\n name: '',\n nameEllipsis: false,\n value: '',\n unit: '',\n meta: [],\n date: 0,\n minimized: false,\n style: {},\n metricVisible: true,\n dataVerifiedVisible: false,\n onClick: () => { },\n isMobile: false,\n isSnapshot: false,\n pinned: false,\n standardName: '',\n parameterName: '',\n};\n\nexport default memo(QualifiedParameter);\n","import React, {\n memo,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Avatar, Button, Col, Row,\n} from 'antd';\nimport {\n LeftOutlined,\n RightOutlined,\n HeartFilled,\n HeartOutlined,\n DownOutlined,\n UpOutlined,\n ClockCircleOutlined,\n} from '@ant-design/icons';\nimport ReactGA from 'react-ga4';\nimport { useMediaQuery } from 'react-responsive';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport { useQuery, useMutation } from 'react-query';\nimport { useHistory, Link } from 'react-router-dom';\nimport UserContext from '../../../contexts/UserContext';\nimport { UserFilledIcon, WebcamIcon, NoDataIcon } from '../../icons';\nimport CustomDrawer from '../../drawer';\n// import DataDownload from '../../data-download/index';\nimport OldDataDownload from '../../data-download/OldDataDownload';\nimport Parameter from '../../parameter';\nimport PlatformType from '../../parameter/PlatformType';\nimport {\n PlatformMarkerEvent,\n UserEvent,\n} from '../../../constant/google-analytics/constant';\nimport MarkerStatus from '../../icons/MarkerStatus';\nimport '../styles.scss';\nimport MapQueryTypes from '../../../services/query-types/map';\nimport {\n getDatasetSummaries,\n getObsLatestData,\n} from '../../../services/dataset.service';\nimport {\n getPreferredMeasurementUnit, platformGroupings, getWorkspaceUrl, findMostRecentParameter, getLatestTimestamp,\n} from '../../../utils';\nimport { featureFlag } from '../../../constant';\nimport CustomModal from '../../modal';\nimport CTABar from '../../cta-bar';\nimport { CTA_BUTTONS } from '../../cta-bar/constants';\nimport CreateAlert from '../../../pages/profile/alerts/components/CreateAlert';\nimport NoPlatformData from '../../no-platform-data';\nimport appConfig, { brandingConfig } from '../../../config/index';\nimport { getUserFavoritePlatforms, deleteUserFavorite, createUserFavorite } from '../../../services/profile.service';\nimport ProfileQueryTypes from '../../../services/query-types/profile';\nimport RecoveredIcon from '../../icons/RecoveredIcon';\nimport { updateSeagullUser } from '../../../services/user.service';\nimport useParameterGroups from '../../../config/useParameterGroups';\nimport ParameterFilters from '../../parameter/ParameterFilters';\nimport DatasetMessage from '../../dataset-message';\nimport { videoOrImage } from '../../../utils/webcam';\nimport QualifiedParameter from '../../parameter/QualifiedParameter';\n\nconst DatasetDetail = (props) => {\n const history = useHistory();\n // NOTE: getParameters here is defined in custom-map, and is a wrapper around the utils version\n const {\n dataset, parameters, platforms, visible, handleShowDetail, getParameters, getOrganizationName, obsData,\n } = props;\n const { properties } = dataset;\n const { cognitoUser, setAuthDrawerOpen } = useContext(UserContext);\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const initialDrawerPlacement = isMobile ? 'bottom' : 'left';\n const [drawerPlacement, setDrawerPlacement] = useState(initialDrawerPlacement);\n const [isSummary, toggleIsSummary] = useState(true);\n const [webcamFeedVisible, setWebcamFeedVisible] = useState(false);\n const [showAlertDrawer, setShowAlertDrawer] = useState(false);\n const [isFavorite, setIsFavorite] = useState(false);\n const [showDownloadModal, setShowDownloadModal] = useState(false);\n const [selectedParameterCategory, setSelectedParameterCategory] = useState('');\n const [parameterCategories, setParameterCategories] = useState([]);\n const { data: observationalDataResult, refetch: observationalDataRefetch } = useQuery(\n MapQueryTypes.REST_OBSERVATIONAL_LATEST_DATA,\n () => getObsLatestData(),\n { refetchOnWindowFocus: false },\n );\n\n const { parameterGroups } = useParameterGroups();\n\n const isNestDataset = dataset.properties.organization_id === brandingConfig.filters.organizationId;\n const isSamplingLocation = platformGroupings.sampling_location.includes(properties.platform_type);\n\n const {\n unitPreferences, seagullUser, setSeagullUser,\n } = useContext(UserContext);\n\n useEffect(() => {\n const updatedUser = {\n ...seagullUser,\n unit_preferences: unitPreferences,\n };\n updateSeagullUser(updatedUser)\n .then((data) => {\n setSeagullUser(data);\n })\n .catch((e) => {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n }, [unitPreferences]);\n\n if (!observationalDataResult) {\n observationalDataRefetch();\n }\n\n const { data: obsDatasetSummariesResult } = useQuery(\n MapQueryTypes.REST_OBS_DATASET_SUMMARIES_DATASET_DETAIL,\n getDatasetSummaries,\n { refetchOnWindowFocus: false },\n );\n\n const obsDataset = obsDatasetSummariesResult?.find((o) => o.obs_dataset_id === dataset.properties.obs_dataset_id);\n const platformWebcamUrl = obsDataset?.obs_dataset_platform_assignment?.platform?.webcam_url;\n const datasetMessage = obsDataset?.obs_dataset_message?.message;\n\n const {\n data: favoritePlatformData,\n refetch: favoritesRefetchPlatforms,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n },\n );\n\n if (!favoritePlatformData && cognitoUser?.username) {\n favoritesRefetchPlatforms();\n }\n\n const deleteFavoritePlatformMutation = useMutation((data) => deleteUserFavorite(data));\n const handleDeleteFavoritePlatform = (favId) => {\n deleteFavoritePlatformMutation.mutate(\n {\n id: favId,\n },\n {\n onSuccess: favoritesRefetchPlatforms,\n },\n );\n };\n\n const addFavoritePlatformMutation = useMutation((id) => createUserFavorite(id));\n const handleAddFavoritePlatform = (id) => {\n addFavoritePlatformMutation.mutate(\n {\n obs_dataset_id: id,\n nickname: '',\n },\n {\n onSuccess: favoritesRefetchPlatforms,\n },\n );\n };\n\n useEffect(() => {\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n } else {\n const favorite = favoritePlatformData.find((f) => f.obs_dataset_id === dataset.properties.obs_dataset_id);\n if (favorite) {\n setIsFavorite(true);\n } else {\n setIsFavorite(false);\n }\n }\n }\n }, [favoritePlatformData]);\n\n const showFullDetail = (e) => {\n e.preventDefault();\n setDrawerPlacement(drawerPlacement === 'left' ? 'bottom' : 'left');\n toggleIsSummary(false);\n };\n\n const showMiniDetail = (e) => {\n e.preventDefault();\n setDrawerPlacement(drawerPlacement === 'left' ? 'bottom' : 'left');\n toggleIsSummary(true);\n };\n\n const trackDiveDeeper = () => {\n ReactGA.event(PlatformMarkerEvent.DiveDeeperClicked);\n };\n\n const trackNextPlatform = () => {\n ReactGA.event(PlatformMarkerEvent.NextPlatformClicked);\n };\n\n const handleCreateAlert = () => {\n if (cognitoUser) {\n setShowAlertDrawer(true);\n }\n ReactGA.event({\n ...UserEvent.AlertCreationOfInterest,\n label: `${dataset.properties.org_platform_id} Alert Creation Attempt`,\n });\n };\n\n const showWebcamFeed = () => setWebcamFeedVisible(true);\n\n const handleDownloadModalClick = async () => {\n setShowDownloadModal(!showDownloadModal);\n ReactGA.event({\n ...UserEvent.DownloadOfInterest,\n label: `${dataset.properties.org_platform_id} Download Dialog Initiated`,\n });\n };\n\n const handleFavoriteClick = async () => {\n if (!cognitoUser) {\n // user is not logged-in\n setAuthDrawerOpen(true);\n return null;\n }\n\n if (isFavorite) {\n const favorite = favoritePlatformData.find((f) => f.obs_dataset_id === dataset.properties.obs_dataset_id);\n handleDeleteFavoritePlatform(favorite.obs_dataset_favorite_id);\n ReactGA.event({\n ...UserEvent.RemovePlatformFavorite,\n label: `${dataset.properties.org_platform_id} Removed as Favorite`,\n });\n } else {\n handleAddFavoritePlatform(dataset.properties.obs_dataset_id);\n ReactGA.event({\n ...UserEvent.AddPlatformFavorite,\n label: `${dataset.properties.org_platform_id} Added as Favorite`,\n });\n }\n ReactGA.event({\n ...UserEvent.TogglePlatformFavorite,\n label: `${dataset.properties.org_platform_id} Favorite Status Toggled`,\n });\n };\n\n const favoriteIcon = () => {\n if (isFavorite) {\n return ();\n }\n\n return ();\n };\n\n const onClick = (clickedParameter) => {\n const thisParameterId = clickedParameter.parameter_id;\n history.push(isSamplingLocation\n ? `/data-console/platforms/${dataset.properties.platform_id}/${dataset.properties.obs_dataset_id}/historical`\n : `/data-console/${dataset.properties.obs_dataset_id}/parameter/${thisParameterId}`);\n ReactGA.event({\n ...PlatformMarkerEvent.ParameterClicked,\n label: `${dataset.properties.org_platform_id} ${clickedParameter.parameter_name}`,\n });\n };\n\n const onCategoriesChange = (category) => {\n setSelectedParameterCategory(category);\n ReactGA.event({\n ...UserEvent.ToggleParameterFilter,\n label: `${dataset.properties.org_platform_id} ${category}`,\n });\n };\n\n const externalIdType = obsDataset?.obs_dataset_platform_assignment?.platform?.external_id_type;\n\n const haveMetaparameters = (externalIdType === 'esp_site');\n\n const platformObsData = observationalDataResult?.find(({ obs_dataset_id: obsDatasetId }) => obsDatasetId === properties.obs_dataset_id);\n const mostRecentParameterTimestamp = findMostRecentParameter(platformObsData)?.observations[0].timestamp;\n const mostRecentParameterId = findMostRecentParameter(platformObsData)?.parameter_id;\n\n const workspaceUrl = getWorkspaceUrl(mostRecentParameterTimestamp, platformObsData?.obs_dataset_id, mostRecentParameterId);\n\n const getParameterWidgets = (parameters) => {\n const filteredParameters = parameters.filter((parameter) => {\n const timeSince = moment().diff(moment(parameter.date), 'hours');\n // If the parameter is older than the cutoff or NaN, don't show it\n // excluding ESP sites\n if ((!isSamplingLocation && timeSince > appConfig.oldDataCutoffInHours && !haveMetaparameters)\n || Number.isNaN(timeSince)\n || Number.isNaN(parameter.value)) {\n return false;\n }\n if (!selectedParameterCategory) {\n return parameter;\n }\n const parameterGroup = parameterGroups.find((group) => group.group_name === selectedParameterCategory);\n // No filter no problem\n if (!parameterGroup) {\n return parameter;\n }\n // If we are... higher level filters will filter non-sampling old data out already...\n if (parameterGroup.parameter_standard_names.includes(parameter.standard_name)) {\n return parameter;\n }\n return false;\n });\n\n // Index ESP depths\n let topESPDepth = null;\n let bottomESPDepth = null;\n if (externalIdType === 'esp_site') {\n filteredParameters.forEach((parameter) => {\n if (parameter.depth && !topESPDepth) {\n topESPDepth = parameter.depth;\n }\n if (parameter.depth && parameter.depth < topESPDepth) {\n topESPDepth = parameter.depth;\n }\n if (parameter.depth && !bottomESPDepth) {\n bottomESPDepth = parameter.depth;\n }\n if (parameter.depth && parameter.depth > bottomESPDepth) {\n bottomESPDepth = parameter.depth;\n }\n });\n }\n\n return filteredParameters.map((parameter, index) => {\n const previousParameter = filteredParameters[index - 1];\n const parameterGroup = parameterGroups.find((group) => (group.parameter_standard_names?.includes(parameter.standard_name)));\n if (parameterGroup?.group_name && !parameterCategories.includes(parameterGroup.group_name)) {\n setParameterCategories([...parameterCategories, parameterGroup.group_name]);\n }\n\n return (\n \n {((!previousParameter || previousParameter.depth !== parameter.depth))\n && (\n \n {!isSamplingLocation && (\n
\n {(!parameter.depth || parameter.depth === 0) && externalIdType !== 'esp_site'\n ? SURFACE\n : (\n externalIdType === 'esp_site'\n ? (\n <>\n {\n ((parameter.depth && parameter.depth === topESPDepth)\n || (!parameter.depth && parameter.parameter_name.includes('top_')))\n ? (\n \n SHALLOW\n {' '}\n {getPreferredMeasurementUnit(parameter.depth)}\n \n )\n : <>\n }\n {\n ((parameter.depth && parameter.depth === bottomESPDepth)\n || (!parameter.depth && parameter.parameter_name.includes('bottom_')))\n ? (\n \n DEEP\n {' '}\n {getPreferredMeasurementUnit(parameter.depth)}\n \n )\n : <>\n }\n \n )\n : (\n \n {getPreferredMeasurementUnit(parameter.depth)}\n {' '}\n DEPTH\n \n )\n )}\n
\n
\n )}\n \n )}\n \n {(haveMetaparameters) ? (\n onClick(parameter)}\n pinned={parameter.pinned}\n parameterName={parameter.parameter_name}\n standardName={parameter.standard_name}\n isMobile={isMobile}\n isSnapshot\n />\n ) : (\n onClick(parameter)}\n pinned={parameter.pinned}\n standardName={parameter.standard_name}\n isMobile={isMobile}\n isSnapshot\n />\n )}\n \n \n );\n });\n };\n\n return (\n <>\n {isSummary && isMobile\n ? (\n \n \n \n \n\n \n \n
{properties.org_platform_id}
\n \n \n \n \n \n \n
\n \n \n {properties.platform_name}\n \n \n \n \n \n {' '}\n {getLatestTimestamp(properties, obsData)}\n \n \n \n )\n : (\n \n
\n
\n \n
\n {!isSamplingLocation && (\n
\n {platforms.map((platform, index) => (\n getParameters(platform)}>\n {index === 0 ? : ''}\n {platform.properties.platform_name}\n {index === 1 ? : ''}\n \n ))}\n
\n )}\n
\n )}\n >\n {isMobile\n ? (\n \n \n \n ) : ''}\n\n {drawerPlacement === 'bottom'\n ? (\n
\n
{properties.platform_name}
\n \n \n \n \n \n
\n ) : null}\n\n
\n \n \n \n \n {parameters?.length // HERE\n && ((properties.last_updated_parameter_in_hours < appConfig.oldDataCutoffInHours)\n || (platformGroupings.sampling_location.includes(properties.platform_type))\n || (platformGroupings.esp_site.includes(properties.platform.external_id_type))\n )\n ? getParameterWidgets(parameters)\n : (\n : }\n message={(\n <>\n {properties.platform_event === 'recovered'\n ?

It looks like this platform has been recovered for the season.

\n :

This platform doesn't appear to be sending us data.

}\n

\n You can access the non real time data for this platform\n {' '}\n here\n .\n

\n \n )}\n />\n )}\n
\n \n )}\n {/* */}\n setWebcamFeedVisible(false)}\n >\n {platformWebcamUrl\n ? videoOrImage(\n platformWebcamUrl,\n true,\n isMobile,\n )\n : ''}\n \n\n {parameters && (\n setShowAlertDrawer(false)}\n />\n )}\n\n \n \n \n \n );\n};\n\nDatasetDetail.propTypes = {\n dataset: PropTypes.object,\n parameters: PropTypes.array,\n platforms: PropTypes.array,\n visible: PropTypes.bool,\n getParameters: PropTypes.func,\n handleShowDetail: PropTypes.func,\n getOrganizationName: PropTypes.func,\n obsData: PropTypes.object,\n};\n\nDatasetDetail.defaultProps = {\n dataset: {},\n parameters: [],\n platforms: [],\n visible: false,\n getParameters: () => { },\n handleShowDetail: () => { },\n getOrganizationName: () => { },\n obsData: {},\n};\n\nexport default memo(DatasetDetail);\n","const filePathFromDate = (date) => {\n const activeUTCYear = date.getUTCFullYear();\n const activeUTCMonth = `${date.getUTCMonth() + 1}`.padStart(2, '0');\n const activeUTCDate = `${date.getUTCDate()}`.padStart(2, '0');\n // Round down to closest even UTC hour\n const UTCHour = date.getUTCHours();\n const evenUTCHour = UTCHour % 2 === 0 ? UTCHour : UTCHour - 1;\n const activeUTCHour = `${evenUTCHour}`.padStart(2, '0');\n return `/${activeUTCYear}/${activeUTCMonth}/${activeUTCDate}/${activeUTCHour}`;\n};\n\nexport default filePathFromDate;\n","import React from 'react';\n\nconst PlaySvg = () => (\n \n \n \n \n \n);\n\nexport default PlaySvg;\n","import React from 'react';\n\nconst PauseSvg = () => (\n \n \n \n \n \n);\n\nexport default PauseSvg;\n","import React, { memo, useState, useEffect } from 'react';\nimport '../styles.scss';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport ReactGA from 'react-ga4';\nimport ReactSlider from 'react-slider';\nimport filePathFromDate from './FilePathFromDate';\nimport PlaySvg from '../../time-slider/Play';\nimport PauseSvg from '../../time-slider/Pause';\nimport { TimeSliderEvent } from '../../../constant/google-analytics/constant';\n\nconst TimeSlider = (props) => {\n const {\n onSliderChange,\n selectedForecast,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 967 });\n\n const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];\n const date = new Date();\n const historyHours = isMobile ? (0) : (48);\n const currentHour = date.getHours() + historyHours;\n const maxHours = isMobile ? (54) : (102);\n const [activeSliderValue, setActiveSliderValue] = useState(currentHour);\n const [activeSliderLabel, setActiveSliderLabel] = useState();\n const [isPlaying, toggleIsPlaying] = useState(false);\n\n if (activeSliderValue % 2 === 0) {\n setActiveSliderValue(activeSliderValue - 1);\n }\n\n const resetToCurrentHour = () => {\n setActiveSliderValue(currentHour);\n ReactGA.event(TimeSliderEvent.Reset);\n };\n\n const dayLabel = (days) => {\n const offset = new Date(date.getTime() + (days * 24) * 60 * 60000);\n return `${months[offset.getMonth()]} ${offset.getDate()}`;\n };\n\n const labelAmPm = (activeSliderValue) => {\n const sliderUTCHour = Number(activeSliderValue) % 24;\n const time = new Date();\n time.setHours(sliderUTCHour);\n setActiveSliderLabel(time.toLocaleString('en-US', { hour: 'numeric', hour12: true }));\n };\n\n const handleChange = (value) => {\n toggleIsPlaying(false);\n setActiveSliderValue(`${value}`.padStart(2, '0'));\n ReactGA.event(TimeSliderEvent.ChangedByMouse);\n };\n\n const sliderPlayInterval = selectedForecast === 'surface_water_temperature' ? 1500 : isMobile ? 5000 : 3000;\n const increaseHour = () => {\n setTimeout(() => {\n const sliderValue = Number(activeSliderValue) + 2;\n setActiveSliderValue(sliderValue);\n }, sliderPlayInterval);\n };\n\n const togglePlay = () => {\n if (!isPlaying) {\n const sliderValue = Number(activeSliderValue) + 2;\n setActiveSliderValue(sliderValue);\n }\n toggleIsPlaying(!isPlaying);\n ReactGA.event(TimeSliderEvent.TogglePlayAnimation);\n };\n\n // Handle slider interaction\n useEffect(() => {\n const sliderDate = new Date(date.getTime() + (Number(activeSliderValue) - date.getHours() - historyHours) * 60 * 60000);\n onSliderChange(filePathFromDate(sliderDate));\n labelAmPm(activeSliderValue);\n const ele = document.querySelector('.slider-label-container');\n if (ele) {\n ele.style.left = `${Number(((activeSliderValue - 1) / maxHours) * 100)}%`;\n }\n }, [activeSliderValue, onSliderChange]);\n\n // Handle Play-Pause\n useEffect(() => {\n if ((Number(activeSliderValue) >= (maxHours - 2)) && isPlaying) {\n togglePlay(false);\n ReactGA.event(TimeSliderEvent.AnimationFinished);\n } else if (isPlaying) {\n increaseHour();\n }\n }, [isPlaying, activeSliderValue]);\n\n // Handle transition from desktop to mobile screen size change\n useEffect(() => {\n const startingHour = currentHour % 2 === 0 ? (currentHour - 1) : (currentHour);\n const sliderValue = Number(activeSliderValue);\n if (startingHour !== activeSliderValue) {\n if (isMobile) {\n if (sliderValue < 48) {\n resetToCurrentHour();\n } else if (sliderValue > 48) {\n setActiveSliderValue(sliderValue - 48);\n }\n } else if (!isMobile) {\n setActiveSliderValue(sliderValue + 48);\n }\n }\n }, [isMobile]);\n\n return (\n <>\n {isMobile\n && (\n
\n
\n
\n {!isPlaying\n && (\n \n )}\n {isPlaying\n && (\n \n )}\n
\n
\n (\n
\n
\n
\n
\n {activeSliderLabel}\n
\n
\n
\n
\n
\n )}\n />\n
\n
\n
Today
\n
{dayLabel(1)}
\n
{dayLabel(2)}
\n
\n
\n
\n )}\n {!isMobile\n && (\n
\n
\n
\n {!isPlaying\n && (\n \n )}\n {isPlaying\n && (\n \n )}\n
\n
\n setActiveSliderValue(value)}\n renderThumb={(props) => (\n
\n
\n
\n
\n {activeSliderLabel}\n
\n
\n
\n
\n
\n )}\n />\n
\n
\n
\n
{dayLabel(-2)}
\n\n
{dayLabel(-1)}
\n\n
Today
\n\n
{dayLabel(1)}
\n\n
{dayLabel(2)}
\n
\n
\n
\n
\n Viewing Forecast Data. Buoys and other platforms do not have forecast data.\n
\n
\n )}\n \n );\n};\n\nTimeSlider.defaultProps = {\n onSliderChange: () => {},\n selectedForecast: '',\n};\nTimeSlider.propTypes = {\n onSliderChange: PropTypes.func,\n selectedForecast: PropTypes.string,\n};\nexport default memo(TimeSlider);\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport geobuf from 'geobuf';\nimport Pbf from 'pbf';\nimport { Layer, Source } from 'react-map-gl';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredTemperatureUnit } from '../../../utils';\nimport { brandingConfig } from '../../../config';\n\nconst s3UrlBase = 'https://seagull-visualization-layers.s3.us-east-2.amazonaws.com';\n\nconst SurfaceWaterTemperature = (props) => {\n const {\n UTCPath,\n selectedLake,\n isSharing,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 }) && !isSharing;\n const [isLoading, setIsLoading] = useState(false);\n const [tempLayers, setTempLayers] = useState([]);\n\n const fetchOfs = async (ofs) => {\n const ofsUrl = `${s3UrlBase}${UTCPath}/${ofs}-temp.pbf`;\n const ofsResponse = await fetch(ofsUrl);\n const ofsData = await ofsResponse.arrayBuffer();\n return geobuf.decode(new Pbf(ofsData));\n };\n\n // TODO: use useQuery here so it's not refetching when re-rendering\n const fetchData = async (selectedLake) => {\n if (selectedLake.length > 0) {\n const ofs = `l${selectedLake[0][0].toLowerCase()}ofs`;\n const ofsData = await fetchOfs(ofs);\n setTempLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: ofsData,\n },\n ]);\n } else if (selectedLake.length === 0) {\n const [leofsData, lhofsData, lmofsData, loofsData, lsofsData] = await Promise.all([\n fetchOfs('leofs'),\n fetchOfs('lhofs'),\n fetchOfs('lmofs'),\n fetchOfs('loofs'),\n fetchOfs('lsofs'),\n ]);\n await setTempLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: leofsData,\n },\n {\n lake: 'lhofs',\n sourceId: 'lhofsSource',\n data: lhofsData,\n },\n {\n lake: 'lmofs',\n sourceId: 'lmofsSource',\n data: lmofsData,\n },\n {\n lake: 'loofs',\n sourceId: 'loofsSource',\n data: loofsData,\n },\n {\n lake: 'lsofs',\n sourceId: 'lsofsSource',\n data: lsofsData,\n },\n ]);\n } setIsLoading(false);\n };\n\n useEffect(() => {\n if (!isLoading) {\n setIsLoading(true);\n fetchData(selectedLake)\n .then(() => {\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n });\n }\n }, [selectedLake, UTCPath]);\n\n const tempStyle = {\n type: 'fill',\n beforeId: 'waterway-label',\n paint: {\n 'fill-color':\n [\n 'interpolate',\n [\n 'cubic-bezier',\n 1,\n 1,\n 0.4,\n 0.7,\n ],\n ['get', 'level'],\n 0,\n 'hsl(268, 48%, 26%)',\n 3.5,\n '#A35B80',\n 6.5,\n '#1693A5',\n 8.5,\n '#00d4b0',\n 10.5,\n 'hsl(88, 92%, 45%)',\n 13.5,\n 'hsl(73, 91%, 49%)',\n 15.5,\n '#fffe0c',\n 17.5,\n '#fbbe1a',\n 19.5,\n brandingConfig.colors.accent1,\n 21.5,\n '#ff0026',\n 23.5,\n '#e81e76',\n 25.5,\n '#ac0606',\n 27.5,\n '#720202',\n 29.5,\n '#4b0000',\n ],\n 'fill-opacity': 1,\n 'fill-antialias': true,\n },\n };\n const tempRange = isMobile\n ? [\n 29.5,\n 25.5,\n 20.5,\n 15.5,\n 10.5,\n 5.5,\n 0,\n ]\n : [\n 29.5,\n 26.5,\n 23.5,\n 21.5,\n 19.5,\n 17.5,\n 15.5,\n 13.5,\n 10.5,\n 8.5,\n 6.5,\n 3.5,\n 0,\n ];\n return (\n <>\n {isMobile\n && (\n
\n
\n {tempRange.map((tempRange, index) => (\n
\n \n {preferredTemperatureUnit(tempRange)}\n \n
\n ))}\n
\n
\n )}\n {tempLayers.map((tempLayer, index) => (\n \n ))}\n {tempLayers.map((tempLayer, index) => (\n \n ))}\n \n );\n};\n\nSurfaceWaterTemperature.propTypes = {\n UTCPath: PropTypes.string,\n selectedLake: PropTypes.string,\n isSharing: PropTypes.bool,\n};\n\nSurfaceWaterTemperature.defaultProps = {\n UTCPath: '',\n selectedLake: '',\n isSharing: false,\n};\n\nexport default SurfaceWaterTemperature;\n","export default \"precision highp float;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_tex_pos;\\n\\nvoid main() {\\n v_tex_pos = a_pos;\\n gl_Position = vec4(1.0 - 2.0 * a_pos, 0, 1);\\n}\\n\";","import mapboxgl from 'mapbox-gl';\nimport * as twgl from 'twgl.js';\nimport vs from './shaders/vs.glsl';\nimport fs from './shaders/fs.glsl';\nimport vsQuad from './shaders/vsQuad.glsl';\nimport fsScreen from './shaders/fsScreen.glsl';\nimport fsUpdate from './shaders/fsUpdate.glsl';\n\nfunction MapboxWind(map, gl, particleCount) {\n const nParticles = particleCount || 10000;\n // const fadeOpacity = 0.990;\n const fadeOpacity = 0.998;\n const speedFactor = 0.21;\n const dropRate = 0.02;\n const dropRateBump = 0.01;\n\n // States enum\n const States = Object.freeze({\n Paused: Symbol('paused'),\n Animating: Symbol('animating'),\n });\n\n let data;\n let bounds;\n let programInfo;\n let textures;\n let screenProgramInfo;\n let updateProgramInfo;\n let particleTextures;\n let numParticles;\n let framebuffer;\n let particleIndices;\n let particleRes;\n let state = States.Paused;\n let mapBounds;\n\n let animationId;\n\n function setParticles(num) {\n particleRes = Math.ceil(Math.sqrt(num));\n numParticles = particleRes * particleRes;\n\n const particleState = new Uint8Array(numParticles * 4);\n\n for (let i = 0; i < particleState.length; i++) {\n particleState[i] = Math.floor(Math.random() * 256);\n }\n\n particleTextures = twgl.createTextures(gl, {\n particleTexture0: {\n mag: gl.NEAREST,\n min: gl.NEAREST,\n width: particleRes,\n height: particleRes,\n format: gl.RGBA,\n src: particleState,\n wrap: gl.CLAMP_TO_EDGE,\n },\n particleTexture1: {\n mag: gl.NEAREST,\n min: gl.NEAREST,\n width: particleRes,\n height: particleRes,\n format: gl.RGBA,\n src: particleState,\n wrap: gl.CLAMP_TO_EDGE,\n },\n });\n\n particleIndices = new Float32Array(numParticles);\n for (let i = 0; i < numParticles; i++) {\n particleIndices[i] = i;\n }\n }\n\n function initialize() {\n programInfo = twgl.createProgramInfo(gl, [vs, fs]);\n screenProgramInfo = twgl.createProgramInfo(gl, [vsQuad, fsScreen]);\n updateProgramInfo = twgl.createProgramInfo(gl, [vsQuad, fsUpdate]);\n\n // initial setting of particle positions\n setParticles(nParticles);\n\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n canvas.width = data.image.width;\n canvas.height = data.image.height;\n\n // flip image vertically so the origin is in the bottom left to match the texture coordinate space\n context.scale(1, -1);\n context.drawImage(data.image, 0, -data.image.height);\n\n const myData = context.getImageData(0, 0, data.image.width, data.image.height);\n\n const emptyPixels = new Uint8Array(gl.canvas.width * gl.canvas.height * 4);\n\n textures = twgl.createTextures(gl, {\n u_image: {\n mag: gl.LINEAR,\n min: gl.LINEAR,\n width: myData.width,\n height: myData.height,\n format: gl.RGBA,\n src: myData.data,\n },\n backgroundTexture: {\n mag: gl.NEAREST,\n min: gl.NEAREST,\n width: gl.canvas.width,\n height: gl.canvas.height,\n format: gl.RGBA,\n src: emptyPixels,\n wrap: gl.CLAMP_TO_EDGE,\n },\n screenTexture: {\n mag: gl.NEAREST,\n min: gl.NEAREST,\n width: gl.canvas.width,\n height: gl.canvas.height,\n format: gl.RGBA,\n src: emptyPixels,\n wrap: gl.CLAMP_TO_EDGE,\n },\n });\n\n framebuffer = gl.createFramebuffer();\n }\n\n function setBounds(bounds) {\n const nw = bounds.getNorthWest();\n const se = bounds.getSouthEast();\n const nwMercator = mapboxgl.MercatorCoordinate.fromLngLat(nw);\n const seMercator = mapboxgl.MercatorCoordinate.fromLngLat(se);\n\n // minx miny maxx maxy\n mapBounds = [nwMercator.x, seMercator.y, seMercator.x, nwMercator.y];\n }\n\n function frame() {\n map.triggerRepaint();\n animationId = requestAnimationFrame(frame);\n }\n\n function startAnimation() {\n state = States.Animating;\n setBounds(map.getBounds());\n frame();\n }\n\n function setData(dataObject) {\n // set vectorField data and bounds of data, and range of vector components\n ({ data, bounds } = dataObject);\n\n // initialize settings, programs, buffers\n initialize();\n\n // start animating field\n startAnimation();\n }\n\n function drawParticles() {\n gl.useProgram(programInfo.program);\n\n const arrays = {\n a_index: {\n numComponents: 1,\n data: particleIndices,\n },\n };\n\n const bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);\n\n const uniforms = {\n u_vector: textures.u_image,\n u_particles: particleTextures.particleTexture0,\n u_particles_res: particleRes,\n u_vector_min: [data.uMin, data.vMin],\n u_vector_max: [data.uMax, data.vMax],\n u_bounds: mapBounds,\n u_data_bounds: bounds,\n };\n\n twgl.setBuffersAndAttributes(gl, programInfo, bufferInfo);\n twgl.setUniforms(programInfo, uniforms);\n\n twgl.drawBufferInfo(gl, bufferInfo, gl.POINTS);\n }\n\n function drawTexture(texture, opacity) {\n gl.useProgram(screenProgramInfo.program);\n\n const arrays = {\n a_pos: {\n numComponents: 2,\n data: new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]),\n },\n };\n\n const uniforms = {\n u_screen: texture,\n u_opacity: opacity,\n };\n\n const bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);\n twgl.setBuffersAndAttributes(gl, screenProgramInfo, bufferInfo);\n twgl.setUniforms(screenProgramInfo, uniforms);\n twgl.drawBufferInfo(gl, bufferInfo);\n }\n\n function drawScreen() {\n // bind framebuffer\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n // draw to screenTexture\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, textures.screenTexture, 0);\n // set viewport to size of canvas\n\n gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);\n\n // first disable blending\n gl.disable(gl.BLEND);\n\n // draw backgroundTexture to screenTexture target\n drawTexture(textures.backgroundTexture, fadeOpacity);\n // draw particles to screentexture\n drawParticles();\n\n // target normal canvas by setting FRAMEBUFFER to null\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n\n // enable blending for final render to map\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);\n\n drawTexture(textures.screenTexture, 1.0);\n\n gl.disable(gl.BLEND);\n\n // swap background with screen\n const temp = textures.backgroundTexture;\n textures.backgroundTexture = textures.screenTexture;\n textures.screenTexture = temp;\n }\n\n function updateParticles() {\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, particleTextures.particleTexture1, 0);\n\n gl.viewport(0, 0, particleRes, particleRes);\n\n gl.useProgram(updateProgramInfo.program);\n\n const arrays = {\n a_pos: {\n numComponents: 2,\n data: new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]),\n },\n };\n\n const uniforms = {\n u_vector: textures.u_image,\n u_particles: particleTextures.particleTexture0,\n u_vector_min: [data.uMin, data.vMin],\n u_vector_max: [data.uMax, data.vMax],\n u_rand_seed: Math.random(),\n u_vector_res: [data.image.width, data.image.height],\n u_speed_factor: speedFactor,\n u_drop_rate: dropRate,\n u_drop_rate_bump: dropRateBump,\n u_bounds: mapBounds,\n u_data_bounds: bounds,\n };\n\n const bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);\n twgl.setBuffersAndAttributes(gl, updateProgramInfo, bufferInfo);\n\n twgl.setUniforms(updateProgramInfo, uniforms);\n\n twgl.drawBufferInfo(gl, bufferInfo);\n\n const temp = particleTextures.particleTexture0;\n particleTextures.particleTexture0 = particleTextures.particleTexture1;\n particleTextures.particleTexture1 = temp;\n }\n\n function draw() {\n if (state !== States.Animating) return;\n\n gl.disable(gl.DEPTH_TEST);\n gl.disable(gl.STENCIL_TEST);\n\n drawScreen();\n updateParticles();\n }\n\n function clear() {\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n\n // clear framebuffer textures\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, textures.screenTexture, 0);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, textures.backgroundTexture, 0);\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n // generate new random particle positions\n setParticles(nParticles);\n\n // target normal canvas\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n\n // clear canvas\n gl.clear(gl.COLOR_BUFFER_BIT);\n }\n\n function stopAnimation() {\n state = States.Paused;\n clear();\n cancelAnimationFrame(animationId);\n }\n\n return {\n setData,\n startAnimation,\n stopAnimation,\n draw,\n };\n}\n\nexport default MapboxWind;\n","export default \"precision highp float;\\n\\nattribute float a_index;\\n\\nuniform sampler2D u_particles;\\nuniform float u_particles_res;\\n\\nvarying vec2 v_particle_pos;\\n\\nvoid main() {\\n vec4 color = texture2D(u_particles, vec2(\\n fract(a_index / u_particles_res),\\n floor(a_index / u_particles_res) / u_particles_res));\\n\\n // decode current particle position from the pixel's RGBA value\\n v_particle_pos = vec2(\\n color.r / 255.0 + color.b,\\n color.g / 255.0 + color.a);\\n\\n gl_PointSize = 2.0;\\n gl_Position = vec4(2.0 * v_particle_pos.x - 1.0, 1.0 - 2.0 * v_particle_pos.y, 0, 1);\\n}\\n\";","export default \"precision highp float;\\n\\nuniform sampler2D u_vector;\\nuniform vec2 u_vector_min;\\nuniform vec2 u_vector_max;\\n//uniform sampler2D u_color_ramp;\\n\\nuniform vec4 u_bounds;\\nuniform vec4 u_data_bounds;\\n\\nvarying vec2 v_particle_pos;\\n\\nvec2 returnLonLat(float x_domain, float y_domain, vec2 pos) {\\n\\n //need value between 0 and 1, which fract accomplishes\\n float mercator_x = fract(u_bounds.x + pos.x * x_domain);\\n float mercator_y = u_bounds.w + pos.y * y_domain;\\n\\n float lon = mercator_x * 360.0 - 180.0;\\n float lat2 = 180.0 - mercator_y * 360.0;\\n float lat = 360.0 / 3.141592654 * atan(exp(lat2 * 3.141592654/180.0)) - 90.0;\\n\\n return vec2(lon, lat);\\n}\\n\\nvec2 lookup_vector(const vec2 uv) {\\n return texture2D(u_vector, uv).rg; // lower-res hardware filtering\\n}\\n\\nvoid main() {\\n\\n //convert from 0-1 to degrees for proper texture value lookup\\n float x_domain = abs(u_bounds.x - u_bounds.z);\\n float y_domain = abs(u_bounds.y - u_bounds.w);\\n\\n vec2 coordinate = returnLonLat(x_domain, y_domain, v_particle_pos);\\n float lon = coordinate.x;\\n float lat = coordinate.y;\\n\\n float lon_domain = u_data_bounds.z - u_data_bounds.x;\\n float lat_domain = u_data_bounds.w - u_data_bounds.y;\\n\\n vec2 pos_lookup = vec2(\\n (lon - u_data_bounds.x) / lon_domain,\\n (lat - u_data_bounds.y) / lat_domain\\n );\\n\\n vec2 velocity = mix(u_vector_min, u_vector_max, lookup_vector(pos_lookup));\\n float speed_t = length(velocity) / length(u_vector_max);\\n\\n //discard if out of bounds or speed is too low\\n if (\\n lat > u_data_bounds.w || lat < u_data_bounds.y ||\\n lon > u_data_bounds.z || lon < u_data_bounds.x ||\\n speed_t < 0.01\\n ) {\\n discard;\\n }\\n\\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0.66);\\n}\\n\";","export default \"precision highp float;\\n\\nuniform sampler2D u_screen;\\nuniform float u_opacity;\\n\\nvarying vec2 v_tex_pos;\\n\\nvoid main() {\\n vec4 color = texture2D(u_screen, 1.0 - v_tex_pos);\\n // a hack to guarantee opacity fade out even with a value close to 1.0\\n gl_FragColor = vec4(floor(255.0 * color * u_opacity) / 255.0);\\n}\\n\";","export default \"precision highp float;\\n\\nuniform sampler2D u_particles;\\nuniform sampler2D u_vector;\\nuniform vec2 u_vector_res;\\nuniform vec2 u_vector_min;\\nuniform vec2 u_vector_max;\\nuniform float u_rand_seed;\\nuniform float u_speed_factor;\\nuniform float u_drop_rate;\\nuniform float u_drop_rate_bump;\\nuniform vec4 u_bounds;\\nuniform vec4 u_data_bounds;\\n\\nvarying vec2 v_tex_pos;\\n\\n// pseudo-random generator\\nconst vec3 rand_constants = vec3(12.9898, 78.233, 4375.85453);\\nfloat rand(const vec2 co) {\\n float t = dot(rand_constants.xy, co);\\n return fract(sin(t) * (rand_constants.z + t));\\n}\\n\\n// vector magnitude lookup; use manual bilinear filtering based on 4 adjacent pixels for smooth interpolation\\nvec2 lookup_vector(const vec2 uv) {\\n // return texture2D(u_vector, uv).rg; // lower-res hardware filtering\\n vec2 px = 1.0 / u_vector_res;\\n vec2 vc = (floor(uv * u_vector_res)) * px;\\n vec2 f = fract(uv * u_vector_res);\\n vec2 tl = texture2D(u_vector, vc).rg;\\n vec2 tr = texture2D(u_vector, vc + vec2(px.x, 0)).rg;\\n vec2 bl = texture2D(u_vector, vc + vec2(0, px.y)).rg;\\n vec2 br = texture2D(u_vector, vc + px).rg;\\n return mix(mix(tl, tr, f.x), mix(bl, br, f.x), f.y);\\n}\\n\\nvec2 returnLonLat(float x_domain, float y_domain, vec2 pos) {\\n\\n //need value between 0 and 1, which fract accomplishes\\n float mercator_x = fract(u_bounds.x + pos.x * x_domain);\\n float mercator_y = u_bounds.w + pos.y * y_domain;\\n\\n float lon = mercator_x * 360.0 - 180.0;\\n float lat2 = 180.0 - mercator_y * 360.0;\\n float lat = 360.0 / 3.141592654 * atan(exp(lat2 * 3.141592654/180.0)) - 90.0;\\n\\n return vec2(lon, lat);\\n}\\n\\nvoid main() {\\n vec4 color = texture2D(u_particles, v_tex_pos);\\n vec2 pos = vec2(\\n color.r / 255.0 + color.b,\\n color.g / 255.0 + color.a); // decode particle position from pixel RGBA\\n\\n //convert from 0-1 to degrees for proper texture value lookup\\n float x_domain = abs(u_bounds.x - u_bounds.z);\\n float y_domain = abs(u_bounds.y - u_bounds.w);\\n\\n vec2 coordinate = returnLonLat(x_domain, y_domain, pos);\\n float lon = coordinate.x;\\n float lat = coordinate.y;\\n\\n float lon_domain = u_data_bounds.z - u_data_bounds.x;\\n float lat_domain = u_data_bounds.w - u_data_bounds.y;\\n\\n vec2 pos_lookup = vec2(\\n (lon - u_data_bounds.x) / lon_domain,\\n (lat - u_data_bounds.y) / lat_domain\\n );\\n\\n vec2 velocity = mix(u_vector_min, u_vector_max, lookup_vector(pos_lookup));\\n float speed_t = length(velocity) / length(u_vector_max);\\n\\n // take EPSG:4236 distortion into account for calculating where the particle moved\\n //float distortion = cos(radians(lat));\\n vec2 offset = vec2(velocity.x , -velocity.y) * 0.0001 * u_speed_factor;\\n\\n // update particle position, wrapping around the date line\\n pos = fract(1.0 + pos + offset);\\n\\n // a random seed to use for the particle drop\\n vec2 seed = (pos + v_tex_pos) * u_rand_seed;\\n\\n // drop rate is a chance a particle will restart at random position, to avoid degeneration\\n float drop_rate = u_drop_rate + speed_t * u_drop_rate_bump;\\n float drop = step(1.0 - drop_rate, rand(seed));\\n\\n vec2 random_pos = vec2(\\n rand(seed + 1.3),\\n rand(seed + 2.1));\\n pos = mix(pos, random_pos, drop);\\n\\n // encode the new particle position back into RGBA\\n gl_FragColor = vec4(\\n fract(pos * 255.0),\\n floor(pos * 255.0) / 255.0);\\n}\\n\";","import { useState, useEffect } from 'react';\nimport MapboxWind from './MapboxWind';\n\nconst CurrentAnimation = (props) => {\n const {\n mapRef,\n UTCPath,\n selectedLake,\n selectedOverlay,\n particleCount,\n } = props;\n\n const [mapLoaded, setMapLoaded] = useState(false);\n\n const selectedForecastId = selectedOverlay === 'water_current' ? 'water' : 'wind';\n\n const lakeTiles = [\n {\n id: 'leofs', name: 'Erie', tl_lon: -84.0, tl_lat: 43.25, br_lon: -78.0, br_lat: 41.25,\n },\n {\n id: 'lmofs', name: 'Michigan', tl_lon: -88.04, tl_lat: 46.36, br_lon: -84.79275, br_lat: 41.06,\n },\n {\n id: 'lhofs', name: 'Huron', tl_lon: -84.79275, tl_lat: 46.36, br_lon: -79.66, br_lat: 41.06,\n },\n {\n id: 'lsofs', name: 'Superior', tl_lon: -92.33, tl_lat: 49.08, br_lon: -84.25, br_lat: 46.37,\n },\n {\n id: 'loofs', name: 'Ontario', tl_lon: -79.98, tl_lat: 44.35, br_lon: -75.98, br_lat: 43.16,\n },\n ];\n\n const lakeFromName = (lakeName) => {\n const lake = lakeTiles.find((tile) => tile.name === lakeName);\n return lake;\n };\n\n const lakeBounds = (lake) => ([lake.tl_lon, lake.br_lat, lake.br_lon, lake.tl_lat]);\n\n function CustomAnimation(map, gl, lake) {\n let dataLoaded = false;\n const s3UrlBase = 'https://seagull-visualization-layers.s3.us-east-2.amazonaws.com';\n const fetchImage = async (zoomLevel, tileId) => {\n const imageUrl = `${s3UrlBase}${UTCPath}/${tileId}-${selectedForecastId}.png`;\n const imageResponse = await fetch(imageUrl);\n const imageBlob = await imageResponse.blob();\n return URL.createObjectURL(imageBlob);\n };\n\n const getJSON = (url, callback) => {\n const xhr = new XMLHttpRequest();\n xhr.responseType = 'json';\n xhr.open('get', url, true);\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n callback(xhr.response);\n }\n // else {\n // throw new Error(xhr.statusText);\n // }\n };\n xhr.send();\n };\n\n const mapboxWind = new MapboxWind(map, gl, particleCount);\n const bounds = lakeBounds(lake);\n const glofsUrl = `${s3UrlBase}${UTCPath}/${lake.id}-${selectedForecastId}.json`;\n\n const updateWind = (imageName) => {\n getJSON(glofsUrl, (windData) => {\n const windImage = new Image();\n // eslint-disable-next-line no-param-reassign\n windData.image = windImage;\n windImage.src = imageName;\n windImage.onload = () => {\n mapboxWind.setData({ data: windData, bounds });\n dataLoaded = true;\n };\n });\n };\n\n const showWind = async () => {\n const imageData = await fetchImage(5, lake.id);\n await updateWind(imageData);\n };\n showWind();\n\n const render = () => {\n if (!dataLoaded) return;\n\n mapboxWind.draw();\n };\n\n const startAnimation = () => {\n mapboxWind.startAnimation();\n };\n\n const stopAnimation = () => {\n mapboxWind.stopAnimation();\n };\n\n return { render, startAnimation, stopAnimation };\n }\n\n useEffect(() => {\n if (!mapLoaded) return;\n\n const selectedLakes = selectedLake !== '' ? [lakeFromName(selectedLake)] : lakeTiles;\n\n const unmountWind = selectedLakes.map((lake) => {\n const layerName = `${lake.id}-wind`;\n const map = mapRef.current.getMap();\n const mapLayer = map.getLayer(layerName);\n\n let customAnimation;\n\n const startAnimation = () => {\n try {\n customAnimation.startAnimation();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n };\n\n const stopAnimation = () => {\n try {\n customAnimation.stopAnimation();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n };\n\n const customLayer = {\n id: layerName,\n type: 'custom',\n onAdd: (map, mbxContext) => {\n customAnimation = new CustomAnimation(map, mbxContext, lake);\n },\n render: () => {\n customAnimation.render();\n },\n };\n\n const mapResize = () => {\n // Guard against adding a layer which has already been removed\n const mapLayer = map.getLayer(layerName);\n if (typeof mapLayer === 'undefined') return;\n\n // Replace map layers after a resize\n map.removeLayer(layerName);\n map.addLayer(customLayer);\n };\n\n if (typeof mapLayer !== 'undefined') {\n // Remove map layer\n map.removeLayer(layerName);\n }\n map.addLayer(customLayer);\n map.on('movestart', () => {\n // stop animation and clear canvas\n stopAnimation();\n });\n\n map.on('moveend', () => {\n // start animating again\n startAnimation();\n });\n\n map.on('resize', () => {\n mapResize();\n });\n\n return () => {\n stopAnimation();\n try {\n map.removeLayer(layerName);\n } catch (error) {\n // console.log(error);\n }\n map?.off('movestart', stopAnimation);\n map?.off('moveend', startAnimation);\n map?.off('resize', mapResize);\n };\n });\n return () => {\n unmountWind.forEach((unmount) => unmount());\n };\n }, [selectedLake, mapLoaded]);\n\n if (mapRef?.current) {\n const map = mapRef.current.getMap();\n if (!mapLoaded && map.loaded()) {\n setMapLoaded(true);\n }\n map.on('load', () => {\n setMapLoaded(true);\n });\n map.on('error', (error) => {\n // eslint-disable-next-line no-console\n console.log(error);\n });\n map.on('webglcontextlost', () => {\n // eslint-disable-next-line no-console\n console.log('WebGL context lost');\n });\n map.on('webglcontextrestored', () => {\n // eslint-disable-next-line no-console\n console.log('WebGL context restored');\n });\n }\n return (null);\n};\n\nexport default CurrentAnimation;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport geobuf from 'geobuf';\nimport Pbf from 'pbf';\nimport { Layer, Source } from 'react-map-gl';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredWaterMagnitudeUnit } from '../../../utils';\nimport { brandingConfig } from '../../../config';\n\nconst s3UrlBase = 'https://seagull-visualization-layers.s3.us-east-2.amazonaws.com';\n\nconst WaterMagnitude = (props) => {\n const {\n UTCPath,\n selectedLake,\n isSharing,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 }) && !isSharing;\n const [isLoading, setIsLoading] = useState(false);\n const [waterLayers, setWaterLayers] = useState([]);\n\n const fetchOfs = async (ofs) => {\n const ofsUrl = `${s3UrlBase}${UTCPath}/${ofs}-water.pbf`;\n const ofsResponse = await fetch(ofsUrl);\n const ofsData = await ofsResponse.arrayBuffer();\n return geobuf.decode(new Pbf(ofsData));\n };\n\n const fetchData = async (selectedLake) => {\n if (selectedLake.length > 0) {\n const ofs = `l${selectedLake[0][0].toLowerCase()}ofs`;\n const ofsData = await fetchOfs(ofs);\n setWaterLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: ofsData,\n },\n ]);\n } else if (selectedLake.length === 0) {\n const [leofsData, lhofsData, lmofsData, loofsData, lsofsData] = await Promise.all([\n fetchOfs('leofs'),\n fetchOfs('lhofs'),\n fetchOfs('lmofs'),\n fetchOfs('loofs'),\n fetchOfs('lsofs'),\n ]);\n await setWaterLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: leofsData,\n },\n {\n lake: 'lhofs',\n sourceId: 'lhofsSource',\n data: lhofsData,\n },\n {\n lake: 'lmofs',\n sourceId: 'lmofsSource',\n data: lmofsData,\n },\n {\n lake: 'loofs',\n sourceId: 'loofsSource',\n data: loofsData,\n },\n {\n lake: 'lsofs',\n sourceId: 'lsofsSource',\n data: lsofsData,\n },\n ]);\n } setIsLoading(false);\n };\n\n useEffect(() => {\n if (!isLoading) {\n setIsLoading(true);\n fetchData(selectedLake)\n .then(() => {\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n });\n }\n }, [selectedLake, UTCPath]);\n\n const waterStyle = {\n type: 'fill',\n beforeId: 'waterway-label',\n paint: {\n 'fill-color':\n [\n 'interpolate',\n [\n 'cubic-bezier',\n 1,\n 1,\n 0.4,\n 0.7,\n ],\n ['get', 'level'],\n 0,\n 'rgba(0, 0, 0, 0)',\n 0.1,\n 'rgba(0, 0, 0, 0)',\n 0.2,\n '#1693A5',\n 0.3,\n '#00d4b0',\n 0.4,\n 'hsl(88, 92%, 45%)',\n 0.5,\n 'hsl(73, 91%, 49%)',\n 0.6,\n '#fffe0c',\n 0.7,\n '#fbbe1a',\n 0.8,\n brandingConfig.colors.accent1,\n 0.9,\n '#ff0026',\n 1.0,\n '#e81e76',\n 1.1,\n '#ac0606',\n 1.2,\n '#720202',\n 1.3,\n '#4b0000',\n ],\n 'fill-opacity': 1,\n 'fill-antialias': true,\n },\n };\n const waterRange = isMobile\n ? [\n 1.2,\n 1.0,\n 0.8,\n 0.6,\n 0.4,\n 0.2,\n 0,\n ]\n : [\n 1.3,\n 1.2,\n 1.1,\n 1.0,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.4,\n 0.3,\n 0.2,\n 0.0,\n ];\n return (\n <>\n {isMobile\n && (\n
\n
\n {waterRange.map((waterRange, index) => (\n
\n \n {preferredWaterMagnitudeUnit(waterRange)}\n \n
\n ))}\n
\n
\n )}\n\n {waterLayers.map((waterLayer, index) => (\n \n ))}\n {waterLayers.map((tempLayer, index) => (\n \n ))}\n \n );\n};\n\nWaterMagnitude.propTypes = {\n UTCPath: PropTypes.string,\n selectedLake: PropTypes.string,\n isSharing: PropTypes.bool,\n};\n\nWaterMagnitude.defaultProps = {\n UTCPath: '',\n selectedLake: '',\n isSharing: false,\n};\n\nexport default WaterMagnitude;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport geobuf from 'geobuf';\nimport Pbf from 'pbf';\nimport { Layer, Source } from 'react-map-gl';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredWindMagnitudeUnit } from '../../../utils';\n\nconst s3UrlBase = 'https://seagull-visualization-layers.s3.us-east-2.amazonaws.com';\n\nconst WindMagnitude = (props) => {\n const {\n UTCPath,\n selectedLake,\n isSharing,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 }) && !isSharing;\n const [isLoading, setIsLoading] = useState(false);\n const [windLayers, setWindLayers] = useState([]);\n\n const fetchOfs = async (ofs) => {\n const ofsUrl = `${s3UrlBase}${UTCPath}/${ofs}-wind.pbf`;\n const ofsResponse = await fetch(ofsUrl);\n const ofsData = await ofsResponse.arrayBuffer();\n return geobuf.decode(new Pbf(ofsData));\n };\n\n const fetchData = async (selectedLake) => {\n if (selectedLake.length > 0) {\n const ofs = `l${selectedLake[0][0].toLowerCase()}ofs`;\n const ofsData = await fetchOfs(ofs);\n setWindLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: ofsData,\n },\n ]);\n } else if (selectedLake.length === 0) {\n const [leofsData, lhofsData, lmofsData, loofsData, lsofsData] = await Promise.all([\n fetchOfs('leofs'),\n fetchOfs('lhofs'),\n fetchOfs('lmofs'),\n fetchOfs('loofs'),\n fetchOfs('lsofs'),\n ]);\n setWindLayers([\n {\n lake: 'primaryLake',\n sourceId: 'primaryLakeSource',\n data: leofsData,\n },\n {\n lake: 'lhofs',\n sourceId: 'lhofsSource',\n data: lhofsData,\n },\n {\n lake: 'lmofs',\n sourceId: 'lmofsSource',\n data: lmofsData,\n },\n {\n lake: 'loofs',\n sourceId: 'loofsSource',\n data: loofsData,\n },\n {\n lake: 'lsofs',\n sourceId: 'lsofsSource',\n data: lsofsData,\n },\n ]);\n } setIsLoading(false);\n };\n\n useEffect(() => {\n if (!isLoading) {\n setIsLoading(true);\n fetchData(selectedLake)\n .then(() => {\n setIsLoading(false);\n })\n .catch(() => {\n setIsLoading(false);\n });\n }\n }, [selectedLake, UTCPath]);\n\n const windStyle = {\n type: 'fill',\n beforeId: 'waterway-label',\n paint: {\n 'fill-color':\n [\n 'interpolate',\n [\n 'cubic-bezier',\n 1,\n 1,\n 0.4,\n 0.7,\n ],\n ['get', 'level'],\n 0,\n // 'hsl(268, 48%, 26%)',\n 'rgba(0,0,0,0)',\n 1,\n 'rgba(0,0,0,0)',\n 2,\n 'rgba(0,0,0,0)',\n 3,\n '#00d4b0',\n // 'rgba(0,0,0,0)',\n 4,\n 'hsla(88,92%,45%,0.7)',\n // 'rgba(0,0,0,0)',\n 5,\n 'hsl(73, 91%, 49%)',\n 6,\n 'rgba(255,254,12,0.7)',\n 7,\n 'rgba(251,190,26,0.7)',\n 8,\n 'rgba(246,125,40,0.7)',\n 9,\n 'rgba(255,0,38,0.7)',\n 10,\n 'rgba(232,30,118,0.7)',\n 11,\n 'rgba(172,6,6,0.7)',\n 12,\n 'rgba(114,2,2,0.27)',\n 15,\n 'rgba(75,0,0,0.7)',\n ],\n 'fill-opacity': 1,\n 'fill-antialias': true,\n },\n };\n const windRange = isMobile\n ? [\n 16,\n 14,\n 12,\n 9,\n 6,\n 3,\n 0,\n ]\n : [\n 13,\n 12,\n 11,\n 10,\n 9,\n 8,\n 7,\n 6,\n 5,\n 4,\n 3,\n 2,\n 0,\n ];\n return (\n <>\n {isMobile\n && (\n
\n
\n {windRange.map((windRange, index) => (\n
\n \n {preferredWindMagnitudeUnit(windRange)}\n \n
\n ))}\n
\n
\n )}\n {windLayers.map((windLayer, index) => (\n \n ))}\n {windLayers.map((windLayer, index) => (\n \n ))}\n \n );\n};\n\nWindMagnitude.propTypes = {\n UTCPath: PropTypes.string,\n selectedLake: PropTypes.string,\n isSharing: PropTypes.bool,\n};\n\nWindMagnitude.defaultProps = {\n UTCPath: '',\n selectedLake: '',\n isSharing: false,\n};\n\nexport default WindMagnitude;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredTemperatureUnit } from '../../../../utils';\nimport WaterTempIcon from '../../../icons/WaterTemp';\nimport CloseIcon from '../../../icons/Close';\n\nconst SurfaceWaterTemperatureMagnitude = (props) => {\n const {\n isActive,\n setIsActive,\n isSharing,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 }) && !isSharing;\n\n const tempRange = isMobile ? [29.5, 25.5, 20.5, 15.5, 10.5, 5.5, 0] : [29.5, 23.5, 19.5, 15.5, 10.5, 6.5, 0];\n\n const [rangeDisplay, setRangeDisplay] = useState(\n <>\n {tempRange.map((tempRange, index) => (\n \n {isMobile && (\n
\n \n {preferredTemperatureUnit(tempRange)}\n \n
\n )}\n {!isMobile && (\n
\n \n {preferredTemperatureUnit(tempRange)}\n \n
\n )}\n
\n ))}\n ,\n );\n\n // https://stackoverflow.com/questions/61178240/useeffect-does-not-listen-for-localstorage\n // https://stackoverflow.com/questions/56660153/how-to-listen-to-localstorage-value-changes-in-react\n useEffect(() => {\n function triggerSetRangeDisplay() {\n setRangeDisplay(\n <>\n {tempRange.map((tempRange, index) => (\n \n {isMobile && (\n
\n \n {preferredTemperatureUnit(tempRange)}\n \n
\n )}\n {!isMobile && (\n
\n \n {preferredTemperatureUnit(tempRange)}\n \n
\n )}\n
\n ))}\n ,\n );\n }\n\n window.addEventListener('storage', triggerSetRangeDisplay);\n\n return () => {\n window.removeEventListener('storage', triggerSetRangeDisplay);\n };\n }, []);\n\n return (\n <>\n {isMobile\n && (\n
\n \n
Water
\n
Temp
\n
\n {rangeDisplay}\n
\n
\n )}\n {!isMobile\n && (\n
{ if (!isActive) { setIsActive(true); } }}>\n
\n
\n \n setIsActive(false)} style={isActive ? {} : { display: 'none' }} />\n
\n
\n
Water
\n {' '}\n
Temp
\n
\n
\n
\n
\n
\n {rangeDisplay}\n
\n
\n
\n
\n )}\n \n );\n};\n\nSurfaceWaterTemperatureMagnitude.propTypes = {\n isActive: PropTypes.bool,\n setIsActive: PropTypes.func,\n isSharing: PropTypes.bool,\n};\n\nSurfaceWaterTemperatureMagnitude.defaultProps = {\n isActive: false,\n setIsActive: () => {},\n isSharing: false,\n};\n\nexport default SurfaceWaterTemperatureMagnitude;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredWaterMagnitudeUnit } from '../../../../utils';\nimport CurrentIcon from '../../../icons/Current';\nimport CloseIcon from '../../../icons/Close';\n\nconst WaterMagnitude = (props) => {\n const {\n isActive,\n setIsActive,\n isSharing,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 }) && !isSharing;\n\n const waterRange = isMobile ? [1.2, 1.0, 0.8, 0.6, 0.4, 0.2, 0] : [1.3, 1.1, 0.9, 0.7, 0.5, 0.3, 0.0];\n\n const [rangeDisplay, setRangeDisplay] = useState(\n <>\n {waterRange.map((waterRange, index) => (\n \n {isMobile && (\n
\n \n {preferredWaterMagnitudeUnit(waterRange)}\n \n
\n )}\n {!isMobile && (\n
\n \n {preferredWaterMagnitudeUnit(waterRange)}\n
\n \n
\n )}\n \n ))}\n ,\n );\n\n // https://stackoverflow.com/questions/61178240/useeffect-does-not-listen-for-localstorage\n // https://stackoverflow.com/questions/56660153/how-to-listen-to-localstorage-value-changes-in-react\n useEffect(() => {\n function triggerSetRangeDisplay() {\n setRangeDisplay(\n <>\n {waterRange.map((waterRange, index) => (\n \n {isMobile && (\n
\n \n {preferredWaterMagnitudeUnit(waterRange)}\n \n
\n )}\n {!isMobile && (\n
\n \n {preferredWaterMagnitudeUnit(waterRange)}\n
\n \n
\n )}\n \n ))}\n ,\n );\n }\n\n window.addEventListener('storage', triggerSetRangeDisplay);\n\n return () => {\n window.removeEventListener('storage', triggerSetRangeDisplay);\n };\n }, []);\n\n return (\n <>\n {isMobile\n && (\n
\n
\n {rangeDisplay}\n
\n
\n )}\n {!isMobile\n && (\n
{ if (!isActive) { setIsActive(true); } }}>\n
\n
\n \n setIsActive(false)} style={isActive ? {} : { display: 'none' }} />\n
\n
\n
Water
\n {' '}\n
Current
\n
\n
\n
\n
\n
\n {rangeDisplay}\n
\n
\n
\n
\n )}\n \n );\n};\n\nWaterMagnitude.propTypes = {\n isActive: PropTypes.bool,\n setIsActive: PropTypes.func,\n isSharing: PropTypes.bool,\n};\n\nWaterMagnitude.defaultProps = {\n isActive: false,\n setIsActive: () => {},\n isSharing: false,\n};\n\nexport default WaterMagnitude;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport { preferredWindMagnitudeUnit } from '../../../../utils';\nimport { CloseIcon, WindSpeedIcon } from '../../../icons';\n\nconst WindMagnitude = (props) => {\n const {\n isActive,\n setIsActive,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const windRange = isMobile ? [16, 14, 12, 9, 6, 3, 0] : [13, 11, 9, 7, 5, 3, 0];\n\n return (\n <>\n
{ if (!isActive) { setIsActive(true); } }}>\n
\n
\n \n setIsActive(false)} style={isActive ? {} : { display: 'none' }} />\n
\n
\n
Wind
\n {' '}\n
Speed
\n
\n
\n
\n
\n
\n {windRange.map((windRange, index) => (\n
\n \n {preferredWindMagnitudeUnit(windRange)}\n
\n \n
\n ))}\n
\n
\n
\n
\n \n );\n};\n\nWindMagnitude.propTypes = {\n isActive: PropTypes.bool,\n setIsActive: PropTypes.func,\n};\n\nWindMagnitude.defaultProps = {\n isActive: false,\n setIsActive: () => {},\n};\n\nexport default WindMagnitude;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\n// Created with Inkscape (http://www.inkscape.org/)\n\nconst HexSolidSvg = () => (\n \n \n \n \n \n \n);\n\nconst HexSolidIcon = (props) => ;\n\nexport default HexSolidIcon;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\n// Created with Inkscape (http://www.inkscape.org/)\n\nconst HexTranslucentSvg = () => (\n \n \n \n \n \n \n);\n\nconst HexTranslucentIcon = (props) => ;\n\nexport default HexTranslucentIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\n// TODO: Hex Bathy Icon\n// import WaterTempIcon from '../../../icons/WaterTemp';\nimport HexSolidIcon from '../../../icons/HexSolid';\nimport HexTranslucentIcon from '../../../icons/HexTranslucent';\nimport SeabedIcon from '../../../icons/Seabed';\nimport CloseIcon from '../../../icons/Close';\n\nconst BathyData = (props) => {\n const {\n isActive,\n setIsActive,\n } = props;\n\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const bathyHexDisplay = (\n <>\n \n {isMobile && (\n
\n \n {': '}\n Data\n
\n \n {': '}\n No Data\n
\n )}\n {!isMobile && (\n
\n \n {': '}\n Data\n
\n \n {': '}\n No Data\n
\n )}\n
\n \n );\n\n return (\n <>\n {isMobile\n && (\n
\n
\n {bathyHexDisplay}\n
\n
\n )}\n {!isMobile\n && (\n
{ if (!isActive) { setIsActive(true); } }}>\n
\n
\n \n setIsActive(false)} style={isActive ? {} : { display: 'none' }} />\n
\n
Bathymetry
\n
\n
\n {bathyHexDisplay}\n
\n
\n )}\n \n );\n};\n\nBathyData.defaultProps = {\n isActive: false,\n setIsActive: () => {},\n};\n\nBathyData.propTypes = {\n isActive: PropTypes.bool,\n setIsActive: PropTypes.func,\n};\n\nexport default BathyData;\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst LayersSvg = () => (\n \n \n \n \n \n);\nconst LayersIcon = (props) => ;\n\nexport default LayersIcon;\n","import React, {\n memo,\n useState,\n useEffect,\n} from 'react';\nimport './styles.scss';\nimport PropTypes from 'prop-types';\nimport { Tooltip } from 'antd';\nimport OmicsData from './OmicsData';\nimport SurfaceWaterTemperatureMagnitude from './SurfaceWaterTemperatureMagnitude';\nimport WaterMagnitude from './WaterMagnitude';\nimport WindMagnitude from './WindMagnitude';\nimport BathyData from './BathyData';\nimport LayersIcon from '../../../icons/Layers';\nimport MapViewInfoIcon from '../../../icons/MapViewInfo';\nimport { featureFlag } from '../../../../constant';\n\nconst MapOverlayDrawer = (props) => {\n const {\n onTagsSelect,\n selectedOverlay,\n omicsFilters,\n setOmicsFilters,\n tagsList,\n } = props;\n\n const [isWindActive, setIsWindActive] = useState(false);\n const [isTempActive, setIsTempActive] = useState(true);\n const [isWaterActive, setIsWaterActive] = useState(false);\n const [isOmicsActive, setIsOmicsActive] = useState(false);\n const [isBathyActive, setIsBathyActive] = useState(false);\n\n useEffect(() => {\n switch (selectedOverlay) {\n case 'surface_water_temperature':\n setIsTempActive(true);\n setIsWaterActive(false);\n setIsWindActive(false);\n setIsOmicsActive(false);\n setIsBathyActive(false);\n break;\n case 'water_current':\n setIsTempActive(false);\n setIsWaterActive(true);\n setIsWindActive(false);\n setIsOmicsActive(false);\n setIsBathyActive(false);\n break;\n case 'wind_current':\n setIsTempActive(false);\n setIsWaterActive(false);\n setIsWindActive(true);\n setIsOmicsActive(false);\n setIsBathyActive(false);\n break;\n case 'omics':\n setIsTempActive(false);\n setIsWaterActive(false);\n setIsWindActive(false);\n setIsOmicsActive(true);\n setIsBathyActive(false);\n break;\n case 'bathy':\n setIsTempActive(false);\n setIsWaterActive(false);\n setIsWindActive(false);\n setIsOmicsActive(false);\n setIsBathyActive(true);\n break;\n default:\n setIsTempActive(false);\n setIsWindActive(false);\n setIsWaterActive(false);\n setIsOmicsActive(false);\n setIsBathyActive(false);\n }\n }, [selectedOverlay]);\n\n const setWaterActive = (active) => {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'water_current')[0];\n onTagsSelect(tag, active, 'weather');\n };\n\n const setWindActive = (active) => {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'wind_current')[0];\n onTagsSelect(tag, active, 'weather');\n };\n\n const setTempActive = (active) => {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'surface_water_temperature')[0];\n onTagsSelect(tag, active, 'weather');\n };\n\n const setOmicsActive = (active) => {\n const tag = tagsList.orgTags.filter((t) => t.key === 'omics')[0];\n onTagsSelect(tag, active, 'org');\n };\n\n const setBathyActive = (active) => {\n const tag = tagsList.orgTags.filter((t) => t.key === 'bathy')[0];\n onTagsSelect(tag, active, 'org');\n };\n\n return (\n <>\n
\n
\n
\n \n Map Overlays\n \n \n \n
\n \n \n \n {featureFlag.omics && (\n \n )}\n {featureFlag.bathy && (\n \n )}\n
\n
\n \n );\n};\n\nMapOverlayDrawer.propTypes = {\n onTagsSelect: PropTypes.func,\n selectedOverlay: PropTypes.string,\n omicsFilters: PropTypes.object,\n setOmicsFilters: PropTypes.func,\n tagsList: PropTypes.object,\n};\n\nMapOverlayDrawer.defaultProps = {\n onTagsSelect: () => { },\n selectedOverlay: '',\n omicsFilters: {},\n setOmicsFilters: () => { },\n tagsList: {},\n};\n\nexport default memo(MapOverlayDrawer);\n","import React, { useContext } from 'react';\nimport { useQuery } from 'react-query';\nimport { Marker } from 'react-map-gl';\nimport PropTypes from 'prop-types';\nimport lodash from 'lodash';\nimport UserContext from '../../../contexts/UserContext';\nimport { getUserFavoritePlatforms } from '../../../services/profile.service';\nimport ProfileQueryTypes from '../../../services/query-types/profile';\nimport MarkerStatus from '../../icons/MarkerStatus';\nimport { brandingConfig } from '../../../config';\n\nconst pinStyle = {\n cursor: 'pointer',\n fill: '#d00',\n stroke: 'none',\n};\n\n// Important for perf: the markers never change, avoid rerender when the map viewport changes\nfunction Pins(props) {\n const {\n data, resetClicked, selectedPlatform, handleAction, handleClick, onClusterClick,\n } = props;\n\n const [clickedItems, setClickedItems] = React.useState({});\n const { cognitoUser } = useContext(UserContext);\n\n const {\n data: favoritePlatformData,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n enabled: Boolean(cognitoUser?.username),\n },\n );\n\n if (resetClicked && !lodash.isEmpty(clickedItems)) {\n setClickedItems({});\n }\n\n React.useEffect(() => {\n if (selectedPlatform) {\n const selectedIdx = data.findIndex((o) => o.properties?.org_platform_id === selectedPlatform.properties?.org_platform_id);\n\n if (selectedIdx > -1) {\n setClickedItems({ [selectedIdx]: true });\n }\n }\n }, [data, selectedPlatform]);\n\n const isFavorite = (datasetId) => {\n if (!cognitoUser) return false;\n\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n return false;\n }\n const foundFavorite = favoritePlatformData.find((fp) => fp.obs_dataset_id === datasetId);\n if (foundFavorite) {\n return true;\n }\n }\n\n return false;\n };\n\n const onClick = (index, dataset) => {\n const item = clickedItems[index];\n\n setClickedItems({ ...clickedItems, [index]: !item });\n\n handleClick(dataset);\n };\n\n const getClusterIcon = (properties, clicked, includesFavorite, props) => {\n const isNestPlatform = data.properties?.organization_id === brandingConfig.filters.organizationId;\n const passedProps = { ...props };\n\n if (isNestPlatform) {\n passedProps.width = '22';\n passedProps.height = '22';\n }\n\n return ();\n };\n\n const getIcon = (dataset, isFavorite, clicked, props) => {\n const isNestPlatform = data.properties?.organization_id === brandingConfig.filters.organizationId;\n const passedProps = { ...props };\n\n if (isNestPlatform) {\n passedProps.width = '22';\n passedProps.height = '22';\n }\n\n return ();\n };\n\n return (\n data\n && data.length > 0\n && data.map((dataset, index) => {\n const [longitude, latitude] = dataset.geometry.coordinates;\n\n const isNestPlatform = dataset.properties?.organization_id === brandingConfig.filters.organizationId;\n const SIZE = isNestPlatform ? 22 : 40;\n\n const {\n cluster: isCluster,\n point_count: pointCount,\n is_favorite: includesFavorite,\n } = dataset.properties;\n\n if (isCluster) {\n return (\n \n {getClusterIcon(dataset.properties, clickedItems[index], includesFavorite, {\n style: {\n ...pinStyle,\n transform: 'translate(-50%, -50%)',\n position: 'absolute',\n top: '0',\n left: '0',\n },\n height: `${SIZE}px`,\n width: `${SIZE}px`,\n onClick: () => onClusterClick(dataset, latitude, longitude),\n })}\n \n +\n {pointCount}\n \n \n );\n }\n\n return (\n \n {getIcon(dataset, isFavorite(dataset.properties.obs_dataset_id), clickedItems[index], {\n style: {\n ...pinStyle,\n transform: 'translate(-50%, -50%)',\n position: 'absolute',\n top: '0',\n left: '0',\n },\n height: `${SIZE}px`,\n width: `${SIZE}px`,\n onClick: () => onClick(index, dataset),\n onMouseEnter: () => (clickedItems[index] ? {} : handleAction(dataset)),\n onMouseLeave: () => (clickedItems[index] ? {} : handleAction()),\n })}\n {dataset.properties?.observations && (\n \n {dataset.properties.observations[0].value.toFixed(2)}\n %\n \n )}\n \n );\n })\n );\n}\n\nPins.propTypes = {\n data: PropTypes.array,\n resetClicked: PropTypes.bool,\n handleAction: PropTypes.func,\n handleClick: PropTypes.func,\n onClusterClick: PropTypes.func,\n};\n\nPins.defaultProps = {\n data: [],\n resetClicked: false,\n handleAction: () => { },\n handleClick: () => { },\n onClusterClick: () => { },\n};\n\nexport default React.memo(Pins);\n","import React, {\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport Pins from './Pins';\n\nconst Cluster = (props) => {\n const {\n mapData,\n selectedPlatform,\n showDetail,\n handleAction,\n handleClick,\n handleClusterClick,\n } = props;\n\n return (\n \n );\n};\n\nCluster.propTypes = {\n mapData: PropTypes.array,\n selectedPlatform: PropTypes.object,\n showDetail: PropTypes.bool,\n handleAction: PropTypes.func,\n handleClick: PropTypes.func,\n handleClusterClick: PropTypes.func,\n};\n\nCluster.defaultProps = {\n mapData: [],\n selectedPlatform: {},\n showDetail: false,\n handleAction: () => {},\n handleClick: () => {},\n handleClusterClick: () => {},\n};\n\nexport default memo(Cluster);\n","import React, {\n useEffect, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Layer,\n Source,\n Marker,\n} from 'react-map-gl';\nimport bezierSpline from '@turf/bezier-spline';\n// import PathCircleIcon from '../../icons/PathCircle';\nimport MarkerStatus from '../../icons/MarkerStatus';\n\nconst Trajectory = (props) => {\n const { trajectory, showPaths } = props;\n\n const lineStyle = {\n type: 'line',\n layout: {\n 'line-join': 'round',\n 'line-cap': 'round',\n },\n };\n\n const lineGradient = () => {\n const switchProp = trajectory.properties.platform_event ? trajectory.properties.platform_event : trajectory.properties.event;\n switch (switchProp) {\n case 'activated':\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(124, 223, 9, 0.2)',\n 0.4,\n 'rgba(124, 223, 9, 0.75)',\n 1,\n 'rgba(124, 223, 9, 1.0)',\n ];\n case 'deactivated':\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(176, 176, 176, 0.2)',\n 0.4,\n 'rgba(176, 176, 176, 0.75)',\n 1,\n 'rgba(176, 176, 176, 1.0)',\n ];\n case 'recovered':\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(246, 129, 47, 0.2)',\n 0.4,\n 'rgba(246, 129, 47, 0.75)',\n 1,\n 'rgba(246, 129, 47, 1.0)',\n ];\n case 'temporarily_unavailable':\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(224, 207, 89, 0.2)',\n 0.4,\n 'rgba(224, 207, 89, 0.75)',\n 1,\n 'rgba(224, 207, 89, 1.0)',\n ];\n case 'unavailable':\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(224, 207, 89, 0.2)',\n 0.4,\n 'rgba(224, 207, 89, 0.75)',\n 1,\n 'rgba(224, 207, 89, 1.0)',\n ];\n default:\n return [\n 'interpolate',\n ['linear'],\n ['line-progress'],\n 0,\n 'rgba(124, 223, 9, 0.2)',\n 0.4,\n 'rgba(124, 223, 9, 0.75)',\n 1,\n 'rgba(124, 223, 9, 1.0)',\n ];\n }\n };\n\n const smoothLayerStyle = {\n ...lineStyle,\n paint: {\n 'line-width': {\n stops: [\n [5, 2],\n [10, 4],\n [15, 6],\n ],\n },\n 'line-gradient': lineGradient(),\n },\n };\n\n const [smoothLine, setSmoothLine] = useState(null);\n\n useEffect(() => {\n if (trajectory && trajectory.geometry.coordinates.length > 1) {\n setSmoothLine(bezierSpline(trajectory, { sharpness: 0.95, resolution: 15000 }));\n }\n }, [trajectory]);\n\n return trajectory && smoothLine ? (\n <>\n {showPaths && (\n <>\n \n \n \n )}\n \n {/* */}\n \n \n \n ) : null;\n};\n\nTrajectory.propTypes = {\n trajectory: PropTypes.object,\n showPaths: PropTypes.bool,\n};\n\nTrajectory.defaultProps = {\n trajectory: {},\n showPaths: true,\n};\n\nexport default Trajectory;\n","import React, { useEffect, useState } from 'react';\nimport { Layer, Source } from 'react-map-gl';\nimport PropTypes from 'prop-types';\n\n// TODO: make constant the hex JSX layers\n// Then conditionally reveal them in the return\n// Ensure different IDs\n\nconst hexStyle = {\n type: 'fill',\n paint: {\n 'fill-color': '#FFFF00',\n 'fill-opacity': [\n 'case',\n ['has', 'survey'],\n 1.00,\n 0.25,\n ],\n 'fill-antialias': true,\n 'fill-outline-color': '#000000',\n },\n};\n\nconst CSBHexMap = (props) => {\n const { viewport } = props;\n\n const [hexRes, setHexRes] = useState(1);\n\n useEffect(() => {\n const hexResTemp = Math.floor(viewport.zoom);\n\n if (hexResTemp <= 5) {\n setHexRes(5);\n } else if (hexResTemp === 6) {\n setHexRes(6);\n } else if (hexResTemp === 7 || hexResTemp === 8) {\n setHexRes(7);\n } else if (hexResTemp === 9 || hexResTemp === 10) {\n setHexRes(8);\n } else if (hexResTemp === 11 || hexResTemp === 12) {\n setHexRes(9);\n } else if (hexResTemp >= 13) {\n setHexRes(10);\n }\n }, [viewport]);\n\n return (\n <>\n {hexRes <= 5 && (\n <>\n \n \n \n )}\n {hexRes === 6 && (\n <>\n \n \n \n )}\n {hexRes === 7 && (\n <>\n \n \n \n )}\n {hexRes === 8 && (\n <>\n \n \n \n )}\n {hexRes === 9 && (\n <>\n \n \n \n )}\n {hexRes >= 10 && (\n <>\n \n \n \n )}\n \n );\n};\n\nCSBHexMap.propTypes = {\n viewport: PropTypes.object,\n};\n\nCSBHexMap.defaultProps = {\n viewport: {},\n};\n\nexport default CSBHexMap;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { VirusIcon } from '../../icons';\n\nconst SelectedFilters = (props) => {\n const { filters: { endDate, filter, startDate }, type } = props;\n\n const activeFilterText = filter.toLowerCase() === 'all'\n ? `Showing samples from ${startDate.format('MMM Do, YYYY')} to ${endDate.format('MMM Do, YYYY')}`\n : `Showing samples containing ${filter} from ${startDate.format('MMM Do, YYYY')} to ${endDate.format('MMM Do, YYYY')}`;\n\n const getIcon = () => {\n switch (type.toLowerCase()) {\n case 'omics':\n return ;\n default:\n return <>;\n }\n };\n\n const icon = getIcon();\n\n return (\n <>\n
\n {icon}\n

{activeFilterText}

\n
\n \n );\n};\n\nSelectedFilters.propTypes = {\n filters: PropTypes.shape({\n endDate: PropTypes.instanceOf(moment),\n filter: PropTypes.string,\n startDate: PropTypes.instanceOf(moment),\n }),\n type: PropTypes.string,\n};\n\nSelectedFilters.defaultProps = {\n filters: {\n selectedEndDate: moment(),\n filter: '',\n selectedStartDate: moment().subtract(1, 'day'),\n },\n type: '',\n};\n\nexport default memo(SelectedFilters);\n","import React from 'react';\nimport Icon from '@ant-design/icons';\n\nconst TwitterSvg = () => (\n \n \n \n \n \n);\n\nconst TwitterIcon = (props) => ;\n\nexport default TwitterIcon;\n","import React, { useState } from 'react';\nimport {\n DownloadOutlined,\n} from '@ant-design/icons';\nimport {\n FacebookShareButton, TwitterShareButton, LinkedinShareButton,\n} from 'react-share';\nimport ReactGA from 'react-ga4';\nimport PropTypes from 'prop-types';\nimport { ParameterDetailsEvent } from '../../../constant/google-analytics/constant';\nimport { FacebookIcon, LinkedInIcon } from '../../../components/icons';\nimport TwitterIcon from '../../../components/icons/Twitter';\n\nconst SocialShareSenderModal = (props) => {\n const {\n shareImageLink, shareImageUrl, onDownloadPng, isMobile,\n } = props;\n\n const [isShareLinkCopied, setIsShareLinkCopied] = useState(false);\n\n if (isShareLinkCopied) {\n setTimeout(() => setIsShareLinkCopied(!isShareLinkCopied), 3000);\n }\n\n return (\n
\n

\n Share with your fellow lake enthusiasts\n

\n \n
\n
\n ReactGA.event(ParameterDetailsEvent.FacebookSelect)} url={shareImageLink}>\n
\n \n
\n
\n ReactGA.event(ParameterDetailsEvent.TwitterSelect)}\n >\n
\n \n
\n \n ReactGA.event(ParameterDetailsEvent.LinkedInSelect)}>\n
\n \n
\n
\n {/* ReactGA.event(ParameterDetailsEvent.RedditSelect)}>\n
\n \n
\n
*/}\n { onDownloadPng(); ReactGA.event(ParameterDetailsEvent.DownloadSelect); }}\n style={{\n height: isMobile ? 45 : 40, width: isMobile ? 45 : 40, borderRadius: '100%', backgroundColor: 'white', overflow: 'hidden', alignItems: 'center', justifyContent: 'center', display: 'flex', flexShrink: 0,\n }}\n >\n \n
\n
\n {!isMobile\n && (\n
\n

\n {shareImageLink}\n

\n { navigator.clipboard.writeText(shareImageLink); ReactGA.event(ParameterDetailsEvent.CopyLinkSelect); setIsShareLinkCopied(true); }}\n >\n

\n {isShareLinkCopied ? 'Copied' : 'Copy'}\n

\n
\n
\n )}\n
\n {isMobile\n && (\n
\n

\n {shareImageLink}\n

\n { navigator.clipboard.writeText(shareImageLink); ReactGA.event(ParameterDetailsEvent.CopyLinkSelect); setIsShareLinkCopied(true); }}\n >\n

\n {isShareLinkCopied ? 'Copied' : 'Copy'}\n

\n
\n
\n )}\n
\n );\n};\n\nSocialShareSenderModal.propTypes = {\n onDownloadPng: PropTypes.func,\n shareImageLink: PropTypes.string,\n shareImageUrl: PropTypes.string,\n isMobile: PropTypes.bool,\n};\n\nSocialShareSenderModal.defaultProps = {\n onDownloadPng: () => { },\n shareImageLink: '',\n shareImageUrl: '',\n isMobile: false,\n};\n\nexport default SocialShareSenderModal;\n","export const pulpDisplayBase64 = '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AAAAAAAGABQCMQABAAAAAAAIAAoCXAABAAAAAAAJAA4ChQABAAAAAAALABECuAABAAAAAAAMABEC7gABAAAAAAAQAAwDGgABAAAAAAARAAkDOwADAAEECQAAAEYAAAADAAEECQABACwAbAADAAEECQACAA4AsQADAAEECQADAD4AyQADAAEECQAEACwBKQADAAEECQAFAGQBbgADAAEECQAGACgCBwADAAEECQAIABQCRgADAAEECQAJABwCZwADAAEECQALACIClAADAAEECQAMACICygADAAEECQAQABgDAAADAAEECQARABIDJwBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMgAwACAAYgB5ACAAQgByAGUAbgB0ACAAQQBuAGQAZQByAHMAbwBuAC4AAENvcHlyaWdodCCpIDIwMjAgYnkgQnJlbnQgQW5kZXJzb24uAABQAHUAbABwACAARABpAHMAcABsAGEAeQAgAFMAZQBtAGkAIABCAG8AbABkAABQdWxwIERpc3BsYXkgU2VtaSBCb2xkAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAzAC4AMAAwADAAOwBVAEsAVwBOADsAUAB1AGwAcABEAGkAcwBwAGwAYQB5AC0AUwBlAG0AaQBCAG8AbABkAAAzLjAwMDtVS1dOO1B1bHBEaXNwbGF5LVNlbWlCb2xkAABQAHUAbABwACAARABpAHMAcABsAGEAeQAgAFMAZQBtAGkAIABCAG8AbABkAABQdWxwIERpc3BsYXkgU2VtaSBCb2xkAABWAGUAcgBzAGkAbwBuACAAMwAuADAAMAAwADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4AMQAwADkAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADUALgA2ADUANQA5ADYAAFZlcnNpb24gMy4wMDA7aG90Y29udiAxLjAuMTA5O21ha2VvdGZleGUgMi41LjY1NTk2AABQAHUAbABwAEQAaQBzAHAAbABhAHkALQBTAGUAbQBpAEIAbwBsAGQAAFB1bHBEaXNwbGF5LVNlbWlCb2xkAABVAHAAVAB5AHAAZQAgAEwAYQBiAABVcFR5cGUgTGFiAABCAHIAZQBuAHQAIABBAG4AZABlAHIAcwBvAG4AAEJyZW50IEFuZGVyc29uAAB3AHcAdwAuAHUAcAB0AHkAcABlAGwAYQBiAC4AYwBvAG0AAHd3dy51cHR5cGVsYWIuY29tAAB3AHcAdwAuAHUAcAB0AHkAcABlAGwAYQBiAC4AYwBvAG0AAHd3dy51cHR5cGVsYWIuY29tAABQAHUAbABwACAARABpAHMAcABsAGEAeQAAUHVscCBEaXNwbGF5AABTAGUAbQBpACAAQgBvAGwAZAAAU2VtaSBCb2xkAAAAAgAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAAAAC9AAAAAQACAAMABAAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeACAAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABCAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYACjAIQAhQCWAIYAiwCdAKkAigCDAQIBAwDDAQQAngCqAKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwB4AHoAeQB7AH0AfAChAH8AfgCAAIEA7AC6ANcAsACxAOQA5QC7AOcAsgCzALYAtwDEALQAtQDFAIIAhwCrAL4AvwEFB3VuaTAwQjIHdW5pMDBCMwd1bmkwMEI5BEV1cm8AAAAAAAAB//8AAgABAAAADAAAABAAAAACAAAABAAAAAIAAAABAAAACgAiAEgAAURGTFQACAAEAAAAAP//AAMAAAABAAIAA2FhbHQAFG9yZG4AGnN1cHMAIAAAAAEAAAAAAAEAAgAAAAEAAQAEAAoAEgAaACQAAQAAAAEAIgABAAAAAQBAAAYAAAACAE4AcgABAAAAAQCMAAIAFAAHAGkAZgBnAGIAagBiAGoAAQAHABMAFAAVACEALwA/AE0AAgAMAAMAaQBmAGcAAQADABMAFAAVAAMAAQAaAAEAEgAAAAEAAAADAAEAAgAhAD8AAgABABIAGwAAAAMAAQAaAAEAEgAAAAEAAAADAAEAAgAvAE0AAgABABIAGwAAAAIADgAEAGIAagBiAGoAAQAEACEALwA/AE0AAAABAAAACgAeAC4AAURGTFQACAAEAAAAAP//AAEAAAABa2VybgAIAAAAAgAAAAEAAgAGAA4AAgAIAAEAEAACAAgAAQV+AAEFMgAEAAAAIABKAHQAegCAALIAuADyAPwBWgFkAaYB7AIuAnQCsgL8Az4DgAO+A/gEIgRMBHYEjASSBJgEvgTgBOYE7AUOBSwACgAEAA0AC//zAA4AGQAcAAwAHQAKAB//8wBj/+4AawAAALr/7gC7AAAAAQAV/+IAAQAV//8ADAAE//MAEP/nABH/6gAV/80AF//fABn/9wAb/80AH//aADv//wBg//wAa//OALv/zgABABX/5gAOABL/9QAT/8IAFAAaABUACwAWAAsAFwALABgACAAZ/+4AGgAPABv/0QBj/8gAa//9ALr/yAC7//0AAgAWAAUAGAARABcABAAbAAv/5wAOAAoAEAAKABL/9QAT/8IAFAAaABUACwAWAAoAFwAKABgACAAZ/+4AGgAPABv/0QAcAAwAHQAKAB//1AA9/9QAY//IAGv//QCv/+sAuv/IALv//QACABH/igAX/+EAEAAH//MADv/2ABD/9wASAAMAE//kABT/7AAV/+8AFv/7ABf//gAY//wAGf/iABoAAAAb//wAHAAJAB0ABwBDAAYAEQAOAAsAEAAOABH/6gASAAAAE//rABT/9gAV//AAFv/sABf//wAY//QAGf/rABoAAwAb//QAHAAFAB0ABABi/+wAav/iABAADf/qAA4AGQAQABsAEf//ABL/+QAT//IAFP/8ABX/9wAW//oAF//8ABj/9QAZ//QAGv//ABv/+AAcAAkAHQAGABEAC//eAA4ADQAPAAkAEAAPABIAAAAT/+4AFP/2ABX//wAW//8AFwABABj//wAZ/+4AGgAGABv/8gAcAAYAHQAGAET/+AAPAA4ADQAQAAwAEv/8ABP/1AAU//kAFQAAABb//wAX//8AGP//ABn/1gAa//8AG//lABz//QAd//0ASwASABIAC//kAA4ACwAPAA8AEAALABL/+wAT/+kAFP/0ABX//QAW//8AF//+ABj//wAZ/+oAGv//ABv/5AAc//0AHf/9AD8AAQCwAA8AEAAL/80ADgAIABAACQAS//sAE//FABT/8gAV//0AFv//ABf//QAY//8AGf/LABr//wAb/+EAHP/9AB3//QA9/8kAEAAL//gADv+yABD/swAS/+YAE///ABT//QAV//MAFv++ABf/6QAY/8wAGf//ABr/8gAb//cAHP/nAB3/5ABlABQADwAOAA4AEAAPABL//wAT//AAFP/3ABX//wAW//8AFwABABj//wAZ//AAGgAGABv/8wAcAAYAHQAFAK8ACAAOAA7/vwAQ/8AAEv/8ABP/9QAU//oAFf/vABb/2gAX//EAGP/pABn/9gAa//MAG///ABz//wAd//4ACgASAAcAE//iABT//AAV//QAFv/5ABcAAgAYAAEAGf/XABoABQAb//4ACgASAAcAE//iABT//AAV//UAFv/7ABcAAwAYAAIAGf/XABoABQAb//4ACgAE//MAC//eAA7/1wAc//QAHf/0AB///wBj/7sAa//zALr/uwC7//MABQAQ/9gAFf/IABf/4gAZ/+8AG//JAAEAF//9AAEAFP/iAAkAC//OAA7//QAQ//4AHP//AB3//gBr//8Ar//jALD/4wC7//8ACAAO/8kAEP/KABz/1gAd/9YAr///ALD//wC2/8YAuv//AAEAsf/FAAEAtP/FAAgAC//OAA7//AAQ//4AHP/+AB3//QCv/+MAsP/jALv//wAHAA7/yAAQ/8kAHP/WAB3/1gBj//8Ar///ALD//wABABj/4wABACAABAAFAAYACgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHwA7AF4AXwBjAGsAswC2ALoAuwC8AAEN6gAEAAAASwCgAKoA0ADiASABZgGIAZoBtAHWAhQCIgKQAroC1ALqAxQDMgNIA3IDhAOOA7wEAgR8BKIFBAVmBXAFvgXUBeYF7AZOBoAGsgbYB04HxAgKCFwIpgjECOYJVAl2ChQKagqQCqILCAtiC6QL6gwUDDoMTAxyDIgMjgzEDMoM/A0CDRANIg0oDTINPA1KDWQNag2IDaYNyAACAEL/2ABR/+wACQAk//sAKv/NAEH/1ABE/8gARf/5AEgAJwBK//UATv/+AFf/zAAEACH/7QA0/70ANv/UADf/5wAPACH/qgAk//wAJf//ACn//wAr//8ALP//AC//yQA2AAkAP/+2AEL/rwBE/9oAR//7AEr/9QBO/9UAj//XABEAEAAiABEADwAiAA8AKAAPACsADwAtABQAMAAPADP/8QA0/7YANv++ADf/zQA5/6QAOgAPAEAADwBKAAUAUP/sAFT/pgAIACUAIQAoACEAMgAhADUAGwA/AA8ATQACAFAAAABTABoABAAoAAoAKwAKAD//9gBN/+wABgAh/+IAKAAVAC///wBBAAkAQwAEAFMAEwAIACgAFwAsABcAMgAXAEcACABKAAoAUAATAFL/+gBW//0ADwAQ/7QAEf+0ACH/yQAoAAMAL//tAD//5wBD/+0AR///AEgABQBN/+0AUP/wAFP/7gCP/+cAoP/tAKX/7gADACgAGQA/AAQAQwAKABsAEf//ACEADgAiACcAIwATACQAJgAlACcAJgAnACcAFAAoACcAKQAnACoACgArACcALAAnAC0AJwAuACcALwATADAAJwAxABMAMgAnADMADwA0AAkANQAlADYACQA3AAMAOAAKADkACgA6AAsACgAJACgAEf/qACP//QAoABEALAAUAC4AFAAzAAAANv/0AEEABgBR/+wABgAh//IAKAAkADUAIQA/AAwAQwAQAE0ADgAFABAADAAoAAoALgAUADX/+QA//+8ACgAQACYAIQAYACgACQAsABQANP+wADb/pQA3/8AAOf+TAEEAAwBH//cABwAhABQAKAAnACkAJwAwACcAQwAWAEcAGgBTACEABQAR//8AJQAUACgAJwAvABQAPwAUAAoAEf/LACgAEwAyABQANP/sADUADwA2/9kAN//lADj/1gBGABQAUwAFAAQAEP+bACH/xwAoAAkAM//7AAIAKAAVADUAEQALABAAEQAoAA0AL//wADT/9QA3/+cAOf/TAD//8gBD/+8ATf/vAFf//gCg/+8AEQAQAA4AIf/0ACUAEAAoABAAMAAUADMAAAA0//sAN//uAD///gBBAAQAQ///AEcABgBLAA8ATf//AE4ADgBS//AAUwALAB4ACwAJABD/xgAh/7QAJQAJACYAMQAoAAkAKwAJADYAEwA9AAgAP/+7AEP/uABGACgARwAJAEgADwBN/7gAUP/KAFH/tABT/8YAVf+wAFf/sABj/6YAa/+zAI//5gCT/80AlP+4AJX/3QCg/9gApf/pALr/pgC7/7MACQAoACUAKQAmACwAJQAtACUALgAlADMACAA0AAoAOv//AEYAHwAYABD/tAAh/74AJQAKACYAFAAoAAoAKQAKAD//xwBD/8cARwAGAE3/wgBQ/+EAUf/FAFP/4QBX/+sAWP/cAGP/uQBr/9cAj//iAJP/ywCU/8cAlf/MAKD/1AC6/7kAu//XABgAEP/UACH/zQAmAAsAKAALACkAFAAsAAsALgAKAD//3QBD/90ARwAIAEoAAQBN/9kAUP/wAFH/2gBT/+0AV//3AFj/6ABj/84Aa//mAI//5ACg/9oApf/uALr/zgC7/+YAAgAQABEAKAAHABMAEP+0ACH/qAAoAAoALgAJAC//pgA//68AQAAJAEP/qwBF/6oATf+rAE7/ygBP/6wAUf+rAFL/1ABT/8cAY/+UAGv/twC6/5QAu/+4AAUAIQAOACgADgApABQAOQAIAEP/7AAEACr/zABF//kARv/+AEgAMAABAET/7wAYABAACgAR//8APwAKAEAAGgBBABAAQgALAET//wBFAAoARgAZAEkAGgBKABEATAAaAFAAGgBRAAcAUgAGAFMAFQBU//YAVf/8AFYACgBX/+wAWAAGALH/5wC0/+cAuv/+AAwAP///AEAADgBB//YAQ//8AET/7ABHAAUASgAFAEwADwBQAA8AUf/7AFMACwBU/+IADAAL/9EAPwAFAEL/9gBD/+wARgAPAEcABgBJAA8ATAAPAE3/7ABQAA8AUgAJAFf/2AAJABH//wA/AA4AQQAVAEMAEABHABUASQAUAEwAHABNAA4AUAAcAB0ABAAEAAn/7AAQ//8AEf/jABz/+wAf/8YAP//+AEEABgBC//AAQ//sAET/+QBF//YARwAGAEoABQBLAA4ATAAOAE4ADgBQAA4AUf/7AFL//wBU/+4AVf/xAFj/7ABjAAAAa//5ALT/3gC1/+QAugAAALv/+QAdAAQAEAALABwADAAGAA7/7AAQ/+4AEf/WABwAEQAfAAsAPQAcAD7/6wA/AAoAQAAcAEMABQBEABYARgAdAEcAGABIAB4ASQAdAEoAEwBMABEATQACAFAAEQCPAAoAoAACAKUAEQCoABEArwAEALEAGQC0ABkAEQAL//kADgAWABAAGAA9//0APwAOAEIADwBDAA8ARAAIAEUADgBGABEASAAjAEwAHABN/+wAUAAcAFMAGgCx//4AtP/+ABQABAATAB//0QA/AAwAQwANAEcAEgBIABQASgASAEsAHABMABwATQAMAE4AFABQABwAUQAIAFIABgBTABgAY///AGv//wCgAAwAuv//ALv//wASAEAAFQBBAAsAQgAHAEMABgBE//8ARQAFAEgAFQBKAAsASwAVAEwAFQBNAAQAUAAVAFEAAwBSAAIAUwACAFT/4gBWAAIAigAVAAcAPwAGAET//wBJABQATAAVAE0ABABR/+wAUwASAAgAD//HAD//7wBD/9oARP/iAEwACgBN/9kAUf/YAFcABwAbAAQACwAL//QADwAKABH/9AAf//QAPf/0AD8ABQBBAAsAQgADAEMABgBEAAAARwAKAEkAEQBKAAcASwAUAEwAEQBNAAQAUQACAFIAAgBTABEAWAADAGP/9ABr//oAsAAKALH//gC0//4AtQADAAgAHQAKAD8ADQBDABAARwATAEsAHQBMAB0ATgAcAFf/9AAnAAQAEwAJ/9gAC//oAA4AFgAPABEAEAAYABH//wA/AAwAQAAbAEEAEwBCAA0AQwAOAEQAAQBFAAwARgAbAEcAEgBIABgASQAcAEoAEgBLABwATAAcAE0ADABOABsATwANAFAAHABRAAkAUgAGAFMAGABU//gAVf/8AFYACgBX//MAWAAIAGP//wBr//8AtP/qALX/7QC6//8Au///ABUAEP/sABH/3AA///0AQf/sAEL/9gBD/+wARgAPAEf/7ABKAAYASwAPAEwADgBN/+wATgAOAFAADgBR//kAUv/7AFMACwBU/+sAVf/wAFb/6gBX/9gACQA/AAAAQwABAEr/9gBMAA8ATgAPAFH/+gBTAAsAsf/cALT/3AAEAAv//wBDABAATAAcAFMAGwAZAAQADgAO/8YAEP/HABH/yAAdABYAPwAIAEAAHQBCAAIAQwACAEUAAwBHABUASQAdAEoAEwBLAB0ATAAdAE0AAABOAB0AUAAUAFEABgBSACcAUwAdAFQAHgBXABQAY//jAGsAFwAWAAQABAAOAAwAH//EAEEAAQBC/+wAQ//8AEYADgBHAAQASgAFAEsADgBMAA4ATf/7AE//7ABSAAUAUwAKAFT/4gBV/+wAY//mAGv//gC0/+EAtf/nALv//gAQAA//6QAc//kAP//zAEP/6wBGAAMAR//7AEr/9QBMAAMATf/qAFD/+ABR//EAUv//AFP//ABV//8Aa//1AKX//AARABH//wA/AA4AQQAVAEQACgBHABUASgASAEsAHABMABwATQAOAE4AHABQABwAUQALAFIADABUAA8AigAcALH//QC0//0ACgAO/84AEP/PAD//8wBB/+wAQv/iAEP/7ABMAA8ATf/rAFH/4gBVABkACQAO/+IAEP/iAD//9gBD//QARwADAEwACwBN//EAVv/2AI//9gAEAEP/6gBMAAoAUgARAFf/9gAJAA7/yQAQ/8kARgAKAEsACgBMAAoATf/mAFAACgBSABQAWP/sAAUAC//oAEP/8wBHAAEATAAOAFcACQABAC4AGgANACH//AAq//4ALQAQAC///QA0/7IANv/XADf/4wA5/7EAP///AEL/8gBGAAQAR//8AFH//gABAAMAAAAMACH/3gAq/+YALf//AC///AA0/6YANv+5ADf/zQA5/4sAP//mAEL//wBH//cAUf/sAAEAM/+yAAMAEf/iAEMAAQBS//cABAAQABcARgAZAFAAGgBSAAYAAQA2/8gAAgA0/9UANv/RAAIANP/dADb/zAADAEYADgBQAA4AUv/7AAYARgAcAEwAHABQABwAUQALAFIADACKABwAAQBMABsABwAqABQANP/JADb/tgA3/9IAOf+pAEX/9gBIABQABwAqABMANP/IADb/twA3/9MAOf+qAEX/9wBIABQACAAh//sAKv/+AC0ADgAv//wAP//+AEL/8QBH//sAUf/+AAgAIf/dACr/5QAt//8AL//7AD//5QBC//8AR//2AFH/7AACABEACQAKAAAADwAPAAIAEQARAAMAIQA7AAQAPgBYAB8AXABcADoAYwBjADsAagBsADwAigCKAD8AjwCPAEAAkwCVAEEAoACgAEQApQClAEUAqACoAEYAswCzAEcAtgC2AEgAugC7AEkAAAAAAAEAAAAA2lOZ8AAAAADb59mDAAAAANvn2YM=';\n","import { fabric } from 'fabric';\nimport moment from 'moment-timezone';\n\nimport appConfig, { brandingConfig } from '../config';\nimport { pulpDisplayBase64 } from '../assets/fonts/pulp-display-semi-bold-base_64';\n\nconst seagullSvg = `\n\n\n \n \n \n`;\n\nconst getDataUrl = (canvas, type) => {\n if (type === 'svg') {\n let svg = canvas.toSVG();\n const fontFace = `\n @font-face {\n font-family: ${brandingConfig.fonts.headingName};\n src: url('data:font/woff2;base64,${pulpDisplayBase64}') format('woff2'),\n url('data:font/woff;base64,${pulpDisplayBase64}') format('woff');\n }\n `;\n svg = svg.replace('', ``);\n svg = svg.replaceAll('fill: rgb(0,0,0);', 'fill: rgb(255,255,255);');\n svg = svg.replaceAll('stroke: rgb(0,0,0);', 'stroke: rgb(255,255,255);');\n svg = svg.replace('', `${seagullSvg}`);\n const xOffset = canvas.width > 700 ? canvas.width - 75 : canvas.width - 55;\n svg = svg.replace('', ``);\n return (`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`);\n }\n return (canvas.toDataURL({\n format: type,\n quality: 1,\n width: canvas.width,\n height: canvas.height + 80,\n left: 0,\n top: -80,\n enableRetinaScaling: false,\n }));\n};\n\nexport const getChartImage = async (\n type,\n apexChartRef,\n isWindroseChart,\n windroseSvg,\n platformName,\n parameterName,\n parameterUnit,\n) => {\n const apexChart = apexChartRef.current;\n const ctx = apexChart.chart;\n const svgString = isWindroseChart\n ? new XMLSerializer().serializeToString(windroseSvg)\n : await ctx.exports.getSvgString();\n const svgDoc = new DOMParser().parseFromString(svgString, 'image/svg+xml');\n const titleRefs = svgDoc.querySelectorAll('title');\n titleRefs.forEach((titleRef) => {\n titleRef.remove();\n });\n const svgString2 = new XMLSerializer().serializeToString(svgDoc);\n const { clientWidth, clientHeight } = isWindroseChart\n ? { clientWidth: 600, clientHeight: 245 }\n : apexChart.chartRef.current;\n const canvas = new fabric.Canvas('canvas-holder', {\n height: type === 'svg' ? clientHeight + 90 : clientHeight,\n width: clientWidth,\n backgroundColor: brandingConfig.colors.primaryDark4,\n // viewportTransform: isWindroseChart\n // ? [1, 0, 0, 0, 0, -175]\n // : [1, 1, 0, 0, 0, 0],\n viewportTransform: [1, 1, 0, 0, 0, 0],\n selection: false,\n renderOnAddRemove: true,\n });\n\n let canvasDataUrl = '';\n\n fabric.loadSVGFromString(svgString2, (objects) => {\n // const yMargin = isWindroseChart\n // ? 50\n // : type === 'svg' ? 0 : -100;\n const yMargin = type === 'svg' ? 0 : -80;\n const lineSpacing = 3;\n const obj = fabric.util.groupSVGElements(objects, {});\n if (type === 'svg') {\n obj.top = 80;\n }\n if (isWindroseChart) {\n obj.top = 125;\n obj.scaleToHeight(195);\n obj.left = (clientWidth / 2) - 100;\n }\n canvas.add(obj);\n const title = new fabric.Text(`${platformName}`, {\n // top: yMargin + (isWindroseChart ? 37 : 20),\n top: yMargin + 20,\n fill: 'white',\n textAlign: 'left',\n originX: 'left',\n left: 25,\n fontFamily: brandingConfig.fonts.headingName,\n // fontSize: canvas.width < 880 || isWindroseChart ? 20 : 28,\n fontSize: 20,\n });\n const title2 = new fabric.Text(`${parameterName} (${parameterUnit})`, {\n // top: title.height + lineSpacing + yMargin + (isWindroseChart ? 35 : 22),\n top: title.height + lineSpacing + yMargin + 22,\n fill: '#f67d28',\n textAlign: 'left',\n originX: 'left',\n left: 25,\n fontFamily: brandingConfig.fonts.headingName,\n // fontSize: canvas.width < 880 || isWindroseChart ? 20 : 28,\n fontSize: 20,\n });\n const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const subTitle = new fabric.Text(`Captured on: ${moment.tz(userTimeZone).format('MMMM DD, YYYY, h:mma z')}`, {\n top: title.height + lineSpacing + yMargin + 60,\n fill: brandingConfig.colors.greyLight,\n textAlign: 'left',\n right: canvas.width,\n originX: 'left',\n left: 25,\n fontFamily: 'Helvetica, Arial, sans-serif',\n // fontSize: canvas.width < 880 || isWindroseChart ? 13 : 15,\n fontSize: 13,\n });\n // const backgroundStraightEdge = new fabric.Rect({\n // top: isWindroseChart ? 150 : 0,\n // width: (canvas.width * 1.00),\n // height: 18,\n // fill: isWindroseChart ? 'rgba(0,0,0,0.6)' : '#010e18',\n // });\n const parameterUnitTextBackground = new fabric.Rect({\n width: 20,\n height: canvas.height,\n fill: brandingConfig.colors.primaryDark4,\n });\n const background = new fabric.Rect({\n // top: isWindroseChart\n // ? 50\n // : type === 'svg' ? 0 : -100,\n top: type === 'svg' ? 0 : -80,\n width: (canvas.width * 1.00),\n height: 118,\n fill: isWindroseChart ? 'rgba(1,1,1,0.75)' : '#010e18',\n rx: 20,\n ry: 20,\n });\n const logoElement = document.getElementById('logo');\n const logoInstance = new fabric.Image(logoElement, {\n top: type === 'svg' ? 20 : -60,\n left: canvas.width - 40,\n scaleX: 0.5,\n scaleY: 0.5,\n originX: 'center',\n });\n\n canvas.add(parameterUnitTextBackground);\n canvas.add(background);\n if (type === 'png') {\n canvas.add(logoInstance);\n }\n\n canvas.add(title);\n canvas.add(title2);\n canvas.add(subTitle);\n canvas.renderAll();\n canvasDataUrl = getDataUrl(canvas, type);\n });\n return canvasDataUrl;\n};\n\nexport const downloadChartImage = async (\n type,\n apexChartRef,\n isWindroseChart,\n windroseSvg,\n orgPlatformId,\n platformName,\n parameterName,\n parameterUnit,\n) => {\n const dataUrl = await getChartImage(type, apexChartRef, isWindroseChart, windroseSvg, platformName, parameterName, parameterUnit);\n\n const link = document.createElement('a');\n link.download = `chart-${orgPlatformId}-${parameterName}-${moment()\n .format('YYYY-MM-DD')}.${type}`;\n link.href = dataUrl;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const postSharingImage = async (svgDataUrl, pngDataUrl) => {\n const body = {};\n\n if (svgDataUrl) {\n body.svg = svgDataUrl;\n }\n\n if (pngDataUrl) {\n body.png = pngDataUrl;\n }\n\n try {\n const response = await fetch(`${appConfig.sharingBaseURL}v1/sharing/upload-file`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n throw new Error('Error posting sharing image');\n }\n\n const data = await response.json(); // Parse the JSON response\n\n return data.message;\n } catch (error) {\n console.error('Error posting sharing image', error);\n }\n};\n\nexport const base64UrlSafeEncode = (str) => (\n btoa(str).replace(/\\+/g, '-') // Convert '+' to '-'\n .replace(/\\//g, '_') // Convert '/' to '_'\n .replace(/=+$/, '') // Remove ending '='\n);\n","import React from 'react';\n\nimport {\n AirTempIcon, WaterTempIcon, WaveHeightIcon, WindSpeedIcon,\n} from '../icons';\n\nexport const mapStyle = 'mapbox://styles/glos-mapbox/ckqgzhuf109u418pjzwu72l7c';\n\nexport const parameters = [\n {\n name: 'Surface Water Temp',\n value: '48',\n unit: 'ºF',\n icon: ,\n },\n {\n name: 'Wave Height',\n value: '0.13',\n unit: 'ft',\n icon: ,\n },\n {\n name: 'Air Temp',\n value: '52.3',\n unit: 'ºF',\n icon: ,\n },\n {\n name: 'Wind Speed',\n value: '41',\n unit: 'kts',\n icon: ,\n },\n {\n name: 'Surface Water Temperature',\n value: '48',\n unit: 'ºF',\n icon: ,\n },\n {\n name: 'Wave Height',\n value: '0.13',\n unit: 'ft',\n icon: ,\n },\n];\n","import React, { useState, useRef } from 'react';\nimport { Button, Typography, Tag } from 'antd';\nimport PropTypes from 'prop-types';\nimport Map, { NavigationControl } from 'react-map-gl';\nimport { toPng } from 'html-to-image';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport moment from 'moment';\nimport { useMediaQuery } from 'react-responsive';\n\nimport WaterTempIcon from '../../icons/WaterTempIcon';\nimport { WindSpeedIcon, CurrentIcon } from '../../icons';\nimport { brandingConfig } from '../../../config';\nimport SurfaceWaterTemperature from './SurfaceWaterTemperature';\nimport SurfaceWaterTemperatureMagnitude from './map-overlay-drawer/SurfaceWaterTemperatureMagnitude';\n// need to rename default import because it conflicts with the other magnitude components\n// eslint-disable-next-line import/no-named-default\nimport { default as WaterMagnitudeLegend } from './map-overlay-drawer/WaterMagnitude';\nimport CurrentAnimation from './CurrentAnimation';\n// eslint-disable-next-line import/no-named-default\nimport { default as WindMagnitudeLegend } from './map-overlay-drawer/WindMagnitude';\nimport WaterMagnitude from './WaterMagnitude';\nimport WindMagnitude from './WindMagnitude';\nimport SocialShareSenderModal from '../../../pages/data-console/components/SocialShareSenderModal';\nimport SeagullLogo from '../../icons/seagullLogo.png';\nimport { postSharingImage, base64UrlSafeEncode } from '../../../utils/socialSharing';\nimport { mapStyle } from '../constant';\n\nconst { CheckableTag } = Tag;\n\nconst overlayTags = [\n {\n label: 'Water Temp',\n id: 'surface_water_temperature',\n color: '#158c96',\n icon: ,\n },\n {\n label: 'Water Current',\n id: 'water_current',\n color: '#1db6c4',\n icon: ,\n },\n {\n label: 'Wind',\n id: 'wind_current',\n color: '#7cdf09',\n icon: ,\n },\n];\n\nconst MapShareModalContent = (props) => {\n const {\n initialViewport, UTCPath, selectedLake, selectedOverlay, tagsList, onTagSelect, onCancel,\n } = props;\n const adjustedViewport = {\n ...initialViewport,\n zoom: initialViewport.zoom - 1,\n // adjust the zoom a little bit because it appears to be a little too zoomed in\n };\n const [viewport, setViewport] = useState({\n ...adjustedViewport,\n });\n const [checkedTag, setCheckedTag] = useState(overlayTags.find((t) => t.id === selectedOverlay) || overlayTags[0]);\n const [shareImageLink, setShareImageLink] = useState('');\n const [showInfo, setShowInfo] = useState(true);\n const [sharePhase, setSharePhase] = useState(1);\n const [shareImageUrl, setShareImageUrl] = useState('');\n\n const isMobile = useMediaQuery({ maxWidth: 576 });\n\n const mapRef = useRef();\n const mapRefLarge = useRef();\n\n const onViewportChange = (newViewport) => {\n setViewport(newViewport);\n if (showInfo\n && (newViewport.zoom !== adjustedViewport.zoom\n || newViewport.latitude !== adjustedViewport.latitude\n || newViewport.longitude !== adjustedViewport.longitude)) {\n setShowInfo(false);\n }\n };\n\n const handleTagChange = (tag, checked) => {\n if (tag.id === 'water_current') {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'water_current')[0];\n onTagSelect(tag, true, 'weather');\n }\n\n if (tag.id === 'wind_current') {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'wind_current')[0];\n onTagSelect(tag, true, 'weather');\n }\n\n if (tag.id === 'surface_water_temperature') {\n const tag = tagsList.weatherTags.filter((t) => t.key === 'surface_water_temperature')[0];\n onTagSelect(tag, true, 'weather');\n }\n\n if (checked) {\n setCheckedTag(tag);\n } else {\n setCheckedTag(null);\n }\n };\n\n const loadImage = (img, src) => new Promise((resolve) => {\n // eslint-disable-next-line no-param-reassign\n img.onload = () => resolve(img);\n // eslint-disable-next-line no-param-reassign\n img.src = src;\n });\n\n const onDownloadPng = () => {\n const link = document.createElement('a');\n link.download = 'seagull-map.png';\n link.href = shareImageUrl;\n link.click();\n };\n\n const drawRoundedRect = (context, x, y, width, height, radius) => {\n context.fillStyle = 'black'; // Background color\n context.beginPath();\n context.moveTo(x + radius, y);\n context.lineTo(x + width - radius, y);\n context.arcTo(x + width, y, x + width, y + radius, radius);\n context.lineTo(x + width, y + height - radius);\n context.arcTo(x + width, y + height, x + width - radius, y + height, radius);\n context.lineTo(x + radius, y + height);\n context.arcTo(x, y + height, x, y + height - radius, radius);\n context.lineTo(x, y + radius);\n context.arcTo(x, y, x + radius, y, radius);\n context.closePath();\n context.fill(); // Fill the rectangle\n };\n\n const onNextClick = () => {\n const legendNode = document.getElementById('sharing-map-overlay-legend');\n toPng(legendNode)\n .then(async (dataUrl) => {\n const map = mapRefLarge.current.getMap();\n const mapCanvas = map.getCanvas();\n const mapDataUrl = mapCanvas.toDataURL('image/png');\n\n const canvas = document.getElementById('share-map-canvas');\n const context = canvas.getContext('2d');\n\n canvas.width = 1184;\n canvas.height = 666;\n\n const mapImage = new Image();\n const legendImage = new Image();\n const logoImage = new Image();\n\n const imagePromises = [\n loadImage(mapImage, mapDataUrl),\n loadImage(legendImage, dataUrl),\n loadImage(logoImage, SeagullLogo),\n ];\n\n Promise.all(imagePromises)\n .then((images) => {\n const [mapImg, legendImg, logoImg] = images;\n\n // const legendOffset = isMobile ? 350 : 270;\n const legendOffset = isMobile ? 260 : 270;\n\n context.drawImage(mapImg, legendOffset, 0, canvas.width - legendOffset, canvas.height);\n context.drawImage(legendImg, 0, 0, legendOffset, canvas.height);\n\n const rectWidth = 360;\n const rectHeight = 60;\n\n const x = canvas.width - 20 - rectWidth; // X coordinate for label background\n const y = canvas.height - 20 - rectHeight; // Y coordinate for label background\n const radius = Math.min(rectWidth, rectHeight) / 2; // Radius for rounded corners\n\n drawRoundedRect(context, x, y, rectWidth, rectHeight, radius);\n\n const timestamp = moment().format('MMM D, YYYY h:mma');\n\n context.font = `24px ${brandingConfig.fonts.bodyName}`;\n context.fillStyle = 'white';\n context.textBaseline = 'middle';\n context.textAlign = 'right';\n context.fillText(timestamp, x + rectWidth / 2 + 100, y + rectHeight / 2);\n\n context.drawImage(logoImg, canvas.width - 72, canvas.height - 72, 44, 44);\n\n const combined = canvas.toDataURL();\n\n postSharingImage(null, combined).then((objectUrl) => {\n if (objectUrl) {\n // TODO: move this object creation to a shared function\n const browserUrl = new URL(window.location.href);\n const s3ObjectTokenId = objectUrl[0];\n const title = checkedTag.label;\n const shareObj = { t: title, i: s3ObjectTokenId };\n browserUrl.searchParams.delete('share');\n browserUrl.searchParams.append('share', base64UrlSafeEncode(JSON.stringify(shareObj)));\n setShareImageLink(browserUrl.href);\n }\n });\n\n setShareImageUrl(combined);\n setSharePhase(2);\n })\n .catch((error) => {\n console.error('Error loading images', error);\n });\n });\n };\n\n if (sharePhase === 2) {\n return (\n <>\n \n \n }\n onClick={() => setSharePhase(1)}\n style={{\n color: 'white',\n background: 'transparent',\n border: 'none',\n fontFamily: brandingConfig.fonts.bodyName,\n fontSize: 16,\n paddingLeft: 0,\n paddingTop: 15,\n }}\n >\n \n Back\n \n \n
\n \n );\n }\n\n return (\n <>\n \n \n Share with your fellow lake enthusiasts\n \n \n {overlayTags.map((tag) => (\n handleTagChange(tag, checked)}\n icon={}\n style={{\n color: 'white',\n border: `1px solid ${tag.color}`,\n fontSize: 14,\n borderRadius: 15,\n background: checkedTag.id === tag.id ? tag.color : 'transparent',\n marginBottom: 4,\n }}\n >\n \n {tag.icon}\n {tag.label}\n \n \n ))}\n
\n
\n \n \n {checkedTag.id === 'surface_water_temperature' && (\n \n )}\n {checkedTag.id === 'water_current' && (\n \n )}\n {checkedTag.id === 'wind_current' && (\n \n )}\n
\n \n \n \n Drag around and zoom in to the spot you want to capture on the map\n \n
\n \n {checkedTag.id === 'surface_water_temperature' && (\n \n )}\n {checkedTag.id === 'water_current' && (\n <>\n \n \n \n )}\n {checkedTag.id === 'wind_current' && (\n <>\n \n \n \n )}\n \n
\n\n \n \n {checkedTag.id === 'surface_water_temperature' && (\n \n )}\n {checkedTag.id === 'water_current' && (\n \n )}\n {checkedTag.id === 'wind_current' && (\n \n )}\n \n \n \n \n \n {checkedTag.id === 'surface_water_temperature' && (\n \n )}\n {checkedTag.id === 'water_current' && (\n <>\n \n \n \n )}\n {checkedTag.id === 'wind_current' && (\n <>\n \n \n \n )}\n \n \n\n \n \n \n Cancel\n \n \n Next\n \n \n \n );\n};\n\nMapShareModalContent.propTypes = {\n initialViewport: PropTypes.object.isRequired,\n UTCPath: PropTypes.string,\n selectedLake: PropTypes.string,\n selectedOverlay: PropTypes.string,\n tagsList: PropTypes.array,\n onTagSelect: PropTypes.func,\n onCancel: PropTypes.func.isRequired,\n};\n\nMapShareModalContent.defaultProps = {\n UTCPath: '',\n selectedLake: '',\n selectedOverlay: '',\n tagsList: [],\n onTagSelect: () => {},\n};\n\nexport default MapShareModalContent;\n","export default \"data:image/png;base64,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\"","import React, { useContext } from 'react';\nimport { Button } from 'antd';\nimport { useMediaQuery } from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport UserContext from '../../../contexts/UserContext';\n\nconst CommunitySignupModal = (props) => {\n const { setAuthDrawerOpen } = useContext(UserContext);\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const { handleCommunityModalSignup } = props;\n\n return (\n <>\n \n Unlock the Full Power of the Great Lakes!\n

\n

\n Take command of your Great Lakes experience by creating a free Seagull account! Go beyond basic data and personalize your adventure with:\n

\n
    \n
  • \n Pinned Locations:\n {' '}\n Fast access to your favorite spots on the Lakes\n
  • \n
  • \n Customizable Alerts:\n {' '}\n Stay informed about critical conditions that matter to you\n
  • \n
  • \n Saved Preferences:\n {' '}\n Set your unit preferences and preferred filters to find what you need quickly\n
  • \n
  • \n Share your findings with others:\n {' '}\n Bragging rights made easy—share discoveries with a tap\n
  • \n
\n\n
\n {\n handleCommunityModalSignup(false);\n // if (!cognitoUser) {\n setAuthDrawerOpen(true);\n // }\n }}\n >\n Create Account\n \n
\n\n {/* {!cognitoUser\n && ( */}\n
\n Already have an account?\n {\n handleCommunityModalSignup(false);\n // if (!cognitoUser) {\n setAuthDrawerOpen(true);\n // }\n }}\n >\n Log In\n \n
\n {/* )} */}\n \n );\n};\n\nCommunitySignupModal.propTypes = {\n handleCommunityModalSignup: PropTypes.func,\n};\n\nCommunitySignupModal.defaultProps = {\n handleCommunityModalSignup: () => {},\n};\n\nexport default CommunitySignupModal;\n","import React, {\n memo, useEffect, useState, useRef, useCallback, useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport ReactMapGL, {\n FlyToInterpolator,\n Popup,\n WebMercatorViewport,\n} from 'react-map-gl';\nimport { useLocation } from 'react-router';\nimport useSupercluster from 'use-supercluster';\nimport ReactGA from 'react-ga4';\nimport { useMediaQuery } from 'react-responsive';\nimport _ from 'lodash';\nimport formatcoords from 'formatcoords';\nimport appConfig, { brandingConfig } from '../../config/index';\nimport DatasetSummary from './components/DatasetSummary';\nimport OmicsDatasetSummary from './components/OmicsDatasetSummary';\nimport ESPDatasetSummary from './components/ESPDatasetSummary';\nimport DatasetDetail from './components/DatasetDetail';\nimport {\n getParameters,\n preferredWindMagnitudeUnit,\n preferredWaterMagnitudeUnit,\n preferredTemperatureUnit,\n platformGroupings,\n espStandardNames,\n} from '../../utils';\nimport TimeSlider from './components/TimeSlider';\nimport filePathFromDate from './components/FilePathFromDate';\nimport SurfaceWaterTemperature from './components/SurfaceWaterTemperature';\nimport CurrentAnimation from './components/CurrentAnimation';\nimport WaterMagnitude from './components/WaterMagnitude';\nimport WindMagnitude from './components/WindMagnitude';\nimport MapOverlayDrawer from './components/map-overlay-drawer';\nimport { ForecastEvent, MapFilterEvent, PlatformMarkerEvent } from '../../constant/google-analytics/constant';\nimport Cluster from './components/Cluster';\nimport Trajectory from './components/Trajectory';\nimport UserContext from '../../contexts/UserContext';\nimport CSBHexMap from './components/CSBHexMap';\nimport { featureFlag } from '../../constant';\nimport './styles.scss';\nimport SelectedFilters from './components/SelectedFilters';\nimport CustomModal from '../modal';\nimport MapShareModalContent from './components/MapShareModalContent';\nimport { mapStyle } from './constant';\nimport CommunitySignupModal from '../../pages/data-console/components/CommunitySignupModal';\n\nconst startingUTCPath = filePathFromDate(new Date());\n\nconst CustomMap = (props) => {\n const location = useLocation();\n const mapRef = useRef();\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const DEFAULT_VIEWPORT = location.pathname === '/landing' ? {\n latitude: isMobile ? brandingConfig.map.landingLatitudeMobile : brandingConfig.map.landingLatitude,\n longitude: isMobile ? brandingConfig.map.landingLongitudeMobile : brandingConfig.map.landingLongitude,\n zoom: brandingConfig.map.landingZoom,\n } : {\n latitude: brandingConfig.map.latitude,\n longitude: brandingConfig.map.longitude,\n zoom: brandingConfig.map.zoom,\n };\n\n const {\n children,\n datasets,\n filterVisible,\n selectedLake,\n selectedOverlay,\n selectedTags,\n datasetSummaries,\n registeredParameters,\n observationalPlatforms,\n organizations,\n obsData,\n parameterConfigurations,\n pushToHistory,\n onTagSelect,\n tagsList,\n filterFavorites,\n favoritePlatformData,\n datasetTrajectories,\n showPaths,\n omicsFilters,\n setOmicsFilters,\n obsDatasetsLatest,\n showShareModal,\n setShowShareModal,\n } = props;\n\n const [buoyData, setBuoyData] = useState([]);\n const [samplingLocationData, setSamplingLocationData] = useState([]);\n const [parameters, setParameters] = useState([]);\n const [platforms, setPlatforms] = useState([]);\n const [tooltipInfo, setTooltipInfo] = useState(null);\n const [selectedPlatform, setSelectedPlatform] = useState(null);\n const [showDetail, setShowDetail] = useState(false);\n const [contourInfo, setContourInfo] = useState(null);\n const [clickableContourLayers, setClickableContourLayers] = useState([]);\n const [activeUTCPath, setActiveUTCPath] = useState(startingUTCPath);\n const [urlCoords, setUrlCoords] = useState('');\n const [viewport, setViewport] = useState(DEFAULT_VIEWPORT);\n const [modalKey, setModalKey] = useState(0);\n\n const [hexRes, setHexRes] = useState('5');\n const [hexSurveyCount, setHexSurveyCount] = useState(0);\n const [hexSurveys, setHexSurveys] = useState([]);\n const [clickedHexLoc, setClickedHexLoc] = useState({});\n\n useEffect(() => {\n setModalKey((prevKey) => prevKey + 1);\n }, [showShareModal]);\n\n const { cognitoUser, unitPreferences } = useContext(UserContext);\n\n const updateUrlCoords = useCallback(\n _.debounce((coords) => {\n pushToHistory('coords', coords);\n setUrlCoords(coords);\n },\n 100),\n [],\n );\n\n const updateUrlPlatform = useCallback(\n _.debounce((platform) => {\n pushToHistory('platform', platform);\n },\n 100),\n [],\n );\n\n const getDms = (latitude, longitude) => {\n const decCoords = formatcoords(latitude, longitude).format(\n 'ddX', { latLonSeparator: ', ', decimalPlaces: 3 },\n );\n const dmsCoords = formatcoords(latitude, longitude).format(\n 'DDMMssX', { latLonSeparator: ', ', decimalPlaces: 0 },\n );\n\n return (\n \n {decCoords}\n
\n (\n {dmsCoords}\n )\n
\n );\n };\n\n const getBoundsForPoints = (points) => {\n // Calculate corner values of bounds\n if (points.length === 0) {\n return null;\n }\n const pointsLong = points.map((point) => point.coordinates[0]);\n const pointsLat = points.map((point) => point.coordinates[1]);\n const cornersLongLat = [\n [Math.min(...pointsLong), Math.min(...pointsLat)],\n [Math.max(...pointsLong), Math.max(...pointsLat)],\n ];\n // Use WebMercatorViewport to get center longitude/latitude and zoom\n const viewport = new WebMercatorViewport({\n width: 1000,\n height: 600,\n }).fitBounds(cornersLongLat, { padding: 50 }); // Can also use option: offset: [0, -100]\n const {\n longitude,\n latitude,\n } = viewport;\n return {\n longitude,\n latitude,\n zoom: DEFAULT_VIEWPORT.zoom,\n };\n };\n\n const handleSliderChange = useCallback(\n _.debounce((newUTCPath) => {\n setActiveUTCPath(newUTCPath);\n },\n 500),\n [],\n );\n\n useEffect(() => {\n const longitude = viewport.longitude.toFixed(7);\n const latitude = viewport.latitude.toFixed(7);\n const zoom = String(Math.round(viewport.zoom * 10) / 10);\n\n if (location.pathname.includes('map')) {\n updateUrlCoords(encodeURI(`${longitude},${latitude},${zoom}`));\n\n updateUrlPlatform(selectedPlatform?.properties?.org_platform_id);\n }\n\n const hexResTemp = Math.floor(viewport.zoom);\n\n if (hexResTemp <= 5) {\n setHexRes('5');\n } else if (hexResTemp === 6) {\n setHexRes('6');\n } else if (hexResTemp === 7 || hexResTemp === 8) {\n setHexRes('7');\n } else if (hexResTemp === 9 || hexResTemp === 10) {\n setHexRes('8');\n } else if (hexResTemp === 11 || hexResTemp === 12) {\n setHexRes('9');\n } else if (hexResTemp >= 13) {\n setHexRes('10');\n }\n }, [selectedPlatform, viewport]);\n\n useEffect(() => {\n switch (selectedOverlay) {\n case 'surface_water_temperature':\n ReactGA.event(ForecastEvent.WaterTempOn);\n break;\n case 'water_current':\n ReactGA.event(ForecastEvent.WaterCurrentOn);\n break;\n default:\n break;\n }\n }, [selectedOverlay]);\n\n useEffect(() => {\n if (location.pathname === '/landing' && !location.search.includes('coords')) {\n // setViewport({\n // latitude: 44.858323,\n // longitude: -89.131259,\n // zoom: 5.5,\n // });\n setViewport(DEFAULT_VIEWPORT);\n }\n if (location.pathname === '/map' && !location.search.includes('coords') && !selectedPlatform) {\n // setViewport({\n // latitude: 44.149,\n // longitude: -84.131259,\n // zoom: 5.5,\n // });\n setViewport(DEFAULT_VIEWPORT);\n }\n }, [location.pathname]);\n\n // Currently catering Omics with parameter filter\n const addSamplingLocationObservations = (samplingLocations) => {\n const locations = [...samplingLocations];\n\n const retLocations = [];\n\n Object.keys(obsDatasetsLatest).forEach((key) => {\n const index = samplingLocations.findIndex((p) => p.properties.obs_dataset_id === obsDatasetsLatest[key].obs_dataset_id);\n if (index >= 0) {\n if (obsDatasetsLatest[key].observations[0].value.toFixed(2) !== '0.00') {\n locations[index].properties.observations = obsDatasetsLatest[key].observations;\n retLocations.push(locations[index]);\n }\n }\n });\n return retLocations;\n };\n\n const resetSamplingLocationObservations = (samplingLocations) => samplingLocations.map((s) => ({\n ...s,\n properties: {\n ...s.properties,\n observations: undefined,\n },\n }));\n\n const setMapData = () => {\n let filteredPlatforms = observationalPlatforms;\n if (observationalPlatforms && observationalPlatforms.length > 0 && datasetSummaries?.length > 0 && obsData) {\n if (filterFavorites && favoritePlatformData) {\n const favoriteIds = favoritePlatformData.map((o) => o.obs_dataset_id);\n // filter out platforms that are not in favorites\n filteredPlatforms = observationalPlatforms.filter((o) => favoriteIds.includes(o.properties.obs_dataset_id));\n }\n\n // filter out sampling_locations\n const continuousMonitoringPlatforms = (\n platformGroupings.buoy.join(\n platformGroupings.tower,\n )\n );\n const buoys = filteredPlatforms.filter((o) => continuousMonitoringPlatforms.includes(o.properties?.platform_type));\n let samplingLocations = filteredPlatforms\n .filter((o) => platformGroupings.sampling_location.includes(o.properties?.platform_type));\n\n if (selectedOverlay !== 'omics' || omicsFilters.filter === 'All') {\n samplingLocations = resetSamplingLocationObservations(samplingLocations);\n } else if (obsDatasetsLatest && omicsFilters.filter) {\n samplingLocations = addSamplingLocationObservations(samplingLocations);\n }\n\n setBuoyData(buoys.map((platform) => {\n // get organization_id from obs-dataset-summaries to add to properties\n const organizationId = datasetSummaries.find((d) => d.obs_dataset_id === platform.properties.obs_dataset_id)?.organization_id;\n return ({\n ...platform,\n properties: {\n ...platform.properties,\n cluster: false,\n organization_id: organizationId,\n },\n });\n }));\n\n setSamplingLocationData(samplingLocations.map((platform) => ({\n ...platform,\n properties: {\n ...platform.properties,\n platform_id: datasetSummaries.find((d) => platform.properties.obs_dataset_id === d.obs_dataset_id).obs_dataset_platform_assignment.platform_id,\n cluster: false,\n },\n })));\n } else {\n setBuoyData([]);\n setSamplingLocationData([]);\n }\n\n if (location.pathname === '/landing') {\n // setViewport({\n // latitude: 44.149,\n // longitude: -89.131259,\n // zoom: 5.5,\n // });\n } else if (selectedLake === '' && location.pathname !== '/landing' && !selectedPlatform) {\n const urlSearchQuery = new URLSearchParams(location.search);\n if (urlSearchQuery.get('coords')) {\n const [lng, lat, zoom] = urlSearchQuery.get('coords')\n .split(',');\n setViewport({\n latitude: lat ? Number(lat) : 44.149,\n longitude: lng ? Number(lng) : -84.131259,\n zoom: zoom ? Number(zoom) : viewport.zoom,\n });\n }\n } else if (selectedLake === 'Ontario') {\n setViewport({\n latitude: 43.651070,\n longitude: -79.347015,\n zoom: 7,\n });\n } else if (selectedLake !== '' && !selectedPlatform) {\n if (filteredPlatforms && filteredPlatforms.length > 0) {\n const points = filteredPlatforms.map((item) => item.geometry).filter((mitem) => mitem !== undefined);\n const bounds = getBoundsForPoints(points);\n if (bounds) {\n setViewport(bounds);\n } else {\n setViewport(DEFAULT_VIEWPORT);\n }\n }\n }\n };\n\n useEffect(() => {\n if (selectedOverlay !== 'omics') {\n const updatedSamplingLocationData = resetSamplingLocationObservations(samplingLocationData);\n setSamplingLocationData(updatedSamplingLocationData);\n }\n }, [selectedOverlay]);\n\n useEffect(() => {\n setMapData();\n }, [observationalPlatforms, selectedLake, favoritePlatformData, filterFavorites, datasetSummaries]);\n\n useEffect(() => {\n if (selectedOverlay === 'omics' && obsDatasetsLatest && omicsFilters.filter) {\n if (omicsFilters.filter.toLowerCase() === 'all') {\n const updatedSamplingLocationData = resetSamplingLocationObservations(samplingLocationData);\n setSamplingLocationData(updatedSamplingLocationData);\n } else {\n const samplingLocations = [...samplingLocationData];\n\n setSamplingLocationData(addSamplingLocationObservations(samplingLocations));\n }\n }\n }, [obsDatasetsLatest]);\n\n // empty dependency array means it only runs on initial render\n useEffect(() => {\n const urlSearchQuery = new URLSearchParams(location.search);\n const queryPlatformId = urlSearchQuery.get('platform');\n if (urlSearchQuery.get('coords')) {\n const [lng, lat, zoom] = urlSearchQuery.get('coords')\n .split(',');\n if (Number(lng)\n .toFixed(7) !== viewport.longitude.toFixed(7)\n && Number(lat)\n .toFixed(7) !== viewport.latitude.toFixed(7)) {\n setViewport({\n latitude: Number(lat),\n longitude: Number(lng),\n zoom: zoom ? Number(zoom) : viewport.zoom,\n });\n }\n }\n\n if (observationalPlatforms\n && observationalPlatforms.length > 0\n && queryPlatformId\n && selectedPlatform?.properties?.org_platform_id !== queryPlatformId\n ) {\n setSelectedPlatform(observationalPlatforms.find((o) => o.properties?.org_platform_id === queryPlatformId));\n }\n }, [location.search]);\n\n const removeCanvas = (currentType) => {\n const lakes = ['leofs', 'lhofs', 'lmofs', 'lsofs', 'loofs'];\n for (let i = 0; i < lakes.length; i++) {\n const el = document.getElementById(`${lakes[i]}-${currentType}`);\n if (el) {\n el.remove();\n }\n }\n };\n\n useEffect(() => {\n // Lake selection and forecast toggling\n if (selectedOverlay === 'water_current') {\n removeCanvas('wind');\n } else if (selectedOverlay === 'surface_water_temperature') {\n removeCanvas('water');\n removeCanvas('wind');\n } else if (selectedOverlay === 'wind_current') {\n removeCanvas('water');\n } else if (selectedOverlay === 'omics') {\n removeCanvas('water');\n removeCanvas('wind');\n } else {\n removeCanvas('water');\n removeCanvas('wind');\n }\n if (selectedOverlay.length === 0 || selectedOverlay === 'omics') {\n setClickableContourLayers();\n } else if (selectedOverlay === 'bathy') {\n setClickableContourLayers([`CSBHexMapLayer${hexRes}`]);\n } else if (selectedLake.length > 0) {\n setClickableContourLayers(['primaryLake']);\n } else if (selectedLake.length === 0) {\n setClickableContourLayers(['primaryLake', 'lhofs', 'lmofs', 'loofs', 'lsofs']);\n }\n return () => {\n };\n }, [selectedTags, selectedLake, selectedOverlay, location.pathname, viewport]);\n\n const getNearestPlatform = (dataset, pos) => {\n let nearest;\n\n const obsAssetsData = observationalPlatforms.map((asset) => ({\n ...asset,\n distance: asset.geometry.coordinates[0] - dataset.geometry.coordinates[0],\n }));\n const obsAssetsDataSorted = obsAssetsData.slice()\n .sort((a, b) => a.distance - b.distance);\n\n // iterate over objects and calculate distance between them\n for (let i = 0; i < obsAssetsDataSorted.length; i += 1) {\n if (obsAssetsDataSorted[i].properties.org_platform_id === dataset.properties.org_platform_id) {\n if (pos === 'prev') {\n const prevKey = i === 0 ? obsAssetsDataSorted.length - 1 : i - 1;\n nearest = obsAssetsDataSorted[prevKey];\n } else if (pos === 'next') {\n const nextKey = i + 1;\n nearest = nextKey === obsAssetsDataSorted.length ? obsAssetsDataSorted[0] : obsAssetsDataSorted[nextKey];\n }\n }\n }\n return nearest;\n };\n\n const getParametersData = (dataset) => {\n if (dataset) {\n // navigate to marker\n const [longitude, latitude] = dataset.geometry.coordinates;\n\n setViewport({\n latitude,\n longitude,\n zoom: viewport.zoom,\n });\n\n const parameterData = getParameters({\n dataset: dataset.properties, datasetSummaries, obsData, parameterConfigurations, registeredParameters, unitPreferences,\n });\n\n setParameters(parameterData);\n\n // Get prev and next platforms\n const prevPlatform = getNearestPlatform(dataset, 'prev');\n const nextPlatform = getNearestPlatform(dataset, 'next');\n\n setPlatforms([prevPlatform, nextPlatform]);\n\n // set current dataset\n setSelectedPlatform(dataset);\n }\n };\n\n const handleAction = (dataset) => {\n setTooltipInfo(dataset);\n\n if (dataset) {\n const parameterData = getParameters({\n dataset: dataset.properties, datasetSummaries, obsData, parameterConfigurations, registeredParameters, unitPreferences,\n });\n setParameters(parameterData);\n }\n };\n\n const handleClick = (dataset) => {\n setSelectedPlatform(dataset);\n setShowDetail(true);\n setTooltipInfo(null);\n\n // Get prev and next platforms\n const prevPlatform = getNearestPlatform(dataset, 'prev');\n const nextPlatform = getNearestPlatform(dataset, 'next');\n\n setPlatforms([prevPlatform, nextPlatform]);\n if (dataset) {\n if (platformGroupings.sampling_location.includes(dataset.properties.platform_type)) {\n const targetObsDataset = obsDatasetsLatest.filter((odl) => odl.obs_dataset_id === dataset.properties.obs_dataset_id)[0];\n const sampleObsData = [{\n obs_dataset_id: targetObsDataset.obs_dataset_id,\n parameters: targetObsDataset.observations.map((os) => ({\n parameter_id: os.parameter_id,\n observations: [\n {\n qartod: 9,\n timestamp: new Date(os.obs_timestamp).getTime() / 1000,\n value: os.value,\n },\n ],\n })),\n }];\n const sampleParameterData = getParameters({\n dataset: dataset.properties, datasetSummaries, obsData: sampleObsData, parameterConfigurations, registeredParameters, unitPreferences,\n });\n setParameters(sampleParameterData);\n } else {\n const parameterData = getParameters({\n dataset: dataset.properties, datasetSummaries, obsData, parameterConfigurations, registeredParameters, unitPreferences,\n });\n setParameters(parameterData);\n }\n }\n ReactGA.event(PlatformMarkerEvent.MarkerClicked);\n ReactGA.event({\n ...PlatformMarkerEvent.SelectedPlatformId,\n label: `${dataset.properties.org_platform_id} Clicked on Map for Snapshot`,\n });\n };\n\n const getOrganizationName = React.useMemo(() => (dataset) => {\n const datasetRecord = datasets.filter((o) => o.org_platform_id === dataset.org_platform_id);\n if (datasetRecord?.length === 0) {\n return '';\n }\n const organization = organizations.filter((o) => o.organization_id === datasetRecord[0].organization_id);\n\n return organization[0].name;\n }, [datasets, organizations]);\n\n // get map bounds\n const bounds = mapRef.current\n ? mapRef.current\n .getMap()\n .getBounds()\n .toArray()\n .flat()\n : null;\n\n const isFavorite = (datasetId) => {\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n return false;\n }\n const foundFavorite = favoritePlatformData?.find((p) => p.obs_dataset_id === datasetId);\n if (foundFavorite) {\n return true;\n }\n }\n\n return false;\n };\n\n // get clusters\n const {\n clusters: continuousMonitoringClusters,\n supercluster: continuousMonitoringSuperCluster,\n } = useSupercluster({\n points: buoyData,\n bounds,\n zoom: viewport.zoom,\n options: {\n radius: 40,\n maxZoom: 20,\n map: (props) => ({ ...props }),\n reduce: (acc, p) => {\n // https://github.com/leighhalliday/use-supercluster#map--reduce-options\n // with reduce we only have access to the accumulator and current - not sure of a cleaner way to handle this and get the right result\n if (p.platform_event === 'decommissioned'\n && acc.platform_event !== 'recovered'\n && acc.platform_event !== 'temporarily_recovered'\n && acc.platform_event !== 'deactivated'\n && acc.platform_event !== 'decommissioned'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'decommissioned';\n }\n\n if (p.platform_event === 'recovered'\n && acc.platform_event !== 'temporarily_recovered'\n && acc.platform_event !== 'deactivated'\n && acc.platform_event !== 'decommissioned'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'recovered';\n }\n\n if (p.platform_event === 'temporarily_recovered'\n && acc.platform_event !== 'deactivated'\n && acc.platform_event !== 'decommissioned'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'temporarily_recovered';\n }\n\n if (p.platform_event === 'deactivated'\n && acc.platform_event !== 'decommissioned'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'deactivated';\n }\n\n if (p.platform_event === 'decommissioned'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'decommissioned';\n }\n\n if (p.platform_event === 'unavailable'\n && acc.platform_event !== 'activated') {\n acc.platform_event = 'unavailable';\n }\n if (p.platform_event === 'activated') {\n acc.platform_event = 'activated';\n }\n if (\n p.platform_event === 'activated'\n && p.last_updated_parameter_in_hours < appConfig.oldDataCutoffInHours\n ) {\n acc.platform_event = 'activated';\n acc.last_updated_parameter_in_hours = p.last_updated_parameter_in_hours;\n }\n\n // if any platform is a favorite, make the cluster show this\n if (isFavorite(p.obs_dataset_id)) {\n acc.is_favorite = true;\n }\n\n return acc;\n },\n },\n });\n\n // get sampling location clusters\n const {\n clusters: samplingLocationClusters,\n supercluster: samplingLocationSupercluster,\n } = useSupercluster({\n points: samplingLocationData,\n bounds,\n zoom: viewport.zoom,\n options: {\n radius: 40,\n maxZoom: 20,\n map: (props) => ({ ...props }),\n reduce: (acc) => {\n acc.platform_type = 'sampling_location';\n return acc;\n },\n },\n });\n\n const handleClusterClick = (cluster, latitude, longitude) => {\n const expansionZoom = Math.min(\n continuousMonitoringSuperCluster.getClusterExpansionZoom(cluster.id),\n 20,\n );\n\n setViewport({\n ...viewport,\n latitude,\n longitude,\n zoom: expansionZoom,\n transitionInterpolator: new FlyToInterpolator({\n speed: 2,\n }),\n transitionDuration: 'auto',\n });\n ReactGA.event(PlatformMarkerEvent.ClusterClicked);\n };\n\n const handleSamplingLocationClusterClick = (cluster, latitude, longitude) => {\n const expansionZoom = Math.min(\n samplingLocationSupercluster.getClusterExpansionZoom(cluster.id),\n 20,\n );\n\n setViewport({\n ...viewport,\n latitude,\n longitude,\n zoom: expansionZoom,\n transitionInterpolator: new FlyToInterpolator({\n speed: 2,\n }),\n transitionDuration: 'auto',\n });\n ReactGA.event(PlatformMarkerEvent.ClusterClicked);\n };\n\n const samplingLocationClustersContent = React.useMemo(() => (\n \n ), [samplingLocationClusters, samplingLocationData, selectedPlatform, showDetail]);\n\n const continuousMonitoringClustersContent = React.useMemo(() => (\n \n ), [continuousMonitoringClusters, buoyData, selectedPlatform, showDetail]);\n\n if (selectedPlatform && !showDetail) {\n handleClick(selectedPlatform);\n }\n\n const handleShowDetail = (status) => {\n setShowDetail(status);\n setSelectedPlatform(null);\n };\n\n const onContourClick = useCallback((event) => {\n if (clickableContourLayers) {\n const {\n features,\n } = event;\n if (selectedOverlay === 'bathy') {\n const tempHexSurveys = [];\n let tempHexSurveyCount = 0;\n const clickedFeatures = features && features;\n for (let i = 0; i < clickedFeatures.length; i++) {\n const thisFeature = clickedFeatures[i];\n if (thisFeature.properties.survey) {\n tempHexSurveyCount++;\n if (!tempHexSurveys.find((srv) => srv === thisFeature.properties.survey)) {\n tempHexSurveys.push(thisFeature.properties.survey);\n }\n }\n }\n setClickedHexLoc(\n {\n clickLon: event.lngLat[0],\n clickLat: event.lngLat[1],\n },\n );\n setHexSurveyCount(tempHexSurveyCount);\n setHexSurveys(tempHexSurveys);\n } else {\n setHexSurveyCount(0);\n setHexSurveys([]);\n const clickedFeature = features && features[0];\n setContourInfo(\n clickedFeature\n ? {\n feature: clickedFeature,\n clickLon: event.lngLat[0],\n clickLat: event.lngLat[1],\n }\n : null,\n );\n }\n }\n }, [selectedOverlay]);\n\n useEffect(() => {\n if (contourInfo) {\n setContourInfo(null);\n }\n if (hexSurveyCount > 0) {\n setHexSurveyCount(0);\n setHexSurveys([]);\n }\n }, [viewport]);\n\n // Listen for changes in storage\n useEffect(() => {\n function nullifyContourInfo() {\n setContourInfo(null);\n }\n\n window.addEventListener('storage', nullifyContourInfo);\n\n return () => {\n window.removeEventListener('storage', nullifyContourInfo);\n };\n }, []);\n\n useEffect(() => {\n if (location.search) {\n ReactGA.event({\n ...MapFilterEvent.MapFilterParams,\n label: location.search,\n });\n }\n }, [location.search]);\n\n // Removes data older than 24 hours from parameters in tooltip\n const filteredParameters = parameters.filter((parameter) => {\n const currentDate = new Date();\n const parameterTimestamp = new Date(parameter.date);\n const timeDifference = currentDate - parameterTimestamp;\n const millisecondsIn24Hours = 86400000;\n\n if (timeDifference > millisecondsIn24Hours) {\n return false;\n }\n return true;\n });\n\n const espParameters = parameters.filter((parameter) => espStandardNames.indexOf(parameter.standard_name) !== -1);\n\n const [showSignupModal, setShowSignupModal] = useState(false);\n const hasUserSeenShareModal = sessionStorage.getItem('hasUserSeenShareModal');\n\n const closeShareModal = () => {\n setShowShareModal(false);\n\n if (!hasUserSeenShareModal && !cognitoUser) {\n sessionStorage.setItem('hasUserSeenShareModal', true);\n setShowSignupModal(true);\n }\n };\n\n return (\n <>\n \n \n \n setShowSignupModal(false)}\n footer={null}\n width=\"700px\"\n styles={{ backgroundColor: 'black', borderRadius: 25 }}\n className=\"socialShare\"\n isSocialShare\n >\n \n \n {!isMobile && (\n \n )}\n {!filterVisible && showDetail && parameters && platforms && selectedPlatform && (\n \n )}\n setViewport(viewport)}\n interactiveLayerIds={clickableContourLayers}\n onClick={onContourClick}\n >\n {(selectedTags?.some((t) => t.key === 'moving') && datasetTrajectories?.features?.length > 1) && (\n datasetTrajectories.features.map((trajectory, index) => (\n \n ))\n )}\n\n {continuousMonitoringClustersContent}\n {/* {featureFlag.omics && (\n \n )} */}\n\n {featureFlag.omics && samplingLocationClustersContent}\n\n {location.pathname !== '/landing' && tooltipInfo && tooltipInfo?.properties.platform_type === 'sampling_location' && !isMobile && (\n \n \n \n )}\n {location.pathname !== '/landing' && tooltipInfo && tooltipInfo?.properties?.platform?.external_id_type === 'esp_site' && !isMobile && (\n \n \n \n )}\n {\n location.pathname !== '/landing'\n && tooltipInfo\n && tooltipInfo?.properties.platform_type !== 'sampling_location'\n && tooltipInfo?.properties?.platform?.external_id_type !== 'esp_site'\n && !isMobile\n && (\n \n \n \n )\n }\n {selectedOverlay === 'surface_water_temperature'\n && (\n \n )}\n {selectedOverlay === 'surface_water_temperature' && contourInfo && !showDetail\n && (\n \n
\n {preferredTemperatureUnit(contourInfo.feature.properties.level)}\n
\n
\n {getDms(contourInfo.clickLat, contourInfo.clickLon)}\n
\n \n )}\n {hexSurveyCount > 0\n && (\n \n
\n \n Total Surveys:\n {' '}\n {hexSurveyCount.toString()}\n \n
\n \n Unique Surveys:\n \n
\n
    \n {hexSurveys.map((hs) => (\n
  • {hs}
  • \n ))}\n
\n
\n \n )}\n
\n\n {selectedOverlay === 'water_current'\n && (\n \n )}\n {selectedOverlay === 'water_current'\n && (\n \n )}\n {selectedOverlay === 'water_current' && contourInfo && !showDetail\n && (\n \n
\n {preferredWaterMagnitudeUnit(contourInfo.feature.properties.level)}\n
\n
\n {getDms(contourInfo.clickLat, contourInfo.clickLon)}\n
\n \n )}\n\n {selectedOverlay === 'wind_current'\n && (\n \n )}\n {selectedOverlay === 'wind_current' && contourInfo && !showDetail\n && (\n \n
\n {preferredWindMagnitudeUnit(contourInfo.feature.properties.level)}\n
\n
\n {getDms(contourInfo.clickLat, contourInfo.clickLon)}\n
\n \n )}\n {selectedOverlay === 'bathy'\n && (\n \n )}\n {children}\n \n {selectedOverlay === 'wind_current'\n && (\n \n )}\n\n {['surface_water_temperature', 'water_current', 'wind_current'].find((overlay) => overlay === selectedOverlay)\n && location.pathname !== '/landing' && (\n \n )}\n\n {['omics'].find((overlay) => overlay === selectedOverlay.toLowerCase())\n && omicsFilters.filter\n && omicsFilters.startDate\n && omicsFilters.endDate\n && (\n \n )}\n\n \n );\n};\n\nCustomMap.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.element.isRequired,\n ]),\n filters: PropTypes.object,\n selectedLake: PropTypes.string,\n selectedOverlay: PropTypes.string,\n platformEvents: PropTypes.array,\n selectedTags: PropTypes.array,\n assetTags: PropTypes.array,\n datasets: PropTypes.array,\n datasetSummaries: PropTypes.array,\n registeredParameters: PropTypes.array,\n observationalPlatforms: PropTypes.array,\n organizations: PropTypes.array,\n obsData: PropTypes.array,\n parameterConfigurations: PropTypes.array,\n filterVisible: PropTypes.bool,\n onMapClick: PropTypes.func,\n pushToHistory: PropTypes.func,\n onTagSelect: PropTypes.func,\n tagsList: PropTypes.object,\n filterFavorites: PropTypes.bool,\n favoritePlatformData: PropTypes.array,\n datasetTrajectories: PropTypes.object,\n showPaths: PropTypes.bool,\n omicsFilters: PropTypes.object,\n setOmicsFilters: PropTypes.func,\n obsDatasetsLatest: PropTypes.array,\n omicsParameterIds: PropTypes.array,\n parametersData: PropTypes.array,\n showShareModal: PropTypes.bool,\n setShowShareModal: PropTypes.func,\n};\n\nCustomMap.defaultProps = {\n children: null,\n filters: {},\n selectedLake: '',\n selectedOverlay: '',\n platformEvents: [],\n selectedTags: [],\n assetTags: [],\n datasets: [],\n datasetSummaries: [],\n registeredParameters: [],\n observationalPlatforms: [],\n organizations: [],\n obsData: [],\n parameterConfigurations: [],\n filterVisible: false,\n onMapClick: () => {\n },\n pushToHistory: () => {\n },\n onTagSelect: () => {\n },\n tagsList: {},\n filterFavorites: false,\n favoritePlatformData: [],\n datasetTrajectories: {},\n showPaths: true,\n omicsFilters: {},\n setOmicsFilters: () => {},\n obsDatasetsLatest: [],\n omicsParameterIds: [],\n parametersData: [],\n showShareModal: false,\n setShowShareModal: () => {},\n};\n\nexport default memo(CustomMap);\n","import React, { memo, useRef, useState } from 'react';\nimport {\n Drawer, Input, Col, Row, Affix, Button,\n} from 'antd';\nimport PropTypes from 'prop-types';\nimport { SearchOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { Link, useHistory } from 'react-router-dom';\nimport { useMediaQuery } from 'react-responsive';\nimport SearchSuffix from './components/SearchSuffix';\nimport { CloseIcon, SeagullIcon } from '../../components/icons';\nimport { featureFlag } from '../../constant';\n\nimport './styles.scss';\n// import { brandingConfig } from '../../config';\n\nconst Landing = (props) => {\n const { landingChange } = props;\n const history = useHistory();\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const isLarge = useMediaQuery({ maxWidth: 992 });\n\n const [visible, setVisible] = useState(true);\n const [searchQuery, setSearchQuery] = useState('');\n const searchBtn = useRef(null);\n\n const handleLandingChange = () => {\n landingChange();\n };\n\n const onChange = (e) => setSearchQuery(e.target.value);\n\n const onSearch = () => {\n searchBtn.current?.click();\n };\n\n const onEnter = (e) => {\n if (e.key === 'Enter') {\n searchBtn.current?.click();\n }\n };\n\n const onClose = () => {\n setVisible(false);\n history.push('/map');\n };\n\n const seagullIconStyle = {\n float: 'left',\n 'padding-right': 10,\n };\n\n const seagullOmicsTextStyle = {\n 'vertical-align': 'middle',\n 'text-align': 'left',\n };\n\n const seagullOmicsPaddedText = {\n 'padding-top': 33,\n };\n\n return (\n
\n \n \n \n \n ) : ''}\n mask={false}\n visible={visible}\n width=\"50%\"\n top=\"58px\"\n className={classnames('landing-drawer')}\n >\n \n {isMobile\n && (\n
\n \n
\n )}\n \n
\n \n \n }\n onChange={onChange}\n onKeyPress={onEnter}\n value={searchQuery}\n suffix={(\n \n \n \n )}\n />\n \n {featureFlag.omics && (\n \n

\n

{!isLarge && ()}
\n { !isMobile\n ? (\n

\n Check out our brand new\n  \n 'omics data\n  \n about harmful algal blooms in the Great Lakes.\n

\n )\n : (\n

\n Check out our brand new\n  \n 'omics data\n  \n about harmful algal blooms in the Great Lakes.\n

\n )}\n

\n
\n )}\n {/* \n
\n {!isLarge && ()}\n
\n \n \n We'd like to hear from you!\n \n \n Tell us how you interact with Seagull and stand a chance to win a Yeti cooler! Your feedback is incredibly valuable to us.\n {' '}\n \n Start Survey\n \n \n
\n
*/}\n
\n \n \n \n {isMobile && (\n \n \n \n )}\n \n );\n};\n\nLanding.propTypes = {\n landingChange: PropTypes.func,\n};\n\nLanding.defaultProps = {\n landingChange: () => { },\n};\n\nexport default memo(Landing);\n","import Dexie from 'dexie';\n\nexport const db = new Dexie('glos-seagull');\n\ndb.version(1).stores({\n parameters: 'parameter_id',\n});\n\ndb.version(2).stores({\n parameters: 'parameter_id',\n parameterConfigurations: 'standard_name',\n organizations: 'organization_id',\n obsDatasetSummaries: 'obs_dataset_id',\n});\n\ndb.version(3).stores({\n parameters: 'parameter_id',\n parameterConfigurations: 'standard_name',\n organizations: 'organization_id',\n obsDatasetSummaries: 'obs_dataset_id',\n observationalPlatforms: 'obs_dataset_id',\n});\n\ndb.version(5).stores({\n parameters: 'parameter_id',\n parameterConfigurations: 'standard_name',\n organizations: 'organization_id',\n obsDatasetSummaries: 'obs_dataset_id',\n observationalPlatforms: 'obs_dataset_id',\n observationalV2Data: '[parameter_id+obs_dataset_id+timestamp], [parameter_id+obs_dataset_id], timestamp',\n});\n\ndb.version(6).stores({\n parameters: 'parameter_id',\n parameterConfigurations: 'standard_name',\n organizations: 'organization_id',\n obsDatasetSummaries: 'obs_dataset_id',\n observationalPlatforms: 'obs_dataset_id',\n observationalV2Data: '[parameter_id+obs_dataset_id+timestamp], [parameter_id+obs_dataset_id], [obs_dataset_id+timestamp], timestamp',\n});\n\ndb.version(7).stores({\n parameters: 'parameter_id',\n parameterConfigurations: 'standard_name',\n organizations: 'organization_id',\n obsDatasetSummaries: 'obs_dataset_id',\n observationalPlatforms: 'obs_dataset_id',\n observationalV2Data: '[parameter_id+obs_dataset_id+timestamp], [parameter_id+obs_dataset_id], [obs_dataset_id+timestamp], [obs_dataset_id+timestamp+collection_status], timestamp',\n});\n","import React, {\n createContext, useContext, useEffect, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport lodash from 'lodash';\nimport moment from 'moment-timezone';\nimport { useQuery } from 'react-query';\nimport { useLiveQuery } from 'dexie-react-hooks';\nimport {\n formatParameterObservation,\n getCurrentDirectionValue,\n getCurrentSpeedValue,\n getPreferredMeasurementUnit,\n} from '../../utils';\nimport { brandingConfig } from '../../config';\nimport { db } from './db';\nimport MapQueryTypes from '../../services/query-types/map';\nimport {\n getDatasetSummaries,\n getObsData,\n getObsDatasetsGeojson,\n getObsDataV2,\n getObsLatestData,\n getRegisteredParameters,\n parameterConfigurations,\n} from '../../services/dataset.service';\nimport { getOrganizations } from '../../services/organization.service';\n\nconst colorPalette = brandingConfig.map.parameters;\n\nconst DataContext = createContext(null);\n\nconst groupByDepth = (parameter, parameters) => {\n const relatedParameters = parameters.filter((o) => (\n o.name_vocabulary === parameter.name_vocabulary && o.standard_name === parameter.standard_name\n ));\n\n return lodash.groupBy(relatedParameters, (p) => p.depth);\n};\n// TODO: latestDate should be optional, or removed entirely.\nconst selectedPeriodToDateRange = (selectedPeriod, customFilterValue, latestDate) => {\n // Add value if timestamp doesn't exist. check also if its within date range\n let startDate;\n let endDate;\n\n switch (selectedPeriod) {\n case '24 hours':\n startDate = moment(latestDate).subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss');\n endDate = moment(latestDate).add(1, 'minutes').format('YYYY-MM-DD HH:mm:ss');\n break;\n case '7 days':\n startDate = moment(latestDate).subtract(7, 'days').format('YYYY-MM-DD HH:mm:ss');\n endDate = moment(latestDate).format('YYYY-MM-DD HH:mm:ss');\n break;\n case '30 days':\n startDate = moment(latestDate).subtract(30, 'days').format('YYYY-MM-DD HH:mm:ss');\n endDate = moment(latestDate).format('YYYY-MM-DD HH:mm:ss');\n break;\n default:\n startDate = customFilterValue[0].format('YYYY-MM-DD HH:mm:ss');\n endDate = customFilterValue[1].format('YYYY-MM-DD HH:mm:ss');\n }\n return { startDate, endDate };\n};\n\nconst parameterToParameterDepthsData = (\n parameter,\n parameters,\n observationalV2DataResult,\n selectedPeriod,\n latestDate,\n customFilterValue,\n parameterConfigurationsResult,\n unitPreferences,\n) => {\n if (\n parameters.length === 0\n || parameter === undefined\n || !observationalV2DataResult\n || observationalV2DataResult.length < 1\n ) {\n return [];\n }\n const relatedParametersGrouped = groupByDepth(parameter, parameters);\n const parameterDepthsData = [];\n Object.keys(relatedParametersGrouped).forEach((depth, index) => {\n const data = [];\n relatedParametersGrouped[depth].forEach((o) => {\n const { timestamps, parameter_obs: parameterObs } = observationalV2DataResult;\n const { values } = parameterObs;\n if ((values[o.parameter_id] || (values[o.eastward_sea_water_velocity_id] && values[o.northward_sea_water_velocity_id])) && timestamps.length > 0) {\n let parameterObsData;\n let parameterSpeedData = [];\n if (o?.derived_name === 'current_direction') {\n parameterObsData = values?.[o.parameter_id].map((element, index) => getCurrentDirectionValue(values?.[o.eastward_sea_water_velocity_id]?.[index], values?.[o.northward_sea_water_velocity_id]?.[index]));\n parameterSpeedData = values?.[o.parameter_id].map((element, index) => getCurrentSpeedValue(values?.[o.eastward_sea_water_velocity_id]?.[index], values?.[o.northward_sea_water_velocity_id]?.[index]));\n } else if (o?.derived_name === 'current_speed') {\n parameterObsData = values?.[o.parameter_id].map((element, index) => getCurrentSpeedValue(values?.[o.eastward_sea_water_velocity_id][index], values?.[o.northward_sea_water_velocity_id][index]));\n } else if (o?.standard_name === 'wind_from_direction') {\n const getParamIDs = Object.keys(values);\n if (getParamIDs.length === 1) {\n parameterObsData = values[o.parameter_id];\n } else if (getParamIDs.length > 1) {\n // Have wind direction in o.parameter_id\n // Need wind speed (assume these are ALWAYS paired)\n const speedParam = parameters.filter((pm) => pm.standard_name === 'wind_speed')[0];\n parameterObsData = values[o.parameter_id];\n parameterSpeedData = values[speedParam.parameter_id];\n }\n } else {\n parameterObsData = values[o.parameter_id];\n }\n\n parameterObsData.forEach((obs, index) => {\n const timestamp = timestamps[index] * 1000;\n const { startDate, endDate } = selectedPeriodToDateRange(selectedPeriod, customFilterValue, latestDate);\n\n if (!data.some((item) => item.x === timestamp) && !o.parent_parameter_id\n && moment(timestamp).isBetween(startDate, endDate, 'seconds', '[]')\n ) {\n const value = formatParameterObservation(\n parameterConfigurationsResult, o, { value: obs }, unitPreferences,\n );\n\n if (value) {\n let dataRow = {\n x: timestamp,\n y: value,\n children: o.children,\n };\n\n if (o?.derived_name === 'current_direction' || o?.standard_name === 'wind_from_direction') {\n dataRow.speed = parameterSpeedData[index];\n }\n\n try {\n const [rotateValue, unitValue] = value.split(' ');\n\n if (unitValue === '°') {\n const imagePath = `data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill='%23${brandingConfig.colors.accent1.replace('#', '')}' style=\"transform: rotate(${rotateValue}deg);\" fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M11 2.206l-6.235 7.528-.765-.645 7.521-9 7.479 9-.764.646-6.236-7.53v21.884h-1v-21.883z'/%3E%3C/svg%3E`;\n\n dataRow = {\n ...dataRow,\n marker: {\n size: 0,\n },\n image: {\n path: imagePath,\n width: 20,\n height: 20,\n offsetX: 0,\n offsetY: 5,\n },\n };\n }\n\n data.push(dataRow);\n } catch {\n //\n console.log('*** caught error ***');\n }\n }\n }\n });\n }\n });\n\n const color = colorPalette[index] ?? colorPalette[0];\n const name = Number(depth) === 0 ? 'Surface' : `${getPreferredMeasurementUnit(depth)}`;\n const canonicalDepthString = depth;\n\n if (data.length > 0) {\n parameterDepthsData.push({\n name,\n canonicalDepthString,\n color,\n data,\n });\n }\n });\n return parameterDepthsData;\n};\n\nconst UtilityFunctions = {\n groupByDepth,\n parameterToParameterDepthsData,\n};\n\n/**\n *\n * @param {int} platformId\n * @param {object} filterValue\n * @param {array} parameterIds\n * @param {array} datasetIds\n * @param {boolean} isPlatformQuery\n */\nconst useObservationData = (\n platformId,\n filterValue,\n parameterIds,\n datasetIds,\n isPlatformQuery = false,\n) => {\n const collectionStatus = filterValue.collectionStatus || 'active';\n const [obsV2Result, setObsV2Result] = useState([]);\n const {\n data: obsDatasetSummariesResult,\n refetch: obsDatasetSummariesRefetch,\n } = useQuery(\n MapQueryTypes.REST_OBS_DATASET_SUMMARIES_DATASET_DETAIL,\n () => getDatasetSummaries({\n platformId,\n }),\n {\n refetchOnWindowFocus: false,\n },\n );\n\n const {\n data: observationalV2DataResult,\n isLoading: observationalV2DataIsLoading,\n isFetching: observationalV2DataIsFetching,\n } = useQuery(\n [MapQueryTypes.REST_OBSERVATIONAL_V2_DATA, filterValue],\n () => getObsDataV2(filterValue), {\n refetchOnWindowFocus: false,\n enabled: Boolean(filterValue.startDate && filterValue.obsDatasetId && !isPlatformQuery),\n },\n );\n\n const {\n data: observationalDataResult,\n isFetching: observationalDataIsFetching,\n isLoading: observationalDataIsLoading,\n refetch: observationalDataRefetch,\n } = useQuery(\n [MapQueryTypes.REST_OBSERVATIONAL_DATA_PARAMETER_DETAIL, filterValue, datasetIds],\n () => getObsData({ ...filterValue, obsDatasetId: datasetIds }), {\n refetchOnWindowFocus: false,\n enabled: isPlatformQuery,\n },\n );\n\n /*\n { parameter_obs: {\n values: { parameterId: [value1, value2, value3]}},\n qartod: { parameterId: [value1, value2, value3]}},\n },\n timestamps: [timestamp1, timestamp2, timestamp3],\n }\n */\n\n let parameterIdsArray = [];\n\n if (typeof parameterIds === 'string') {\n parameterIdsArray = parameterIds.split(',').map((id) => parseInt(id, 10));\n }\n\n useEffect(() => {\n if (observationalV2DataResult?.timestamps?.length > 0 && filterValue?.parameterIds) {\n const {\n obsDatasetId,\n } = filterValue;\n const { timestamps, parameter_obs: parameterObs } = observationalV2DataResult;\n parameterIdsArray.forEach((parameterId, index) => {\n const parameterIdInt = parseInt(parameterId, 10);\n const datasetIdInt = obsDatasetId.length > 1 ? parseInt(obsDatasetId[index], 10) : parseInt(obsDatasetId[0], 10);\n const values = parameterObs.values[parameterIdInt];\n const qartodValues = parameterObs.qartod[parameterIdInt];\n if (values?.length > 0) {\n const data = timestamps.map((timestamp, index) => ({\n parameter_id: parameterIdInt,\n obs_dataset_id: datasetIdInt,\n timestamp,\n value: values[index],\n qartod: qartodValues[index],\n collection_status: collectionStatus,\n }));\n db.observationalV2Data.bulkPut(data);\n }\n });\n }\n }, [observationalV2DataResult, filterValue]);\n const datasetId = parseInt(datasetIds[0], 10) || 0;\n const startDate = (filterValue.startDate && filterValue.startDate !== 'Invalid date') ? Date.parse(filterValue.startDate) / 1000 : 0;\n const endDate = (filterValue.endDate && filterValue.endDate !== 'Invalid date') ? Date.parse(filterValue.endDate) / 1000 : 0;\n\n const dbObsV2Data = useLiveQuery(() => db.observationalV2Data\n .where(['obs_dataset_id', 'timestamp', 'collection_status'])\n .between([datasetId, startDate, collectionStatus], [datasetId, endDate, collectionStatus])\n .filter(((item) => item.collection_status === collectionStatus))\n .toArray(),\n [parameterIdsArray[0], datasetIds[0], filterValue, collectionStatus]);\n\n // const dbObsV2Data = useLiveQuery(async () => {\n // const data = await db.observationalV2Data\n // .where(['obs_dataset_id', 'timestamp'])\n // .between([datasetId, startDate], [datasetId, endDate])\n // .filter((item) => item.collection_status === collectionStatus)\n // .toArray();\n\n // // Step 2: Filter by `collection_status` manually\n // return data.filter((item) => item.collection_status === collectionStatus);\n // }, [datasetId, startDate, endDate, collectionStatus]);\n\n useEffect(() => {\n if (dbObsV2Data?.length > 0) {\n const parameters = [...new Set(dbObsV2Data.map((item) => item.parameter_id))];\n const v2Timestamps = dbObsV2Data.filter((item) => item.parameter_id === parameters[0]).map((item) => item.timestamp);\n const parameterObsValues = parameters.map((parameterId) => {\n const records = dbObsV2Data.filter((item) => item.parameter_id === parameterId).map((item) => item.value);\n return { [parameterId]: records };\n });\n const parameterObsValuesObject = parameterObsValues.reduce((obj, item) => Object.assign(obj, item), {});\n const qartodValues = parameters.map((parameterId) => {\n const records = dbObsV2Data.filter((item) => item.parameter_id === parameterId).map((item) => item.qartod);\n return { [parameterId]: records };\n });\n const qartodValuesObject = qartodValues.reduce((obj, item) => Object.assign(obj, item), {});\n const result = {\n timestamps: v2Timestamps,\n parameter_obs: {\n values: parameterObsValuesObject,\n qartod: qartodValuesObject,\n },\n };\n setObsV2Result(result);\n } else {\n setObsV2Result([]);\n }\n }, [dbObsV2Data]);\n\n return ({\n obsDatasetSummariesResult,\n obsDatasetSummariesRefetch,\n observationalV2DataResult: obsV2Result,\n observationalV2DataIsLoading: observationalV2DataIsLoading && obsV2Result.length === 0,\n observationalV2DataIsFetching,\n observationalDataResult,\n observationalDataIsFetching,\n observationalDataIsLoading,\n observationalDataRefetch,\n });\n};\n\nconst useGlobalData = (collectionStatus = undefined) => {\n const {\n data: observationalPlatformsResult,\n } = useQuery(MapQueryTypes.REST_OBSERVATIONAL_PLATFORMS, getObsDatasetsGeojson, { refetchOnWindowFocus: false });\n\n const {\n data: observationalLatestDataResult,\n isLoading: observationalLatestDataIsLoading,\n } = useQuery(\n [MapQueryTypes.REST_OBSERVATIONAL_LATEST_DATA, collectionStatus],\n () => getObsLatestData(collectionStatus),\n { refetchOnWindowFocus: false },\n );\n\n const {\n data: parameterConfigurationsResult,\n } = useQuery(MapQueryTypes.REST_PARAMETER_CONFIGURATIONS, parameterConfigurations, { refetchOnWindowFocus: false });\n\n const {\n data: registeredParametersResult,\n } = useQuery(MapQueryTypes.REST_PARAMETERS_REGISTERED_PARAMETERDETAIL, getRegisteredParameters, { refetchOnWindowFocus: false });\n\n const {\n data: organizationsResult,\n } = useQuery(MapQueryTypes.REST_ORGANIZATIONS, getOrganizations, { refetchOnWindowFocus: false });\n\n useEffect(() => {\n if (observationalPlatformsResult?.features?.length > 0) {\n observationalPlatformsResult.features.forEach((feature) => {\n const obsPlatform = {\n obs_dataset_id: feature.properties.obs_dataset_id,\n ...feature,\n };\n db.observationalPlatforms.put(obsPlatform);\n });\n }\n }, [observationalPlatformsResult]);\n const dbObservationalPlatforms = useLiveQuery(() => db.observationalPlatforms.toArray());\n\n useEffect(() => {\n if (parameterConfigurationsResult?.length > 0) {\n db.parameterConfigurations.bulkPut(parameterConfigurationsResult);\n }\n }, [parameterConfigurationsResult]);\n const dbParameterConfigurations = useLiveQuery(() => db.parameterConfigurations.toArray());\n\n useEffect(() => {\n if (registeredParametersResult?.length > 0) {\n db.parameters.bulkPut(registeredParametersResult);\n }\n }, [registeredParametersResult]);\n const dbParameters = useLiveQuery(() => db.parameters.toArray());\n\n useEffect(() => {\n if (organizationsResult?.length > 0) {\n db.organizations.bulkPut(organizationsResult);\n }\n }, [organizationsResult]);\n const dbOrganizations = useLiveQuery(() => db.organizations.toArray());\n\n return ({\n parameterConfigurationsResult: dbParameterConfigurations,\n organizationsResult: dbOrganizations,\n registeredParametersResult: dbParameters,\n observationalPlatformsResult: dbObservationalPlatforms,\n observationalLatestDataResult,\n observationalLatestDataIsLoading,\n });\n};\n\nexport const DataProvider = ({ children }) => (\n \n {children}\n \n);\n\nDataProvider.propTypes = {\n children: PropTypes.node,\n};\n\nDataProvider.defaultProps = {\n children: null,\n};\n\nexport const useData = () => useContext(DataContext);\n","import { useLocation } from 'react-router-dom';\nimport { useMemo } from 'react';\n\nconst useSearchParams = () => {\n const { search } = useLocation();\n return useMemo(() => new URLSearchParams(search), [search]);\n};\n\nexport default useSearchParams;\n","import React, { useState, useEffect } from 'react';\nimport { Button } from 'antd';\nimport { useLocation } from 'react-router';\nimport { useHistory } from 'react-router-dom';\n\nimport { useMediaQuery } from 'react-responsive';\nimport CustomModal from '../../../components/modal';\nimport useSearchParams from './useSearchParams';\nimport '../styles.scss';\nimport appConfig from '../../../config';\n\nconst SocialShareRecipientModal = () => {\n const history = useHistory();\n const isMobile = useMediaQuery({ maxWidth: 767 });\n const searchParams = useSearchParams();\n const [showSocialShareRecipientModal, setShowSocialShareRecipientModal] = useState(false);\n const [chartImage, setChartImage] = useState();\n const location = useLocation();\n\n useEffect(() => {\n if (searchParams.has('share')) {\n const base64UrlSafeDecode = (str) => (atob(str?.replace(/-/g, '+').replace(/_/g, '/')));\n const imageObj = base64UrlSafeDecode(searchParams.get('share'));\n const imageId = JSON.parse(imageObj).i;\n\n const extension = location.pathname === '/map' ? 'png' : 'svg';\n const s3Bucket = appConfig.socialSharingBucket;\n setChartImage(`${s3Bucket}/${imageId}.${extension}`);\n }\n }, []);\n\n const closeModal = () => {\n setShowSocialShareRecipientModal(false);\n searchParams.delete('share');\n history.push({ search: searchParams.toString() });\n };\n\n useEffect(() => {\n const shareParam = searchParams.get('share');\n setShowSocialShareRecipientModal(shareParam != null);\n }, [searchParams]);\n\n return (\n \n <>\n

Dive Deep with Seagull

\n

\n Welcome to Seagull, your Great Lakes discovery platform for information and data! Explore current conditions, forecasts, and more. Plan your next adventure with confidence — Seagull puts Great Lakes data at your fingertips. Navigate with ease and discover the rich resources of these magnificent waters.\n

\n \n
\n \n
\n \n \n );\n};\n\nexport default SocialShareRecipientModal;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { useQuery } from 'react-query';\nimport moment from 'moment';\nimport 'mapbox-gl/dist/mapbox-gl.css';\nimport mapboxgl from 'mapbox-gl';\nimport { GeolocateControl, NavigationControl, ScaleControl } from 'react-map-gl';\n\nimport { useHistory, useLocation } from 'react-router';\nimport lodash from 'lodash';\nimport ReactGA from 'react-ga4';\nimport { Spin } from 'antd';\nimport MediaQuery from 'react-responsive';\n\nimport MapControls from './components/MapControls';\nimport MapFilterPopup from './components/MapFilterPopup';\nimport CustomMap from '../../components/custom-map';\nimport Landing from '../landing/index';\nimport appConfig, { brandingConfig } from '../../config/index';\n\nimport { MapEvent, MapFilterEvent } from '../../constant/google-analytics/constant';\nimport {\n platformTags, waterTags, weatherTags, orgTags, overlayTags,\n} from './constant';\nimport {\n datasets,\n getObsDatasetsOrgGeojson,\n getDatasetSummaries,\n getObsLatestData,\n parameterConfigurations,\n datasetTrajectoriesGeojson,\n getRegisteredParameters,\n getDatasetsLatest,\n} from '../../services/dataset.service';\nimport { getOrganizations } from '../../services/organization.service';\nimport MapQueryTypes from '../../services/query-types/map';\nimport { getLatestParameterDate, platformGroupings } from '../../utils';\nimport ProfileQueryTypes from '../../services/query-types/profile';\nimport { getUserFavoritePlatforms } from '../../services/profile.service';\nimport UserContext from '../../contexts/UserContext';\n\nimport './styles.scss';\nimport { useData } from '../../contexts/DataContext';\nimport SocialShareRecipientModal from './components/SocialShareRecipientModal';\n\n// This was recommended as a fix for an issue with the basemap from Mapbox not loading\n// https://github.com/mapbox/mapbox-gl-js/issues/10173#issuecomment-799627909\n// eslint-disable-next-line import/no-webpack-loader-syntax\nmapboxgl.workerClass = require('worker-loader!mapbox-gl/dist/mapbox-gl-csp-worker').default;\n\nconst scaleControlStyle = {\n bottom: 36,\n left: 0,\n padding: '10px',\n};\n\nconst Dashboard = () => {\n const history = useHistory();\n const location = useLocation();\n\n const { cognitoUser } = useContext(UserContext);\n\n const [filterVisible, setFilterVisible] = useState(false);\n const [searchDrawer, toggleSearchDrawer] = useState(true);\n const [editing, setEditing] = useState(false);\n const [selectedPlatform, setSelectedPlatform] = useState();\n const [selectedOverlay, setSelectedOverlay] = useState('surface_water_temperature');\n const [showPaths, setShowPaths] = useState(true);\n const [omicsFilters, setOmicsFilters] = useState({\n selectedFilter: 'All',\n selectedStartDate: moment('2010-01-01'),\n selectedEndDate: moment(),\n });\n const [showShareModal, setShowShareModal] = useState(false);\n\n const {\n useGlobalData,\n } = useData();\n\n const { observationalPlatformsResult } = useGlobalData();\n\n const handleLandingChange = () => {\n toggleSearchDrawer(false);\n history.replace('/map');\n };\n\n useEffect(() => {\n if (location.pathname === '/landing') {\n toggleSearchDrawer(true);\n } else {\n toggleSearchDrawer(false);\n }\n }, [location.pathname]);\n\n // List of all platform tags\n const [tagsList, setTagsList] = useState({\n platforms: [],\n weather: [],\n org: [],\n water: [],\n });\n\n const defaultPlatformTags = brandingConfig.filters.isNest\n ? platformTags.filter((platform) => platform.key === 'buoy' || platform.key === 'tower' || platform.key === 'nest')\n : platformTags.filter((platform) => platform.key === 'buoy' || platform.key === 'tower');\n\n // Tags displayed on the map\n // Filter by buoys by default\n // const [filterTags, setFilterTags] = useState(platformTags.filter((platform) => platform.key === 'buoy'));\n // *** Make sure what you have for filterTags here matches what's in selectedTags below ***\n const [filterTags, setFilterTags] = useState(\n defaultPlatformTags.concat(\n overlayTags.filter((overlay) => overlay.key === 'surface_water_temperature'),\n ),\n );\n const [selectedLake, setSelectedLake] = useState(brandingConfig.filters.defaultLake);\n\n const [selectedTags, setSelectedTags] = useState({\n platforms: defaultPlatformTags,\n weather: weatherTags.filter((weather) => weather.key === 'surface_water_temperature'),\n org: [],\n water: [],\n });\n const [platformEvents, setPlatformEvents] = useState(['activated', 'unavailable']);\n const [filterFavorites, setFilterFavorites] = useState(false);\n const [filteredPlatforms, setFilteredPlatforms] = useState(\n platformTags.filter((platform) => platform.key === 'buoy').concat(\n platformTags.filter((platform) => platform.key === 'tower'),\n ),\n );\n\n const {\n data: omicsObsDatasetsGeojson,\n isLoading: omicsObsDatasetsGeojsonIsLoading,\n } = useQuery(\n [MapQueryTypes.REST_OBSERVATIONAL_PLATFORMS_BY_ORG],\n () => getObsDatasetsOrgGeojson(parseInt(process.env.REACT_APP_OMICS_ORG_ID, 10)),\n { refetchOnWindowFocus: false },\n );\n\n const {\n data: organizationsResult,\n isLoading: organizationLoading,\n } = useQuery(MapQueryTypes.REST_ORGANIZATIONS, getOrganizations, { refetchOnWindowFocus: false });\n\n const {\n data: datasetsResult,\n isLoading: datasetsLoading,\n } = useQuery(MapQueryTypes.REST_OBS_DATASETS, datasets, { refetchOnWindowFocus: false });\n\n const {\n data: obsDatasetSummariesResult,\n isLoading: summariesLoading,\n } = useQuery(MapQueryTypes.REST_OBS_DATASET_SUMMARIES, () => getDatasetSummaries(), { refetchOnWindowFocus: false });\n\n const {\n data: obsLatest,\n isLoading: obsLatestIsLoading,\n } = useQuery(MapQueryTypes.REST_OBSERVATIONAL_LATEST_DATA, () => getObsLatestData(), { refetchOnWindowFocus: false });\n\n const {\n data: parameterConfigurationsResult,\n } = useQuery(MapQueryTypes.REST_PARAMETER_CONFIGURATIONS, parameterConfigurations, { refetchOnWindowFocus: false });\n\n const {\n data: registeredParametersResult,\n isLoading: registeredParametersAreLoading,\n } = useQuery(MapQueryTypes.REST_PARAMETERS_REGISTERED_DASHBOARD, getRegisteredParameters, { refetchOnWindowFocus: false });\n\n const {\n data: datasetTrajectoriesGeojsonResult,\n } = useQuery(\n MapQueryTypes.REST_OBSERVATIONAL_DATASET_TRAJECTORIES,\n datasetTrajectoriesGeojson,\n {\n refetchOnWindowFocus: false,\n enabled: filterTags?.some((t) => t.key === 'moving'),\n },\n );\n\n const {\n data: favoritePlatformData,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n enabled: Boolean(cognitoUser),\n },\n );\n\n const [omicsPlatformIds, setOmicsPlatformIds] = useState([]);\n const [omicsParameterIds, setOmicsParameterIds] = useState([]);\n\n const {\n data: obsDatasetsLatest,\n refetch: obsDatasetsLatestRefetch,\n isInitialLoading: obsDatasetsLatestIsInitialLoading,\n } = useQuery(\n [MapQueryTypes.REST_OBS_DATASETS_LATEST, omicsFilters.startDate, omicsFilters.endDate, omicsPlatformIds, omicsParameterIds],\n () => getDatasetsLatest({\n platformId: omicsPlatformIds,\n parameterId: omicsParameterIds,\n startDate: omicsFilters.startDate.format('YYYY-MM-DD'),\n endDate: omicsFilters.endDate.format('YYYY-MM-DD'),\n includeObservations: true,\n }),\n {\n refetchOnWindowFocus: false,\n enabled: (!!omicsFilters.startDate && !!omicsFilters.endDate && !!omicsPlatformIds?.length && !!omicsParameterIds?.length),\n },\n );\n\n useEffect(() => {\n filterTags.forEach((tag) => {\n if (tag.overlay && tag.key === selectedOverlay) {\n const nonOverlay = filterTags.filter((o) => o.key !== 'surface_water_temperature' && o.key !== 'water_current' && o.key !== 'wind_current' && o.key !== 'omics');\n setFilterTags([...nonOverlay, tag]);\n }\n });\n\n if (selectedOverlay === 'omics') {\n setOmicsFilters({\n selectedFilter: 'All',\n startDate: moment('2010-01-01'),\n endDate: moment(),\n });\n } else {\n setOmicsFilters({\n selectedFilter: 'All',\n startDate: '',\n endDate: '',\n });\n }\n }, [selectedOverlay]);\n\n const setOmicsQueryParams = () => {\n if (obsDatasetSummariesResult) {\n // TODO when the time comes: generalize to other Omics orgs\n const omicsSummaries = obsDatasetSummariesResult.filter((summary) => summary?.obs_dataset_platform_assignment?.platform?.external_id_type === 'omics_sample_site');\n const uniquePlatformIds = lodash.uniq(omicsSummaries.map((summary) => summary.obs_dataset_platform_assignment?.platform?.platform_id));\n const uniqueParamIds = lodash.uniq(omicsSummaries.flatMap((summary) => summary.obs_dataset_platform_assignment?.platform?.parameters?.map((parameter) => parameter.parameter_id)));\n setOmicsPlatformIds(uniquePlatformIds);\n setOmicsParameterIds(uniqueParamIds);\n }\n };\n\n const getAndFormatTagsList = (filteredData) => {\n const tagsListData = {};\n\n tagsListData.platformTags = platformTags.map((tag) => {\n const tagCount = filteredData.filter((feature) => feature.properties.platform_type.includes(tag.key)).length;\n return { ...tag, text: `${tag.text} ${tagCount ? ` (${tagCount})` : ''}`, count: tagCount };\n });\n\n // only show nest tags in nests\n if (!brandingConfig.filters.isNest) {\n tagsListData.platformTags = tagsListData.platformTags.filter((tag) => tag.type !== 'nest');\n }\n\n tagsListData.orgTags = orgTags.map((tag) => ({ ...tag, text: `${tag.text}` }));\n tagsListData.weatherTags = weatherTags.map((tag) => ({ ...tag, text: `${tag.text}` }));\n tagsListData.waterTags = waterTags.map((tag) => ({ ...tag, text: `${tag.text}` }));\n\n setTagsList(tagsListData);\n return tagsListData;\n };\n\n const filterPlatforms = () => {\n if (observationalPlatformsResult) {\n let filteredData = observationalPlatformsResult;\n if (datasetTrajectoriesGeojsonResult) {\n filteredData.concat(datasetTrajectoriesGeojsonResult.features);\n }\n\n if (selectedLake) {\n const selectedLakeStr = `lake-${selectedLake.toLowerCase()}`;\n filteredData = filteredData.filter((o) => o.properties.body_of_water === selectedLakeStr);\n }\n\n // For each platform, if platform_event==='activated' but there is no recent data,\n // set platform_event='unavailable'\n if (obsLatest && obsDatasetSummariesResult) {\n for (let i = 0; i < filteredData.length; i++) {\n // Getting platform external_id_type from dataset-summaries,\n // but could in the future potentially be included in the obs-datasets.geojson\n // Since we are re-assigning platform_event later in this loop, eslint considers any access of filteredData[i] unsafe,\n // but should be ok for now.\n\n // eslint-disable-next-line no-loop-func\n const datasetSummary = obsDatasetSummariesResult.find((o) => o.obs_dataset_id === filteredData[i].properties.obs_dataset_id);\n const platform = datasetSummary?.obs_dataset_platform_assignment?.platform;\n\n // add the platform to the properties so we can access it later\n filteredData[i].properties.platform = platform;\n\n const latestDate = getLatestParameterDate(filteredData[i].properties, obsLatest, true);\n const timeSince = moment().diff(moment(latestDate), 'hours');\n filteredData[i].properties.last_updated_parameter_in_hours = timeSince;\n\n // timeSince will be NaN if latestDate is null, so check for this first.\n // Exclude ESP sites from this event re-assignment. In the future this may be a metadata configuration.\n if (\n (Number.isNaN(timeSince) || timeSince > appConfig.oldDataCutoffInHours)\n && filteredData[i].properties?.platform_event === 'activated'\n && platform?.external_id_type !== 'esp_site'\n ) {\n filteredData[i].properties.platform_event = 'unavailable';\n }\n }\n }\n\n if (platformEvents && platformEvents.length > 0) {\n filteredData = filteredData.filter((o) => platformEvents.indexOf(o.properties.platform_event) > -1);\n\n /* Hide Decommissioned platforms by default */\n if (platformEvents.indexOf('decommissioned') === -1) {\n filteredData = filteredData.filter((o) => o.properties.platform_event !== 'decommissioned');\n }\n }\n\n const formattedTagsList = getAndFormatTagsList(filteredData);\n\n if (obsDatasetSummariesResult && brandingConfig.filters.isNest) {\n // filter platforms data by selected nest tags\n const nestFilter = filterTags.some((t) => t.key === 'nest');\n const seagullFilter = filterTags.some((t) => t.key === 'seagull');\n const nestDatasetIds = obsDatasetSummariesResult\n .filter((o) => o?.organization_id === brandingConfig.filters.organizationId)\n .map((o) => o.obs_dataset_id);\n\n // if filtering by nest platforms and seagull platforms have not been added,\n // only show platforms within the nest organization\n if (nestFilter && !seagullFilter) {\n filteredData = filteredData.filter((o) => nestDatasetIds.includes(o.properties.obs_dataset_id));\n }\n\n // if nest filter is not selected, remove nest platforms\n if (!nestFilter) {\n filteredData = filteredData.filter((o) => !nestDatasetIds.includes(o.properties.obs_dataset_id));\n }\n }\n\n // filter platforms data by selected platform_type tags\n const filterTagsNew = filterTags.filter((o) => o.key !== 'surface_water_temperature' && o.key !== 'water_current' && o.key !== 'wind_current' && o.key !== 'omics' && o.key !== 'sampling_location');\n if (filterTagsNew) {\n if (filterTagsNew.length > 0) {\n filteredData = filteredData.filter((o) => filterTagsNew.length > 0\n && filterTagsNew.some((tag) => platformGroupings[tag.key]?.includes(o.properties.platform_type)));\n } else {\n filteredData = [];\n }\n } else {\n filteredData = [];\n }\n\n // Get/Isolate the omics data/sampling data first. TODO: Generalize\n // Namely because the date filter needs to run ONLY through omics/sampling data, not the rest\n if (omicsObsDatasetsGeojson) {\n const omicsData = omicsObsDatasetsGeojson.features;\n if (formattedTagsList?.orgTags?.some((t) => t.key === 'omics')) {\n if (obsDatasetsLatest?.length) {\n // remove platforms that aren't in obsDatasetsLatest\n const visibleDatasetIds = obsDatasetsLatest.map((o) => o.obs_dataset_id);\n const visibleSamplingPlatforms = omicsData\n .filter((p) => visibleDatasetIds.includes(p.properties.obs_dataset_id) && platformGroupings.sampling_location.includes(p.properties.platform_type))\n .reduce((acc, obj) => {\n const coordinates = obj.geometry.coordinates.join(',');\n const existingObj = acc.find((o) => o.geometry.coordinates.join(',') === coordinates);\n if (!existingObj || obj.properties.last_updated_parameter_in_hours < existingObj.properties.last_updated_parameter_in_hours) {\n return [...acc.filter((o) => o.geometry.coordinates.join(',') !== coordinates), obj];\n }\n return acc;\n }, []);\n filteredData = visibleSamplingPlatforms.concat(filteredData);\n }\n }\n }\n\n setFilteredPlatforms(filteredData);\n }\n };\n\n useEffect(() => {\n if (obsDatasetSummariesResult) {\n setOmicsQueryParams();\n }\n }, [obsDatasetSummariesResult]);\n\n useEffect(() => {\n if (!registeredParametersResult?.length || !parameterConfigurationsResult?.length) {\n return;\n }\n\n if (omicsFilters.filter === 'All') {\n setOmicsQueryParams();\n } else {\n const parameter = parameterConfigurationsResult?.find((p) => p.display_name.en.includes(omicsFilters.filter));\n if (parameter) {\n const parameterIds = registeredParametersResult\n .filter((p) => p?.standard_name === parameter.standard_name)\n .map((p) => p.parameter_id);\n\n setOmicsParameterIds(parameterIds);\n } else {\n // eslint-disable-next-line no-console\n console.warn('No parameter found for selected filter');\n setOmicsQueryParams();\n }\n }\n }, [omicsFilters.filter]);\n\n const urlSearchQuery = new URLSearchParams(location.search);\n\n if (urlSearchQuery.get('lake') && urlSearchQuery.get('lake') !== selectedLake) {\n setSelectedLake(urlSearchQuery.get('lake'));\n }\n\n if (urlSearchQuery.get('status') && !lodash.isEqual(urlSearchQuery.get('status').split(','), platformEvents)) {\n setPlatformEvents(urlSearchQuery.get('status').split(','));\n }\n\n if (urlSearchQuery.get('tags')) {\n const tagsQuery = {};\n urlSearchQuery.get('tags').split(',').forEach((o) => {\n const [tag, val] = o.split(':');\n switch (tag) {\n case 'platforms':\n tagsQuery.platforms = platformTags.filter((p) => val.includes(p.key));\n break;\n case 'overlay':\n tagsQuery.overlay = overlayTags.filter((p) => val.includes(p.key));\n break;\n case 'water':\n tagsQuery.water = waterTags.filter((p) => val.includes(p.key));\n break;\n case 'org':\n tagsQuery.org = orgTags.filter((p) => val.includes(p.key));\n break;\n case 'weather':\n tagsQuery.weather = weatherTags.filter((p) => val.includes(p.key));\n break;\n default:\n tagsQuery.favorite = [];\n }\n });\n\n if (tagsQuery.water?.length) {\n if (tagsQuery.water[0].key !== selectedOverlay) {\n setSelectedOverlay(tagsQuery.water[0].key);\n }\n }\n\n if (tagsQuery.weather?.length) {\n if (tagsQuery.weather[0].key !== selectedOverlay) {\n setSelectedOverlay(tagsQuery.weather[0].key);\n }\n }\n\n if (tagsQuery.org?.length) {\n if (tagsQuery.org[0].key !== selectedOverlay) {\n setSelectedOverlay(tagsQuery.org[0].key);\n }\n }\n\n if (!lodash.isEqual(selectedTags, tagsQuery)) {\n setSelectedTags(tagsQuery);\n setFilterTags(Object.keys(tagsQuery).reduce(\n (prev, cur) => [...prev, ...tagsQuery[cur]],\n [],\n ));\n }\n }\n\n useEffect(() => {\n if (omicsParameterIds?.length && omicsPlatformIds?.length) {\n obsDatasetsLatestRefetch();\n }\n }, [omicsPlatformIds, omicsParameterIds, obsDatasetSummariesResult]);\n\n useEffect(() => {\n if (urlSearchQuery.has('editing') && urlSearchQuery.get('editing') === '1') {\n setEditing(true);\n }\n }, [urlSearchQuery]);\n\n useEffect(() => {\n if (urlSearchQuery.has('favorite_platform') && observationalPlatformsResult) {\n const platform = observationalPlatformsResult.features.find((o) => o.properties.org_platform_id === (urlSearchQuery.get('favorite_platform')));\n setFilterVisible(true);\n\n if (platform) {\n setSelectedPlatform(platform.properties);\n }\n }\n }, [urlSearchQuery, observationalPlatformsResult]);\n\n useEffect(() => {\n filterTags.forEach((tag) => {\n if (tag.overlay && tag.key === selectedOverlay) {\n const nonOverlay = filterTags.filter((o) => (\n o.key !== 'surface_water_temperature'\n && o.key !== 'water_current'\n && o.key !== 'wind_current'\n && o.key !== 'omics'\n && o.key !== 'bathy'\n ));\n setFilterTags([...nonOverlay, tag]);\n }\n });\n }, [selectedOverlay]);\n\n useEffect(() => {\n filterPlatforms();\n }, [\n observationalPlatformsResult,\n platformEvents,\n selectedTags,\n selectedLake,\n datasetTrajectoriesGeojsonResult,\n obsDatasetSummariesResult,\n obsDatasetsLatest,\n obsLatest,\n ]);\n\n const pushToHistory = (key, value) => {\n let newParams = '';\n // location from useLocation is out of date, so opted to use window.location\n if (window.location.search !== '') {\n const params = new URLSearchParams(window.location.search);\n\n if (!value) {\n params.delete(key);\n } else {\n params.set(key, value);\n }\n\n newParams = params.toString();\n } else if (value) {\n const params = new URLSearchParams({ [key]: value });\n newParams = params.toString();\n }\n\n history.replace({\n pathname: '/map',\n search: `?${newParams}`,\n });\n };\n\n const onLakeSelect = (lake) => {\n setSelectedLake(lake);\n // don't reset tags if the user is selecting a lake from the map for now\n // setFilterTags([]);\n // setSelectedTags({\n // platforms: [selectedTags.platforms],\n // weather: [selectedTags.weather],\n // org: [selectedTags.org],\n // water: [],\n // });\n pushToHistory('lake', lake);\n ReactGA.event({ ...MapFilterEvent.LakeFilterSelect, label: `${lake}` });\n };\n\n const showFilter = () => {\n setFilterVisible(true);\n };\n\n const onClose = () => {\n setFilterVisible(false);\n };\n\n const onStatusSelect = (statusList) => {\n const selectedStatuses = statusList.map((stat) => stat.toLowerCase().split(' ').join('_'));\n setPlatformEvents(selectedStatuses);\n\n pushToHistory('status', selectedStatuses.join(','));\n ReactGA.event({ ...MapFilterEvent.PlatformStatusFilter, label: `${statusList}` });\n };\n\n const handleClearFilters = () => {\n setSelectedTags({\n platforms: [],\n weather: [],\n org: [],\n water: [],\n });\n setFilterTags([]);\n setSelectedLake('');\n setSelectedOverlay('');\n setPlatformEvents([]);\n\n history.replace('/map');\n ReactGA.event(MapFilterEvent.ClearFilters);\n };\n\n const handleClearLakeFilters = () => {\n const newHistory = history.location.search.replace(`lake=${selectedLake}`, '');\n history.replace(newHistory);\n setSelectedLake('');\n ReactGA.event(MapFilterEvent.ClearLakeFilters);\n };\n\n const onTagSelect = (tag, checked, type) => {\n if (tag.overlay) {\n if (tag.forecast && tag.key === selectedOverlay) {\n setSelectedOverlay('');\n setSelectedTags({\n platforms: [selectedTags.platforms],\n weather: [tag.key],\n org: [],\n water: [],\n });\n } else if (tag.key === selectedOverlay) {\n setSelectedOverlay('');\n setSelectedTags({\n platforms: [selectedTags.platforms],\n weather: [],\n org: [tag.key],\n water: [],\n });\n } else {\n setSelectedTags({\n platforms: [selectedTags.platforms],\n weather: [],\n org: [],\n water: [],\n });\n setSelectedOverlay('');\n setSelectedOverlay(tag.key);\n }\n }\n\n const addTags = type === 'water' || type === 'weather' || type === 'org' ? [tag] : [...selectedTags[type], tag];\n\n if (!selectedTags) {\n // eslint-disable-next-line no-console\n console.warn('need to hanlde no tags selected');\n }\n\n const nextSelectedTags = checked\n ? addTags\n : selectedTags[type].filter((t) => t.key !== tag.key);\n\n const newSelectedTags = type === 'weather'\n ? { ...selectedTags, org: [], [type]: nextSelectedTags }\n : type === 'org'\n ? { ...selectedTags, weather: [], [type]: nextSelectedTags }\n : { ...selectedTags, [type]: nextSelectedTags };\n\n if (tag.key === 'omics') {\n const samplingLocationTag = tagsList.platformTags.find((t) => t.key === 'sampling_location');\n newSelectedTags.platforms.push(samplingLocationTag);\n }\n\n const tags = Object.keys(newSelectedTags).reduce(\n (prev, cur) => [...prev, ...newSelectedTags[cur]],\n [],\n );\n\n setFilterTags(tags);\n setSelectedTags(newSelectedTags);\n pushToHistory('tags', Object.keys(newSelectedTags).map((key) => `${key}:${newSelectedTags[key].map((o) => o.key).join('-')}`).join(','));\n ReactGA.event({ ...MapFilterEvent.TagSelect, label: `${tag.key}` });\n };\n\n const onTagRemove = (tag) => {\n if (tag.overlay) {\n setSelectedOverlay('');\n }\n const newSelectedTags = { ...selectedTags }; // OK as ref\n const keys = Object.keys(newSelectedTags);\n for (let i = 0; i < keys.length; i++) {\n const tagIdx = newSelectedTags[keys[i]] && newSelectedTags[keys[i]].length > 0\n ? newSelectedTags[keys[i]].map((item) => item.key).indexOf(tag.key)\n : -1;\n\n if (tagIdx > -1) {\n setSelectedTags({ ...selectedTags }[keys[i]].splice(tagIdx, 1));\n\n setFilterTags(filterTags.filter((item) => item.key !== tag.key));\n pushToHistory('tags', Object.keys(newSelectedTags).map((key) => `${key}:${newSelectedTags[key].map((o) => o.key).join('-')}`).join(','));\n ReactGA.event({ ...MapFilterEvent.TagRemoved, label: `${tag.key}` });\n break;\n }\n }\n };\n\n const trackUserDidGeolocate = () => {\n ReactGA.event(MapEvent.UserDidGeolocate);\n };\n\n const isLoading = omicsObsDatasetsGeojsonIsLoading || organizationLoading || summariesLoading || obsLatestIsLoading || datasetsLoading || obsDatasetsLatestIsInitialLoading || registeredParametersAreLoading;\n\n const onClickShare = () => {\n setShowShareModal(true);\n };\n\n return (\n isLoading\n ? (\n
\n \n
\n )\n : (\n
\n {searchDrawer\n && location.pathname !== '/map'\n && (\n \n )}\n \n \n \n \n \n \n \n \n \n \n
\n )\n );\n};\n\nDashboard.propTypes = {};\n\nDashboard.defaultProps = {};\n\nexport default Dashboard;\n","import * as React from 'react';\n\nconst BrokenHeart = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\nexport default BrokenHeart;\n","import React, { useContext } from 'react';\nimport { Button } from 'antd';\n\nimport { brandingConfig } from '../../../config';\nimport BrokenHeart from '../../../components/icons/BrokenHeart';\nimport UserContext from '../../../contexts/UserContext';\n\nconst NoFavorites = () => {\n const {\n setAuthDrawerOpen,\n } = useContext(UserContext);\n\n const onClickSignIn = () => {\n setAuthDrawerOpen(true);\n };\n\n return (\n
\n \n You have no favorite platforms.\n \n \n \n Login or create account\n \n \n {' '}\n to see and add favorites.\n \n
\n );\n};\n\nNoFavorites.propTypes = {\n};\n\nNoFavorites.defaultProps = {\n};\n\nexport default NoFavorites;\n","import React from 'react';\nimport { Card, Col, Row } from 'antd';\nimport PropTypes from 'prop-types';\nimport { ClockCircleOutlined } from '@ant-design/icons';\nimport { useHistory } from 'react-router';\nimport { BuoyOutlineIcon } from '../../../components/icons';\nimport useParameterGroups from '../../../config/useParameterGroups';\nimport { getParameterGroupIcon } from '../../../utils';\nimport NoFavorites from './NoFavorites';\n\nconst TileView = (props) => {\n const history = useHistory();\n const { dataSource, isMobile } = props;\n const { parameterGroups } = useParameterGroups();\n\n const gotoDetail = (platform) => history.push(`/data-console/${platform.key}`);\n\n const getParameterColor = (standardName) => {\n const parameterGroup = parameterGroups.find((group) => group.parameter_standard_names?.includes(standardName));\n return {\n borderLeft: `2px solid ${parameterGroup?.unSelectedColor}`,\n paddingLeft: '7px',\n };\n };\n\n return (\n
\n {dataSource.length === 0\n ? \n : (\n \n {dataSource.map((row) => (\n \n \n gotoDetail(row)}\n >\n
\n {row.platform_id}\n {row.status}\n
\n
\n {row.platform_name}\n
\n
\n {row.updated\n && (\n <>\n \n  \n {row.updated}\n \n )}\n
\n \n {row.parameters.length > 0 ? row.parameters.slice(0, 2).map((parameter, index) => (\n \n
\n {parameter.value}\n  \n {parameter.unit}\n
\n \n {getParameterGroupIcon(parameterGroups, parameter.standard_name)}\n {parameter.name}\n
\n \n )) : (\n \n {\n row.dataset.platform.platform_event\n ? `This platform has been ${row.dataset.platform.platform_event?.event.split('_').join(' ')} and is not reporting data`\n : 'There is no reporting data'\n }\n \n )}\n \n \n \n \n \n  \n {row.type}\n \n {!isMobile ? {row.compare} : ''}\n \n \n \n ))}\n \n )}\n \n );\n};\n\nTileView.propTypes = {\n dataSource: PropTypes.array,\n isMobile: PropTypes.bool,\n};\n\nTileView.defaultProps = {\n dataSource: [],\n isMobile: false,\n};\n\n// export default memo(TileVieW);\nexport default TileView;\n","import React from 'react';\nimport { Tooltip } from 'antd';\nimport { InfoCircleFilled } from '@ant-design/icons';\nimport moment from 'moment';\n\nexport const columns = [\n {\n title: 'ID',\n dataIndex: 'platform_id',\n width: '2em',\n sortDirections: ['ascend', 'descend'],\n sorter: (a, b) => {\n const aCopy = a.platform_id.props.children;\n const bCopy = b.platform_id.props.children;\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Name',\n dataIndex: 'platform_name',\n width: '5em',\n sortDirections: ['ascend', 'descend'],\n sorter: (a, b) => {\n const aCopy = a.platform_name.props.children;\n const bCopy = b.platform_name.props.children;\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Type',\n dataIndex: 'type',\n width: '2em',\n ellipsis: true,\n },\n {\n title: 'Status',\n dataIndex: 'status',\n ellipsis: true,\n width: '2em',\n },\n {\n title: (\n \n Updated\n \n \n \n\n \n ),\n dataIndex: 'updated_raw',\n width: '2em',\n ellipsis: true,\n sorter: (a, b) => {\n const aCopy = moment(a.updated_raw).unix() || '';\n const bCopy = moment(b.updated_raw).unix() || '';\n return aCopy - bCopy;\n },\n render: (dateStr) => {\n if (!dateStr) {\n return '-';\n }\n\n const date = moment(dateStr);\n\n return date.isValid ? date.fromNow() : dateStr;\n },\n },\n {\n title: 'Water',\n dataIndex: 'sea_surface_temperature',\n sortDirections: ['descend', 'ascend'],\n width: '2.5em',\n sorter: (a, b) => {\n const aCopy = a.sea_surface_temperature || '';\n const bCopy = b.sea_surface_temperature || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Wind',\n dataIndex: 'wind_speed',\n width: '2em',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.wind_speed || '';\n const bCopy = b.wind_speed || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Air',\n dataIndex: 'air_temperature',\n width: '2em',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.air_temperature || '';\n const bCopy = b.air_temperature || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Wave',\n dataIndex: 'sea_surface_wave_significant_height',\n width: '2em',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.sea_surface_wave_significant_height || '';\n const bCopy = b.sea_surface_wave_significant_height || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Compare',\n dataIndex: 'compare',\n width: '1.5em',\n },\n {\n title: 'Fav',\n dataIndex: 'favorites',\n width: '2em',\n },\n];\n\nexport const columnsMobile = [\n {\n title: 'ID',\n dataIndex: 'platform_id',\n width: '1%',\n fixed: 'left',\n sortDirections: ['ascend', 'descend'],\n sorter: (a, b) => {\n const aCopy = a.platform_id.props.children;\n const bCopy = b.platform_id.props.children;\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: (\n \n Updated\n \n \n \n\n \n ),\n dataIndex: 'updated_raw',\n width: '2%',\n sorter: (a, b) => {\n const aCopy = moment(a.updated_raw).unix() || '';\n const bCopy = moment(b.updated_raw).unix() || '';\n return aCopy - bCopy;\n },\n render: (dateStr) => {\n if (!dateStr) {\n return '-';\n }\n\n const date = moment(dateStr);\n let fromNow = date.fromNow(true); // true gets rid of 'ago'\n fromNow = fromNow.replace('minutes', 'min');\n fromNow = fromNow.replace('months', 'mo');\n fromNow = fromNow.replace('month', 'mo');\n fromNow = fromNow.replace('hours', 'h');\n fromNow = fromNow.replace('hour', 'h');\n\n return date.isValid ? fromNow : dateStr;\n },\n },\n {\n title: 'Water',\n dataIndex: 'sea_surface_temperature',\n sortDirections: ['descend', 'ascend'],\n width: '2%',\n sorter: (a, b) => {\n const aCopy = a.sea_surface_temperature || '';\n const bCopy = b.sea_surface_temperature || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Wind',\n dataIndex: 'wind_speed',\n width: '2%',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.wind_speed || '';\n const bCopy = b.wind_speed || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Air',\n dataIndex: 'air_temperature',\n width: '2%',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.air_temperature || '';\n const bCopy = b.air_temperature || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Wave',\n dataIndex: 'sea_surface_wave_significant_height',\n width: '1%',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.sea_surface_wave_significant_height || '';\n const bCopy = b.sea_surface_wave_significant_height || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Compare',\n dataIndex: 'compare',\n width: '5%',\n },\n {\n title: 'Fav',\n dataIndex: 'favorites',\n width: '5%',\n },\n];\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Select } from 'antd';\nimport { CaretDownFilled } from '@ant-design/icons';\n\nimport './styles.scss';\n\nconst CustomMultipleSelect = (props) => {\n const {\n items, placeholder, value, handleClickStatus, ...rest\n } = props;\n\n let placeholderStr;\n const [noItem, oneItem, multipleItems] = placeholder;\n\n if (value.length === 1) {\n placeholderStr = `1 ${oneItem}`;\n } else if (value.length > 1) {\n placeholderStr = `${value.length} ${multipleItems}`;\n } else {\n placeholderStr = noItem;\n }\n\n return (\n }\n onDeselect={(value) => handleClickStatus(value, false)}\n dropdownRender={items}\n />\n );\n};\n\nCustomMultipleSelect.propTypes = {\n items: PropTypes.func,\n placeholder: PropTypes.array,\n value: PropTypes.array,\n handleClickStatus: PropTypes.func,\n};\n\nCustomMultipleSelect.defaultProps = {\n items: () => {},\n placeholder: [],\n value: [],\n handleClickStatus: () => {},\n};\n\nexport default memo(CustomMultipleSelect);\n","import React, { memo } from 'react';\nimport { Button, Typography } from 'antd';\nimport PropTypes from 'prop-types';\n\nconst { Link } = Typography;\n\nconst ViewToggleButton = (props) => {\n const {\n icon, text, isActive, onClick,\n } = props;\n\n return (\n <>\n {isActive\n ? (\n \n )\n : (\n \n {icon}\n \n )}\n \n );\n};\n\nViewToggleButton.propTypes = {\n icon: PropTypes.element,\n isActive: PropTypes.bool,\n text: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nViewToggleButton.defaultProps = {\n icon: null,\n isActive: true,\n text: 'List View',\n onClick: () => {},\n};\n\nexport default memo(ViewToggleButton);\n","import { brandingConfig } from '../../config';\n\nexport const periods = [\n '24 hours', '7 days', '30 days', 'Custom',\n];\n\nexport const chartDataSample = [\n {\n name: 'Port',\n type: 'area',\n data: [36, 34.2, 46.7, 46],\n },\n {\n name: 'Forecast Data',\n type: 'line',\n data: [37, 35, 44, 45, 46.5],\n },\n];\n\nexport const platformSort = [\n { name: 'Sort By', value: '' },\n { name: 'Platform ID A-Z', value: 'id_asc' },\n { name: 'Platform ID Z-A', value: 'id_desc' },\n { name: 'Platform Name A-Z', value: 'name_asc' },\n { name: 'Platform Name Z-A', value: 'name_desc' },\n];\n\nexport const platformDepths = [\n {\n name: 'Surface Forecast',\n color: brandingConfig.colors.primary,\n dotted: true,\n },\n {\n name: 'Surface',\n color: brandingConfig.colors.accent1,\n data: [\n [\n 1629192300000, '0.31 m',\n ],\n [\n 1629192000000,\n '0.31 m',\n ],\n [\n 1629191700000,\n '0.35 m',\n ],\n [\n 1629191400000,\n '0.29 m',\n ],\n [\n 1629191100000,\n '0.30 m',\n ],\n [\n 1629190800000,\n '0.28 m',\n ],\n [\n 1629190500000,\n '0.30 m',\n ],\n [\n 1629189900000,\n '0.33 m',\n ],\n [\n 1629189300000,\n '0.32 m',\n ],\n [\n 1629189000000,\n '0.31 m',\n ],\n ],\n },\n {\n name: '3ft',\n color: brandingConfig.colors.success,\n data: [\n [\n 1629192300000,\n '0.33 m',\n ],\n [\n 1629192000000,\n '0.32 m',\n ],\n [\n 1629191700000,\n '0.34 m',\n ],\n [\n 1629191400000,\n '0.32 m',\n ],\n [\n 1629191100000,\n '0.33 m',\n ],\n [\n 1629190800000,\n '0.32 m',\n ],\n [\n 1629190500000,\n '0.33 m',\n ],\n [\n 1629189900000,\n '0.31 m',\n ],\n [\n 1629189300000,\n '0.33 m',\n ],\n [\n 1629189000000,\n '0.34 m',\n ],\n ],\n },\n {\n name: '6ft',\n color: brandingConfig.colors.primary,\n data: [\n [\n 1629192300000, '0.42 m',\n ],\n [\n 1629192000000,\n '0.38 m',\n ],\n [\n 1629191700000,\n '0.39 m',\n ],\n [\n 1629191400000,\n '0.40 m',\n ],\n [\n 1629191100000,\n '0.41 m',\n ],\n [\n 1629190800000,\n '0.38 m',\n ],\n [\n 1629190500000,\n '0.40 m',\n ],\n [\n 1629189900000,\n '0.41 m',\n ],\n [\n 1629189300000,\n '0.39 m',\n ],\n [\n 1629189000000,\n '0.40 m',\n ],\n ],\n },\n {\n name: '9ft',\n color: '',\n },\n {\n name: '12ft',\n color: '',\n },\n {\n name: '15ft',\n color: '',\n },\n];\n","import React, { memo, useState } from 'react';\nimport {\n Input, Select, Col, Row, Tabs, Typography,\n} from 'antd';\nimport {\n AppstoreFilled, CaretDownFilled, DownOutlined, UpOutlined, SearchOutlined, UnorderedListOutlined,\n} from '@ant-design/icons';\nimport PropTypes from 'prop-types';\nimport CustomMultipleSelect from '../../../components/select';\nimport ViewToggleButton from './ViewToggleButton';\nimport { FilterIcon } from '../../../components/icons';\nimport {\n platformTags, greatLakes, statuses,\n} from '../../dashboard/constant';\nimport { platformSort } from '../constant';\nimport CustomOption from '../../dashboard/components/CustomOption';\nimport { brandingConfig } from '../../../config';\nimport { featureFlag } from '../../../constant';\n\nconst { Link } = Typography;\nconst { Option } = Select;\nconst { TabPane } = Tabs;\n\nconst PlatformsFilter = (props) => {\n const {\n isMobile, listView, platformCount, selectedLakes, selectedPlatformtags,\n selectedStatus, handleToggleView, handleLakeChange, handleSearch, handleStatusChange,\n handlePlatformChange, handleSort, currentTab, handleTabChange, favoritesCount,\n nestPlatformsCount,\n } = props;\n\n const [visible, setVisible] = useState(!isMobile);\n\n const sortByEl = () => (\n
\n }\n placeholder={!isMobile ? 'Sort By:' : ''}\n onChange={handleSort}\n >\n {platformSort.map((row) => )}\n \n
\n );\n\n const toggleFilter = () => setVisible(!visible);\n\n const nestPlatforms = `${brandingConfig.labels.nestName} Platforms (${nestPlatformsCount})`;\n const seagullPlatforms = brandingConfig.filters.isNest ? `Seagull Platforms (${platformCount})` : `Platforms (${platformCount})`;\n const totalFavorites = `My Favorites (${favoritesCount})`;\n\n return (\n
\n
\n {isMobile\n ? (\n <>\n handleTabChange('favorite-datasets')}\n style={{ color: '#fff' }}\n className={currentTab === 'favorite-datasets' ? 'selectedTabUnderline' : ''}\n >\n {totalFavorites}\n \n {brandingConfig.filters.isNest && (\n handleTabChange('nest-datasets')}\n className={currentTab === 'nest-datasets' ? 'selectedTabUnderline' : ''}\n style={{\n color: '#fff',\n marginBottom: 5,\n }}\n >\n {nestPlatforms}\n \n )}\n handleTabChange('seagull-datasets')}\n className={currentTab === 'seagull-datasets' ? 'selectedTabUnderline' : ''}\n style={{\n color: '#fff',\n marginBottom: 5,\n }}\n data-testid=\"top-row-heading\"\n >\n {seagullPlatforms}\n \n \n )\n : (\n <>\n \n \n {brandingConfig.filters.isNest && (\n \n )}\n \n \n
\n } text=\"Tile View\" isActive={!listView} onClick={handleToggleView} />\n   \n } text=\"List View\" isActive={listView} onClick={handleToggleView} />\n
\n \n )}\n
\n
\n {visible\n ? (\n \n \n } style={{ width: '100%', borderRadius: 4 }} size=\"large\" onChange={handleSearch} />\n \n \n (\n // don't show nest tags here\n platformTags\n .filter((tag) => tag.type !== 'nest')\n .map((tag, index) => (\n -1}\n onClick={() => handlePlatformChange(tag.key, selectedPlatformtags.indexOf(tag.key) === -1)}\n />\n ))\n )}\n showSearch={false}\n />\n \n \n (\n greatLakes.map((lake, index) => (\n -1}\n onClick={() => handleLakeChange(lake.text, selectedLakes.indexOf(lake.text) === -1)}\n />\n ))\n )}\n showSearch={false}\n />\n \n \n (\n statuses.map((status) => (\n -1}\n onClick={() => handleStatusChange(status.title, selectedStatus.indexOf(status.title) === -1)}\n />\n ))\n )}\n showSearch={false}\n />\n \n \n <>\n {sortByEl()}\n {isMobile && featureFlag.generalProdUnreleased && (\n
\n } text=\"\" isActive={!listView} onClick={handleToggleView} />\n   \n } text=\"\" isActive={listView} onClick={handleToggleView} />\n
\n )}\n \n \n
\n ) : ''}\n\n {isMobile\n ? (\n \n \n \n \n  \n Filters \n {visible ? : }\n \n \n \n ) : ''}\n
\n
\n );\n};\n\nPlatformsFilter.propTypes = {\n isMobile: PropTypes.bool,\n listView: PropTypes.bool,\n platformCount: PropTypes.number,\n selectedLakes: PropTypes.array,\n selectedPlatformtags: PropTypes.array,\n selectedStatus: PropTypes.array,\n handleToggleView: PropTypes.func,\n handleLakeChange: PropTypes.func,\n handlePlatformChange: PropTypes.func,\n handleSearch: PropTypes.func,\n handleStatusChange: PropTypes.func,\n handleSort: PropTypes.func,\n currentTab: PropTypes.string,\n handleTabChange: PropTypes.func,\n favoritesCount: PropTypes.number,\n nestPlatformsCount: PropTypes.number,\n};\n\nPlatformsFilter.defaultProps = {\n isMobile: false,\n listView: true,\n platformCount: 0,\n selectedLakes: [],\n selectedPlatformtags: [],\n selectedStatus: [],\n handleToggleView: () => { },\n handleLakeChange: () => { },\n handlePlatformChange: () => { },\n handleSearch: () => { },\n handleStatusChange: () => { },\n handleSort: () => { },\n currentTab: '',\n handleTabChange: () => { },\n favoritesCount: 0,\n nestPlatformsCount: 0,\n};\n\nexport default memo(PlatformsFilter);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Card, Typography } from 'antd';\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport { useHistory, useLocation } from 'react-router';\n\nimport { brandingConfig } from '../../../config';\n\nconst { Link } = Typography;\n\nconst CompareBox = (props) => {\n const history = useHistory();\n const location = useLocation();\n\n const { platform, onRemove } = props;\n\n const gotoPlatform = () => {\n history.push(`/data-console/${platform.obs_dataset_id}`);\n };\n\n return (\n \n
\n \n
{platform.org_platform_id}
\n \n {platform.platform_name}\n
\n \n onRemove(platform)} style={{ color: brandingConfig.colors.grey }}>\n \n \n \n
\n );\n};\n\nCompareBox.propTypes = {\n platform: PropTypes.object,\n onRemove: PropTypes.func,\n};\n\nCompareBox.defaultProps = {\n platform: {},\n onRemove: () => {},\n};\n\nexport default CompareBox;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Col, Modal, Row,\n} from 'antd';\nimport { useHistory } from 'react-router';\n\nimport CompareBox from './CompareBox';\nimport { CloseIcon } from '../../../components/icons';\nimport { brandingConfig } from '../../../config';\n\nconst CompareModal = (props) => {\n const { platforms, onRemove, onReset } = props;\n\n const [modalVisible, setModalVisible] = useState();\n\n let columnOffset;\n\n switch (platforms.length) {\n case 1:\n columnOffset = 12;\n break;\n case 2:\n columnOffset = 6;\n break;\n default:\n columnOffset = 0;\n }\n\n useEffect(() => {\n setModalVisible(platforms.length > 0);\n }, [platforms]);\n\n const handleClose = () => {\n setModalVisible(false);\n onReset();\n };\n\n const history = useHistory();\n\n const gotoDetail = () => {\n const params = platforms.map((platform) => platform.obs_dataset_id).join(',');\n\n history.push({\n pathname: '/data-console-compare',\n search: `?ids=${params}`,\n });\n };\n\n return (\n }\n footer={null}\n onCancel={handleClose}\n style={{ pointerEvents: 'none' }}\n maskStyle={{ pointerEvents: 'none !important' }}\n >\n \n {platforms.map((platform, index) => (\n \n \n \n ))}\n \n
\n Compare up to 3 Platforms\n \n Compare\n \n
\n \n
\n \n );\n};\n\nCompareModal.propTypes = {\n platforms: PropTypes.array,\n onRemove: PropTypes.func,\n onReset: PropTypes.func,\n};\n\nCompareModal.defaultProps = {\n platforms: [],\n onRemove: () => {},\n onReset: () => {},\n};\n\nexport default CompareModal;\n","export default __webpack_public_path__ + \"static/media/loading.da507220.gif\";","import React from 'react';\nimport { useMediaQuery } from 'react-responsive';\n\nimport loading from '../../assets/loading.gif';\n\nconst Loading = () => {\n const isMobile = useMediaQuery({ maxWidth: 767 });\n\n const style = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n\n const mobileStyle = {\n position: 'absolute',\n top: '20%',\n left: '50%',\n transform: 'translate(-50%, -20%)',\n };\n\n return (\n
\n \"Loading...\"\n
\n );\n};\n\nLoading.propTypes = {\n};\n\nLoading.defaultProps = {\n};\n\nexport default Loading;\n","import React, {\n memo,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport { Button, Checkbox, Table } from 'antd';\nimport { useQuery, useMutation } from 'react-query';\nimport moment from 'moment';\nimport { useMediaQuery } from 'react-responsive';\nimport { Link } from 'react-router-dom';\nimport lodash from 'lodash';\nimport ReactGA from 'react-ga4';\nimport {\n HeartFilled,\n HeartOutlined,\n} from '@ant-design/icons';\nimport { DataConsoleEvent } from '../../constant/google-analytics/constant';\nimport TileView from './components/TileView';\nimport { columns, columnsMobile } from './config';\nimport {\n getDatasetSummaries,\n getObsLatestData,\n parameterConfigurations,\n getRegisteredParameters,\n} from '../../services/dataset.service';\nimport MapQueryTypes from '../../services/query-types/map';\nimport { getUserFavoritePlatforms, createUserFavorite, deleteUserFavorite } from '../../services/profile.service';\nimport ProfileQueryTypes from '../../services/query-types/profile';\nimport UserContext from '../../contexts/UserContext';\nimport './styles.scss';\nimport PlatformsFilter from './components/PlatformsFilter';\nimport { getLatestParameterDate, getParameters, platformGroupings } from '../../utils';\nimport CompareModal from './components/CompareModal';\nimport { statuses } from '../dashboard/constant';\nimport appConfig, { brandingConfig } from '../../config/index';\nimport MarkerStatus from '../../components/icons/MarkerStatus';\nimport Loading from '../../components/loading';\nimport NoFavorites from './components/NoFavorites';\n\nconst formatType = (str) => {\n if (!str) {\n return;\n }\n\n let i;\n const frags = str.split('_');\n\n for (i = 0; i < frags.length; i++) {\n frags[i] = frags[i].charAt(0).toUpperCase() + frags[i].slice(1);\n }\n\n return frags.join(' ');\n};\n\nconst DataConsole = () => {\n const isMobile = useMediaQuery({ maxWidth: 760 });\n const [comparePlatforms, setComparePlatforms] = useState([]);\n const [datasetData, setDatasetData] = useState([]);\n const [listView, setListView] = useState(true);\n const [desktopListView, setDesktopListView] = useState(!isMobile);\n const [searchQuery, setSearchQuery] = useState();\n const [selectedLake, setSelectedLake] = useState([]);\n const [selectedPlatformTypes, setSelectedPlatformTypes] = useState(['buoy', 'tower']);\n const [selectedStatus, setSelectedStatus] = useState(\n statuses.filter((status) => status.title === 'Activated' || status.title === 'Unavailable').map((status) => status.title),\n );\n const [sortOrder, setSortOrder] = useState({});\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n const { cognitoUser, unitPreferences } = useContext(UserContext);\n const [currentTab, setCurrentTab] = useState('favorite-datasets');\n const [favoriteDatasets, setFavoriteDatasets] = useState([]);\n const [nestDatasets, setNestDatasets] = useState([]);\n const [seagullDatasets, setSeagullDatasets] = useState([]);\n\n const updateWidth = () => {\n setWindowWidth(window.innerWidth);\n if (windowWidth < 1360) {\n setListView(true);\n } else if (windowWidth >= 1360 && desktopListView) {\n setListView(true);\n }\n };\n useEffect(() => {\n // Attach event on window which will track window size changes and store the width in state\n window.addEventListener('resize', updateWidth);\n return () => window.removeEventListener('resize', updateWidth);\n }, [windowWidth]);\n\n const {\n data: obsDatasetSummariesResult,\n isLoading: obsDatasetSummariesIsLoading,\n } = useQuery(\n MapQueryTypes.REST_OBS_DATASET_SUMMARIES,\n getDatasetSummaries,\n { refetchOnWindowFocus: false },\n );\n\n const { data: observationalDataResult } = useQuery(\n MapQueryTypes.REST_OBSERVATIONAL_LATEST_DATA,\n () => getObsLatestData(),\n { refetchOnWindowFocus: false },\n );\n\n const { data: parameterConfigurationsResult } = useQuery(MapQueryTypes.REST_PARAMETER_CONFIGURATIONS, parameterConfigurations, {\n refetchOnWindowFocus: false,\n });\n\n const {\n data: registeredParametersResult,\n isLoading: registeredParametersIsLoading,\n } = useQuery(MapQueryTypes.REST_PARAMETERS_REGISTERED_DATACONSOLE, getRegisteredParameters, { refetchOnWindowFocus: false });\n\n const {\n data: favoritePlatformData,\n refetch: favoritesRefetchPlatforms,\n } = useQuery(\n ProfileQueryTypes.REST_PROFILE_FAVORITE_PLATFORMS,\n getUserFavoritePlatforms,\n {\n refetchOnWindowFocus: false,\n enabled: !!cognitoUser?.username,\n },\n );\n\n const deleteFavoritePlatformMutation = useMutation((data) => deleteUserFavorite(data));\n const handleDeleteFavoritePlatform = (favId) => {\n deleteFavoritePlatformMutation.mutate(\n {\n id: favId,\n },\n {\n onSuccess: favoritesRefetchPlatforms,\n },\n );\n };\n\n const addFavoritePlatformMutation = useMutation((id) => createUserFavorite(id));\n const handleAddFavoritePlatform = (id) => {\n addFavoritePlatformMutation.mutate(\n {\n obs_dataset_id: id,\n nickname: '',\n },\n {\n onSuccess: favoritesRefetchPlatforms,\n },\n );\n };\n\n const {\n setAuthDrawerOpen,\n } = useContext(UserContext);\n\n const onClickSignIn = () => {\n setAuthDrawerOpen(true);\n };\n\n const handleFavoriteClick = (id, isFavorite) => {\n if (!cognitoUser) {\n onClickSignIn();\n }\n if (cognitoUser) {\n if (isFavorite) {\n handleDeleteFavoritePlatform(id);\n } else {\n handleAddFavoritePlatform(id);\n }\n }\n };\n\n const getFavoriteButton = (platform) => {\n let icon = (\n \n );\n let isFavorite = false;\n let trackingId = platform.obs_dataset_id;\n\n if (favoritePlatformData?.length > 0) {\n const favoriteData = favoritePlatformData.filter((fp) => fp.obs_dataset_id === platform.obs_dataset_id);\n if (favoriteData.length > 0) {\n icon = (\n \n );\n isFavorite = true;\n trackingId = favoriteData[0].obs_dataset_favorite_id;\n }\n }\n\n return (\n handleFavoriteClick(trackingId, isFavorite)}\n shape=\"circle\"\n size=\"small\"\n style={{\n border: 'none', backgroundColor: brandingConfig.colors.accent1, color: '#fff', marginLeft: listView ? 20 : 2,\n }}\n />\n );\n };\n\n const handleCompare = (e, platform) => {\n const { checked } = e.target;\n\n if (checked && comparePlatforms.length < 3) {\n setComparePlatforms((prevPlatforms) => [...prevPlatforms, platform]);\n } else if (!checked) {\n const newPlatforms = [...comparePlatforms];\n const platformIdx = newPlatforms.findIndex((o) => o.obs_dataset_id === platform.obs_dataset_id);\n if (platformIdx > -1) {\n newPlatforms.splice(platformIdx, 1);\n\n setComparePlatforms(newPlatforms);\n }\n }\n };\n\n const handleCompareRemove = (platform) => {\n const newPlatforms = [...comparePlatforms];\n const platformIdx = newPlatforms.findIndex((o) => o.obs_dataset_id === platform.obs_dataset_id);\n if (platformIdx > -1) {\n newPlatforms.splice(platformIdx, 1);\n\n setComparePlatforms(newPlatforms);\n }\n };\n\n const handleCompareReset = () => setComparePlatforms([]);\n\n useEffect(() => {\n if (\n obsDatasetSummariesResult\n && obsDatasetSummariesResult?.code !== 500\n && observationalDataResult\n && parameterConfigurationsResult\n && registeredParametersResult\n ) {\n const tableData = [];\n let obsSummariesFiltered = obsDatasetSummariesResult;\n obsSummariesFiltered = obsSummariesFiltered.filter((osf) => osf.obs_dataset_platform_assignment?.platform.external_id_type !== 'omics_sample_site');\n for (let i = 0; i < obsSummariesFiltered.length; i++) {\n const latestDate = getLatestParameterDate(obsSummariesFiltered[i], observationalDataResult, true);\n obsSummariesFiltered[i].latestDate = latestDate;\n const timeSince = moment().diff(moment(latestDate), 'hours');\n const externalIdType = obsSummariesFiltered[i]?.obs_dataset_platform_assignment?.platform.external_id_type;\n\n // TODO: refactor this platform status logic to be part of getObsLatestData rather than repeating it in several components\n // TODO: refactor platform statuses to be a constant/enum rather than repeated strings\n // exclude ESP sites from old data cutoff\n if (timeSince > appConfig.oldDataCutoffInHours && externalIdType !== 'esp_site') {\n if (obsSummariesFiltered[i].obs_dataset_platform_assignment.platform?.platform_event) {\n // only set ACTIVE platforms to unavailable if there is no recent data\n if (obsSummariesFiltered[i].obs_dataset_platform_assignment.platform.platform_event.event === 'activated') {\n obsSummariesFiltered[i].obs_dataset_platform_assignment.platform.platform_event.event = 'unavailable';\n obsSummariesFiltered[i].obs_dataset_platform_assignment.platform.platform_event.collection_status = 'unavailable';\n }\n }\n }\n }\n\n if (searchQuery) {\n obsSummariesFiltered = obsSummariesFiltered.filter((o) => o.org_platform_id.toLowerCase() === searchQuery\n || o.platform_name.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n\n if (selectedLake && selectedLake.length > 0) {\n const selectedLakeArr = selectedLake.map((lake) => `lake-${lake.toLowerCase()}`);\n obsSummariesFiltered = obsSummariesFiltered.filter(\n (o) => selectedLakeArr.includes(o.deployment_site.body_of_water),\n );\n }\n\n if (selectedPlatformTypes && selectedPlatformTypes.length > 0) {\n obsSummariesFiltered = obsSummariesFiltered.filter((o) => (\n selectedPlatformTypes.some((item) => {\n const platformType = o.obs_dataset_platform_assignment?.platform?.platform_type;\n return (\n platformGroupings[item].includes(platformType)\n );\n })\n ));\n }\n\n if (selectedStatus && selectedStatus.length > 0) {\n const selectedStatusArr = selectedStatus.map((status) => status.split(' ').join('_').toLowerCase());\n obsSummariesFiltered = obsSummariesFiltered.filter(\n (o) => selectedStatusArr.includes(o.obs_dataset_platform_assignment?.platform.platform_event?.event),\n );\n }\n\n if (sortOrder) {\n const obsSummariesFilteredOrig = obsSummariesFiltered;\n const { type: orderBy, order: orderByDir } = sortOrder;\n const orderByName = orderBy === 'id' ? 'org_platform_id' : 'platform_name';\n\n obsSummariesFiltered = lodash.isEmpty(sortOrder)\n ? obsSummariesFilteredOrig\n : lodash.orderBy(obsSummariesFiltered, [orderByName], [orderByDir]);\n }\n\n obsSummariesFiltered.forEach((datasetRow) => {\n const platformDataset = datasetRow.obs_dataset_platform_assignment;\n\n const parameterData = getParameters({\n dataset: datasetRow,\n obsData: observationalDataResult,\n parameterConfigurations: parameterConfigurationsResult,\n registeredParameters: registeredParametersResult,\n unitPreferences,\n });\n\n let isFavorite = false;\n if (favoritePlatformData) {\n if (favoritePlatformData.msg && favoritePlatformData.msg === 'Signature verification failed') {\n console.log('WARNING: login signature failed');\n } else {\n const findFavorite = favoritePlatformData.filter((fpd) => fpd.obs_dataset_id === platformDataset.obs_dataset_id);\n isFavorite = findFavorite.length > 0;\n }\n }\n\n const latestDate = getLatestParameterDate(datasetRow, observationalDataResult, true);\n const timeAgo = latestDate ? moment(latestDate).fromNow() : '';\n\n if (platformDataset.platform.platform_event && platformDataset.platform.platform_event.event === 'activated' && !datasetRow.latestDate) {\n platformDataset.platform.platform_event.event = 'unavailable';\n }\n\n const properties = platformDataset.platform.platform_event;\n properties.organization_id = datasetRow.organization_id;\n\n const statusEl = platformDataset.platform.platform_event ? (\n \n \n \n ) : (\n \n );\n\n const datasetDataRow = {\n key: datasetRow.obs_dataset_id,\n platform_id: listView && isMobile ? (\n \n {datasetRow.org_platform_id}\n \n ) : (\n \n {datasetRow.org_platform_id}\n \n ),\n platform_name: listView ? (\n \n {datasetRow.platform_name}\n \n ) : (\n \n {datasetRow.platform_name}\n \n ),\n type: formatType(platformDataset.platform.platform_type),\n status: statusEl,\n updated: timeAgo,\n updated_raw: datasetRow.latestDate,\n parameters: parameterData,\n dataset: platformDataset,\n favorites: getFavoriteButton(datasetRow),\n };\n\n // Add dynamic data\n for (let i = 0; i < parameterData.length; i++) {\n const parameterItem = parameterData[i];\n datasetDataRow[\n parameterItem.standard_name\n ] = `${parameterItem.value}${parameterItem.unit}`;\n }\n\n datasetDataRow.compare = (\n platform.obs_dataset_id === datasetRow.obs_dataset_id)}\n checked={comparePlatforms.some((platform) => platform.obs_dataset_id === datasetRow.obs_dataset_id)}\n onChange={(e) => handleCompare(e, datasetRow)}\n style={{ color: '#fff', marginLeft: '20px' }}\n >\n {!listView ? ' Compare' : ''}\n \n );\n tableData.push(datasetDataRow);\n });\n\n setDatasetData(tableData);\n\n if (favoritePlatformData?.length > 0) {\n // set favorite datasets\n const favoriteDatasetIds = favoritePlatformData.map((f) => f.obs_dataset_id);\n const favoriteData = tableData.filter((platform) => favoriteDatasetIds.includes(platform.dataset.obs_dataset_id));\n setFavoriteDatasets(favoriteData);\n }\n\n // set datasets in nest\n const nestData = tableData.filter((d) => d.dataset.platform.organization_id === brandingConfig.filters.organizationId);\n setNestDatasets(nestData);\n\n // set datasets NOT in nest. If this is base Seagull (not a nest) this will be all datasets\n const seagullData = tableData.filter((d) => d.dataset.platform.organization_id !== brandingConfig.filters.organizationId);\n setSeagullDatasets(seagullData);\n }\n }, [\n columns,\n comparePlatforms,\n obsDatasetSummariesResult,\n observationalDataResult,\n parameterConfigurationsResult,\n registeredParametersResult,\n listView,\n searchQuery,\n selectedLake,\n selectedPlatformTypes,\n selectedStatus,\n sortOrder,\n favoritePlatformData,\n unitPreferences,\n ]);\n\n const handleLakeFilter = (lake, checked) => {\n let lakes = [...selectedLake];\n if (checked) {\n lakes.push(lake);\n } else {\n lakes = lakes.filter((stat) => stat !== lake);\n }\n setSelectedLake(lakes);\n ReactGA.event({ ...DataConsoleEvent.LakeFilterSelect, label: `${lake}` });\n };\n\n const handlePlatformChange = (platformType, checked) => {\n let platformTypes = [...selectedPlatformTypes];\n\n if (checked) {\n platformTypes.push(platformType);\n } else {\n platformTypes = platformTypes.filter((stat) => stat !== platformType);\n }\n setSelectedPlatformTypes(platformTypes);\n ReactGA.event({ ...DataConsoleEvent.PlatformTypeFilter, label: `${platformType}` });\n };\n\n const handleSearch = (e) => setSearchQuery(e.target.value);\n\n const handleStatusChange = (status, checked) => {\n let newStatuses = [...selectedStatus];\n if (checked) {\n newStatuses.push(status);\n } else {\n newStatuses = newStatuses.filter((stat) => stat !== status);\n }\n\n setSelectedStatus(newStatuses);\n ReactGA.event({ ...DataConsoleEvent.PlatformStatusFilter, label: `${status}` });\n };\n\n const handleSort = (value) => {\n const [type, order] = value.split('_');\n\n setSortOrder({\n type,\n order,\n });\n };\n\n const toggleView = () => {\n setListView(!listView);\n setDesktopListView(!desktopListView);\n ReactGA.event(DataConsoleEvent.ListViewToggled);\n };\n\n const handleTabChange = (key) => {\n setCurrentTab(key);\n };\n\n const getTableData = () => {\n if (currentTab === 'favorite-datasets') {\n return favoriteDatasets;\n }\n\n if (currentTab === 'nest-datasets') {\n return nestDatasets;\n }\n\n if (currentTab === 'seagull-datasets') {\n return seagullDatasets;\n }\n\n return datasetData;\n };\n\n return (\n
\n {!isMobile\n && (\n \n )}\n
\n {isMobile\n && (\n \n )}\n
\n {(obsDatasetSummariesIsLoading || registeredParametersIsLoading) ? (\n \n ) : (\n <>\n \n {listView ? (\n
\n : null }}\n />\n
\n ) : (\n \n )}\n \n )}\n
\n
\n
\n );\n};\n\nDataConsole.propTypes = {};\n\nDataConsole.defaultProps = {};\n\nexport default memo(DataConsole);\n","import React, { memo } from 'react';\nimport moment from 'moment-timezone';\nimport PropTypes from 'prop-types';\n\nimport './styles.scss';\n\nconst DatasetCard = (props) => {\n const {\n data,\n showCta,\n } = props;\n\n return (\n
\n
{data.title}
\n
{data._source.apiso_OrganizationName_txt}
\n
{moment(data.updated).tz(moment.tz.guess()).format('MMM Do YYYY, h:mm a')}
\n {showCta && (\n
\n {/*
download
\n
add
*/}\n
\n )}\n
\n );\n};\n\nDatasetCard.propTypes = {\n data: PropTypes.object,\n showCta: PropTypes.bool,\n};\n\nDatasetCard.defaultProps = {\n data: {},\n showCta: false,\n};\n\nexport default memo(DatasetCard);\n","import { brandingConfig } from '../../config';\n\nconst tabsList = [\n 'About',\n // 'Platforms',\n 'Data',\n];\n\nconst filterList = [\n {\n icon: '',\n text: 'Lake Michigan',\n },\n {\n icon: '',\n text: 'Lake Huron',\n },\n {\n icon: '',\n text: 'Lake Superior',\n },\n {\n icon: '',\n text: 'Lake Erie',\n },\n {\n icon: '',\n text: 'Lake Ontario',\n },\n];\n\nif (brandingConfig.filters.organizationId) {\n filterList.unshift({\n icon: '',\n text: brandingConfig.labels.nestName,\n });\n}\n\nexport { filterList, tabsList };\n","import {\n Button, Col, Input, Row,\n} from 'antd';\nimport React, { memo, useEffect, useState } from 'react';\nimport { DownOutlined, SearchOutlined, UpOutlined } from '@ant-design/icons';\nimport { useMediaQuery } from 'react-responsive';\nimport { Link, useHistory, useLocation } from 'react-router-dom';\nimport DatasetCard from '../../components/search-results/datasetCard';\nimport { searchNonFunctionalMetadata } from '../../services/dataset.service';\nimport { filterList } from './constant';\nimport Loading from '../../components/loading';\nimport './styles.scss';\n\nconst Dataset = () => {\n const PAGE_SIZE = 10;\n const isMobile = useMediaQuery({ maxWidth: 760 });\n const { search } = useLocation();\n\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n const [data, setData] = useState([]);\n const [isLoading, setIsLoading] = useState([]);\n const [searchText, setSearchText] = useState('');\n const [searchFilters, setSearchFilters] = useState([]);\n const [searchStart, setSearchStart] = useState(0);\n const [currentPage, setCurrentPage] = useState(1);\n const [totalPages, setTotalPages] = useState(1);\n const [searchActive, setSearchActive] = useState(false);\n const [showLess, setShowLess] = useState(false);\n\n const onShowLess = () => setShowLess(!showLess);\n\n const updateWidth = () => {\n setWindowWidth(window.innerWidth);\n };\n\n const searchParams = new URLSearchParams(search);\n const history = useHistory();\n\n useEffect(() => {\n // Attach event on window which will track window size changes and store the width in state\n window.addEventListener('resize', updateWidth);\n return () => window.removeEventListener('resize', updateWidth);\n }, [windowWidth]);\n\n const findCurrentStart = (newPage) => (PAGE_SIZE * (newPage - 1)) + 1;\n\n useEffect(() => {\n const urlSearchText = searchParams.get('search');\n setSearchText(urlSearchText);\n\n const urlFilters = searchParams.get('filters');\n const newFilters = [];\n if (urlFilters) {\n const splitFilters = urlFilters.split(',');\n\n splitFilters.forEach((filter) => {\n newFilters.push(filter);\n });\n\n setSearchFilters(newFilters);\n }\n\n const urlPage = searchParams.get('page');\n if (urlPage) {\n setCurrentPage(parseInt(urlPage, 10));\n setSearchStart(findCurrentStart(parseInt(urlPage, 10)));\n } else {\n setCurrentPage(1);\n }\n\n setSearchActive(true);\n }, []);\n\n useEffect(() => {\n let queryString = searchText || (searchFilters && searchFilters.length > 0) ? '' : '?';\n let queryActive = false;\n\n if (searchText && searchText.length > 0) {\n queryString += `search=${searchText}`;\n queryActive = true;\n }\n\n if (searchFilters && searchFilters.length > 0) {\n if (queryActive) {\n queryString += '&';\n }\n\n queryString += `filters=${searchFilters?.join(',')}`;\n queryActive = true;\n }\n\n if (currentPage > 1) {\n if (queryActive) {\n queryString += '&';\n }\n\n queryString += `page=${currentPage}`;\n queryActive = true;\n }\n\n if (queryActive) {\n history.push({ search: queryString });\n } else {\n history.push({ search: null });\n }\n }, [searchText, searchFilters, currentPage]);\n\n useEffect(() => {\n if (searchActive) {\n searchNonFunctionalMetadata(searchText, searchFilters, searchStart, PAGE_SIZE).then((newData) => {\n setData(newData.data);\n setIsLoading(false);\n setTotalPages(Math.ceil(newData.data.total / PAGE_SIZE));\n setSearchActive(false);\n });\n }\n }, [searchActive]);\n\n const submitSearch = () => {\n setIsLoading(true);\n setSearchStart(0);\n setCurrentPage(1);\n setSearchActive(true);\n };\n\n const enterKeyCheck = (e) => {\n if (e.key === 'Enter') {\n submitSearch();\n }\n };\n\n const filterClicked = (ev) => {\n let currentFilters = [...searchFilters];\n if (!currentFilters) {\n currentFilters = [];\n }\n\n const currentFilterIndex = currentFilters.indexOf(ev);\n if (currentFilterIndex > -1) {\n currentFilters.splice(currentFilterIndex, 1);\n } else {\n currentFilters.push(ev);\n }\n\n setSearchFilters(currentFilters);\n setSearchActive(true);\n };\n\n const pageUpdate = (number) => {\n const cp = currentPage;\n const np = cp + number;\n\n if (np > totalPages) {\n setCurrentPage(cp);\n setSearchStart(findCurrentStart(cp));\n } else if (np < 1) {\n setSearchStart(0);\n setCurrentPage(1);\n } else {\n setCurrentPage(np);\n setSearchStart(findCurrentStart(np));\n }\n\n setSearchActive(true);\n };\n\n const activeFilter = (name) => searchFilters.indexOf(name) > -1;\n\n return (\n
\n <>\n

Datasets

\n \n \n \n \n
\n \n }\n placeholder=\"Search Datasets\"\n size=\"medium\"\n value={searchText}\n onChange={(ev) => setSearchText(ev.target.value)}\n onKeyUp={(e) => enterKeyCheck(e)}\n />\n {isMobile\n ? (\n <>\n ) : (\n \n )}\n \n
\n \n
\n \n \n
\n \n \n {isMobile ? (\n <>\n
\n {filterList.map((filter, index) => (\n \n ))}\n
\n \n \n See\n {' '}\n {showLess ? 'more' : 'less' }\n  \n {showLess ? : }\n \n
\n \n ) : (\n
\n {filterList.map((filter, index) => (\n \n ))}\n
\n )}\n \n
\n
\n {data.results && (\n data.results.map((dp) => )\n )}\n
\n {data && (\n <>\n { data.num > 0\n ? (\n <>\n
\n \n
\n Page\n {currentPage}\n of\n {totalPages}\n
\n \n
\n
\n { data.total }\n Results\n
\n \n )\n : (\n isLoading ? (\n
\n \n
\n ) : (\n No results\n )\n )}\n \n )}\n
\n
\n );\n};\n\nDataset.propTypes = {};\n\nDataset.defaultProps = {};\n\nexport default memo(Dataset);\n","import React, { memo } from 'react';\nimport { Breadcrumb } from 'antd';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { brandingConfig } from '../../../config';\n\nconst BreadcrumbComp = (props) => {\n const { items } = props;\n\n return (\n \n \n Datasets\n \n {items.map((item, index) => (\n \n {item.name}\n \n ))}\n \n );\n};\n\nBreadcrumbComp.propTypes = {\n items: PropTypes.array,\n};\n\nBreadcrumbComp.defaultProps = {\n items: [],\n};\n\nexport default memo(BreadcrumbComp);\n","import React, { memo } from 'react';\nimport { useQuery } from 'react-query';\nimport PropTypes from 'prop-types';\nimport {\n Col,\n Row,\n} from 'antd';\nimport {\n CalendarOutlined,\n} from '@ant-design/icons';\nimport moment from 'moment-timezone';\n\nimport { Link } from 'react-router-dom';\nimport BreadcrumbComp from './Breadcrumb';\nimport { brandingConfig } from '../../../config';\nimport { getOrganizations } from '../../../services/organization.service';\nimport MapQueryTypes from '../../../services/query-types/map';\n\nconst DatasetDetailHeader = (props) => {\n const {\n breadcrumb, dataset, isMobile,\n } = props;\n\n const {\n data: organizationsResult,\n refetch: organizationsRefetch,\n } = useQuery(MapQueryTypes.REST_ORGANIZATIONS, getOrganizations, { refetchOnWindowFocus: false });\n\n if (!organizationsResult) {\n organizationsRefetch();\n }\n\n const updatedDate = () => {\n if (dataset?.sys_modified_dt) {\n const date = moment(dataset?.sys_modified_dt).tz(moment.tz.guess());\n return date.format('MMM Do YYYY, h:mm a');\n }\n };\n\n // Finds the organization for the selected dataset\n const organization = organizationsResult?.find((org) => org.name === dataset?.apiso_OrganizationName_txt);\n\n return (\n <>\n
\n {breadcrumb && }\n \n \n
\n
{dataset?.apiso_Title_txt}
\n
\n {dataset?.apiso_OrganizationName_txt}\n
\n \n  \n Last Updated: \n {updatedDate()}\n
\n
\n
\n \n \n \n
\n \n );\n};\n\nDatasetDetailHeader.propTypes = {\n breadcrumb: PropTypes.array,\n dataset: PropTypes.object,\n isMobile: PropTypes.bool,\n};\n\nDatasetDetailHeader.defaultProps = {\n breadcrumb: [],\n dataset: {},\n isMobile: false,\n};\n\nexport default memo(DatasetDetailHeader);\n","export const columns = [\n {\n title: 'Type',\n dataIndex: 'type',\n width: '2%',\n },\n {\n title: 'Name',\n dataIndex: 'filename',\n width: '25%',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.filename || '';\n const bCopy = b.filename || '';\n return aCopy.localeCompare(bCopy);\n },\n },\n {\n title: 'Size',\n dataIndex: 'readable_size',\n width: '8%',\n sortDirections: ['descend', 'ascend'],\n sorter: (a, b) => {\n const aCopy = a.sortable_size;\n const bCopy = b.sortable_size;\n return aCopy > bCopy ? 1 : -1;\n },\n },\n {\n title: 'Download',\n dataIndex: 'download',\n width: '2%',\n align: 'center',\n },\n];\n","import React, {\n memo,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport {\n Tabs,\n Col,\n Row,\n Table,\n Button,\n Tooltip,\n} from 'antd';\nimport {\n FileExcelOutlined,\n FileOutlined,\n FileGifOutlined,\n FileImageOutlined,\n FileJpgOutlined,\n FilePdfOutlined,\n FileWordOutlined,\n FileZipOutlined,\n DownloadOutlined,\n CopyOutlined,\n ArrowRightOutlined,\n} from '@ant-design/icons';\nimport { useParams } from 'react-router';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\nimport DatasetDetailHeader from '../components/DatasetDetailHeader';\nimport { getHostedNonFunctionalDataset, getNonFunctionalMetadata } from '../../../services/dataset.service';\n\nimport { columns } from './config';\nimport { tabsList } from '../constant';\nimport './styles.scss';\n\nconst { TabPane } = Tabs;\n\nconst DatasetDetail = () => {\n // datasetId is going to be the GUID from geoportal -> we get that, we then get the hosted files if we can\n const { id: geoportalId } = useParams();\n const isMobile = useMediaQuery({ maxWidth: 760 });\n const [activeTab, setActiveTab] = useState('About');\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n const [fileInfos, setFileInfos] = useState(null);\n const [datasetId, setDatasetId] = useState(null);\n const [metadataInfo, setMetadataInfo] = useState(null);\n const [metadataLinks, setMetadataLinks] = useState([]);\n const [dataTabVisible, setDataTabVisible] = useState(false);\n\n const updateWidth = () => {\n setWindowWidth(window.innerWidth);\n };\n\n useEffect(() => {\n // Attach event on window which will track window size changes and store the width in state\n window.addEventListener('resize', updateWidth);\n return () => window.removeEventListener('resize', updateWidth);\n }, [windowWidth]);\n\n const breadcrumb = [\n {\n name: metadataInfo?.apiso_Title_txt,\n href: `/data-console/${geoportalId}`,\n },\n ];\n\n const getFileIcon = (filename) => {\n const lastIndex = filename.lastIndexOf('.');\n const extension = filename.substring(lastIndex + 1, filename.length);\n\n switch (extension.toLowerCase()) {\n case 'csv':\n return ;\n case 'xls':\n return ;\n case 'xlsx':\n return ;\n case 'png':\n return ;\n case 'tga':\n return ;\n case 'tif':\n return ;\n case 'tiff':\n return ;\n case 'gif':\n return ;\n case 'jpg':\n return ;\n case 'jpeg':\n return ;\n case 'pdf':\n return ;\n case 'doc':\n return ;\n case 'docx':\n return ;\n case 'zip':\n return ;\n default:\n return ;\n }\n };\n\n const getFileSize = (initialSize) => {\n let size = initialSize;\n\n if (Math.abs(size < 1024)) {\n return `${size}B`;\n }\n\n const units = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let u = -1;\n\n do {\n size /= 1024;\n ++u;\n } while (Math.round(Math.abs(size) * 10) / 10 >= 1024 && u < units.length - 1);\n\n return `${size.toFixed(2)} ${units[u]}`;\n };\n\n useEffect(() => {\n if (geoportalId) {\n getNonFunctionalMetadata(geoportalId).then((data) => {\n if (data.status === 200) {\n setMetadataInfo(data.data?._source);\n\n if (data.data?._source.seagull_dataset_id_i && Number.isInteger(data.data?._source.seagull_dataset_id_i)) {\n setDatasetId(data.data?._source.seagull_dataset_id_i);\n }\n }\n });\n }\n }, []);\n\n useEffect(() => {\n const links = [];\n\n if (metadataInfo) {\n const uniqueLinks = [...new Set(metadataInfo.links_s)];\n uniqueLinks.forEach((link) => {\n links.push(\n \n \n {link}\n \n \n \n \n