From 09e5f1df778bfad26c36c0f930b87f834116838e Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 10 Apr 2024 12:30:03 -0400 Subject: [PATCH 01/12] WV-3143: Add notices on deprecated NSIDC layers (#5102) * Add notices on deprecated NSIDC layers * update freeze/thaw doi * Update Sentinel-2A and -2B to have dashes --- .../amsre/MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE.md | 4 ++++ .../layers/multi-mission/hls/HLS_Color_Infrared_Landsat.md | 2 +- .../layers/multi-mission/hls/HLS_Color_Infrared_Sentinel.md | 2 +- .../layers/multi-mission/hls/HLS_Customizable_Landsat.md | 2 +- .../layers/multi-mission/hls/HLS_Customizable_Sentinel.md | 2 +- .../layers/multi-mission/hls/HLS_False_Color_Landsat.md | 2 +- .../layers/multi-mission/hls/HLS_False_Color_Sentinel.md | 2 +- .../layers/multi-mission/hls/HLS_False_Color_Urban_Landsat.md | 2 +- .../multi-mission/hls/HLS_False_Color_Urban_Sentinel.md | 2 +- .../multi-mission/hls/HLS_False_Color_Vegetation_Landsat.md | 2 +- .../multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.md | 2 +- .../hls/HLS_L30_Nadir_BRDF_Adjusted_Reflectance.md | 2 +- .../layers/multi-mission/hls/HLS_Moisture_Index_Landsat.md | 2 +- .../layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDSI_Landsat.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDSI_Sentinel.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDVI_Landsat.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDVI_Sentinel.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDWI_Landsat.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_NDWI_Sentinel.md | 2 +- .../hls/HLS_S30_Nadir_BRDF_Adjusted_Reflectance.md | 2 +- .../metadata/layers/multi-mission/hls/HLS_SWIR_Sentinel.md | 2 +- .../multi-mission/hls/HLS_Shortwave_Infrared_Landsat.md | 2 +- .../multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.md | 2 +- .../layers/multi-mission/hls/HLS_True_Color_Landsat.md | 2 +- .../layers/multi-mission/hls/HLS_True_Color_Sentinel.md | 2 +- .../layers/ssmi/MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI.md | 4 ++++ .../metadata/layers/ssmi/SSMIS_Sea_Ice_Concentration.md | 4 ++++ .../common/config/metadata/stories/hls_intro/step002.md | 2 +- .../common/config/metadata/stories/hls_intro/step004.md | 2 +- .../common/config/metadata/stories/hls_intro/step005.md | 2 +- .../common/config/metadata/stories/hls_intro/step006.md | 2 +- .../common/config/metadata/stories/hls_intro/step007.md | 2 +- .../common/config/metadata/stories/hls_intro/step009.md | 2 +- .../common/config/metadata/stories/hls_intro/step010.md | 2 +- .../common/config/metadata/stories/hls_intro/step012.md | 2 +- .../layers/multi-mission/hls/HLS_Customizable_Sentinel.json | 4 ++-- .../layers/multi-mission/hls/HLS_False_Color_Sentinel.json | 2 +- .../multi-mission/hls/HLS_False_Color_Urban_Sentinel.json | 2 +- .../hls/HLS_False_Color_Vegetation_Sentinel.json | 2 +- .../layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.json | 2 +- .../wv.json/layers/multi-mission/hls/HLS_NDSI_Sentinel.json | 2 +- .../wv.json/layers/multi-mission/hls/HLS_NDVI_Sentinel.json | 2 +- .../wv.json/layers/multi-mission/hls/HLS_NDWI_Sentinel.json | 2 +- .../multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.json | 2 +- 45 files changed, 55 insertions(+), 43 deletions(-) diff --git a/config/default/common/config/metadata/layers/amsre/MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE.md b/config/default/common/config/metadata/layers/amsre/MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE.md index d900628ce2..333e51c111 100644 --- a/config/default/common/config/metadata/layers/amsre/MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE.md +++ b/config/default/common/config/metadata/layers/amsre/MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE.md @@ -1,3 +1,7 @@ +**NOTE: These Freeze / Thaw (Daily Landscape) images are no longer being updated and may no longer reflect the most recent version of the underlying data set.** MEaSUREs AMSR-E Freeze Thaw data (doi:[10.5067/LJ6SLXNJB2CQ](https://doi.org/10.5067/LJ6SLXNJB2CQ)) are available for download from the NASA NSIDC DAAC without corresponding GIBS/Worldview imagery. Users interested in forward processing freeze/thaw imagery should refer to the SMAP Freeze/Thaw 36km (L3, Passive, Day) or SMAP Freeze/Thaw 9km (L3, Passive, Day) layers. + +*** + The AMSR-E Daily Landscape Freeze/Thaw layer shows the predominant daily frozen or non-frozen (thawed) status of the landscape in vegetated regions where seasonal frozen temperatures are a major constraint to ecosystem processes. It is derived using a temporal change classification of calibrated radiometric brightness temperatures at 36.5 GHz frequency from the AMSR-E instrument. The layer shows 4 states: frozen, non-frozen (thawed), transitional (AM frozen, PM thawed) and inverse transitional (AM thawed, PM frozen) conditions. The freeze/thaw layer is useful for assessing the impact of freeze/thaw variations on vegetation growing seasons and land-atmosphere carbon exchange; snow cover, permafrost and active layer properties; surface energy and water budgets; distinguishing freeze/thaw dynamics in accordance with regional terrain features, weather events, seasonal and annual climate anomalies, and long-term climate changes. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Landsat.md index f00c545b95..b6c4896eb9 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 5-4-3, False Color) imagery layer is a false color composite that is used to gauge plant health and assess plant density. Plants reflect in near infrared and green light, while absorbing in red. Areas with better vegetation health appear red, and denser plant growth is a darker red. Cities, urban areas, and exposed ground appear grey or tan and water is blue or black. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Sentinel.md index 183f006103..5ebb304012 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Color_Infrared_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 8-4-3, False Color) imagery layer is a false color composite that is used to gauge plant health and assess plant density. Plants reflect in near infrared and green light, while absorbing in red. reas with better vegetation health appear red, and denser plant growth is a darker red. Cities, urban areas, and exposed ground appear grey or tan and water is blue or black. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and -2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Landsat.md index 8ce4ff6d15..f600a26905 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Landsat.md @@ -2,7 +2,7 @@ This Reflectance imagery layer can be customized to display any available Red-Green-Blue (R-G-B) band combination. Select the desired combination in via the Options panel. The layer is dynamically generated, therefore it may take longer to display. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Sentinel.md index 8acd074ea8..97b51ad36a 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Customizable_Sentinel.md @@ -2,7 +2,7 @@ This Reflectance imagery layer can be customized to display any available Red-Green-Blue (R-G-B) band combination. Select the desired combination in via the Options panel. The layer is dynamically generated, therefore it may take longer to display. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Landsat.md index 76c0b5518f..a8815bb02c 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 5-4-3, Color Infrared) imagery layer is a false color composite that is used to gauge plant health and assess plant density. Plants reflect in near infrared and green light, while absorbing in red. Areas with better vegetation health appear red, and denser plant growth is a darker red. Cities, urban areas, and exposed ground appear grey or tan and water is blue or black. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Sentinel.md index 20ef51920b..57650c4945 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 8-4-3, Color Infrared) imagery layer is a false color composite that is used to gauge plant health and assess plant density. Plants reflect in near infrared and green light, while absorbing in red. Areas with better vegetation health appear red, and denser plant growth is a darker red. Cities, urban areas, and exposed ground appear grey or tan and water is blue or black. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Landsat.md index 1955d9d63c..c58c169e35 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 7-6-4, Urban False Color) imagery layer is useful for visualizing urban areas more clearly. Urban areas are white, grey, or purple and vegetation appear in shades of green. Snow and ice are dark blue, and water is black or blue. Flooded areas are very dark blue, sometimes black. Wildfires and lava in calderas of volcanoes display in shades of yellow and red. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.md index bb7141d9f6..d73f7c7d17 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.md @@ -3,7 +3,7 @@ The dynamically generated Reflectance (Bands 12-11-4, Urban False Color) imagery layer is useful for visualizing urban areas more clearly. Urban areas are white, grey, or purple and vegetation appear in shades of green. Snow and ice are dark blue, and water is black or blue. Flooded areas are very dark blue, sometimes black. Wildfires and lava in calderas of volcanoes display in shades of yellow and red. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Landsat.md index b73deeb240..a811a77498 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 6-5-4, Vegetative Analysis False Color) imagery layer is useful for looking at vegetation. Vegetation are in shades of green. Burned areas appear bright red, while bare ground appear light red/pink. Water is black. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.md index 544667499a..2cbd0dc69c 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 11-8A-4, Vegetative Analysis False Color) imagery layer is useful for looking at vegetation. Vegetation are in shades of green. Burned areas appear bright red, while bare ground appear light red/pink. Water is black. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_L30_Nadir_BRDF_Adjusted_Reflectance.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_L30_Nadir_BRDF_Adjusted_Reflectance.md index 4c890d36bb..89d7194071 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_L30_Nadir_BRDF_Adjusted_Reflectance.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_L30_Nadir_BRDF_Adjusted_Reflectance.md @@ -1,5 +1,5 @@ The Reflectance (Nadir BRDF Adjusted) imagery layer from Landsat 8 and 9/OLI is a true-color or natural color image because this combination of wavelengths is similar to what the human eye would see. It consists of natural-looking images of land surface, oceanic and atmospheric features. The Reflectance (Nadir BRDF Adjusted) imagery layer from Landsat 8 and 9/OLI provides 30m Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) and is derived from a combination of the joint NASA/USGS Landsat 8 and Landsat 9 Operational Land Imager (OLI) data products through the Harmonized Landsat and Sentinel-2 (HLS) project. -The Reflectance (Nadir BRDF Adjusted) imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance (Nadir BRDF Adjusted) imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. References: HLSL30 v002 [doi:10.5067/HLS/HLSL30.002](https://doi.org/10.5067/HLS/HLSL30.002) diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Landsat.md index 3c23e7091c..059908f068 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Moisture Index (NDMI) (B5-B6)/(B5+B6) imagery layer is an index to determine vegetation water content and monitor drought. It is calculated using near infrared and shortwave infrared (SWIR) wavelengths using the calculation NDMI = (B5-B6)/(B5+B6). On the rainbow color scale, darker blue colors represent high canopy without water stress, and greenish to yellow colors area areas approaching water stress. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.md index 74ed26a8de..4e7b971669 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Moisture Index (NDMI) (B8A-B11)/(B8A+B11) imagery layer is an index to determine vegetation water content and monitor drought. It is calculated using near infrared and shortwave infrared (SWIR) wavelengths using the calculation NDMI = (B8A-B11)/(B8A+B11). On the rainbow color scale, darker blue colors represent high canopy without water stress, and greenish to yellow colors area areas approaching water stress. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Landsat.md index 0b731cc36c..c8b45a257b 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Snow Index (NDSI) (B3-B6)/(B3+B6) imagery layer is an index for quantifying snow cover. It can also be used to differentiate snow from cloud cover because while snow absorbs in the shortwave infrared light, it reflects the visible light, and cloud is generally reflective in both wavelengths. Snow cover is shown in dark blues. It is calculated using the calculation NDSI = (B3-B6)/(B3+B6). -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Sentinel.md index 00f3d8e702..fda7447686 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDSI_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Snow Index (NDSI) (B3-B11)/(B3+B11) imagery layer is an index for quantifying snow cover. It can also be used to differentiate snow from cloud cover because while snow absorbs in the shortwave infrared light, it reflects the visible light, and cloud is generally reflective in both wavelengths. Snow cover is shown in dark blues. It is calculated using the calculation NDSI = (B3-B11)/(B3+B11). -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Landsat.md index c427544166..1ce64e7f0f 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Vegetation Index (NDVI) (B5-B4)/(B5+B4) imagery layer is an index for quantifying green vegetation. It reflects the state of vegetation health based on how vegetation reflects light at certain wavelengths. It is calculated using near infrared and red wavelengths using the calculation NDVI = (B5-B4)/(B5+B4). Depicted in dark green colors are areas with a lot of green leaf growth which indicates the presence of chlorophyll. Chlorophyll reflects more infrared light and less visible light. Areas with some green leaf growth are in light greens, and areas with little to no vegetation growth are even lighter greens. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Sentinel.md index fea90a8e3d..5567553cbc 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDVI_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Vegetation Index (NDVI) (B8-B4)/(B8+B4) imagery layer is an index for quantifying green vegetation. It reflects the state of vegetation health based on how vegetation reflects light at certain wavelengths. It is calculated using near infrared and red wavelengths using the calculation NDVI = (B8-B4)/(B8+B4). Depicted in dark green colors are areas with a lot of green leaf growth which indicates the presence of chlorophyll. Chlorophyll reflects more infrared light and less visible light. Areas with some green leaf growth are in light greens, and areas with little to no vegetation growth are even lighter greens. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Landsat.md index 71ca680202..b2f7844439 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Water Index (NDWI) (B3-B5)/(B3+B5) imagery layer is useful for identifying water bodies and to monitor changes related to water content in water bodies. It is calculated using green and near infrared wavelengths using the caculation NDWI = (B3-B5)/(B3+B5). The index can overestimate water bodies as it is sensitive to built-up areas. Teal and blues indicate water bodies. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Sentinel.md index 9143ed8084..8313920aa0 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_NDWI_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Normalized Difference Water Index (NDWI) (B3-B8)/(B3+B8) imagery layer is useful for identifying water bodies and to monitor changes related to water content in water bodies. It is calculated using green and near infrared wavelengths using the caculation NDWI = (B3-B8)/(B3+B8). The index can overestimate water bodies as it is sensitive to built-up areas. Teal and blues indicate water bodies. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_S30_Nadir_BRDF_Adjusted_Reflectance.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_S30_Nadir_BRDF_Adjusted_Reflectance.md index 3bdd3d140e..8a7ba7f705 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_S30_Nadir_BRDF_Adjusted_Reflectance.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_S30_Nadir_BRDF_Adjusted_Reflectance.md @@ -1,4 +1,4 @@ -The Reflectance (Nadir BRDF Adjusted) imagery layer from Sentinel 2A and 2B/MSI is a true-color or natural color image because this combination of wavelengths is similar to what the human eye would see. It consists of natural-looking images of land surface, oceanic and atmospheric features. The Reflectance (Nadir BRDF Adjusted) imagery layer from Sentinel 2A and 2B/MSI provides 30m Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) and is derived from a combination of the European Union’s Copernicus Sentinel-2A and Sentinel-2B Multi-Spectral Instrument (MSI) data products through the Harmonized Landsat and Sentinel-2 (HLS) project. +The Reflectance (Nadir BRDF Adjusted) imagery layer from Sentinel-2A and Sentinel-2B /MSI is a true-color or natural color image because this combination of wavelengths is similar to what the human eye would see. It consists of natural-looking images of land surface, oceanic and atmospheric features. The Reflectance (Nadir BRDF Adjusted) imagery layer from Sentinel-2A and Sentinel-2B /MSI provides 30m Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) and is derived from a combination of the European Union’s Copernicus Sentinel-2A and Sentinel-2B Multi-Spectral Instrument (MSI) data products through the Harmonized Landsat and Sentinel-2 (HLS) project. The Reflectance (Nadir BRDF-Adjusted) product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_SWIR_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_SWIR_Sentinel.md index efd54c102e..51c13bb88f 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_SWIR_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_SWIR_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 12-8A-4, Shortwave Infrared) imagery layer is useful looking at how much water is present in plants and soils, as water absorbs in shortwave infrared wavelengths. It can be used to distinguish between cloud types like water clouds versus ice clouds, snow and ice, which appear white. Vegetation is in shades of green, soils and urban areas are in shades of brown, and water is black. Freshly burned areas appear red. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Landsat.md index 1e6de44496..4db1316a16 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 7-5-4, Shortwave Infrared) imagery layer is useful looking at how much water is present in plants and soils, as water absorbs in shortwave infrared wavelengths. It can be used to distinguish between cloud types like water clouds versus ice clouds, snow and ice, which appear white. Vegetation is in shades of green, soils and urban areas are in shades of brown, and water is black. Freshly burned areas appear red. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with an 8 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.md index efd54c102e..51c13bb88f 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 12-8A-4, Shortwave Infrared) imagery layer is useful looking at how much water is present in plants and soils, as water absorbs in shortwave infrared wavelengths. It can be used to distinguish between cloud types like water clouds versus ice clouds, snow and ice, which appear white. Vegetation is in shades of green, soils and urban areas are in shades of brown, and water is black. Freshly burned areas appear red. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Landsat.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Landsat.md index 1a5a72b23c..0bcce7c63f 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Landsat.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Landsat.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 4-3-2, True Color) imagery layer is a true-color or natural color image because this combination of wavelengths is similar to what the human eye would see. It consists of natural-looking images of land surface, oceanic and atmospheric features. -The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with a 16 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel 2A and Sentinel 2B imagery layer available. +The Reflectance imagery layer from Landsat 8 and 9/OLI product (L30) is available through the HLS project from the Operational Land Imager (OLI) aboard the Landsat 8 and 9 satellites. The sensor resolution is 30 m, imagery resolution is 30 m, and the temporal resolution is daily with a 16 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Sentinel-2A and Sentinel-2B imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Sentinel.md b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Sentinel.md index 9d7faec3ab..5c06f8e2f4 100644 --- a/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Sentinel.md +++ b/config/default/common/config/metadata/layers/multi-mission/hls/HLS_True_Color_Sentinel.md @@ -2,7 +2,7 @@ The dynamically generated Reflectance (Bands 4-3-2, True Color) imagery layer is a true-color or natural color image because this combination of wavelengths is similar to what the human eye would see. It consists of natural-looking images of land surface, oceanic and atmospheric features. -The Reflectance imagery layer from Sentinel 2A and 2B/MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. +The Reflectance imagery layer from Sentinel-2A and Sentinel-2B /MSI product (S30) is available through the HLS project from the Multi-Spectral Instrument (MSI) aboard the European Union’s Copernicus Sentinel-2A and Sentinel-2B satellites. The sensor resolution is 10, 20, and 60 m, imagery resolution is resampled to 30 m, and the temporal resolution is daily with a 5 day revisit time. The imagery is available in Worldview/GIBS approximately 2 - 4 days after satellite overpass. There is a separate combined Landsat 8 and 9 imagery layer available. This imagery layer is provided dynamically through the [NASA Interagency Implementation and Advanced Concepts Team (IMPACT)](https://earthdata.nasa.gov/esds/impact). As it is dynamically generated, it may take slightly longer to display than normal. The imagery is also only available at higher zoom levels. diff --git a/config/default/common/config/metadata/layers/ssmi/MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI.md b/config/default/common/config/metadata/layers/ssmi/MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI.md index 6d4b6f04a9..441e821a8a 100644 --- a/config/default/common/config/metadata/layers/ssmi/MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI.md +++ b/config/default/common/config/metadata/layers/ssmi/MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI.md @@ -1,3 +1,7 @@ +**NOTE: These Freeze/Thaw (Daily Landscape) images are no longer being updated and may no longer reflect the most recent version of the underlying data set.** The most recent version of the MEaSUREs SSMI Freeze Thaw data (doi:[10.5067/LJ6SLXNJB2CQ](https://doi.org/10.5067/LJ6SLXNJB2CQ)) are available for download from the NASA NSIDC DAAC without corresponding GIBS/Worldview imagery. Users interested in forward processing freeze/thaw imagery should refer to the SMAP Freeze/Thaw 36km (L3, Passive, Day) or SMAP Freeze/Thaw 9km (L3, Passive, Day) layers. + +*** + The Daily Landscape Freeze/Thaw layer shows the predominant frozen or non-frozen (thawed) status of the landscape in vegetated regions where seasonal frozen temperatures are a major constraint to ecosystem processes. It is derived using a temporal change classification of calibrated radiometric brightness temperatures at 37 GHz frequency from Scanning Multichannel Microwave Radiometer (SMMR) and Special Sensor Microwave Imager (SSM/I, SSMIS) sensor records available from Nimbus-7 and Defense Meteorological Satellite Program (DMSP) satellites. The freeze/thaw layer is useful for assessing the impact of freeze/thaw variations on vegetation growing seasons and land-atmosphere carbon exchange; snow cover, permafrost and active layer properties; surface energy and water budgets; distinguishing freeze/thaw dynamics in accordance with regional terrain features, weather events, seasonal and annual climate anomalies, and long-term climate changes. The layer distinguishes 4 states: frozen, non-frozen (thawed), transitional (AM frozen, PM thawed) and inverse transitional (AM thawed, PM frozen). diff --git a/config/default/common/config/metadata/layers/ssmi/SSMIS_Sea_Ice_Concentration.md b/config/default/common/config/metadata/layers/ssmi/SSMIS_Sea_Ice_Concentration.md index 1590461e53..70a9937372 100644 --- a/config/default/common/config/metadata/layers/ssmi/SSMIS_Sea_Ice_Concentration.md +++ b/config/default/common/config/metadata/layers/ssmi/SSMIS_Sea_Ice_Concentration.md @@ -1,3 +1,7 @@ +**NOTE: These Sea Ice Concentration images are no longer being updated and may no longer reflect the most recent version of the underlying data set.** Sea Ice Concentration data ([NSIDC-0051](https://nsidc.org/data/nsidc-0051) and [NSIDC-0081](https://nsidc.org/data/nsidc-0081)) are still available for download from the NASA NSIDC DAAC without corresponding GIBS/Worldview imagery. Users interested in forward processing sea ice concentration images should refer to the Sea Ice Concentration and Snow Extent or AMSR2 Sea Ice Concentration (12km) layers. + +*** + The Sea Ice Concentration layer provides daily sea ice concentrations for the polar regions from a combination of two data sets from two time periods - Sea Ice Concentrations from Nimbus-7 SMMR and SSM/I-SSMIS passive microwave instruments on the DMSP 5D-2/F11, DMSP 5D-2/F13, DMSP 5D-2/F8, DMSP 5D-3/F17 platforms for 26 October 1978 to 31 December 2015 and Near-Real-Time DMSP SSMIS Daily Polar Gridded Sea Ice Concentrations from the SSM/I-SSMIS passive microwave instruments on DMSP 5D-3/F17 and DMSP 5D-3/F18 for 1 January 2015 to present. This imagery provides a best estimate of ice conditions based on information and algorithms available at the time the data are acquired. These data are not suitable for time series, anomalies, or trends analyses. The sensor/algorithm resolution is 25 km, imagery resolution is 1 km, and the temporal resolution is daily. diff --git a/config/default/common/config/metadata/stories/hls_intro/step002.md b/config/default/common/config/metadata/stories/hls_intro/step002.md index 989e93b2d8..7711f9a542 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step002.md +++ b/config/default/common/config/metadata/stories/hls_intro/step002.md @@ -1 +1 @@ -The Harmonized Landsat Sentinel-2 (HLS) project brings us 30 meter resolution true color surface reflectance imagery from the Operational Land Imager (OLI) instrument aboard the NASA/USGS Landsat 8 and 9 satellites, and the Multi-Spectral Instrument (MSI) aboard the European Space Agency (ESA) Sentinel 2A and Sentinel 2B satellites. \ No newline at end of file +The Harmonized Landsat Sentinel-2 (HLS) project brings us 30 meter resolution true color surface reflectance imagery from the Operational Land Imager (OLI) instrument aboard the NASA/USGS Landsat 8 and 9 satellites, and the Multi-Spectral Instrument (MSI) aboard the European Space Agency (ESA) Sentinel-2A and Sentinel-2B satellites. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step004.md b/config/default/common/config/metadata/stories/hls_intro/step004.md index 37ab5e767c..34419fe84e 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step004.md +++ b/config/default/common/config/metadata/stories/hls_intro/step004.md @@ -1,2 +1,2 @@ - To produce the Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) imagery, the data from the two instruments aboard the four satellites are processed through a set of algorithms to make the imagery consistent and comparable across the instruments. This includes atmospheric correction, cloud and cloud-shadow masking, spatial co-registration and common gridding, illumination and view angle normalization, and spectral bandpass adjustment. Turn on and off the Landsat 8 & 9 and Sentinel 2A & 2B Reflectance layers by clicking on the eye icon to see how seamless the imagery is. + To produce the Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) imagery, the data from the two instruments aboard the four satellites are processed through a set of algorithms to make the imagery consistent and comparable across the instruments. This includes atmospheric correction, cloud and cloud-shadow masking, spatial co-registration and common gridding, illumination and view angle normalization, and spectral bandpass adjustment. Turn on and off the Landsat 8 & 9 and Sentinel-2A & -2B Reflectance layers by clicking on the eye icon to see how seamless the imagery is. diff --git a/config/default/common/config/metadata/stories/hls_intro/step005.md b/config/default/common/config/metadata/stories/hls_intro/step005.md index 93c5229669..c2ab675368 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step005.md +++ b/config/default/common/config/metadata/stories/hls_intro/step005.md @@ -1 +1 @@ -For satellite instruments to obtain higher resolution imagery, there are trade-offs to consider. One is the amount of data that can be collected during the satellite overpass. The swath width of the MODIS instrument is 2330 km wide, which you can see here over Australia between the two black swath gaps. The swath width of MSI, aboard Sentinel 2A and 2B, is 290 km visible with the two swaths along the magenta and lime green orbit tracks. The swath width of the OLI instrument, aboard Landsat, (not shown) is 180 km. Use the measurement tool to measure the width of the swaths. \ No newline at end of file +For satellite instruments to obtain higher resolution imagery, there are trade-offs to consider. One is the amount of data that can be collected during the satellite overpass. The swath width of the MODIS instrument is 2330 km wide, which you can see here over Australia between the two black swath gaps. The swath width of MSI, aboard Sentinel-2A and Sentinel-2B , is 290 km visible with the two swaths along the magenta and lime green orbit tracks. The swath width of the OLI instrument, aboard Landsat, (not shown) is 180 km. Use the measurement tool to measure the width of the swaths. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step006.md b/config/default/common/config/metadata/stories/hls_intro/step006.md index 8045fdd6c1..e6cef88110 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step006.md +++ b/config/default/common/config/metadata/stories/hls_intro/step006.md @@ -1 +1 @@ -Another trade-off is with how often the satellite instrument collects imagery over a particular part of the Earth. MODIS has a high temporal revisit period therefore there is near daily coverage of the Earth's surface. MSI, aboard Sentinel 2A and 2B, have a 5 day revisit period and OLI, aboard Landsat 8 and 9, have an 8 day revisit period. Combined together by the HLS project, this equates to near global coverage in 2 to 3 days. +Another trade-off is with how often the satellite instrument collects imagery over a particular part of the Earth. MODIS has a high temporal revisit period therefore there is near daily coverage of the Earth's surface. MSI, aboard Sentinel-2A and Sentinel-2B , have a 5 day revisit period and OLI, aboard Landsat 8 and 9, have an 8 day revisit period. Combined together by the HLS project, this equates to near global coverage in 2 to 3 days. diff --git a/config/default/common/config/metadata/stories/hls_intro/step007.md b/config/default/common/config/metadata/stories/hls_intro/step007.md index b092a66223..7a4b18f144 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step007.md +++ b/config/default/common/config/metadata/stories/hls_intro/step007.md @@ -1 +1 @@ -These satellites have a similar overpass time as the Terra satellite (approximately 10:00 - 10:30am local time equatorial crossing), providing continuity to the Terra/MODIS surface reflectance layers. Orbit tracks are shown here from the Landsat 8 satellite in red, Landsat 9 in green, Sentinel 2A in magenta, and Sentinel 2B in lime green. \ No newline at end of file +These satellites have a similar overpass time as the Terra satellite (approximately 10:00 - 10:30am local time equatorial crossing), providing continuity to the Terra/MODIS surface reflectance layers. Orbit tracks are shown here from the Landsat 8 satellite in red, Landsat 9 in green, Sentinel-2A in magenta, and Sentinel-2B in lime green. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step009.md b/config/default/common/config/metadata/stories/hls_intro/step009.md index 4c1a8a5661..785abbb55f 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step009.md +++ b/config/default/common/config/metadata/stories/hls_intro/step009.md @@ -1 +1 @@ -Swipe left and right to compare and contrast the imagery from MODIS on the left (A) side, and the Sentinel 2A and 2B imagery on the right (B) side showing the Palm Islands in Dubai. \ No newline at end of file +Swipe left and right to compare and contrast the imagery from MODIS on the left (A) side, and the Sentinel-2A and Sentinel-2B imagery on the right (B) side showing the Palm Islands in Dubai. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step010.md b/config/default/common/config/metadata/stories/hls_intro/step010.md index f37a1585f0..456d53f686 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step010.md +++ b/config/default/common/config/metadata/stories/hls_intro/step010.md @@ -1 +1 @@ -Three burned areas in Oregon are clearly visible in this image from 29 September 2020. Turn on and off the Sentinel 2A & 2B Reflectance layer to see the difference between that layer and the Terra/MODIS Corrected Reflectance layer. \ No newline at end of file +Three burned areas in Oregon are clearly visible in this image from 29 September 2020. Turn on and off the Sentinel-2A & -2B Reflectance layer to see the difference between that layer and the Terra/MODIS Corrected Reflectance layer. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step012.md b/config/default/common/config/metadata/stories/hls_intro/step012.md index 2f0d0a2bf1..1e3b671655 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step012.md +++ b/config/default/common/config/metadata/stories/hls_intro/step012.md @@ -1 +1 @@ -Sediments causing a change in the water color can be seen here off the tip of Fraser Island in Australia. Click on the eye to turn on and off the Sentinel 2A & 2B layer and see how much blurrier it is in the MODIS/Terra image! \ No newline at end of file +Sediments causing a change in the water color can be seen here off the tip of Fraser Island in Australia. Click on the eye to turn on and off the Sentinel-2A & -2B layer and see how much blurrier it is in the MODIS/Terra image! \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Customizable_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Customizable_Sentinel.json index 3f25484058..d0dafb03b9 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Customizable_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Customizable_Sentinel.json @@ -4,8 +4,8 @@ "id": "HLS_Customizable_Sentinel", "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", - "title": "HLS Customizable Sentinel 2A & 2B *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "title": "HLS Customizable Sentinel-2A & -2B *BETA*", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_Customizable_Sentinel", "tags": "corrected surface oli sentinel msi s30", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Sentinel.json index e36e1a5e1a..58c3d0a972 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Reflectance (Color Infrared, Bands 8-4-3) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_False_Color_Sentinel", "tags": "corrected surface oli sentinel msi s30 cir", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.json index c7795a5b91..40e8e67866 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Urban_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Reflectance (Urban False Color, Bands 12-11-4) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_False_Color_Urban_Sentinel", "tags": "corrected surface oli sentinel msi s30", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.json index 0c9c2f928d..612d780e99 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_False_Color_Vegetation_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Reflectance (Vegetative Analysis False Color, Bands 11-8A-4) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_False_Color_Vegetation_Sentinel", "tags": "corrected surface oli sentinel msi s30", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.json index fb789f0a9e..d0902416e6 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Moisture_Index_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Moisture Index (NDMI) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_Moisture_Index_Sentinel", "tags": "corrected surface Sentinel msi s30 ndmi", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDSI_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDSI_Sentinel.json index 843d765beb..397a31968c 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDSI_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDSI_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Snow Index (NDSI) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_NDSI_Sentinel", "tags": "corrected surface Sentinel msi s30 ndsi", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDVI_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDVI_Sentinel.json index 9661d2156c..868047045d 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDVI_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDVI_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Vegetation Index (NDVI) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_NDVI_Sentinel", "tags": "corrected surface Sentinel msi s30 ndvi", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDWI_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDWI_Sentinel.json index 920f852402..a6af4268f5 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDWI_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_NDWI_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Water Index (NDWI) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_NDWI_Sentinel", "tags": "corrected surface Sentinel msi s30 ndwi", "group": "overlays", diff --git a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.json b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.json index 5f1a9d9328..53c5eeb596 100644 --- a/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.json +++ b/config/default/common/config/wv.json/layers/multi-mission/hls/HLS_Shortwave_Infrared_Sentinel.json @@ -5,7 +5,7 @@ "enableCMRDataFinder": true, "collectionConceptID": "C2021957295-LPCLOUD", "title": "Reflectance (Shortwave Infrared, Bands 12-8A-4) *BETA*", - "subtitle": "Sentinel 2A & 2B / MSI", + "subtitle": "Sentinel-2A & -2B / MSI", "description": "multi-mission/hls/HLS_Shortwave_Infrared_Sentinel", "tags": "corrected surface oli sentinel msi s30 swir", "group": "overlays", From 933e29adac7681a189a5d0e75dc3b4f2d03ad523 Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:07:51 -0400 Subject: [PATCH 02/12] Wv 3074 sub daily time slider (#5106) * first pass * lint fixes * eslint-disable no-await-in-loop --- .../timeline/timeline-axis/timeline-axis.js | 132 +++++++------- .../coverage-item-container.js | 63 ++++--- .../timeline-coverage/coverage-line.js | 8 +- .../timeline-coverage/timeline-coverage.js | 165 ++++++++++++++---- web/js/map/granule/granule-layer-builder.js | 2 +- 5 files changed, 230 insertions(+), 140 deletions(-) diff --git a/web/js/components/timeline/timeline-axis/timeline-axis.js b/web/js/components/timeline/timeline-axis/timeline-axis.js index 2d08c46874..cdb2cb9d63 100644 --- a/web/js/components/timeline/timeline-axis/timeline-axis.js +++ b/web/js/components/timeline/timeline-axis/timeline-axis.js @@ -1335,52 +1335,50 @@ class TimelineAxis extends Component { timeScale, matchingTimelineCoverage, } = this.props; - const { - startDate, - endDate, - } = matchingTimelineCoverage; - - const positionTransformX = position + transformX; - const { gridWidth } = timeScaleOptions[timeScale].timeAxis; - const axisFrontDate = new Date(frontDate).getTime(); - const axisBackDate = new Date(backDate).getTime(); - const layerStart = new Date(startDate).getTime(); - const layerEnd = new Date(endDate).getTime(); - - let visible = true; - if (layerStart >= axisBackDate || layerEnd <= axisFrontDate) { - visible = false; - } - - let leftOffset = 0; - const layerStartBeforeAxisFront = layerStart < axisFrontDate; - const layerEndBeforeAxisBack = layerEnd <= axisBackDate; - // oversized width allows axis drag buffer - let width = axisWidth * 2; - if (visible) { - if (layerStartBeforeAxisFront) { - leftOffset = 0; - } else { - // positive diff means layerStart more recent than axisFrontDate - const diff = moment.utc(layerStart).diff(axisFrontDate, timeScale, true); - const gridDiff = gridWidth * diff; - leftOffset = gridDiff + positionTransformX; + return matchingTimelineCoverage.map(({ startDate, endDate }) => { + const positionTransformX = position + transformX; + const { gridWidth } = timeScaleOptions[timeScale].timeAxis; + const axisFrontDate = new Date(frontDate).getTime(); + const axisBackDate = new Date(backDate).getTime(); + const layerStart = new Date(startDate).getTime(); + const layerEnd = new Date(endDate).getTime(); + + let visible = true; + if (layerStart >= axisBackDate || layerEnd <= axisFrontDate) { + visible = false; } - if (layerEndBeforeAxisBack) { - // positive diff means layerEnd earlier than back date - const diff = moment.utc(layerEnd).diff(axisFrontDate, timeScale, true); - const gridDiff = gridWidth * diff; - width = Math.max(gridDiff + positionTransformX - leftOffset, 0); + let leftOffset = 0; + const layerStartBeforeAxisFront = layerStart < axisFrontDate; + const layerEndBeforeAxisBack = layerEnd <= axisBackDate; + + // oversized width allows axis drag buffer + let width = axisWidth * 2; + if (visible) { + if (layerStartBeforeAxisFront) { + leftOffset = 0; + } else { + // positive diff means layerStart more recent than axisFrontDate + const diff = moment.utc(layerStart).diff(axisFrontDate, timeScale, true); + const gridDiff = gridWidth * diff; + leftOffset = gridDiff + positionTransformX; + } + + if (layerEndBeforeAxisBack) { + // positive diff means layerEnd earlier than back date + const diff = moment.utc(layerEnd).diff(axisFrontDate, timeScale, true); + const gridDiff = gridWidth * diff; + width = Math.max(gridDiff + positionTransformX - leftOffset, 0); + } } - } - return { - visible, - leftOffset, - width, - }; + return { + visible, + leftOffset, + width, + }; + }); }; /** @@ -1389,32 +1387,30 @@ class TimelineAxis extends Component { * @param {Number} transformX * @returns {Object} DOM SVG object */ - createMatchingCoverageLineDOMEl = (lineCoverageOptions, transformX) => { - const { leftOffset, visible, width } = lineCoverageOptions; - return ( - - - - ); - }; + createMatchingCoverageLineDOMEl = (lineCoverageOptions, transformX) => lineCoverageOptions.map(({ leftOffset, visible, width }, i) => ( + + + + )); render() { const { @@ -1565,7 +1561,7 @@ TimelineAxis.propTypes = { isTimelineDragging: PropTypes.bool, isTourActive: PropTypes.bool, leftOffset: PropTypes.number, - matchingTimelineCoverage: PropTypes.object, + matchingTimelineCoverage: PropTypes.array, onDateChange: PropTypes.func, parentOffset: PropTypes.number, position: PropTypes.number, diff --git a/web/js/components/timeline/timeline-coverage/coverage-item-container.js b/web/js/components/timeline/timeline-coverage/coverage-item-container.js index e04f4da90a..3f188c7bef 100644 --- a/web/js/components/timeline/timeline-coverage/coverage-item-container.js +++ b/web/js/components/timeline/timeline-coverage/coverage-item-container.js @@ -126,7 +126,7 @@ class CoverageItemContainer extends Component { } = getLayerItemStyles(visible, id); // get line container dimensions - const containerLineDimensions = getMatchingCoverageLineDimensions(layer); + const containerLineDimensions = getMatchingCoverageLineDimensions(layer).filter(({ visible }) => visible); return (
visible); // create DOM line element const key = `${id}-${multiIndex}`; - return multiLineRangeOptions.visible - && ( - - - - ); + return ( + + + + ); }) - : containerLineDimensions.visible && ( - + : ( + )}
diff --git a/web/js/components/timeline/timeline-coverage/coverage-line.js b/web/js/components/timeline/timeline-coverage/coverage-line.js index c04535e462..4330375c82 100644 --- a/web/js/components/timeline/timeline-coverage/coverage-line.js +++ b/web/js/components/timeline/timeline-coverage/coverage-line.js @@ -148,11 +148,11 @@ class CoverageLine extends PureComponent { layerPeriod, index, } = this.props; - return ( + return options.map((option) => ( {this.createMatchingCoverageLineDOMEl( id, - options, + option, lineType, startDate, endDate, @@ -161,7 +161,7 @@ class CoverageLine extends PureComponent { index, )} - ); + )); } } @@ -172,7 +172,7 @@ CoverageLine.propTypes = { index: PropTypes.string, layerPeriod: PropTypes.string, lineType: PropTypes.string, - options: PropTypes.object, + options: PropTypes.array, positionTransformX: PropTypes.number, startDate: PropTypes.string, }; diff --git a/web/js/components/timeline/timeline-coverage/timeline-coverage.js b/web/js/components/timeline/timeline-coverage/timeline-coverage.js index 8b3ee40037..03076f29f2 100644 --- a/web/js/components/timeline/timeline-coverage/timeline-coverage.js +++ b/web/js/components/timeline/timeline-coverage/timeline-coverage.js @@ -11,7 +11,6 @@ import googleTagManager from 'googleTagManager'; import { timeScaleOptions } from '../../../modules/date/constants'; import { filterProjLayersWithStartDate, - getMaxLayerEndDates, } from '../../../modules/date/util'; import { getActiveLayers } from '../../../modules/layers/selectors'; import { toggleCustomContent } from '../../../modules/modal/actions'; @@ -20,6 +19,67 @@ import Switch from '../../util/switch'; import LayerCoverageInfoModal from './info-modal'; import CoverageItemList from './coverage-item-list'; +function makeTime(date) { + return new Date(date).getTime(); +} + +function mergeSortedGranuleDateRanges(granules) { + return granules.reduce((acc, [start, end]) => { + if (!acc.length) return [[start, end]]; + const startTime = makeTime(start); + const endTime = makeTime(end); + const lastRangeEndTime = makeTime(acc.at(-1)[1]); + const lastRangeStartTime = makeTime(acc.at(-1)[0]); + if ((startTime >= lastRangeStartTime && startTime <= lastRangeEndTime) && (endTime >= lastRangeStartTime && endTime <= lastRangeEndTime)) { // within current range, ignore + return acc; + } + if (startTime > lastRangeEndTime) { // discontinuous, add new range + return [...acc, [start, end]]; + } + if (startTime <= lastRangeEndTime && endTime > lastRangeEndTime) { // intersects current range, merge + return acc.with(-1, [acc.at(-1)[0], end]); + } + return acc; + }, []); +} + +async function getLayerGranuleRanges(layer) { + const conceptID = layer.conceptIds?.[0]?.value; + const extent = [-180, -90, 180, 90]; + const startDate = new Date(layer.startDate).toISOString(); + const endDate = layer.endDate ? new Date(layer.endDate).toISOString() : new Date().toISOString(); + const granules = []; + let hits = Infinity; + let searchAfter = false; + const url = `https://cmr.earthdata.nasa.gov/search/granules.json?collection_concept_id=${conceptID}&bounding_box=${extent.join(',')}&temporal=${startDate}/${endDate}&sort_key=start_date&pageSize=2000`; + /* eslint-disable no-await-in-loop */ + do { + const headers = searchAfter ? { 'Cmr-Search-After': searchAfter, 'Client-Id': 'worldview' } : { 'Client-Id': 'worldview' }; + const res = await fetch(url, { headers }); + searchAfter = res.headers.get('Cmr-Search-After'); + hits = parseInt(res.headers.get('Cmr-Hits'), 10); + const data = await res.json(); + granules.push(...data.feed.entry); + } while (searchAfter || hits > granules.length); + const granuleDateRanges = granules.map(({ time_start: timeStart, time_end: timeEnd }) => [timeStart, timeEnd]); + const mergedGranuleDateRanges = mergeSortedGranuleDateRanges(granuleDateRanges); + + return mergedGranuleDateRanges; +} + +async function mapGranulesToLayers(layers) { + const promises = layers.map(async (layer) => { + if (layer.type !== 'granule') return layer; + + const ranges = await getLayerGranuleRanges(layer); + + return { ...layer, granules: ranges }; + }); + const cmrLayers = await Promise.all(promises); + + return cmrLayers; +} + /* * Timeline Layer Coverage Panel for temporal coverage. * @@ -30,6 +90,7 @@ class TimelineLayerCoveragePanel extends Component { constructor(props) { super(props); this.state = { + cmrLayers: [], activeLayers: [], shouldIncludeHiddenLayers: false, }; @@ -119,7 +180,7 @@ class TimelineLayerCoveragePanel extends Component { * @param {Object} layer * @param {String} rangeStart * @param {String} rangeEnd - * @returns {Object} visible, leftOffset, width, isWidthGreaterThanRendered + * @returns {Array} visible, leftOffset, width, isWidthGreaterThanRendered */ getMatchingCoverageLineDimensions = (layer, rangeStart, rangeEnd) => { const { @@ -132,9 +193,62 @@ class TimelineLayerCoveragePanel extends Component { timelineStartDateLimit, } = this.props; const { - endDate, futureTime, startDate, ongoing, + futureTime, ongoing, } = layer; + if (layer.granules?.length) { + return layer.granules.map(([startDate, endDate]) => { + const { gridWidth } = timeScaleOptions[timeScale].timeAxis; + const axisFrontDate = new Date(frontDate).getTime(); + const axisBackDate = new Date(backDate).getTime(); + let layerStart; + const layerEnd = new Date(endDate).getTime(); + + if (rangeStart || startDate) { + layerStart = new Date(startDate).getTime(); + } else { + layerStart = new Date(timelineStartDateLimit).getTime(); + } + + let visible = true; + if (layerStart >= axisBackDate || layerEnd <= axisFrontDate) { + visible = false; + } + + let leftOffset = 0; + const isWidthGreaterThanRendered = layerStart < axisFrontDate || layerEnd > axisBackDate; + const layerStartBeforeAxisFront = layerStart <= axisFrontDate; + const layerEndBeforeAxisBack = layerEnd <= axisBackDate; + // oversized width allows axis drag buffer + let width = axisWidth * 5; + if (visible) { + if (layerStartBeforeAxisFront) { + leftOffset = 0; + } else { + // positive diff means layerStart more recent than axisFrontDate + const diff = moment.utc(layerStart).diff(axisFrontDate, timeScale, true); + const gridDiff = gridWidth * diff; + leftOffset = gridDiff + positionTransformX; + } + if (layerEndBeforeAxisBack) { + // positive diff means layerEnd earlier than back date + const diff = moment.utc(layerEnd).diff(axisFrontDate, timeScale, true); + const gridDiff = gridWidth * diff; + width = gridDiff + positionTransformX - leftOffset; + } + } + + return { + visible, + leftOffset, + width, + isWidthGreaterThanRendered, + layerStartBeforeAxisFront, + layerEndBeforeAxisBack, + }; + }); + } + const { startDate, endDate } = layer; const { gridWidth } = timeScaleOptions[timeScale].timeAxis; const axisFrontDate = new Date(frontDate).getTime(); const axisBackDate = new Date(backDate).getTime(); @@ -182,14 +296,14 @@ class TimelineLayerCoveragePanel extends Component { } } - return { + return [{ visible, leftOffset, width, isWidthGreaterThanRendered, layerStartBeforeAxisFront, layerEndBeforeAxisBack, - }; + }]; }; /** @@ -211,11 +325,13 @@ class TimelineLayerCoveragePanel extends Component { * @returns {void} */ // eslint-disable-next-line react/destructuring-assignment - addMatchingCoverageToTimeline = (isChecked, layers) => { + addMatchingCoverageToTimeline = async (isChecked, layers) => { const { setMatchingTimelineCoverage } = this.props; - const dateRange = this.getNewMatchingDatesRange(layers); + const cmrLayers = await mapGranulesToLayers(layers); + const dateRange = this.getNewMatchingDatesRange(cmrLayers); setMatchingTimelineCoverage(dateRange, isChecked); this.setState({ + cmrLayers, activeLayers: layers, shouldIncludeHiddenLayers: isChecked, }); @@ -232,36 +348,14 @@ class TimelineLayerCoveragePanel extends Component { const { appNow, } = this.props; - let startDate; - let endDate = new Date(appNow); if (layers.length > 0) { - // for each start date, find latest that is still below end date - const startDates = layers.reduce((acc, x) => (x.startDate ? acc.concat(x.startDate) : acc), []); - for (let i = 0; i < startDates.length; i += 1) { - const date = new Date(startDates[i]); - if (i === 0) { - startDate = date; + return layers.flatMap(({ granules, startDate, endDate }) => { + if (!granules?.length) { + return [{ startDate, endDate: endDate || appNow }]; } - if (date.getTime() > startDate.getTime()) { - startDate = date; - } - } - // for each end date, find earliest that is still after start date - const endDates = getMaxLayerEndDates(layers, appNow); - for (let i = 0; i < endDates.length; i += 1) { - const date = new Date(endDates[i]); - if (i === 0) { - endDate = date; - } - if (date.getTime() < endDate.getTime()) { - endDate = date; - } - } - return { - startDate: startDate.toISOString(), - endDate: endDate.toISOString(), - }; + return granules.map(([start, end]) => ({ startDate: start, endDate: end })); + }); } }; @@ -357,6 +451,7 @@ class TimelineLayerCoveragePanel extends Component { timeScale, } = this.props; const { + cmrLayers, activeLayers, shouldIncludeHiddenLayers, } = this.state; @@ -411,7 +506,7 @@ class TimelineLayerCoveragePanel extends Component { { const { proj: { selected: { crs } } } = store.getState(); const granules = []; - const availableCount = availableGranules.length; + const availableCount = availableGranules?.length; if (!availableCount) return granules; const count = granuleCount > availableCount ? availableCount : granuleCount; From 164664ad2735d947f662d3dd6c97fc6740913d46 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Fri, 12 Apr 2024 13:01:00 -0400 Subject: [PATCH 03/12] dependabot updates 04-12-24 (#5117) --- package-lock.json | 541 +++++++++++++++++++++++++--------------------- package.json | 20 +- 2 files changed, 302 insertions(+), 259 deletions(-) diff --git a/package-lock.json b/package-lock.json index e318db6c2e..bffc3de653 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", "ol": "^8.2.0", - "ol-mapbox-style": "^12.2.2", + "ol-mapbox-style": "^12.3.1", "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", @@ -53,7 +53,7 @@ "react-draggable": "^4.4.6", "react-image-crop": "^11.0.4", "react-infinite-scroller": "^1.2.6", - "react-joyride": "^2.8.0", + "react-joyride": "^2.8.1", "react-mobile-datepicker": "^4.0.2", "react-redux": "^8.1.3", "react-resizable": "^3.0.5", @@ -84,7 +84,7 @@ "@babel/plugin-transform-private-methods": "^7.24.1", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@playwright/test": "^1.42.0", + "@playwright/test": "^1.43.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.12.0", @@ -93,7 +93,7 @@ "cheerio": "^1.0.0-rc.12", "clean-webpack-plugin": "^4.0.0", "cross-env": "^7.0.3", - "css-loader": "^7.0.0", + "css-loader": "^7.1.1", "css-minimizer-webpack-plugin": "^6.0.0", "css-url-relative-plugin": "^1.1.0", "cssnano": "^6.1.2", @@ -102,7 +102,7 @@ "eslint-config-standard": "^17.1.0", "eslint-import-resolver-webpack": "^0.13.8", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.8.0", + "eslint-plugin-jest": "^28.2.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-storage": "^1.0.2", @@ -128,18 +128,18 @@ "react-test-renderer": "^18.0.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.74.1", - "sass-loader": "^14.1.1", + "sass": "^1.75.0", + "sass-loader": "^14.2.0", "shelljs": "^0.8.5", "showdown": "^2.1.0", "stylelint": "^15.11.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-high-performance-animation": "^1.10.0", - "tar": "^6.2.1", + "tar": "^7.0.0", "terser-webpack-plugin": "^5.3.10", "uuid": "^9.0.1", - "webpack": "^5.90.2", - "webpack-bundle-analyzer": "^4.10.1", + "webpack": "^5.91.0", + "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", "webpack-dev-middleware": "^7.2.1", "webpack-dev-server": "^5.0.4", @@ -2388,31 +2388,6 @@ "version": "0.1.2", "license": "MIT" }, - "node_modules/@gilbarbara/helpers": { - "version": "0.9.2", - "license": "MIT", - "dependencies": { - "@gilbarbara/types": "^0.2.2", - "is-lite": "^1.2.1" - } - }, - "node_modules/@gilbarbara/types": { - "version": "0.2.2", - "license": "MIT", - "dependencies": { - "type-fest": "^4.1.0" - } - }, - "node_modules/@gilbarbara/types/node_modules/type-fest": { - "version": "4.11.1", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "license": "Apache-2.0", @@ -2497,6 +2472,18 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.0.tgz", + "integrity": "sha512-S00nN1Qt3z3dSP6Db45fj/mksrAq5XWNIJ/SWXGP8XPT2jrzEuYRCSEx08JpJwBcG2F1xgiOtBMGDU0AZHmxew==", + "dev": true, + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "dev": true, @@ -3351,11 +3338,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.42.1", + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.0.tgz", + "integrity": "sha512-Ebw0+MCqoYflop7wVKj711ccbNlrwTBCtjY5rlbiY9kHL2bCYxq+qltK6uPsVBGGAOb033H2VO0YobcQVxoW7Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "playwright": "1.42.1" + "playwright": "1.43.0" }, "bin": { "playwright": "cli.js" @@ -3722,8 +3710,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "license": "MIT" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -3827,9 +3816,10 @@ "license": "MIT" }, "node_modules/@types/semver": { - "version": "7.3.13", - "dev": true, - "license": "MIT" + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true }, "node_modules/@types/send": { "version": "0.17.4", @@ -3915,15 +3905,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.51.0", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3931,11 +3922,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.51.0", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3943,20 +3935,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.51.0", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3968,58 +3962,66 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.51.0", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { - "version": "3.0.0", + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, - "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": ">=5" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.51.0", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.51.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -4027,11 +4029,15 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.3.0", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@ungap/structured-clone": { @@ -4039,8 +4045,9 @@ "license": "ISC" }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -4048,19 +4055,23 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "license": "MIT" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -4069,55 +4080,62 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -4125,20 +4143,22 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -4147,10 +4167,11 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "license": "MIT", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -4197,11 +4218,13 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -5409,11 +5432,12 @@ } }, "node_modules/chownr": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/chrome-trace-event": { @@ -6071,9 +6095,9 @@ } }, "node_modules/css-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.0.0.tgz", - "integrity": "sha512-WrO4FVoamxt5zY9CauZjoJgXRi/LZKIk+Ta7YvpSGr5r/eMYPNp5/T9ODlMe4/1rF5DYlycG1avhV4g3A/tiAw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.1.tgz", + "integrity": "sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", @@ -7570,18 +7594,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.9.0", + "version": "28.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.2.0.tgz", + "integrity": "sha512-yRDti/a+f+SMSmNTiT9/M/MzXGkitl8CfzUxnpoQcTyfq8gUrXMriVcWU36W1X6BZSUoyUCJrDAWWUA2N4hE5g==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^6.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -8620,21 +8645,24 @@ "node": ">= 0.6" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "license": "MIT", @@ -8843,14 +8871,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob/node_modules/minipass": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/global-modules": { "version": "2.0.0", "dev": true, @@ -8943,8 +8963,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "license": "ISC" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", @@ -12382,26 +12403,43 @@ } }, "node_modules/minipass": { - "version": "3.1.6", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.0.4", + "rimraf": "^5.0.5" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/minizlib": { - "version": "2.1.2", + "node_modules/minizlib/node_modules/rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, - "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" }, "engines": { - "node": ">= 8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mitt": { @@ -12409,14 +12447,18 @@ "license": "MIT" }, "node_modules/mkdirp": { - "version": "1.0.4", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "license": "MIT", "bin": { - "mkdirp": "bin/cmd.js" + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/moment": { @@ -12866,9 +12908,9 @@ } }, "node_modules/ol-mapbox-style": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-12.2.2.tgz", - "integrity": "sha512-PutcIe9uXI4frHZXCRVIWvrd+EubKCS9/FyBXo2EiVFyjhRw0FK+6TdEswwCZdv74PR4HTOCvv4KgL0GZt6l+g==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-12.3.1.tgz", + "integrity": "sha512-pKBpKBns4YUgeFCp+aeuJtM+D2BKLc1HJmk5tFL0Nv7u7nelZnInUs/+XnSlHOa1hPBSrOyL+7CvKtegEyuYlg==", "dependencies": { "@mapbox/mapbox-gl-style-spec": "^13.23.1", "mapbox-to-css-font": "^2.4.1" @@ -13329,15 +13371,6 @@ "node": "14 || >=16.14" } }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/path-to-regexp": { "version": "0.1.7", "dev": true, @@ -13482,11 +13515,12 @@ } }, "node_modules/playwright": { - "version": "1.42.1", + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.0.tgz", + "integrity": "sha512-SiOKHbVjTSf6wHuGCbqrEyzlm6qvXcv7mENP+OZon1I07brfZLGdfWV0l/efAzVx7TF3Z45ov1gPEkku9q25YQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.42.1" + "playwright-core": "1.43.0" }, "bin": { "playwright": "cli.js" @@ -13499,9 +13533,10 @@ } }, "node_modules/playwright-core": { - "version": "1.42.1", + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.0.tgz", + "integrity": "sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==", "dev": true, - "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, @@ -14565,11 +14600,11 @@ "license": "MIT" }, "node_modules/react-joyride": { - "version": "2.8.0", - "license": "MIT", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.8.1.tgz", + "integrity": "sha512-fVwCmoOvJsiFKKHn8mvPUYc4JUUkgAsQMvarpZDtFPTc4duj240b12+AB8+3NXlTYGZVnKNSTgFFzoSh9RxjmQ==", "dependencies": { "@gilbarbara/deep-equal": "^0.3.1", - "@gilbarbara/helpers": "^0.9.2", "deep-diff": "^1.0.2", "deepmerge": "^4.3.1", "is-lite": "^1.2.1", @@ -14579,7 +14614,7 @@ "scroll": "^3.0.1", "scrollparent": "^2.1.0", "tree-changes": "^0.11.2", - "type-fest": "^4.12.0" + "type-fest": "^4.15.0" }, "peerDependencies": { "react": "15 - 18", @@ -14599,8 +14634,9 @@ } }, "node_modules/react-joyride/node_modules/type-fest": { - "version": "4.14.0", - "license": "(MIT OR CC0-1.0)", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "engines": { "node": ">=16" }, @@ -15449,9 +15485,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.74.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.74.1.tgz", - "integrity": "sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==", + "version": "1.75.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz", + "integrity": "sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -15466,9 +15502,10 @@ } }, "node_modules/sass-loader": { - "version": "14.1.1", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.0.tgz", + "integrity": "sha512-jxmjDXD9OYNDb2bp9JvopdE6QjecQY9beTWik/6sEHrsMxyo90Gyc471A4NUz60NLs4WsAh6yVtIvhLwEZcXeg==", "dev": true, - "license": "MIT", "dependencies": { "neo-async": "^2.6.2" }, @@ -16748,20 +16785,20 @@ } }, "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.0.0.tgz", + "integrity": "sha512-spRiR+tDOVD01YeeWBUbNa6HoQErjztT2BXxZWmxJDgaCVgZMO1RAoeKpybiUbr8FxKsUm/svtiEyIRZeWYhAw==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/tar/node_modules/minipass": { @@ -16772,6 +16809,15 @@ "node": ">=8" } }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/terser": { "version": "5.27.0", "license": "BSD-2-Clause", @@ -17011,6 +17057,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "dev": true, @@ -17041,25 +17099,6 @@ "node": ">=4" } }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/tweetnacl": { "version": "0.14.5", "dev": true, @@ -17458,8 +17497,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "license": "MIT", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17489,24 +17529,25 @@ } }, "node_modules/webpack": { - "version": "5.90.3", - "license": "MIT", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -17514,7 +17555,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -17534,9 +17575,10 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.10.1", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -17546,7 +17588,6 @@ "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", "html-escaper": "^2.0.2", - "is-plain-object": "^5.0.0", "opener": "^1.5.2", "picocolors": "^1.0.0", "sirv": "^2.0.3", @@ -17926,8 +17967,9 @@ } }, "node_modules/webpack/node_modules/enhanced-resolve": { - "version": "5.15.0", - "license": "MIT", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -17938,7 +17980,8 @@ }, "node_modules/webpack/node_modules/tapable": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { "node": ">=6" } diff --git a/package.json b/package.json index 03f740b98f..018233611b 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@babel/plugin-transform-private-methods": "^7.24.1", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@playwright/test": "^1.42.0", + "@playwright/test": "^1.43.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.12.0", @@ -92,7 +92,7 @@ "cheerio": "^1.0.0-rc.12", "clean-webpack-plugin": "^4.0.0", "cross-env": "^7.0.3", - "css-loader": "^7.0.0", + "css-loader": "^7.1.1", "css-minimizer-webpack-plugin": "^6.0.0", "css-url-relative-plugin": "^1.1.0", "cssnano": "^6.1.2", @@ -101,7 +101,7 @@ "eslint-config-standard": "^17.1.0", "eslint-import-resolver-webpack": "^0.13.8", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.8.0", + "eslint-plugin-jest": "^28.2.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-storage": "^1.0.2", @@ -127,18 +127,18 @@ "react-test-renderer": "^18.0.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.74.1", - "sass-loader": "^14.1.1", + "sass": "^1.75.0", + "sass-loader": "^14.2.0", "shelljs": "^0.8.5", "showdown": "^2.1.0", "stylelint": "^15.11.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-high-performance-animation": "^1.10.0", - "tar": "^6.2.1", + "tar": "^7.0.0", "terser-webpack-plugin": "^5.3.10", "uuid": "^9.0.1", - "webpack": "^5.90.2", - "webpack-bundle-analyzer": "^4.10.1", + "webpack": "^5.91.0", + "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", "webpack-dev-middleware": "^7.2.1", "webpack-dev-server": "^5.0.4", @@ -178,7 +178,7 @@ "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", "ol": "^8.2.0", - "ol-mapbox-style": "^12.2.2", + "ol-mapbox-style": "^12.3.1", "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", @@ -190,7 +190,7 @@ "react-draggable": "^4.4.6", "react-image-crop": "^11.0.4", "react-infinite-scroller": "^1.2.6", - "react-joyride": "^2.8.0", + "react-joyride": "^2.8.1", "react-mobile-datepicker": "^4.0.2", "react-redux": "^8.1.3", "react-resizable": "^3.0.5", From 2e3323d792553f5e4296cfa4b80c1146982d52c1 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Mon, 15 Apr 2024 13:27:45 -0400 Subject: [PATCH 04/12] add client side timeout for EIC request (#5105) --- web/js/mapUI/components/eic/eic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/js/mapUI/components/eic/eic.js b/web/js/mapUI/components/eic/eic.js index 7eeb9e3343..35bc1f3a9f 100644 --- a/web/js/mapUI/components/eic/eic.js +++ b/web/js/mapUI/components/eic/eic.js @@ -17,7 +17,7 @@ function EIC() { const requestBestDate = async () => { try { const url = `https://uhkookzof2.execute-api.us-west-2.amazonaws.com/dev/scenarios?item_type=scenario&item_id=${scenario}`; - const response = await fetch(url); + const response = await fetch(url, { timeout: 10000 }); if (!response.ok) { throw new Error('Network response was not ok.'); } From c095ef1c2a7e5770cc735a66ee5dd53a51d32233 Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 17 Apr 2024 12:48:45 -0400 Subject: [PATCH 05/12] Add NOAA-20 and NOAA-21 Chlorophyll a and Photosynthetically Available Radiation (#5119) --- .../PhotosyntheticallyAvailableRadiation.md | 2 -- .../noaa20/VIIRS_NOAA20_Chlorophyll_a.md | 5 ++++ ..._Photosynthetically_Available_Radiation.md | 3 +++ .../noaa21/VIIRS_NOAA21_Chlorophyll_a.md | 5 ++++ ..._Photosynthetically_Available_Radiation.md | 3 +++ .../common/config/wv.json/layerOrder.json | 4 +++ .../noaa20/VIIRS_NOAA20_Chlorophyll_a.json | 12 +++++++++ ...hotosynthetically_Available_Radiation.json | 12 +++++++++ .../noaa21/VIIRS_NOAA21_Chlorophyll_a.json | 12 +++++++++ ...hotosynthetically_Available_Radiation.json | 12 +++++++++ .../wv.json/measurements/Chlorophyll A.json | 22 +++++++++++++++- ...hotosynthetically Available Radiation.json | 24 ++++++++++++++++-- .../geographic/VIIRS_NOAA20_Chlorophyll_a.jpg | Bin 0 -> 76292 bytes ...Photosynthetically_Available_Radiation.jpg | Bin 0 -> 72761 bytes .../geographic/VIIRS_NOAA21_Chlorophyll_a.jpg | Bin 0 -> 76519 bytes ...Photosynthetically_Available_Radiation.jpg | Bin 0 -> 73848 bytes 16 files changed, 111 insertions(+), 5 deletions(-) delete mode 100644 config/default/common/config/metadata/layers/viirs/PhotosyntheticallyAvailableRadiation.md create mode 100644 config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.md create mode 100644 config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.md create mode 100644 config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.md create mode 100644 config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.md create mode 100644 config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.json create mode 100644 config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.json create mode 100644 config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.json create mode 100644 config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.json create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA20_Chlorophyll_a.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA20_Photosynthetically_Available_Radiation.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA21_Chlorophyll_a.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA21_Photosynthetically_Available_Radiation.jpg diff --git a/config/default/common/config/metadata/layers/viirs/PhotosyntheticallyAvailableRadiation.md b/config/default/common/config/metadata/layers/viirs/PhotosyntheticallyAvailableRadiation.md deleted file mode 100644 index 1bc7b70b1e..0000000000 --- a/config/default/common/config/metadata/layers/viirs/PhotosyntheticallyAvailableRadiation.md +++ /dev/null @@ -1,2 +0,0 @@ -### About VIIRS -The Visible and Infrared Imager/Radiometer Suite (VIIRS) is a multi-disciplinary instrument that is being flown on the Joint Polar Satellite System (JPSS) series of spacecraft, including the Suomi National Polar-orbiting Partnership (S-NPP) that launched in October 2011. JPSS is a multi-platform, multi-agency program that consolidates the polar orbiting spacecraft of NASA and the National Oceanic and Atmospheric Administration (NOAA). S-NPP is the initial spacecraft in this series, and VIIRS is the successor to MODIS for Earth science data product generation. VIIRS has 22 spectral bands ranging from 412 nm to 12 nm. There are 16 moderate-resolution bands (750m at nadir), 5 image-resolution bands (375m), and one day-night band (DNB). \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.md b/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.md new file mode 100644 index 0000000000..079398001c --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.md @@ -0,0 +1,5 @@ +The VIIRS Chlorophyll *a* layer provides the near-surface concentration of chlorophyll *a* in milligrams of chlorophyll pigment per cubic meter (mg/m3) in the ocean. + +The VIIRS Chlorophyll *a* product is available from the joint NASA/NOAA NOAA-20 satellite. The sensor and imagery resolution is 1 km, and the temporal resolution is daily. + +References: VIIRSJ1_L2_OC_NRT and VIIRSJ1_L2_OC [doi:10.5067/NOAA-20/VIIRS/L2/OC/2022](https://doi.org/10.5067/NOAA-20/VIIRS/L2/OC/2022) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.md b/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.md new file mode 100644 index 0000000000..1778207fe6 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.md @@ -0,0 +1,3 @@ +The Photosynthetically Available Radiation (L2) layer displays photosynthetically available radiation over oceans and large bodies of water and is measured in einstein/m²/day. + +References: VIIRSJ1_L2_OC_NRT and VIIRSJ1_L2_OC [doi:10.5067/NOAA-20/VIIRS/L2/OC/2022](https://doi.org/10.5067/NOAA-20/VIIRS/L2/OC/2022) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.md b/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.md new file mode 100644 index 0000000000..57d5aabd06 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.md @@ -0,0 +1,5 @@ +The VIIRS Chlorophyll *a* layer provides the near-surface concentration of chlorophyll *a* in milligrams of chlorophyll pigment per cubic meter (mg/m3) in the ocean. + +The VIIRS Chlorophyll *a* product is available from the joint NASA/NOAA NOAA-20 satellite. The sensor and imagery resolution is 1 km, and the temporal resolution is daily. + +References: VIIRSJ2_L2_OC_NRT and VIIRSJ2_L2_OC [doi:10.5067/NOAA-21/VIIRS/L2/OC/2022](https://doi.org/10.5067/NOAA-21/VIIRS/L2/OC/2022) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.md b/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.md new file mode 100644 index 0000000000..b364254432 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.md @@ -0,0 +1,3 @@ +The Photosynthetically Available Radiation (L2) layer displays photosynthetically available radiation over oceans and large bodies of water and is measured in einstein/m²/day. + +References: VIIRSJ2_L2_OC_NRT and VIIRSJ2_L2_OC [doi:10.5067/NOAA-21/VIIRS/L2/OC/2022](https://doi.org/10.5067/NOAA-21/VIIRS/L2/OC/2022) \ No newline at end of file diff --git a/config/default/common/config/wv.json/layerOrder.json b/config/default/common/config/wv.json/layerOrder.json index e039c15c69..d5e3b23ea4 100644 --- a/config/default/common/config/wv.json/layerOrder.json +++ b/config/default/common/config/wv.json/layerOrder.json @@ -116,6 +116,10 @@ "VIIRS_SNPP_Apparent_Reflectance_VNP02MOD_M09", "VIIRS_SNPP_L2_Chlorophyll_A", "VIIRS_SNPP_L2_Photosynthetically_Available_Radiation", + "VIIRS_NOAA20_Chlorophyll_a", + "VIIRS_NOAA20_Photosynthetically_Available_Radiation", + "VIIRS_NOAA21_Chlorophyll_a", + "VIIRS_NOAA21_Photosynthetically_Available_Radiation", "S3A_OLCI_Chlorophyll_a", "S3B_OLCI_Chlorophyll_a", "GOES-East_ABI_GeoColor", diff --git a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.json b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.json new file mode 100644 index 0000000000..16fb114a46 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a.json @@ -0,0 +1,12 @@ +{ + "layers": { + "VIIRS_NOAA20_Chlorophyll_a": { + "id": "VIIRS_NOAA20_Chlorophyll_a", + "description": "viirs/noaa20/VIIRS_NOAA20_Chlorophyll_a", + "tags": "ocean color jpss-1", + "group": "overlays", + "layergroup": "Chlorophyll a", + "wrapadjacentdays": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.json b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.json new file mode 100644 index 0000000000..d0e6c76633 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation.json @@ -0,0 +1,12 @@ +{ + "layers": { + "VIIRS_NOAA20_Photosynthetically_Available_Radiation": { + "id": "VIIRS_NOAA20_Photosynthetically_Available_Radiation", + "description": "viirs/noaa20/VIIRS_NOAA20_Photosynthetically_Available_Radiation", + "tags": "par jpss-1", + "group": "overlays", + "layergroup": "Photosynthetically Available Radiation", + "wrapadjacentdays": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.json b/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.json new file mode 100644 index 0000000000..4d631b37c3 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a.json @@ -0,0 +1,12 @@ +{ + "layers": { + "VIIRS_NOAA21_Chlorophyll_a": { + "id": "VIIRS_NOAA21_Chlorophyll_a", + "description": "viirs/noaa21/VIIRS_NOAA21_Chlorophyll_a", + "tags": "ocean color jpss-2", + "group": "overlays", + "layergroup": "Chlorophyll a", + "wrapadjacentdays": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.json b/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.json new file mode 100644 index 0000000000..2d303ae879 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation.json @@ -0,0 +1,12 @@ +{ + "layers": { + "VIIRS_NOAA21_Photosynthetically_Available_Radiation": { + "id": "VIIRS_NOAA21_Photosynthetically_Available_Radiation", + "description": "viirs/noaa21/VIIRS_NOAA21_Photosynthetically_Available_Radiation", + "tags": "par jpss-2", + "group": "overlays", + "layergroup": "Photosynthetically Available Radiation", + "wrapadjacentdays": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/measurements/Chlorophyll A.json b/config/default/common/config/wv.json/measurements/Chlorophyll A.json index 3b3bc9b3c1..86afdf24fa 100644 --- a/config/default/common/config/wv.json/measurements/Chlorophyll A.json +++ b/config/default/common/config/wv.json/measurements/Chlorophyll A.json @@ -3,7 +3,7 @@ "Chlorophyll a": { "id": "chlorophyll-a", "title": "Chlorophyll a", - "subtitle": "Terra/MODIS, Aqua/MODIS, Suomi NPP/VIIRS, Sentinel-3A, Sentinel-3B", + "subtitle": "Terra/MODIS, Aqua/MODIS, NOAA-21/VIIRS, NOAA-20/VIIRS, Suomi NPP/VIIRS, Sentinel-3A/OCLI, Sentinel-3B/OLCI", "sources": { "Terra/MODIS": { "id": "terra-modis", @@ -25,6 +25,26 @@ "OrbitTracks_Aqua_Ascending" ] }, + "NOAA-21/VIIRS": { + "id": "noaa21-viirs", + "title": "NOAA-21/VIIRS", + "description": "viirs/Chlorophyll_a", + "image": "", + "settings": [ + "VIIRS_NOAA21_Chlorophyll_a", + "OrbitTracks_NOAA-21_Ascending" + ] + }, + "NOAA-20/VIIRS": { + "id": "noaa20-viirs", + "title": "NOAA-20/VIIRS", + "description": "viirs/Chlorophyll_a", + "image": "", + "settings": [ + "VIIRS_NOAA20_Chlorophyll_a", + "OrbitTracks_NOAA-20_Ascending" + ] + }, "Suomi NPP/VIIRS": { "id": "suomi-npp-viirs", "title": "Suomi NPP/VIIRS", diff --git a/config/default/common/config/wv.json/measurements/Photosynthetically Available Radiation.json b/config/default/common/config/wv.json/measurements/Photosynthetically Available Radiation.json index 594ad194c7..5e3bc6c3eb 100644 --- a/config/default/common/config/wv.json/measurements/Photosynthetically Available Radiation.json +++ b/config/default/common/config/wv.json/measurements/Photosynthetically Available Radiation.json @@ -3,7 +3,7 @@ "Photosynthetically Available Radiation": { "id": "photosynthetically-available-radiation", "title": "Photosynthetically Available Radiation", - "subtitle": "Terra/MODIS, Aqua/MODIS, Suomi NPP/VIIRS", + "subtitle": "Terra/MODIS, Aqua/MODIS, NOAA-21/VIIRS, NOAA-20/VIIRS, Suomi NPP/VIIRS", "sources": { "Terra/MODIS": { "id": "terra-modis", @@ -25,10 +25,30 @@ "OrbitTracks_Aqua_Ascending" ] }, + "NOAA-21/VIIRS": { + "id": "noaa21-viirs", + "title": "NOAA-21/VIIRS", + "description": "", + "image": "", + "settings": [ + "VIIRS_NOAA21_Photosynthetically_Available_Radiation", + "OrbitTracks_NOAA-21_Ascending" + ] + }, + "NOAA-20/VIIRS": { + "id": "noaa20-viirs", + "title": "NOAA-20/VIIRS", + "description": "", + "image": "", + "settings": [ + "VIIRS_NOAA20_Photosynthetically_Available_Radiation", + "OrbitTracks_NOAA-20_Ascending" + ] + }, "Suomi NPP/VIIRS": { "id": "suomi-npp-viirs", "title": "Suomi NPP/VIIRS", - "description": "viirs/PhotosyntheticallyAvailableRadiation", + "description": "", "image": "", "settings": [ "VIIRS_SNPP_L2_Photosynthetically_Available_Radiation", diff --git a/web/images/layers/previews/geographic/VIIRS_NOAA20_Chlorophyll_a.jpg b/web/images/layers/previews/geographic/VIIRS_NOAA20_Chlorophyll_a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a3aa5cc4670920ae1f50eb61341e2a0eaaf2130 GIT binary patch literal 76292 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 literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/geographic/VIIRS_NOAA20_Photosynthetically_Available_Radiation.jpg b/web/images/layers/previews/geographic/VIIRS_NOAA20_Photosynthetically_Available_Radiation.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30292a9caaeae92ea17bece1311a4f901ef0ce43 GIT binary patch literal 72761 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�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%0A1_Oayy){_T=(2Ssgm*uP)cgfCl-o!kT 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 literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/geographic/VIIRS_NOAA21_Photosynthetically_Available_Radiation.jpg b/web/images/layers/previews/geographic/VIIRS_NOAA21_Photosynthetically_Available_Radiation.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a7483d0557e8fc97698189cd0ced0f6bffcd8a1f GIT binary patch literal 73848 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 Date: Wed, 17 Apr 2024 13:29:48 -0400 Subject: [PATCH 06/12] WV 3056 Don't query static layers on time change (#5118) * don't request for static layers * lint * add a comment --- web/js/mapUI/components/update-collections/updateCollections.js | 1 + 1 file changed, 1 insertion(+) diff --git a/web/js/mapUI/components/update-collections/updateCollections.js b/web/js/mapUI/components/update-collections/updateCollections.js index 8966ac2687..684dc55ddb 100644 --- a/web/js/mapUI/components/update-collections/updateCollections.js +++ b/web/js/mapUI/components/update-collections/updateCollections.js @@ -25,6 +25,7 @@ function UpdateCollections () { }; const getHeaders = async (def, date) => { + if (def.layergroup === 'Reference') return; // Don't query static layers const { id, period } = def; const { matrixSet } = def.projections[proj.id]; const isoStringDate = util.toISOStringSeconds(util.roundTimeOneMinute(selectedDate)); From 4eb27c78b1f9debb35fb4cd15556063b874e99bb Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 17 Apr 2024 13:36:20 -0400 Subject: [PATCH 07/12] Updated flood descriptions (#5120) --- .../modis/combined/MODIS_Combined_Flood_2-Day.md | 16 +++++++--------- .../modis/combined/MODIS_Combined_Flood_3-Day.md | 14 ++++++-------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md index cab0697f81..b486ca6c84 100644 --- a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md +++ b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md @@ -1,27 +1,25 @@ -The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. The Flood Product is available for 3 compositing periods: 1-day, 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (1, 2, or 3 days) are accumulated, and if the total exceeds the required threshold (1, 2, and 3 observations, respectively), the pixel is marked as water. (Note: 1-day product not yet available in Worldview) +The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. The Flood Product is available for 3 compositing periods: 1-day, 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (1, 2, or 3 days) are accumulated, and if the total exceeds the required threshold, the pixel is marked as water. (Note: 1-day product not yet available in Worldview) Users are advised to compare the flood product against the contributing MODIS reflectance imagery (such as 7-2-1 Corrected Reflectance; search for “721” after clicking “Add Layers”) , for the compositing period to ensure reported flood areas do not correspond to areas of cloud shadow. [Learn more...](https://earthdata.nasa.gov/earth-observation-data/near-real-time/mcdwd-nrt#ed-flood-faq) As of January 12, 2023, a topographic filter has been applied to remove water detections from mountainous areas, greatly reducing the number of terrain shadow false-positives in such areas. These areas appear in all products as "Insufficient Data" (gray in default Worldview display). #### Current Issues -- The flood layers are displaying a large number of flood pixels in the far north at present (generally above 60N). Most of these are false-positive detections, a result of the large number of overlapping images towards the poles in the source MODIS imagery (due to the nature of the spacecraft's polar orbit). During summer when such regions have long periods of daylight, even more observations are available, but this increases the chance that repeated cloud-shadow false-positives pass the compositing requirement, and contaminate the product. We are working on various adjustments to the algorithm to minimize this. - -At the same time, note there is actual major flooding in the region along various Arctic rivers (as of mid June 2022). These are easily distinguishable by the spatial pattern of flooding (occurring clearly along river courses). The false positives are generally scattered around randomly, or appear similar to cloud spatial patterns (not conforming to local hydrology). - - Far west tiles (Hawaii, Alaska): Due to issues with processing imagery around the international dateline for this product, far west tiles will sometimes appear with data at the start of the day, long before Terra or Aqua have observed for the day. Users are advised to disregard such data, until the Corrected Reflectance layers confirm current-day observations have been processed. #### Limitations +Prior to introduction of product Release 1 on April 16, 2024 the flood layers displayed a large number of flood pixels in the far north (generally above 60N latitude). Most of these are false-positive detections, resulting from the large number of overlapping images towards the poles in the source MODIS imagery (due to the nature of the spacecraft's polar orbit). Release 1 includes new compositing requirements that has greatly reduced, but not entirely eliminated, these false-positives. The archive product imagery available in Worldview until April 11, 2024 continues to contain these errors. Users are advised to consider the expected patterns of flooding, in order to more readily discern false-positives; real flooding is generally easily distinguishable by its spatial pattern (usually occurring along river courses or adjacent to existing water bodies). Whereas the false positives are generally scattered around randomly, or appear similar to cloud spatial patterns (not conforming to local hydrology). + Common situations in which the flood product may be unable to accurately identify flood include: - Surface obscuration: clouds and canopy cover can block view of water on the surface. Buildings can also provide a “dry” roof, diluting the signal from surrounding water. - Cloud shadow false-positives: cloud shadows are detected as water by the algorithm; when they recur in the same location over the compositing period, false positives are likely to be reported. Longer compositing periods help minimize this. Please check reflectance imagery of dates contributing to composite to rule these out, if reported flood looks unusual or suspicious. -- Terrain shadow false-positives: terrain shadows can create false-positives in mountains, generally only in wintertime. These are typically easy to identify due to their pattern (reflecting topography), and by comparison to reflectance imagery. +- Terrain shadow false-positives: terrain shadows can create false-positives in mountains, generally only in wintertime. These are typically easy to identify due to their pattern (reflecting topography), and by comparison to reflectance imagery. As of January 12, 2023, a topographic filter has been applied which greatly reduces terrain shadow false-positives. - Dark volcanic rock or soils: such areas can be identified as water, and thus will routinely be reported as flood. -- Springtime snow melt ponding on fields: such water can appear as pixellated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. +- Springtime snow melt ponding on fields: such water can appear as pixelated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. #### Spatial Coverage -Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://www.earthdata.nasa.gov/s3fs-public/imported/MCDWD_UserGuide_RevB.pdf) for included tiles). +Non-polar global land areas (below 80 degrees latitude), comprising 287 10x10 degree tiles (see [product homepage](https://www.earthdata.nasa.gov/learn/find-data/near-real-time/modis-nrt-global-flood-product) for map of included tiles). #### Sensor/Image Resolution Nominal equatorial resolution is ~232 m per pixel, with resolution increasing toward the poles (~116 m at 60 degrees latitude). Note the higher apparent resolution towards the poles is simply an artifact of the lat/lon (geographic) projection used, and not intrinsic to the data. @@ -33,4 +31,4 @@ To help estimate if the final flood product (for the day) is available in Worldv Flood products displayed in Worldview are updated every 30 minutes, approximately on the hour and at 30 minutes past the hour. -References: MCDWD_L3_NRT [doi:10.5067/MODIS/MCDWD_L3_NRT.061](https://doi.org/10.5067/MODIS/MCDWD_L3_NRT.061) +References: MCDWD_L3_NRT [doi:10.5067/MODIS/MCDWD_L3_NRT.061](https://doi.org/10.5067/MODIS/MCDWD_L3_NRT.061) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md index e8681953dc..b486ca6c84 100644 --- a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md +++ b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md @@ -1,27 +1,25 @@ -The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. The Flood Product is available for 3 compositing periods: 1-day, 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (1, 2, or 3 days) are accumulated, and if the total exceeds the required threshold (1, 2, and 3 observations, respectively), the pixel is marked as water. (Note: 1-day product not yet available in Worldview) +The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. The Flood Product is available for 3 compositing periods: 1-day, 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (1, 2, or 3 days) are accumulated, and if the total exceeds the required threshold, the pixel is marked as water. (Note: 1-day product not yet available in Worldview) Users are advised to compare the flood product against the contributing MODIS reflectance imagery (such as 7-2-1 Corrected Reflectance; search for “721” after clicking “Add Layers”) , for the compositing period to ensure reported flood areas do not correspond to areas of cloud shadow. [Learn more...](https://earthdata.nasa.gov/earth-observation-data/near-real-time/mcdwd-nrt#ed-flood-faq) As of January 12, 2023, a topographic filter has been applied to remove water detections from mountainous areas, greatly reducing the number of terrain shadow false-positives in such areas. These areas appear in all products as "Insufficient Data" (gray in default Worldview display). #### Current Issues -- The flood layers are displaying a large number of flood pixels in the far north at present (generally above 60N). Most of these are false-positive detections, a result of the large number of overlapping images towards the poles in the source MODIS imagery (due to the nature of the spacecraft's polar orbit). During summer when such regions have long periods of daylight, even more observations are available, but this increases the chance that repeated cloud-shadow false-positives pass the compositing requirement, and contaminate the product. We are working on various adjustments to the algorithm to minimize this. - -At the same time, note there is actual major flooding in the region along various Arctic rivers (as of mid June 2022). These are easily distinguishable by the spatial pattern of flooding (occurring clearly along river courses). The false positives are generally scattered around randomly, or appear similar to cloud spatial patterns (not conforming to local hydrology). - - Far west tiles (Hawaii, Alaska): Due to issues with processing imagery around the international dateline for this product, far west tiles will sometimes appear with data at the start of the day, long before Terra or Aqua have observed for the day. Users are advised to disregard such data, until the Corrected Reflectance layers confirm current-day observations have been processed. #### Limitations +Prior to introduction of product Release 1 on April 16, 2024 the flood layers displayed a large number of flood pixels in the far north (generally above 60N latitude). Most of these are false-positive detections, resulting from the large number of overlapping images towards the poles in the source MODIS imagery (due to the nature of the spacecraft's polar orbit). Release 1 includes new compositing requirements that has greatly reduced, but not entirely eliminated, these false-positives. The archive product imagery available in Worldview until April 11, 2024 continues to contain these errors. Users are advised to consider the expected patterns of flooding, in order to more readily discern false-positives; real flooding is generally easily distinguishable by its spatial pattern (usually occurring along river courses or adjacent to existing water bodies). Whereas the false positives are generally scattered around randomly, or appear similar to cloud spatial patterns (not conforming to local hydrology). + Common situations in which the flood product may be unable to accurately identify flood include: - Surface obscuration: clouds and canopy cover can block view of water on the surface. Buildings can also provide a “dry” roof, diluting the signal from surrounding water. - Cloud shadow false-positives: cloud shadows are detected as water by the algorithm; when they recur in the same location over the compositing period, false positives are likely to be reported. Longer compositing periods help minimize this. Please check reflectance imagery of dates contributing to composite to rule these out, if reported flood looks unusual or suspicious. -- Terrain shadow false-positives: terrain shadows can create false-positives in mountains, generally only in wintertime. These are typically easy to identify due to their pattern (reflecting topography), and by comparison to reflectance imagery. +- Terrain shadow false-positives: terrain shadows can create false-positives in mountains, generally only in wintertime. These are typically easy to identify due to their pattern (reflecting topography), and by comparison to reflectance imagery. As of January 12, 2023, a topographic filter has been applied which greatly reduces terrain shadow false-positives. - Dark volcanic rock or soils: such areas can be identified as water, and thus will routinely be reported as flood. -- Springtime snow melt ponding on fields: such water can appear as pixellated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. +- Springtime snow melt ponding on fields: such water can appear as pixelated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. #### Spatial Coverage -Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://www.earthdata.nasa.gov/s3fs-public/imported/MCDWD_UserGuide_RevB.pdf) for included tiles). +Non-polar global land areas (below 80 degrees latitude), comprising 287 10x10 degree tiles (see [product homepage](https://www.earthdata.nasa.gov/learn/find-data/near-real-time/modis-nrt-global-flood-product) for map of included tiles). #### Sensor/Image Resolution Nominal equatorial resolution is ~232 m per pixel, with resolution increasing toward the poles (~116 m at 60 degrees latitude). Note the higher apparent resolution towards the poles is simply an artifact of the lat/lon (geographic) projection used, and not intrinsic to the data. From 778e88db9c893b0ac3f8fa369c4ac160ca5fc0b9 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Wed, 17 Apr 2024 13:55:20 -0400 Subject: [PATCH 08/12] WV-3049: Dismiss DDV notifications with local storage (#5101) * DDV Alerts WIP * dismiss ddv zoom & location alerts * clean up * turn off alerts when zoomed or located correctly * update ddv check to include Nadir * cleanup * include opera layer * handle multiple dismissable alerts --- web/js/containers/alerts.js | 69 +++++++++++++++++++- web/js/containers/sidebar/layer-row.js | 90 ++++++++++++++++++++++++-- web/js/modules/alerts/actions.js | 34 ++++++++++ web/js/modules/alerts/constants.js | 4 ++ web/js/modules/alerts/reducer.js | 28 ++++++++ web/js/util/local-storage.js | 2 + 6 files changed, 218 insertions(+), 9 deletions(-) create mode 100644 web/js/modules/alerts/actions.js diff --git a/web/js/containers/alerts.js b/web/js/containers/alerts.js index 20bbc3f7ae..e65941795d 100644 --- a/web/js/containers/alerts.js +++ b/web/js/containers/alerts.js @@ -9,11 +9,15 @@ import { DISABLE_VECTOR_ZOOM_ALERT, DISABLE_VECTOR_EXCEEDED_ALERT, MODAL_PROPERT import safeLocalStorage from '../util/local-storage'; import { getActiveLayers, subdailyLayersActive } from '../modules/layers/selectors'; +const { granuleModalProps, zoomModalProps } = MODAL_PROPERTIES; + const HAS_LOCAL_STORAGE = safeLocalStorage.enabled; const { DISMISSED_COMPARE_ALERT, DISMISSED_DISTRACTION_FREE_ALERT, DISMISSED_EVENT_VIS_ALERT, + DISSMISSED_DDV_ZOOM_ALERT, + DISSMISSED_DDV_LOCATION_ALERT, } = safeLocalStorage.keys; class DismissableAlerts extends React.Component { @@ -24,6 +28,8 @@ class DismissableAlerts extends React.Component { hasDismissedEvents: !!safeLocalStorage.getItem(DISMISSED_EVENT_VIS_ALERT), hasDismissedCompare: !!safeLocalStorage.getItem(DISMISSED_COMPARE_ALERT), hasDismissedDistractionFree: !!safeLocalStorage.getItem(DISMISSED_DISTRACTION_FREE_ALERT), + hasDismissedDDVZoom: !!safeLocalStorage.getItem(DISSMISSED_DDV_ZOOM_ALERT), + hasDismissedDDVLocation: !!safeLocalStorage.getItem(DISSMISSED_DDV_LOCATION_ALERT), distractionFreeModeInitLoad: false, }; } @@ -75,12 +81,20 @@ class DismissableAlerts extends React.Component { isVectorZoomAlertPresent, isVectorExceededAlertPresent, openAlertModal, + isDDVZoomAlertPresent, + isDDVLocationAlertPresent, + openGranuleAlertModal, + openZoomAlertModal, + ddvZoomAlerts, + ddvLocationAlerts, } = this.props; const { hasDismissedEvents, hasDismissedCompare, hasDismissedDistractionFree, distractionFreeModeInitLoad, + hasDismissedDDVZoom, + hasDismissedDDVLocation, } = this.state; const { eventModalProps, compareModalProps, vectorModalProps } = MODAL_PROPERTIES; const hasFailCondition = !HAS_LOCAL_STORAGE @@ -91,6 +105,8 @@ class DismissableAlerts extends React.Component { const showEventsAlert = !isSmall && !hasDismissedEvents && isEventsActive; const showCompareAlert = !isSmall && !hasDismissedCompare && isCompareActive; const showAnimationAlert = isMobile && isAnimationActive && hasSubdailyLayers; + const showDDVZoomAlert = isDDVZoomAlertPresent && !hasDismissedDDVZoom; + const showDDVLocationAlert = isDDVLocationAlertPresent && !hasDismissedDDVLocation; return isDistractionFreeModeActive ? !hasDismissedDistractionFree && ( @@ -148,7 +164,32 @@ class DismissableAlerts extends React.Component { onDismiss={() => {}} /> )} - + {showDDVZoomAlert + && ddvZoomAlerts.map((layer) => ( + this.dismissAlert(DISSMISSED_DDV_ZOOM_ALERT, 'hasDismissedDDVZoom')} + onClick={openZoomAlertModal} + /> + ))} + { showDDVLocationAlert + && ddvLocationAlerts.map((layer) => ( + this.dismissAlert(DISSMISSED_DDV_LOCATION_ALERT, 'hasDismissedDDVLocation')} + onClick={openGranuleAlertModal} + /> + ))} ); } @@ -157,6 +198,14 @@ const mapDispatchToProps = (dispatch) => ({ openAlertModal: ({ id, props }) => { dispatch(openCustomContent(id, props)); }, + openGranuleAlertModal: () => { + const { id, props } = granuleModalProps; + dispatch(openCustomContent(id, props)); + }, + openZoomAlertModal: () => { + const { id, props } = zoomModalProps; + dispatch(openCustomContent(id, props)); + }, dismissVectorZoomAlert: () => dispatch({ type: DISABLE_VECTOR_ZOOM_ALERT }), dismissVectorExceededAlert: () => dispatch({ type: DISABLE_VECTOR_EXCEEDED_ALERT }), }); @@ -164,12 +213,23 @@ const mapStateToProps = (state) => { const { embed, events, sidebar, compare, alerts, ui, animation, screenSize, } = state; - const { isVectorZoomAlertPresent, isVectorExceededAlertPresent } = alerts; + const { + isVectorZoomAlertPresent, + isVectorExceededAlertPresent, + isDDVZoomAlertPresent, + isDDVLocationAlertPresent, + ddvZoomAlerts, + ddvLocationAlerts, + } = alerts; const activeLayers = getActiveLayers(state); const hasActiveVectorLayers = hasVectorLayers(activeLayers); return { + ddvLocationAlerts, + ddvZoomAlerts, isCompareActive: compare.active, + isDDVZoomAlertPresent, + isDDVLocationAlertPresent, isDistractionFreeModeActive: ui.isDistractionFreeModeActive, isEmbedModeActive: embed.isEmbedModeActive, isEventsActive: !!(events.selected.id && sidebar.activeTab === 'events'), @@ -200,4 +260,9 @@ DismissableAlerts.propTypes = { isVectorZoomAlertPresent: PropTypes.bool, isVectorExceededAlertPresent: PropTypes.bool, openAlertModal: PropTypes.func, + isDDVZoomAlertPresent: PropTypes.bool, + isDDVLocationAlertPresent: PropTypes.bool, + openGranuleAlertModal: PropTypes.func, + openZoomAlertModal: PropTypes.func, + activeDDVLayer: PropTypes.object, }; diff --git a/web/js/containers/sidebar/layer-row.js b/web/js/containers/sidebar/layer-row.js index 48d43bb810..b7f31402ab 100644 --- a/web/js/containers/sidebar/layer-row.js +++ b/web/js/containers/sidebar/layer-row.js @@ -2,7 +2,7 @@ /* eslint-disable react/jsx-props-no-spreading */ /* eslint-disable react/no-danger */ import React, { useState, useEffect } from 'react'; -import { useSelector, connect } from 'react-redux'; +import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { Draggable } from 'react-beautiful-dnd'; import { isEmpty as lodashIsEmpty, get as lodashGet } from 'lodash'; @@ -40,6 +40,9 @@ import { updateActiveChartingLayerAction, } from '../../modules/charting/actions'; import AlertUtil from '../../components/util/alert'; +import { + enableDDVZoomAlert, enableDDVLocationAlert, disableDDVLocationAlert, disableDDVZoomAlert, +} from '../../modules/alerts/actions'; const { events } = util; const { vectorModalProps, granuleModalProps, zoomModalProps } = MODAL_PROPERTIES; @@ -57,6 +60,8 @@ function LayerRow (props) { layer, compareState, collections, + ddvLocationAlerts, + ddvZoomAlerts, paletteLegends, getPalette, palette, @@ -91,6 +96,12 @@ function LayerRow (props) { isChartingActive, activeChartingLayer, updateActiveChartingLayer, + enableDDVZoomAlert, + enableDDVLocationAlert, + disableDDVLocationAlert, + disableDDVZoomAlert, + map, + selectedDate, } = props; const encodedLayerId = util.encodeId(layer.id); @@ -114,8 +125,11 @@ function LayerRow (props) { const [showGranuleAlert, setShowGranuleAlert] = useState(false); const [hideZoomAlert, setHideZoomAlert] = useState(false); const [hideGranuleAlert, setHideGranuleAlert] = useState(false); - const map = useSelector((state) => state.map); - const selectedDate = useSelector((state) => state.date.selected); + + const ddvLayerZoomNoticeActive = ddvZoomAlerts.includes(layer.title); + const ddvLayerLocationNoticeActive = ddvLocationAlerts.includes(layer.title); + // All DDV layer notices are dismissable + Reflectance (Nadir BRDF-Adjusted) + DSWx-HLS + const isLayerNotificationDismissable = layer.type === 'ttiler' || layer.title === 'Reflectance (Nadir BRDF-Adjusted)' || layer.subtitle === 'DSWx-HLS'; useEffect(() => { const asyncFunc = async () => { @@ -164,6 +178,30 @@ function LayerRow (props) { asyncFunc(); }, [map.extent, zot, selectedDate, isVisible]); + // hook that checks if the ddv layer zoom alert should be enabled or disabled + useEffect(() => { + const { title } = layer; + // if layer is ddv && layer IS NOT already in zoom alert list && zoom is at alertable level + if (isLayerNotificationDismissable && !ddvLayerZoomNoticeActive && showZoomAlert) { + enableDDVZoomAlert(title); + // if layer is ddv && layer IS already in zoom alert list && zoom is NOT at alertable level + } else if (isLayerNotificationDismissable && ddvLayerZoomNoticeActive && !showZoomAlert) { + disableDDVZoomAlert(title); + } + }, [showZoomAlert]); + + // hook that checks if the ddv layer location alert should be enabled or disabled + useEffect(() => { + const { title } = layer; + // if layer is ddv && layer IS NOT already in location alert list && location is at alertable coordinates + if (isLayerNotificationDismissable && !ddvLayerLocationNoticeActive && showGranuleAlert) { + enableDDVLocationAlert(title); + // if layer is ddv && layer IS NOT already in location alert list && location is at alertable coordinates + } else if (isLayerNotificationDismissable && ddvLayerLocationNoticeActive && !showGranuleAlert) { + disableDDVLocationAlert(title); + } + }, [showGranuleAlert]); + useEffect(() => { events.on(MAP_RUNNING_DATA, setRunningDataObj); return () => { @@ -253,6 +291,21 @@ function LayerRow (props) { e.preventDefault(); }; + // function called on click when removing a layer + const removeLayer = () => { + const { id, title } = layer; + // remove ddv location alert + if (ddvLayerLocationNoticeActive) { + disableDDVLocationAlert(title); + } + // remove ddv zoom alert + if (ddvLayerZoomNoticeActive) { + disableDDVZoomAlert(title); + } + // remove layer + onRemoveClick(id); + }; + const renderDropdownMenu = () => ( @@ -280,7 +333,7 @@ function LayerRow (props) { onRemoveClick(layer.id)} + onClick={() => removeLayer()} className="button wv-layers-options layer-options-dropdown-item" > {removeLayerBtnTitle} @@ -297,7 +350,7 @@ function LayerRow (props) { id={removeLayerBtnId} aria-label={removeLayerBtnTitle} className={isMobile ? 'hidden wv-layers-options' : 'button wv-layers-close'} - onClick={() => onRemoveClick(layer.id)} + onClick={() => removeLayer()} > {removeLayerBtnTitle} @@ -503,7 +556,7 @@ function LayerRow (props) { ))} )} - {showZoomAlert && !hideZoomAlert && ( + {showZoomAlert && !hideZoomAlert && !isLayerNotificationDismissable && ( )} - {showGranuleAlert && !hideGranuleAlert && ( + {showGranuleAlert && !hideGranuleAlert && !isLayerNotificationDismissable && ( { ); const activeDate = compare.activeString === 'active' ? date.selected : date.selectedB; const dailyDate = formatDailyDate(activeDate); + const selectedDate = date.selected; const subdailyDate = formatSubdailyDate(activeDate); const collections = getCollections(layers, dailyDate, subdailyDate, layer); const measurementDescriptionPath = getDescriptionPath(state, ownProps); + const { ddvZoomAlerts, ddvLocationAlerts } = state.alerts; return { compare, collections, + ddvLocationAlerts, + ddvZoomAlerts, tracksForLayer, measurementDescriptionPath, globalTemperatureUnit, @@ -614,6 +671,8 @@ const makeMapStateToProps = () => { getPalette: (layerId, i) => getPalette(layer.id, i, compareState, state), paletteLegends, palettes, + map, + selectedDate, renderedPalette: renderedPalettes[paletteName], }; }; @@ -689,6 +748,18 @@ const mapDispatchToProps = (dispatch) => ({ updateActiveChartingLayer: (layersId) => { dispatch(updateActiveChartingLayerAction(layersId)); }, + enableDDVZoomAlert: (title) => { + dispatch(enableDDVZoomAlert(title)); + }, + enableDDVLocationAlert: (title) => { + dispatch(enableDDVLocationAlert(title)); + }, + disableDDVLocationAlert: (title) => { + dispatch(disableDDVLocationAlert(title)); + }, + disableDDVZoomAlert: (title) => { + dispatch(disableDDVZoomAlert(title)); + }, }); export default connect( @@ -739,4 +810,9 @@ LayerRow.propTypes = { isAnimating: PropTypes.bool, isChartingActive: PropTypes.bool, activeChartingLayer: PropTypes.string, + enableDDVZoomAlert: PropTypes.func, + enableDDVLocationAlert: PropTypes.func, + isDDVLocationAlertPresent: PropTypes.bool, + isDDVZoomAlertPresent: PropTypes.bool, + openZoomAlertModal: PropTypes.func, }; diff --git a/web/js/modules/alerts/actions.js b/web/js/modules/alerts/actions.js new file mode 100644 index 0000000000..10321d4b31 --- /dev/null +++ b/web/js/modules/alerts/actions.js @@ -0,0 +1,34 @@ +import { + ACTIVATE_DDV_ZOOM_ALERT, + ACTIVATE_DDV_LOCATION_ALERT, + DEACTIVATE_DDV_LOCATION_ALERT, + DEACTIVATE_DDV_ZOOM_ALERT, +} from './constants'; + +export function enableDDVZoomAlert(title) { + return { + type: ACTIVATE_DDV_ZOOM_ALERT, + title, + }; +} + +export function enableDDVLocationAlert(title) { + return { + type: ACTIVATE_DDV_LOCATION_ALERT, + title, + }; +} + +export function disableDDVZoomAlert(title) { + return { + type: DEACTIVATE_DDV_ZOOM_ALERT, + title, + }; +} + +export function disableDDVLocationAlert(title) { + return { + type: DEACTIVATE_DDV_LOCATION_ALERT, + title, + }; +} diff --git a/web/js/modules/alerts/constants.js b/web/js/modules/alerts/constants.js index 97f053e761..98de7ed95d 100644 --- a/web/js/modules/alerts/constants.js +++ b/web/js/modules/alerts/constants.js @@ -8,6 +8,10 @@ export const DISABLE_VECTOR_ZOOM_ALERT = 'ALERTS/DISABLE_VECTOR_ZOOM_ALERT'; export const ACTIVATE_VECTOR_ZOOM_ALERT = 'ALERTS/ACTIVATE_VECTOR_ZOOM_ALERT'; export const DISABLE_VECTOR_EXCEEDED_ALERT = 'ALERTS/DISABLE_VECTOR_EXCEEDED_ALERT'; export const ACTIVATE_VECTOR_EXCEEDED_ALERT = 'ALERTS/ACTIVATE_VECTOR_EXCEEDED_ALERT'; +export const ACTIVATE_DDV_ZOOM_ALERT = 'ALERTS/ACTIVATE_DDV_ZOOM_ALERT'; +export const ACTIVATE_DDV_LOCATION_ALERT = 'ALERTS/ACTIVATE_DDV_LOCATION_ALERT'; +export const DEACTIVATE_DDV_ZOOM_ALERT = 'ALERTS/DEACTIVATE_DDV_ZOOM_ALERT'; +export const DEACTIVATE_DDV_LOCATION_ALERT = 'ALERTS/DEACTIVATE_DDV_LOCATION_ALERT'; export const MODAL_PROPERTIES = { eventModalProps: { diff --git a/web/js/modules/alerts/reducer.js b/web/js/modules/alerts/reducer.js index 9048a6856e..a0f9a55373 100644 --- a/web/js/modules/alerts/reducer.js +++ b/web/js/modules/alerts/reducer.js @@ -4,6 +4,10 @@ import { ACTIVATE_VECTOR_ZOOM_ALERT, DISABLE_VECTOR_EXCEEDED_ALERT, ACTIVATE_VECTOR_EXCEEDED_ALERT, + ACTIVATE_DDV_ZOOM_ALERT, + ACTIVATE_DDV_LOCATION_ALERT, + DEACTIVATE_DDV_LOCATION_ALERT, + DEACTIVATE_DDV_ZOOM_ALERT, } from './constants'; import { hasVectorLayers } from '../layers/util'; import { REMOVE_LAYER, REMOVE_GROUP } from '../layers/constants'; @@ -12,6 +16,10 @@ import { UPDATE_MAP_EXTENT } from '../map/constants'; export const defaultAlertState = { isVectorZoomAlertPresent: false, isVectorExceededAlertPresent: false, + isDDVZoomAlertPresent: false, + isDDVLocationAlertPresent: false, + ddvZoomAlerts: [], + ddvLocationAlerts: [], }; export function alertReducer(state = defaultAlertState, action) { @@ -45,6 +53,26 @@ export function alertReducer(state = defaultAlertState, action) { }); } return state; + case ACTIVATE_DDV_ZOOM_ALERT: + return lodashAssign({}, state, { + isDDVZoomAlertPresent: true, + ddvZoomAlerts: [...state.ddvZoomAlerts, action.title], + }); + case ACTIVATE_DDV_LOCATION_ALERT: + return lodashAssign({}, state, { + isDDVLocationAlertPresent: true, + ddvLocationAlerts: [...state.ddvLocationAlerts, action.title], + }); + case DEACTIVATE_DDV_ZOOM_ALERT: + return lodashAssign({}, state, { + isDDVZoomAlertPresent: state.ddvZoomAlerts.length > 1, + ddvZoomAlerts: state.ddvZoomAlerts.filter((title) => title !== action.title), + }); + case DEACTIVATE_DDV_LOCATION_ALERT: + return lodashAssign({}, state, { + isDDVLocationAlertPresent: state.ddvLocationAlerts.length > 1, + ddvLocationAlerts: state.ddvLocationAlerts.filter((title) => title !== action.title), + }); default: return state; diff --git a/web/js/util/local-storage.js b/web/js/util/local-storage.js index 561f1ad6cb..fd26891d92 100644 --- a/web/js/util/local-storage.js +++ b/web/js/util/local-storage.js @@ -23,6 +23,8 @@ export default { DISMISSED_EVENT_VIS_ALERT: 'dismissedEventVisibilityAlert', DISMISSED_COMPARE_ALERT: 'dismissedCompareAlert', DISMISSED_DISTRACTION_FREE_ALERT: 'dismissedDistractionFreeAlert', + DISSMISSED_DDV_ZOOM_ALERT: 'dismissedDDVZoomAlert', + DISSMISSED_DDV_LOCATION_ALERT: 'dismissedDDVLocationAlert', GLOBAL_TEMPERATURE_UNIT: 'globalTemperatureUnit', HIDE_TOUR: 'hideTour', HIDE_EDS_WARNING: 'hideEDS', From fa8928dbb815e78d1f17e4d1147ebd666af435f6 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Wed, 17 Apr 2024 16:39:56 -0400 Subject: [PATCH 09/12] WV-2865 Classification/Palettes Layers Classification Toggle Behavior (#5121) * Fixed classification toggle issues * Implemented reusable code segment --- web/js/components/sidebar/paletteLegend.js | 2 +- web/js/modules/layers/util.js | 12 +++++- web/js/modules/palettes/selectors.js | 6 +-- web/js/modules/palettes/util.js | 2 +- web/js/modules/vector-styles/selectors.js | 46 +++++++++++++++++++--- 5 files changed, 56 insertions(+), 12 deletions(-) diff --git a/web/js/components/sidebar/paletteLegend.js b/web/js/components/sidebar/paletteLegend.js index 7e0c3b809c..f8a40ccf50 100644 --- a/web/js/components/sidebar/paletteLegend.js +++ b/web/js/components/sidebar/paletteLegend.js @@ -381,7 +381,7 @@ class PaletteLegend extends React.Component { palletteClass = isInvisible ? `${palletteClass} checkerbox-bg` : palletteClass; let legendColor = color; const customColor = palette.custom; - if (palette.custom !== undefined) { + if (palette.custom !== undefined && palette.custom !== '') { [legendColor] = palettes.custom[customColor].colors; } diff --git a/web/js/modules/layers/util.js b/web/js/modules/layers/util.js index 9fb1ff4358..69e93fd868 100644 --- a/web/js/modules/layers/util.js +++ b/web/js/modules/layers/util.js @@ -846,7 +846,7 @@ export function serializeLayers(layers, state, groupName) { value: bandComboString, }); } - if (def.palette && (def.custom || def.min || def.max || def.squash || def.disabled)) { + if (def.palette && (def.custom || def.min || def.max || def.squash || def.disabled || (palettes[def.id] && palettes[def.id].maps && palettes[def.id].maps.length > 1))) { // If layer has palette and palette attributes const paletteAttributeArray = getPaletteAttributeArray( def.id, @@ -926,7 +926,15 @@ const getLayerSpec = (attributes) => { } if (attr.id === 'disabled') { const values = util.toArray(attr.value.split(';')); - disabled = values; + const disabledArray = []; + lodashEach(values, (value, index) => { + if (value === '') { + disabledArray.push(undefined); + } else { + disabledArray.push(value); + } + }); + disabled = disabledArray; } if (attr.id === 'max' && typeof attr.value === 'string') { diff --git a/web/js/modules/palettes/selectors.js b/web/js/modules/palettes/selectors.js index 48362bee5b..28de8a46ee 100644 --- a/web/js/modules/palettes/selectors.js +++ b/web/js/modules/palettes/selectors.js @@ -386,7 +386,7 @@ export function refreshDisabledSelector( }, }, }); - return toggleLookup(layerId, newPalettes, state); + return updateLookup(layerId, newPalettes, state); } export function initDisabledSelector( @@ -396,7 +396,7 @@ export function initDisabledSelector( palettes, state, ) { - const disabled = disabledStr.split('-'); + const disabled = disabledStr ? disabledStr.split('-') : []; for (let i = 0; i < disabled.length; i += 1) { disabled[i] = +disabled[i]; } let newPalettes = prepare(layerId, palettes, state); newPalettes = update(newPalettes, { @@ -441,7 +441,7 @@ export function setDisabledSelector( }, }, }); - return toggleLookup(layerId, newPalettes, state); + return updateLookup(layerId, newPalettes, state); } export function setRange(layerId, props, index, palettes, state) { diff --git a/web/js/modules/palettes/util.js b/web/js/modules/palettes/util.js index 091ac1588a..16fdecf4d9 100644 --- a/web/js/modules/palettes/util.js +++ b/web/js/modules/palettes/util.js @@ -344,7 +344,7 @@ export function getPaletteAttributeArray(layerId, palettes, state) { } [palObj, minObj, maxObj, squashObj, disabledObj].forEach((obj) => { - if (obj.isActive) { + if (obj.isActive || (obj.key === 'disabled' && obj.value !== '')) { attrArray.push({ id: obj.key === 'custom' ? 'palette' : obj.key, value: obj.value, diff --git a/web/js/modules/vector-styles/selectors.js b/web/js/modules/vector-styles/selectors.js index 247acf9676..c193c0fb7d 100644 --- a/web/js/modules/vector-styles/selectors.js +++ b/web/js/modules/vector-styles/selectors.js @@ -12,6 +12,10 @@ import { stylefunction } from 'ol-mapbox-style'; import { getMinValue, getMaxValue, selectedStyleFunction, } from './util'; +import { + isActive as isPaletteActive, + getLookup as getPaletteLookup, +} from '../palettes/selectors'; import util from '../../util/util'; @@ -115,6 +119,26 @@ const updateGlStylePalette = (glStyle, rgbPalette) => { return glStyle; }; +const updateDisabled = (glStyle, lookup) => { + for (let i = 0; i < glStyle.layers.length; i += 1) { + const thisCircleColor = glStyle.layers[i].paint['circle-color']; + thisCircleColor.forEach((color, index) => { + const regex = /rgba?\(.*\)/; + if (regex.test(color)) { + const colors = color.split('(')[1].split(')')[0].split(/,\s?/); + if (colors.length < 4) { + colors.push('255'); + } + const colorStr = colors.join(','); + if (lookup[colorStr]) { + thisCircleColor[index] = `rgba(${lookup[colorStr].r}, ${lookup[colorStr].g}, ${lookup[colorStr].b}, ${lookup[colorStr].a})`; + } + } + }); + } + return glStyle; +}; + const shouldRenderFeature = (feature, acceptableExtent) => { if (!acceptableExtent) return true; const midpoint = feature.getFlatCoordinates @@ -130,10 +154,11 @@ const shouldRenderFeature = (feature, acceptableExtent) => { * @param {String} vectorStyleId | ID to lookup the vector style in the state * @param {Object} vectorStyles | Contains styles of all vector products * @param {Object} layer | OL layer object + * @param {Object} options | Layer options object * @param {Object} state | The entire state of the application * @param {Boolean} styleSelection | Indicates if the request is triggered by user interaction with vector feature */ -export function setStyleFunction(def, vectorStyleId, vectorStyles, layer, state, styleSelection = false) { +export function setStyleFunction(def, vectorStyleId, vectorStyles, layer, options, state, styleSelection = false) { const map = lodashGet(state, 'map.ui.selected'); if (!map) return; const { proj } = state; @@ -142,6 +167,7 @@ export function setStyleFunction(def, vectorStyleId, vectorStyles, layer, state, const layerId = def.id; const styleId = lodashGet(def, `vectorStyle.${proj.id}.id`) || vectorStyleId || lodashGet(def, 'vectorStyle.id') || layerId; const customPalette = def.custom; + const disabledPalette = def.disabled; let glStyle = vectorStyles[styleId]; if (customPalette && Object.prototype.hasOwnProperty.call(state, 'palettes')) { @@ -155,6 +181,17 @@ export function setStyleFunction(def, vectorStyleId, vectorStyles, layer, state, } } + // De-reference the glState object prior to applying the palette to the layer + glStyle = lodashCloneDeep(glStyle); + + let lookup; + if (isPaletteActive(def.id, options.group, state)) { + lookup = getPaletteLookup(def.id, options.group, state); + } + if (disabledPalette) { + glStyle = updateDisabled(glStyle, lookup); + } + if (!layer || layer.isWMS || glStyle === undefined) { return; } @@ -168,8 +205,6 @@ export function setStyleFunction(def, vectorStyleId, vectorStyles, layer, state, ? lodashFind(layer.getLayers().getArray(), 'isVector') : layer; - // De-reference the glState object prior to applying the palette to the layer - glStyle = lodashCloneDeep(glStyle); const styleFunction = stylefunction(layer, glStyle, layerId, resolutions); const selectedFeatures = selected[layerId]; @@ -259,8 +294,9 @@ export function clearStyleFunction(def, vectorStyleId, vectorStyles, layer, stat * @param {Object} def * @param {Object} olVectorLayer * @param {Object} state + * @param {Object} options */ -export const applyStyle = (def, olVectorLayer, state) => { +export const applyStyle = (def, olVectorLayer, state, options) => { const { config } = state; const { vectorStyles } = config; const vectorStyleId = def.vectorStyle.id; @@ -269,5 +305,5 @@ export const applyStyle = (def, olVectorLayer, state) => { return; } - setStyleFunction(def, vectorStyleId, vectorStyles, olVectorLayer, state); + setStyleFunction(def, vectorStyleId, vectorStyles, olVectorLayer, options, state); }; From cd88c3c7570ccf44e5076e79fe723c76ad4e5f35 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Fri, 19 Apr 2024 13:00:40 -0400 Subject: [PATCH 10/12] dependabot updates 04-19-24 (#5131) --- package-lock.json | 82 ++++++++++++++++++++++++++--------------------- package.json | 12 +++---- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index bffc3de653..c3aa9a07cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,7 @@ "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", - "qs": "^6.12.0", + "qs": "^6.12.1", "react": "^18.0.0", "react-beautiful-dnd": "^13.1.1", "react-device-detect": "^2.2.3", @@ -60,7 +60,7 @@ "react-swipe-to-delete-component": "1.0.5", "react-visibility-sensor": "^5.1.1", "reactstrap": "^9.2.2", - "recharts": "^2.12.4", + "recharts": "^2.12.5", "redux": "^4.2.1", "redux-location-state": "^2.8.2", "redux-logger": "^3.0.6", @@ -84,7 +84,7 @@ "@babel/plugin-transform-private-methods": "^7.24.1", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@playwright/test": "^1.43.0", + "@playwright/test": "^1.43.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.12.0", @@ -116,7 +116,7 @@ "jest": "^29.7.0", "jest-canvas-mock": "^2.5.2", "jest-environment-jsdom": "^29.7.0", - "mini-css-extract-plugin": "^2.8.1", + "mini-css-extract-plugin": "^2.9.0", "node-dir": "^0.1.17", "node-fetch": "^2.6.9", "node-ssh": "^13.1.0", @@ -129,13 +129,13 @@ "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", "sass": "^1.75.0", - "sass-loader": "^14.2.0", + "sass-loader": "^14.2.1", "shelljs": "^0.8.5", "showdown": "^2.1.0", "stylelint": "^15.11.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-high-performance-animation": "^1.10.0", - "tar": "^7.0.0", + "tar": "^7.0.1", "terser-webpack-plugin": "^5.3.10", "uuid": "^9.0.1", "webpack": "^5.91.0", @@ -3338,12 +3338,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.0.tgz", - "integrity": "sha512-Ebw0+MCqoYflop7wVKj711ccbNlrwTBCtjY5rlbiY9kHL2bCYxq+qltK6uPsVBGGAOb033H2VO0YobcQVxoW7Q==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", + "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", "dev": true, "dependencies": { - "playwright": "1.43.0" + "playwright": "1.43.1" }, "bin": { "playwright": "cli.js" @@ -5191,8 +5191,9 @@ }, "node_modules/builtin-modules": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -5201,9 +5202,10 @@ } }, "node_modules/builtins": { - "version": "5.0.1", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.0.0" } @@ -7649,8 +7651,9 @@ }, "node_modules/eslint-plugin-n": { "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -7676,8 +7679,9 @@ }, "node_modules/eslint-plugin-n/node_modules/globals": { "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -7690,8 +7694,9 @@ }, "node_modules/eslint-plugin-n/node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -9560,8 +9565,9 @@ }, "node_modules/is-builtin-module": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, - "license": "MIT", "dependencies": { "builtin-modules": "^3.3.0" }, @@ -12326,9 +12332,10 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.8.1", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", "dev": true, - "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -13515,12 +13522,12 @@ } }, "node_modules/playwright": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.0.tgz", - "integrity": "sha512-SiOKHbVjTSf6wHuGCbqrEyzlm6qvXcv7mENP+OZon1I07brfZLGdfWV0l/efAzVx7TF3Z45ov1gPEkku9q25YQ==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", + "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", "dev": true, "dependencies": { - "playwright-core": "1.43.0" + "playwright-core": "1.43.1" }, "bin": { "playwright": "cli.js" @@ -13533,9 +13540,9 @@ } }, "node_modules/playwright-core": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.0.tgz", - "integrity": "sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", + "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -14311,8 +14318,9 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.12.0", - "license": "BSD-3-Clause", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dependencies": { "side-channel": "^1.0.6" }, @@ -15016,9 +15024,9 @@ } }, "node_modules/recharts": { - "version": "2.12.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.4.tgz", - "integrity": "sha512-dM4skmk4fDKEDjL9MNunxv6zcTxePGVEzRnLDXALRpfJ85JoQ0P0APJ/CoJlmnQI0gPjBlOkjzrwrfQrRST3KA==", + "version": "2.12.5", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.5.tgz", + "integrity": "sha512-Cy+BkqrFIYTHJCyKHJEPvbHE2kVQEP6PKbOHJ8ztRGTAhvHuUnCwDaKVb13OwRFZ0QNUk1QvGTDdgWSMbuMtKw==", "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", @@ -15502,9 +15510,9 @@ } }, "node_modules/sass-loader": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.0.tgz", - "integrity": "sha512-jxmjDXD9OYNDb2bp9JvopdE6QjecQY9beTWik/6sEHrsMxyo90Gyc471A4NUz60NLs4WsAh6yVtIvhLwEZcXeg==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", "dev": true, "dependencies": { "neo-async": "^2.6.2" @@ -16785,9 +16793,9 @@ } }, "node_modules/tar": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.0.0.tgz", - "integrity": "sha512-spRiR+tDOVD01YeeWBUbNa6HoQErjztT2BXxZWmxJDgaCVgZMO1RAoeKpybiUbr8FxKsUm/svtiEyIRZeWYhAw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.0.1.tgz", + "integrity": "sha512-IjMhdQMZFpKsHEQT3woZVxBtCQY+0wk3CVxdRkGXEgyGa0dNS/ehPvOMr2nmfC7x5Zj2N+l6yZUpmICjLGS35w==", "dev": true, "dependencies": { "@isaacs/fs-minipass": "^4.0.0", diff --git a/package.json b/package.json index 018233611b..0fbb91fdc6 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@babel/plugin-transform-private-methods": "^7.24.1", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@playwright/test": "^1.43.0", + "@playwright/test": "^1.43.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.12.0", @@ -115,7 +115,7 @@ "jest": "^29.7.0", "jest-canvas-mock": "^2.5.2", "jest-environment-jsdom": "^29.7.0", - "mini-css-extract-plugin": "^2.8.1", + "mini-css-extract-plugin": "^2.9.0", "node-dir": "^0.1.17", "node-fetch": "^2.6.9", "node-ssh": "^13.1.0", @@ -128,13 +128,13 @@ "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", "sass": "^1.75.0", - "sass-loader": "^14.2.0", + "sass-loader": "^14.2.1", "shelljs": "^0.8.5", "showdown": "^2.1.0", "stylelint": "^15.11.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-high-performance-animation": "^1.10.0", - "tar": "^7.0.0", + "tar": "^7.0.1", "terser-webpack-plugin": "^5.3.10", "uuid": "^9.0.1", "webpack": "^5.91.0", @@ -182,7 +182,7 @@ "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", - "qs": "^6.12.0", + "qs": "^6.12.1", "react": "^18.0.0", "react-beautiful-dnd": "^13.1.1", "react-device-detect": "^2.2.3", @@ -197,7 +197,7 @@ "react-swipe-to-delete-component": "1.0.5", "react-visibility-sensor": "^5.1.1", "reactstrap": "^9.2.2", - "recharts": "^2.12.4", + "recharts": "^2.12.5", "redux": "^4.2.1", "redux-location-state": "^2.8.2", "redux-logger": "^3.0.6", From e8aa908a79bc13d550b96c324f622778c948f6e9 Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:40:02 -0400 Subject: [PATCH 11/12] WV-3147 update collections when projection changes (#5122) * update collections when proj changes * save collection proj to state and check it * lint --- web/js/containers/sidebar/layer-row.js | 2 +- .../update-collections/updateCollections.js | 16 ++++++++++----- web/js/modules/layers/reducers.js | 20 ++++++++++++++++--- web/js/modules/layers/selectors.js | 4 ++-- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/web/js/containers/sidebar/layer-row.js b/web/js/containers/sidebar/layer-row.js index b7f31402ab..d188edfd8b 100644 --- a/web/js/containers/sidebar/layer-row.js +++ b/web/js/containers/sidebar/layer-row.js @@ -646,7 +646,7 @@ const makeMapStateToProps = () => { const dailyDate = formatDailyDate(activeDate); const selectedDate = date.selected; const subdailyDate = formatSubdailyDate(activeDate); - const collections = getCollections(layers, dailyDate, subdailyDate, layer); + const collections = getCollections(layers, dailyDate, subdailyDate, layer, proj.id); const measurementDescriptionPath = getDescriptionPath(state, ownProps); const { ddvZoomAlerts, ddvLocationAlerts } = state.alerts; diff --git a/web/js/mapUI/components/update-collections/updateCollections.js b/web/js/mapUI/components/update-collections/updateCollections.js index 684dc55ddb..73cbc106f8 100644 --- a/web/js/mapUI/components/update-collections/updateCollections.js +++ b/web/js/mapUI/components/update-collections/updateCollections.js @@ -14,6 +14,7 @@ function UpdateCollections () { const proj = useSelector((state) => state.proj); const sources = useSelector((state) => state.config.sources); const layerConfig = useSelector((state) => state.layers.layerConfig); + const projId = useSelector((state) => state.proj.id); // Finds the correct subdomain to query headers from based on the layer source and GIBS/GITC env const lookupLayerSource = (layerId) => { @@ -49,7 +50,7 @@ function UpdateCollections () { if (type !== 'NRT' && type !== 'STD') return undefined; return { - id, date: formattedDate, type, version, + id, date: formattedDate, type, version, projection: proj.id, }; } catch (error) { // errors will clutter console, turn this on for debugging @@ -59,7 +60,7 @@ function UpdateCollections () { return undefined; }; - const findLayerCollections = (layers, dailyDate, subdailyDate) => { + const findLayerCollections = (layers, dailyDate, subdailyDate, forceUpdate) => { const wmtsLayers = layers.filter((layer) => { if (layer.type !== 'wmts' || !layer.visible) return false; @@ -70,15 +71,15 @@ function UpdateCollections () { const collectionDate = layerInCollections.dates.some((d) => d.date === date); - return !collectionDate; // If date exists in layer collection, don't query layer + return !collectionDate || forceUpdate; // If date exists in layer collection, don't query layer }); return wmtsLayers; }; - const updateLayerCollections = async () => { + const updateLayerCollections = async (forceUpdate = false) => { const formattedDailyDate = formatDailyDate(selectedDate); const formattedSubdailyDate = formatSubdailyDate(selectedDate); - const layersToUpdate = findLayerCollections(layers, formattedDailyDate, formattedSubdailyDate); + const layersToUpdate = findLayerCollections(layers, formattedDailyDate, formattedSubdailyDate, forceUpdate); const headerPromises = layersToUpdate.map((layer) => getHeaders(layer, selectedDate)); try { @@ -96,6 +97,11 @@ function UpdateCollections () { updateLayerCollections(); }, [selectedDate, layers]); + useEffect(() => { + if (!layers.length) return; + updateLayerCollections(true); + }, [projId]); + return null; } diff --git a/web/js/modules/layers/reducers.js b/web/js/modules/layers/reducers.js index e7f01c9382..847e9497c0 100644 --- a/web/js/modules/layers/reducers.js +++ b/web/js/modules/layers/reducers.js @@ -351,14 +351,28 @@ export function layerReducer(state = initialState, action) { const updates = {}; action.payload.forEach((collection) => { const { - id, date, type, version, + id, date, type, version, projection, } = collection; // If the layer doesn't exist, initialize it if (!state.collections[id]) { - updates[id] = { $set: { dates: [{ version, type, date }] } }; + updates[id] = { + $set: { + dates: [{ + version, + type, + date, + projection, + }], + }, + }; } else { // If the layer exists, prepare to push to the dates array - const newEntry = { date, type, version }; + const newEntry = { + date, + type, + version, + projection, + }; updates[id] = { dates: { $push: [newEntry] }, }; diff --git a/web/js/modules/layers/selectors.js b/web/js/modules/layers/selectors.js index 51fce8f142..9bf84ed87e 100644 --- a/web/js/modules/layers/selectors.js +++ b/web/js/modules/layers/selectors.js @@ -126,11 +126,11 @@ export const getStartingLayers = createSelector([getConfig], (config) => resetLa export const isGroupingEnabled = ({ compare, layers }) => layers[compare.activeString].groupOverlays; -export const getCollections = (layers, dailyDate, subdailyDate, layer) => { +export const getCollections = (layers, dailyDate, subdailyDate, layer, projId) => { if (!layers.collections[layer.id]) return; const dateCollection = layers.collections[layer.id].dates; for (let i = 0; i < dateCollection.length; i += 1) { - if (dateCollection[i].date === dailyDate || dateCollection[i].date === subdailyDate) { + if ((dateCollection[i].date === dailyDate || dateCollection[i].date === subdailyDate) && dateCollection[i].projection === projId) { return dateCollection[i]; } } From c4c110dd494007b5e84d8923c4db087083d033d0 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Mon, 22 Apr 2024 11:19:57 -0400 Subject: [PATCH 12/12] v4.32.0 --- package-lock.json | 11523 +++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 11521 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3aa9a07cc..789f38e27e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "worldview", - "version": "4.31.0", - "lockfileVersion": 3, + "version": "4.32.0", + "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "worldview", - "version": "4.31.0", + "version": "4.32.0", "hasInstallScript": true, "license": "NASA-1.3", "dependencies": { @@ -18434,5 +18434,11522 @@ "url": "https://github.com/sponsors/sindresorhus" } } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6" + }, + "@ampproject/remapping": { + "version": "2.2.0", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.24.2", + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "dev": true + }, + "@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "7.5.4" + } + }, + "@babel/eslint-parser": { + "version": "7.24.1", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "7.5.4" + } + }, + "@babel/generator": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "dev": true, + "requires": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "7.5.4" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "7.5.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "7.5.4" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "requires": { + "@babel/types": "^7.24.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20" + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "dev": true, + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.24.2", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "dev": true + }, + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/preset-env": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "7.5.4" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.24.1", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "dev": true + }, + "@babel/runtime": { + "version": "7.23.2", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.0", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true + }, + "@csstools/css-parser-algorithms": { + "version": "2.3.2", + "dev": true, + "requires": {} + }, + "@csstools/css-tokenizer": { + "version": "2.2.1", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "2.1.5", + "dev": true, + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "3.0.0", + "dev": true, + "requires": {} + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true + }, + "@elastic/react-search-ui": { + "version": "1.21.1", + "requires": { + "@elastic/react-search-ui-views": "1.21.1", + "@elastic/search-ui": "1.21.1" + } + }, + "@elastic/react-search-ui-views": { + "version": "1.21.1", + "requires": { + "@elastic/search-ui": "1.21.1", + "downshift": "^3.2.10", + "rc-pagination": "^4.0.4", + "react-select": "^5.0.0" + } + }, + "@elastic/search-ui": { + "version": "1.21.1", + "requires": { + "date-fns": "^1.30.1", + "deep-equal": "^1.0.1", + "history": "^4.9.0", + "qs": "^6.7.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + } + } + }, + "@emotion/babel-plugin": { + "version": "11.11.0", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.5.7" + } + } + }, + "@emotion/cache": { + "version": "11.11.0", + "requires": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "@emotion/hash": { + "version": "0.9.1" + }, + "@emotion/memoize": { + "version": "0.8.1" + }, + "@emotion/react": { + "version": "11.11.4", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.3", + "requires": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.2" + }, + "@emotion/unitless": { + "version": "0.8.1" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.1" + }, + "@emotion/weak-memoize": { + "version": "0.3.1" + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "requires": { + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.3.0" + } + } + }, + "@eslint-community/regexpp": { + "version": "4.9.1" + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "globals": { + "version": "13.23.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "@eslint/js": { + "version": "8.57.0" + }, + "@floating-ui/core": { + "version": "1.6.0", + "requires": { + "@floating-ui/utils": "^0.2.1" + } + }, + "@floating-ui/dom": { + "version": "1.6.3", + "requires": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "@floating-ui/utils": { + "version": "0.2.1" + }, + "@fortawesome/fontawesome-common-types": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", + "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", + "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.5.2" + } + }, + "@fortawesome/free-brands-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", + "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.5.2" + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", + "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.5.2" + } + }, + "@fortawesome/react-fontawesome": { + "version": "0.2.0", + "requires": { + "prop-types": "^15.8.1" + } + }, + "@gilbarbara/deep-equal": { + "version": "0.1.2" + }, + "@humanwhocodes/config-array": { + "version": "0.11.14", + "requires": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1" + }, + "@humanwhocodes/object-schema": { + "version": "2.0.2" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "@isaacs/fs-minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.0.tgz", + "integrity": "sha512-S00nN1Qt3z3dSP6Db45fj/mksrAq5XWNIJ/SWXGP8XPT2jrzEuYRCSEx08JpJwBcG2F1xgiOtBMGDU0AZHmxew==", + "dev": true, + "requires": { + "minipass": "^7.0.4" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "dev": true + }, + "@jest/console": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/expect": { + "version": "29.7.0", + "dev": true, + "requires": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/reporters": { + "version": "29.7.0", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.7.0", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "29.6.3", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0" + }, + "@jridgewell/set-array": { + "version": "1.2.1" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@khanisak/temperature-converter": { + "version": "2.0.1" + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "dev": true + }, + "@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2" + }, + "@mapbox/mapbox-gl-style-spec": { + "version": "13.28.0", + "requires": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/unitbezier": "^0.0.0", + "csscolorparser": "~1.0.2", + "json-stringify-pretty-compact": "^2.0.0", + "minimist": "^1.2.6", + "rw": "^1.3.3", + "sort-object": "^0.3.2" + } + }, + "@mapbox/point-geometry": { + "version": "0.1.0" + }, + "@mapbox/unitbezier": { + "version": "0.0.0" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@petamoriken/float16": { + "version": "3.7.1" + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "optional": true + }, + "@playwright/test": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", + "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", + "dev": true, + "requires": { + "playwright": "1.43.1" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "dev": true, + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "dev": true + } + } + }, + "@polka/url": { + "version": "1.0.0-next.23", + "dev": true + }, + "@popperjs/core": { + "version": "2.11.8" + }, + "@redux-devtools/extension": { + "version": "3.2.6", + "requires": { + "@babel/runtime": "^7.23.2", + "immutable": "^4.3.4" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.2", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.5", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.2", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.2", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/d3-array": { + "version": "3.0.8" + }, + "@types/d3-color": { + "version": "3.1.1" + }, + "@types/d3-ease": { + "version": "3.0.0" + }, + "@types/d3-interpolate": { + "version": "3.0.2", + "requires": { + "@types/d3-color": "*" + } + }, + "@types/d3-path": { + "version": "3.0.0" + }, + "@types/d3-scale": { + "version": "4.0.5", + "requires": { + "@types/d3-time": "*" + } + }, + "@types/d3-shape": { + "version": "3.1.3", + "requires": { + "@types/d3-path": "*" + } + }, + "@types/d3-time": { + "version": "3.0.1" + }, + "@types/d3-timer": { + "version": "3.0.0" + }, + "@types/eslint": { + "version": "8.4.6", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5" + }, + "@types/express": { + "version": "4.17.21", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.43", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.7", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/http-errors": { + "version": "2.0.4", + "dev": true + }, + "@types/http-proxy": { + "version": "1.17.9", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jsdom": { + "version": "20.0.1", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + }, + "dependencies": { + "parse5": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/json5": { + "version": "0.0.29", + "dev": true + }, + "@types/lodash": { + "version": "4.14.199" + }, + "@types/lodash-es": { + "version": "4.17.9", + "requires": { + "@types/lodash": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "dev": true + }, + "@types/minimist": { + "version": "1.2.3", + "dev": true + }, + "@types/node": { + "version": "18.15.11" + }, + "@types/node-forge": { + "version": "1.3.11", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/normalize-package-data": { + "version": "2.4.2", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0" + }, + "@types/prop-types": { + "version": "15.7.5" + }, + "@types/qs": { + "version": "6.9.7", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "dev": true + }, + "@types/react": { + "version": "18.0.28", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-redux": { + "version": "7.1.25", + "requires": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "@types/react-transition-group": { + "version": "4.4.10", + "requires": { + "@types/react": "*" + } + }, + "@types/retry": { + "version": "0.12.2", + "dev": true + }, + "@types/scheduler": { + "version": "0.16.2" + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "@types/send": { + "version": "0.17.4", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + }, + "dependencies": { + "@types/mime": { + "version": "1.3.5", + "dev": true + } + } + }, + "@types/serve-index": { + "version": "1.9.4", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ssh2": { + "version": "1.11.11", + "dev": true, + "requires": { + "@types/node": "^18.11.18" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.2", + "dev": true + }, + "@types/use-sync-external-store": { + "version": "0.0.3" + }, + "@types/ws": { + "version": "8.5.10", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.22", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "dev": true + }, + "@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + } + }, + "@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@ungap/structured-clone": { + "version": "1.2.0" + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.1.1", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.2", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.5", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "dev": true + }, + "abab": { + "version": "2.0.6", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0" + }, + "acorn-import-assertions": { + "version": "1.9.0", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "8.12.0", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "3.2.1", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "dev": true + }, + "argparse": { + "version": "2.0.1" + }, + "aria-query": { + "version": "5.3.0", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "dev": true + }, + "array-includes": { + "version": "3.1.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "dev": true + }, + "array.prototype.find": { + "version": "2.2.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.findlast": { + "version": "1.2.4", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.findlastindex": { + "version": "1.2.3", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.toreversed": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.3", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "arrify": { + "version": "1.0.1", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "ast-types-flow": { + "version": "0.0.8", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "dev": true + }, + "asynciterator.prototype": { + "version": "1.0.0", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0" + }, + "at-least-node": { + "version": "1.0.0", + "dev": true + }, + "autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, + "axe-core": { + "version": "4.7.0", + "dev": true + }, + "axios": { + "version": "1.6.8", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "axobject-query": { + "version": "3.2.1", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-jest": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "9.1.3", + "dev": true, + "requires": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "7.5.4" + } + } + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "7.1.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "parse-json": { + "version": "5.2.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "yaml": { + "version": "1.10.2" + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "7.5.4" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "batch": { + "version": "0.6.1", + "dev": true + }, + "batch-processor": { + "version": "1.0.0" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "dev": true + }, + "bluebird": { + "version": "3.7.2" + }, + "body-parser": { + "version": "1.20.2", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "dev": true + }, + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "qs": { + "version": "6.11.0", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "bonjour-service": { + "version": "1.2.1", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "dev": true + }, + "bootstrap": { + "version": "5.3.3", + "requires": {} + }, + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.23.0", + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "dev": true, + "requires": { + "semver": "7.5.4" + } + }, + "bundle-name": { + "version": "4.1.0", + "dev": true, + "requires": { + "run-applescript": "^7.0.0" + } + }, + "bytes": { + "version": "3.0.0" + }, + "cachai": { + "version": "1.0.2" + }, + "call-bind": { + "version": "1.0.7", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0" + }, + "camelcase": { + "version": "5.3.1", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "dev": true + }, + "type-fest": { + "version": "1.4.0", + "dev": true + } + } + }, + "can-use-dom": { + "version": "0.1.0" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==" + }, + "chalk": { + "version": "2.4.2", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.12", + "dev": true, + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "dependencies": { + "parse5": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, + "cheerio-select": { + "version": "2.1.0", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chokidar": { + "version": "3.6.0", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3" + }, + "ci-info": { + "version": "3.8.0", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "dev": true + }, + "classnames": { + "version": "2.3.2" + }, + "clean-webpack-plugin": { + "version": "4.0.0", + "dev": true, + "requires": { + "del": "^4.1.1" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "del": { + "version": "4.1.1", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "6.1.0", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "dev": true + }, + "pify": { + "version": "4.0.1", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cliui": { + "version": "8.0.1", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "clsx": { + "version": "1.2.1" + }, + "co": { + "version": "4.6.0", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3" + }, + "color-parse": { + "version": "2.0.0", + "requires": { + "color-name": "^1.0.0" + } + }, + "color-rgba": { + "version": "3.0.0", + "requires": { + "color-parse": "^2.0.0", + "color-space": "^2.0.0" + } + }, + "color-space": { + "version": "2.0.1" + }, + "colord": { + "version": "2.9.3", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "dev": true + }, + "common-path-prefix": { + "version": "3.0.0", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "compute-scroll-into-view": { + "version": "1.0.20" + }, + "concat-map": { + "version": "0.0.1" + }, + "confusing-browser-globals": { + "version": "1.0.11", + "dev": true + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.5", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "dev": true + }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "dev": true + }, + "coordinate-parser": { + "version": "1.0.7" + }, + "copy-to-clipboard": { + "version": "3.3.3", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "3.22.3", + "dev": true + }, + "core-js-compat": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0" + } + }, + "core-js-pure": { + "version": "3.27.2", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "dev": true + }, + "cosmiconfig": { + "version": "8.3.6", + "dev": true, + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + } + } + }, + "create-jest": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-env": { + "version": "7.0.3", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-box-model": { + "version": "1.2.1", + "requires": { + "tiny-invariant": "^1.0.6" + } + }, + "css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "dev": true, + "requires": {} + }, + "css-functions-list": { + "version": "3.2.1", + "dev": true + }, + "css-loader": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.1.tgz", + "integrity": "sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "7.5.4" + } + }, + "css-minimizer-webpack-plugin": { + "version": "6.0.0", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.21", + "cssnano": "^6.0.3", + "jest-worker": "^29.7.0", + "postcss": "^8.4.33", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, + "dependencies": { + "schema-utils": { + "version": "4.2.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "css-select": { + "version": "5.1.0", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "2.3.1", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "css-url-relative-plugin": { + "version": "1.1.0", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "parse-import": "^2.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "webpack-sources": { + "version": "1.4.3", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "css-what": { + "version": "6.1.0", + "dev": true + }, + "csscolorparser": { + "version": "1.0.3" + }, + "cssesc": { + "version": "3.0.0", + "dev": true + }, + "cssfontparser": { + "version": "1.2.1", + "dev": true + }, + "cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "requires": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + } + }, + "cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + } + }, + "cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "requires": { + "css-tree": "~2.2.0" + }, + "dependencies": { + "css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "requires": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + } + }, + "mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + } + } + }, + "cssom": { + "version": "0.5.0", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.1" + }, + "d3-array": { + "version": "3.2.4", + "requires": { + "internmap": "1 - 2" + } + }, + "d3-color": { + "version": "3.1.0" + }, + "d3-ease": { + "version": "3.0.1" + }, + "d3-format": { + "version": "3.1.0" + }, + "d3-interpolate": { + "version": "3.0.1", + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-path": { + "version": "3.1.0" + }, + "d3-scale": { + "version": "4.0.2", + "requires": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + } + }, + "d3-shape": { + "version": "3.2.0", + "requires": { + "d3-path": "^3.1.0" + } + }, + "d3-time": { + "version": "3.1.0", + "requires": { + "d3-array": "2 - 3" + } + }, + "d3-time-format": { + "version": "4.1.0", + "requires": { + "d3-time": "1 - 3" + } + }, + "d3-timer": { + "version": "3.0.1" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "dev": true + }, + "data-urls": { + "version": "3.0.2", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "tr46": { + "version": "3.0.0", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "11.0.0", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } + } + }, + "date-fns": { + "version": "1.30.1" + }, + "debounce": { + "version": "1.2.1", + "dev": true + }, + "debug": { + "version": "4.3.4", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "5.0.1", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "dev": true + } + } + }, + "decimal.js": { + "version": "10.4.3", + "dev": true + }, + "decimal.js-light": { + "version": "2.5.1" + }, + "dedent": { + "version": "1.5.1", + "dev": true, + "requires": {} + }, + "deep-diff": { + "version": "1.0.2" + }, + "deep-equal": { + "version": "1.1.2", + "requires": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + } + }, + "deep-is": { + "version": "0.1.4" + }, + "deepmerge": { + "version": "4.3.1" + }, + "default-browser": { + "version": "5.2.1", + "dev": true, + "requires": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + } + }, + "default-browser-id": { + "version": "5.0.0", + "dev": true + }, + "default-gateway": { + "version": "6.0.3", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-data-property": { + "version": "1.1.4", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "3.0.0", + "dev": true + }, + "define-properties": { + "version": "1.2.1", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0" + }, + "depd": { + "version": "2.0.0", + "dev": true + }, + "dequal": { + "version": "2.0.3", + "dev": true + }, + "desandro-matches-selector": { + "version": "2.0.2" + }, + "destroy": { + "version": "1.2.0", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "dev": true + }, + "diff-sequences": { + "version": "29.6.3", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-packet": { + "version": "5.6.1", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-helpers": { + "version": "5.2.1", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-scroll-into-view": { + "version": "2.0.1" + }, + "dom-serializer": { + "version": "2.0.0", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "dev": true + }, + "domexception": { + "version": "4.0.0", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "domhandler": { + "version": "5.0.3", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "downshift": { + "version": "3.4.8", + "requires": { + "@babel/runtime": "^7.4.5", + "compute-scroll-into-view": "^1.0.9", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + } + }, + "duplexer": { + "version": "0.1.2", + "dev": true + }, + "earcut": { + "version": "2.2.4" + }, + "eastasianwidth": { + "version": "0.2.0", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.693" + }, + "element-resize-detector": { + "version": "1.2.4", + "requires": { + "batch-processor": "1.0.0" + } + }, + "elm-pep": { + "version": "1.0.6" + }, + "emittery": { + "version": "0.13.1", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "dev": true + }, + "enhanced-resolve": { + "version": "0.9.1", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "entities": { + "version": "4.4.0", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.7", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.22.5", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + } + }, + "es-define-property": { + "version": "1.0.0", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0" + }, + "es-iterator-helpers": { + "version": "1.0.17", + "dev": true, + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.4", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.2", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.0" + } + }, + "es-module-lexer": { + "version": "1.2.1" + }, + "es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1" + }, + "escape-html": { + "version": "1.0.3", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5" + }, + "escodegen": { + "version": "2.0.0", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "1.2.5" + } + }, + "prelude-ls": { + "version": "1.1.2", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.57.0", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "eslint-scope": { + "version": "7.2.2", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3" + }, + "glob-parent": { + "version": "6.0.2", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "eslint-compat-utils": { + "version": "0.1.2", + "dev": true, + "requires": {} + }, + "eslint-config-airbnb": { + "version": "19.0.4", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + } + }, + "eslint-config-airbnb-base": { + "version": "15.0.0", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "7.5.4" + } + }, + "eslint-config-standard": { + "version": "17.1.0", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-import-resolver-webpack": { + "version": "0.13.8", + "dev": true, + "requires": { + "array.prototype.find": "^2.2.2", + "debug": "^3.2.7", + "enhanced-resolve": "^0.9.1", + "find-root": "^1.1.0", + "hasown": "^2.0.0", + "interpret": "^1.4.0", + "is-core-module": "^2.13.1", + "is-regex": "^1.1.4", + "lodash": "^4.17.21", + "resolve": "^2.0.0-next.5", + "semver": "7.5.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-es-x": { + "version": "7.5.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.1.2", + "@eslint-community/regexpp": "^4.6.0", + "eslint-compat-utils": "^0.1.2" + } + }, + "eslint-plugin-import": { + "version": "2.29.1", + "dev": true, + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "7.5.4", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-jest": { + "version": "28.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.2.0.tgz", + "integrity": "sha512-yRDti/a+f+SMSmNTiT9/M/MzXGkitl8CfzUxnpoQcTyfq8gUrXMriVcWU36W1X6BZSUoyUCJrDAWWUA2N4hE5g==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^6.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "dev": true, + "requires": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + } + }, + "eslint-plugin-n": { + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "builtins": "^5.0.1", + "eslint-plugin-es-x": "^7.5.0", + "get-tsconfig": "^4.7.0", + "globals": "^13.24.0", + "ignore": "^5.2.4", + "is-builtin-module": "^3.2.1", + "is-core-module": "^2.12.1", + "minimatch": "^3.1.2", + "resolve": "^1.22.2", + "semver": "7.5.4" + }, + "dependencies": { + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-plugin-no-storage": { + "version": "1.0.2", + "dev": true + }, + "eslint-plugin-node": { + "version": "11.1.0", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "7.5.4" + } + }, + "eslint-plugin-promise": { + "version": "6.1.1", + "dev": true, + "requires": {} + }, + "eslint-plugin-react": { + "version": "7.34.1", + "dev": true, + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "7.5.4", + "string.prototype.matchall": "^4.0.10" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0" + } + } + }, + "eslint-utils": { + "version": "2.1.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "dev": true + }, + "espree": { + "version": "9.6.1", + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3" + } + } + }, + "esprima": { + "version": "4.0.1", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0" + }, + "esutils": { + "version": "2.0.3" + }, + "etag": { + "version": "1.8.1", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1" + }, + "eventemitter3": { + "version": "4.0.7" + }, + "events": { + "version": "3.3.0" + }, + "execa": { + "version": "5.1.1", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "dev": true + }, + "expect": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "qs": { + "version": "6.11.0", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "safe-buffer": { + "version": "5.2.1", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-diff": { + "version": "1.3.0", + "dev": true, + "peer": true + }, + "fast-equals": { + "version": "5.0.1" + }, + "fast-glob": { + "version": "3.3.1", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fastest-levenshtein": { + "version": "1.0.16", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fetch-mock": { + "version": "9.11.0", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "@babel/runtime": "^7.0.0", + "core-js": "^3.0.0", + "debug": "^4.1.1", + "glob-to-regexp": "^0.4.0", + "is-subset": "^0.1.1", + "lodash.isequal": "^4.5.0", + "path-to-regexp": "^2.2.1", + "querystring": "^0.2.0", + "whatwg-url": "^6.5.0" + }, + "dependencies": { + "path-to-regexp": { + "version": "2.4.0", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-saver": { + "version": "2.0.5" + }, + "fill-range": { + "version": "7.0.1", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "4.0.0", + "dev": true, + "requires": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "dependencies": { + "find-up": { + "version": "6.3.0", + "dev": true, + "requires": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "locate-path": { + "version": "7.2.0", + "dev": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "p-limit": { + "version": "4.0.0", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "dev": true + }, + "pkg-dir": { + "version": "7.0.0", + "dev": true, + "requires": { + "find-up": "^6.3.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "dev": true + } + } + }, + "find-root": { + "version": "1.1.0" + }, + "find-up": { + "version": "5.0.0", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "dev": true, + "requires": { + "micromatch": "^4.0.2" + } + }, + "fizzy-ui-utils": { + "version": "2.0.7", + "requires": { + "desandro-matches-selector": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.1.1", + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9" + }, + "follow-redirects": { + "version": "1.15.6" + }, + "for-each": { + "version": "0.3.3", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "3.1.1", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "dev": true + } + } + }, + "form-data": { + "version": "4.0.0", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "dev": true + }, + "fraction.js": { + "version": "4.3.7", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2" + }, + "function.prototype.name": { + "version": "1.1.6", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3" + }, + "gensync": { + "version": "1.0.0-beta.2", + "dev": true + }, + "geographiclib-geodesic": { + "version": "2.0.0" + }, + "geotiff": { + "version": "2.0.7", + "requires": { + "@petamoriken/float16": "^3.4.7", + "lerc": "^3.0.0", + "pako": "^2.0.4", + "parse-headers": "^2.0.2", + "quick-lru": "^6.1.1", + "web-worker": "^1.2.0", + "xml-utils": "^1.0.2" + }, + "dependencies": { + "pako": { + "version": "2.1.0" + }, + "quick-lru": { + "version": "6.1.1" + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "dev": true + }, + "get-imports": { + "version": "1.0.0", + "dev": true, + "requires": { + "array-uniq": "^1.0.1", + "import-regex": "^1.1.0" + } + }, + "get-intrinsic": { + "version": "1.2.4", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-package-type": { + "version": "0.1.0", + "dev": true + }, + "get-size": { + "version": "2.0.3" + }, + "get-symbol-description": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "get-tsconfig": { + "version": "4.7.2", + "dev": true, + "requires": { + "resolve-pkg-maps": "^1.0.0" + } + }, + "glob": { + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1" + }, + "global-modules": { + "version": "2.0.0", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "dev": true + }, + "gopd": { + "version": "1.0.1", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0" + }, + "gzip-size": { + "version": "6.0.0", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "dev": true + }, + "has-bigints": { + "version": "1.0.2", + "dev": true + }, + "has-flag": { + "version": "3.0.0" + }, + "has-property-descriptors": { + "version": "1.0.2", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3" + }, + "has-symbols": { + "version": "1.0.3" + }, + "has-tostringtag": { + "version": "1.0.2", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.1", + "requires": { + "function-bind": "^1.1.2" + } + }, + "history": { + "version": "5.3.0", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "requires": { + "react-is": "^16.7.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-entities": { + "version": "2.5.2", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "dev": true + }, + "html-tags": { + "version": "3.3.1", + "dev": true + }, + "htmlparser2": { + "version": "8.0.1", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.6", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "is-plain-obj": { + "version": "3.0.0", + "dev": true + } + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "dev": true + }, + "husky": { + "version": "9.0.11", + "dev": true + }, + "hyperdyperid": { + "version": "1.2.0", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1" + }, + "ignore": { + "version": "5.2.4" + }, + "imagesloaded": { + "version": "5.0.0", + "requires": { + "ev-emitter": "^2.1.2" + }, + "dependencies": { + "ev-emitter": { + "version": "2.1.2" + } + } + }, + "immutability-helper": { + "version": "3.1.1" + }, + "immutable": { + "version": "4.3.4" + }, + "import-fresh": { + "version": "3.3.0", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "import-regex": { + "version": "1.1.0", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4" + }, + "indent-string": { + "version": "5.0.0", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4" + }, + "ini": { + "version": "1.3.8", + "dev": true + }, + "internal-slot": { + "version": "1.0.7", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "2.0.3" + }, + "interpret": { + "version": "1.4.0", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-arrayish": { + "version": "0.2.1" + }, + "is-async-function": { + "version": "2.0.0", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, + "is-callable": { + "version": "1.2.7", + "dev": true + }, + "is-core-module": { + "version": "2.13.1", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "dev": true + }, + "is-extglob": { + "version": "2.1.1" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + }, + "dependencies": { + "is-docker": { + "version": "3.0.0", + "dev": true + } + } + }, + "is-lite": { + "version": "1.2.1" + }, + "is-map": { + "version": "2.0.2", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.3", + "dev": true + }, + "is-network-error": { + "version": "1.0.1", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.3" + }, + "is-plain-obj": { + "version": "1.1.0", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-stream": { + "version": "2.0.1", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-subset": { + "version": "0.1.1", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.13", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-weakmap": { + "version": "2.0.1", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "2.2.0", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "dev": true + }, + "isexe": { + "version": "2.0.0" + }, + "isobject": { + "version": "3.0.1", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "6.0.0", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "7.5.4" + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "make-dir": { + "version": "4.0.0", + "dev": true, + "requires": { + "semver": "7.5.4" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.6", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.2", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "jackspeak": { + "version": "2.3.6", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jest": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + } + }, + "jest-canvas-mock": { + "version": "2.5.2", + "dev": true, + "requires": { + "cssfontparser": "^1.2.1", + "moo-color": "^1.0.2" + } + }, + "jest-changed-files": { + "version": "29.7.0", + "dev": true, + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "29.7.0", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "29.7.0", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "29.7.0", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "dependencies": { + "acorn-globals": { + "version": "7.0.1", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "jsdom": { + "version": "20.0.3", + "dev": true, + "requires": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + } + }, + "parse5": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "saxes": { + "version": "6.0.0", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "tr46": { + "version": "3.0.0", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "w3c-xmlserializer": { + "version": "4.0.0", + "dev": true, + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "whatwg-url": { + "version": "11.0.0", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "ws": { + "version": "8.12.0", + "dev": true, + "requires": {} + } + } + }, + "jest-environment-node": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "dev": true + }, + "jest-haste-map": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.7.0", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-matcher-utils": { + "version": "29.7.0", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "29.7.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "dev": true + }, + "jest-resolve": { + "version": "29.7.0", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "29.7.0", + "dev": true, + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-snapshot": { + "version": "29.7.0", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "7.5.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.3.0", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "29.7.0", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.20.0", + "dev": true + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsdom-worker": { + "version": "0.3.0", + "requires": { + "mitt": "^3.0.0", + "uuid-v4": "^0.1.0" + } + }, + "jsesc": { + "version": "2.5.2", + "dev": true + }, + "json-buffer": { + "version": "3.0.1" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1" + }, + "json-schema-traverse": { + "version": "1.0.0", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.2", + "dev": true, + "requires": { + "jsonify": "^0.0.1" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "json-stringify-pretty-compact": { + "version": "2.0.0" + }, + "json5": { + "version": "2.2.3", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "dev": true + } + } + }, + "jsonify": { + "version": "0.0.1", + "dev": true + }, + "jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "kdbush": { + "version": "4.0.2" + }, + "keyv": { + "version": "4.5.4", + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "dev": true + }, + "klaw-sync": { + "version": "6.0.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "kleur": { + "version": "3.0.3", + "dev": true + }, + "known-css-properties": { + "version": "0.28.0", + "dev": true + }, + "language-subtag-registry": { + "version": "0.3.22", + "dev": true + }, + "language-tags": { + "version": "1.0.9", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "launch-editor": { + "version": "2.6.1", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "lerc": { + "version": "3.0.0" + }, + "leven": { + "version": "3.1.0", + "dev": true + }, + "levn": { + "version": "0.4.1", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "3.1.1", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4" + }, + "load-json-file": { + "version": "4.0.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.3.0" + }, + "loader-utils": { + "version": "2.0.4", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21" + }, + "lodash-es": { + "version": "4.17.21" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "dev": true, + "peer": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0" + }, + "lodash.isequal": { + "version": "4.5.0", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lodash.sortby": { + "version": "4.7.0", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "dev": true, + "requires": { + "semver": "7.5.4" + } + }, + "makeerror": { + "version": "1.0.12", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "dev": true + }, + "mapbox-to-css-font": { + "version": "2.4.2" + }, + "masonry-layout": { + "version": "4.2.2", + "requires": { + "get-size": "^2.0.2", + "outlayer": "^2.1.0" + } + }, + "mathml-tag-names": { + "version": "2.1.3", + "dev": true + }, + "mdn-data": { + "version": "2.0.30", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "dev": true + }, + "memoize-one": { + "version": "5.2.1" + }, + "memory-fs": { + "version": "0.2.0", + "dev": true + }, + "memorystream": { + "version": "0.3.1", + "dev": true + }, + "meow": { + "version": "10.1.5", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "dev": true + }, + "merge-stream": { + "version": "2.0.0" + }, + "merge2": { + "version": "1.4.1", + "dev": true + }, + "methods": { + "version": "1.1.2", + "dev": true + }, + "mgrs": { + "version": "1.0.0" + }, + "micromatch": { + "version": "4.0.5", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "dev": true + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "tapable": { + "version": "2.2.1", + "dev": true + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6" + }, + "minimist-options": { + "version": "4.1.0", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, + "minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "dev": true, + "requires": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "dependencies": { + "rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "requires": { + "glob": "^10.3.7" + } + } + } + }, + "mitt": { + "version": "3.0.0" + }, + "mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true + }, + "moment": { + "version": "2.30.1" + }, + "moment-locales-webpack-plugin": { + "version": "1.2.0", + "requires": { + "lodash.difference": "^4.5.0" + } + }, + "moo-color": { + "version": "1.0.3", + "dev": true, + "requires": { + "color-name": "^1.1.4" + }, + "dependencies": { + "color-name": { + "version": "1.1.4", + "dev": true + } + } + }, + "mrmime": { + "version": "1.0.1", + "dev": true + }, + "ms": { + "version": "2.1.2" + }, + "multicast-dns": { + "version": "7.2.5", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "nanoid": { + "version": "3.3.7", + "dev": true + }, + "natural-compare": { + "version": "1.4.0" + }, + "negotiator": { + "version": "0.6.3" + }, + "neo-async": { + "version": "2.6.2" + }, + "nice-try": { + "version": "1.0.5", + "dev": true + }, + "node-dir": { + "version": "0.1.17", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.7.0", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3" + }, + "webidl-conversions": { + "version": "3.0.1" + }, + "whatwg-url": { + "version": "5.0.0", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-forge": { + "version": "1.3.1", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "dev": true + }, + "node-releases": { + "version": "2.0.14" + }, + "node-ssh": { + "version": "13.1.0", + "dev": true, + "requires": { + "@types/ssh2": "^1.11.9", + "is-stream": "^2.0.0", + "make-dir": "^3.1.0", + "sb-promise-queue": "^2.1.0", + "sb-scandir": "^3.1.0", + "shell-escape": "^0.2.0", + "ssh2": "^1.11.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "7.5.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "dev": true + }, + "npm-run-all": { + "version": "4.1.5", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "7.5.4", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "dev": true + }, + "which": { + "version": "1.3.1", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.2", + "dev": true + }, + "object-assign": { + "version": "4.1.1" + }, + "object-inspect": { + "version": "1.13.1" + }, + "object-is": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + } + }, + "object-keys": { + "version": "1.1.1" + }, + "object.assign": { + "version": "4.1.5", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.fromentries": { + "version": "2.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.groupby": { + "version": "1.0.1", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "object.hasown": { + "version": "1.1.3", + "dev": true, + "requires": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.values": { + "version": "1.1.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "obuf": { + "version": "1.1.2", + "dev": true + }, + "ol": { + "version": "8.2.0", + "requires": { + "color-rgba": "^3.0.0", + "color-space": "^2.0.1", + "earcut": "^2.2.3", + "geotiff": "^2.0.7", + "pbf": "3.2.1", + "rbush": "^3.0.1" + } + }, + "ol-mapbox-style": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-12.3.1.tgz", + "integrity": "sha512-pKBpKBns4YUgeFCp+aeuJtM+D2BKLc1HJmk5tFL0Nv7u7nelZnInUs/+XnSlHOa1hPBSrOyL+7CvKtegEyuYlg==", + "requires": { + "@mapbox/mapbox-gl-style-spec": "^13.23.1", + "mapbox-to-css-font": "^2.4.1" + } + }, + "on-finished": { + "version": "2.4.1", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2" + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.2", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "opener": { + "version": "1.5.2", + "dev": true + }, + "optionator": { + "version": "0.9.3", + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "dev": true + }, + "outlayer": { + "version": "2.1.1", + "requires": { + "ev-emitter": "^1.0.0", + "fizzy-ui-utils": "^2.0.0", + "get-size": "^2.0.2" + } + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-queue": { + "version": "8.0.1", + "requires": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "dependencies": { + "eventemitter3": { + "version": "5.0.1" + } + } + }, + "p-retry": { + "version": "6.2.0", + "dev": true, + "requires": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + } + }, + "p-timeout": { + "version": "6.1.2" + }, + "p-try": { + "version": "2.2.0", + "dev": true + }, + "pako": { + "version": "1.0.11" + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-headers": { + "version": "2.0.5" + }, + "parse-import": { + "version": "2.0.0", + "dev": true, + "requires": { + "get-imports": "^1.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "dev": true, + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "dependencies": { + "parse5": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, + "parseurl": { + "version": "1.3.3", + "dev": true + }, + "patch-package": { + "version": "8.0.0", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "7.5.4", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "2.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "dev": true + } + } + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-is-inside": { + "version": "1.0.2", + "dev": true + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7" + }, + "path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "path-to-regexp": { + "version": "0.1.7", + "dev": true + }, + "path-type": { + "version": "4.0.0" + }, + "pbf": { + "version": "3.2.1", + "requires": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + } + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1", + "dev": true + }, + "pidtree": { + "version": "0.3.1", + "dev": true + }, + "pify": { + "version": "3.0.0", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.6", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "playwright": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", + "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", + "dev": true, + "requires": { + "fsevents": "2.3.2", + "playwright-core": "1.43.1" + } + }, + "playwright-core": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", + "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", + "dev": true + }, + "popper.js": { + "version": "1.16.1" + }, + "possible-typed-array-names": { + "version": "1.0.0", + "dev": true + }, + "postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + } + }, + "postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "dev": true, + "requires": {} + }, + "postcss-loader": { + "version": "8.1.1", + "dev": true, + "requires": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "7.5.4" + }, + "dependencies": { + "cosmiconfig": { + "version": "9.0.0", + "dev": true, + "requires": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + } + }, + "parse-json": { + "version": "5.2.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "dev": true + }, + "postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + } + }, + "postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + } + }, + "postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "dev": true, + "requires": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.16" + } + }, + "postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "dev": true, + "requires": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "dev": true + }, + "postcss-safe-parser": { + "version": "6.0.0", + "dev": true, + "requires": {} + }, + "postcss-scss": { + "version": "4.0.9", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + } + }, + "postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.16" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1" + }, + "pretty-format": { + "version": "29.7.0", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + }, + "react-is": { + "version": "18.2.0", + "dev": true + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "dev": true + }, + "proj4": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.11.0.tgz", + "integrity": "sha512-SasuTkAx8HnWQHfIyhkdUNJorSJqINHAN3EyMWYiQRVorftz9DHz650YraFgczwgtHOxqnfuDxSNv3C8MUnHeg==", + "requires": { + "mgrs": "1.0.0", + "wkt-parser": "^1.3.3" + } + }, + "prompts": { + "version": "2.4.2", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "protocol-buffers-schema": { + "version": "3.6.0" + }, + "proxy-addr": { + "version": "2.0.7", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0" + }, + "psl": { + "version": "1.9.0" + }, + "punycode": { + "version": "2.3.0" + }, + "pure-rand": { + "version": "6.0.4", + "dev": true + }, + "qs": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "requires": { + "side-channel": "^1.0.6" + } + }, + "querystring": { + "version": "0.2.1", + "dev": true + }, + "querystringify": { + "version": "2.2.0" + }, + "queue-microtask": { + "version": "1.2.3" + }, + "quick-lru": { + "version": "5.1.1", + "dev": true + }, + "quickselect": { + "version": "2.0.0" + }, + "quill-delta": { + "version": "5.1.0", + "dev": true, + "peer": true, + "requires": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + } + }, + "raf-schd": { + "version": "4.0.3" + }, + "randombytes": { + "version": "2.1.0", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "dev": true + } + } + }, + "rbush": { + "version": "3.0.1", + "requires": { + "quickselect": "^2.0.0" + } + }, + "rc-pagination": { + "version": "4.0.4", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + } + }, + "rc-util": { + "version": "5.39.1", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0" + } + } + }, + "react": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-beautiful-dnd": { + "version": "13.1.1", + "requires": { + "@babel/runtime": "^7.9.2", + "css-box-model": "^1.2.0", + "memoize-one": "^5.1.1", + "raf-schd": "^4.0.2", + "react-redux": "^7.2.0", + "redux": "^4.0.4", + "use-memo-one": "^1.1.1" + }, + "dependencies": { + "react-is": { + "version": "17.0.2" + }, + "react-redux": { + "version": "7.2.9", + "requires": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + } + } + } + }, + "react-device-detect": { + "version": "2.2.3", + "requires": { + "ua-parser-js": "^1.0.33" + } + }, + "react-dom": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-draggable": { + "version": "4.4.6", + "requires": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + } + }, + "react-fast-compare": { + "version": "3.2.2" + }, + "react-floater": { + "version": "0.7.9", + "requires": { + "deepmerge": "^4.3.1", + "is-lite": "^0.8.2", + "popper.js": "^1.16.0", + "prop-types": "^15.8.1", + "tree-changes": "^0.9.1" + }, + "dependencies": { + "is-lite": { + "version": "0.8.2" + } + } + }, + "react-image-crop": { + "version": "11.0.5", + "requires": {} + }, + "react-infinite-scroller": { + "version": "1.2.6", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-innertext": { + "version": "1.1.5", + "requires": {} + }, + "react-is": { + "version": "16.13.1" + }, + "react-joyride": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.8.1.tgz", + "integrity": "sha512-fVwCmoOvJsiFKKHn8mvPUYc4JUUkgAsQMvarpZDtFPTc4duj240b12+AB8+3NXlTYGZVnKNSTgFFzoSh9RxjmQ==", + "requires": { + "@gilbarbara/deep-equal": "^0.3.1", + "deep-diff": "^1.0.2", + "deepmerge": "^4.3.1", + "is-lite": "^1.2.1", + "react-floater": "^0.7.9", + "react-innertext": "^1.1.5", + "react-is": "^16.13.1", + "scroll": "^3.0.1", + "scrollparent": "^2.1.0", + "tree-changes": "^0.11.2", + "type-fest": "^4.15.0" + }, + "dependencies": { + "@gilbarbara/deep-equal": { + "version": "0.3.1" + }, + "tree-changes": { + "version": "0.11.2", + "requires": { + "@gilbarbara/deep-equal": "^0.3.1", + "is-lite": "^1.2.0" + } + }, + "type-fest": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==" + } + } + }, + "react-mobile-datepicker": { + "version": "4.0.2", + "requires": {} + }, + "react-popper": { + "version": "2.3.0", + "requires": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + } + }, + "react-redux": { + "version": "8.1.3", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0" + } + } + }, + "react-refresh": { + "version": "0.14.0", + "dev": true + }, + "react-resizable": { + "version": "3.0.5", + "requires": { + "prop-types": "15.x", + "react-draggable": "^4.0.3" + } + }, + "react-select": { + "version": "5.8.0", + "requires": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "dependencies": { + "memoize-one": { + "version": "6.0.0" + } + } + }, + "react-shallow-renderer": { + "version": "16.15.0", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, + "react-smooth": { + "version": "4.0.0", + "requires": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + } + }, + "react-swipe-to-delete-component": { + "version": "1.0.5", + "requires": { + "@babel/runtime": "^7.12.5", + "prop-types": "^15.8.1", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "dependencies": { + "react": { + "version": "17.0.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-dom": { + "version": "17.0.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "scheduler": { + "version": "0.20.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-test-renderer": { + "version": "18.2.0", + "dev": true, + "requires": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "dev": true + } + } + }, + "react-transition-group": { + "version": "4.4.5", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "react-visibility-sensor": { + "version": "5.1.1", + "requires": { + "prop-types": "^15.7.2" + } + }, + "reactstrap": { + "version": "9.2.2", + "requires": { + "@babel/runtime": "^7.12.5", + "@popperjs/core": "^2.6.0", + "classnames": "^2.2.3", + "prop-types": "^15.5.8", + "react-popper": "^2.2.4", + "react-transition-group": "^4.4.2" + } + }, + "read-pkg": { + "version": "3.0.0", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "7.5.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "8.0.0", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "6.0.0", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + } + }, + "type-fest": { + "version": "1.4.0", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "recharts": { + "version": "2.12.5", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.5.tgz", + "integrity": "sha512-Cy+BkqrFIYTHJCyKHJEPvbHE2kVQEP6PKbOHJ8ztRGTAhvHuUnCwDaKVb13OwRFZ0QNUk1QvGTDdgWSMbuMtKw==", + "requires": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^16.10.2", + "react-smooth": "^4.0.0", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "dependencies": { + "clsx": { + "version": "2.0.0" + } + } + }, + "recharts-scale": { + "version": "0.4.5", + "requires": { + "decimal.js-light": "^2.4.1" + } + }, + "rechoir": { + "version": "0.6.2", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "4.0.0", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "redux": { + "version": "4.2.1", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-location-state": { + "version": "2.8.2", + "requires": { + "lodash": "^4.13.1" + } + }, + "redux-logger": { + "version": "3.0.6", + "requires": { + "deep-diff": "^0.3.5" + }, + "dependencies": { + "deep-diff": { + "version": "0.3.8" + } + } + }, + "redux-mock-store": { + "version": "1.5.4", + "dev": true, + "requires": { + "lodash.isplainobject": "^4.0.6" + } + }, + "redux-thunk": { + "version": "2.4.2", + "requires": {} + }, + "reflect.getprototypeof": { + "version": "1.0.4", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.2", + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "regexpp": { + "version": "3.2.0", + "dev": true + }, + "regexpu-core": { + "version": "5.3.2", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "dev": true + }, + "requires-port": { + "version": "1.0.0" + }, + "reselect": { + "version": "4.1.8" + }, + "resolve": { + "version": "1.22.6", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0" + }, + "resolve-pathname": { + "version": "3.0.0" + }, + "resolve-pkg-maps": { + "version": "1.0.0", + "dev": true + }, + "resolve-protobuf-schema": { + "version": "2.1.0", + "requires": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "resolve.exports": { + "version": "2.0.2", + "dev": true + }, + "retry": { + "version": "0.13.1", + "dev": true + }, + "reusify": { + "version": "1.0.4" + }, + "rgbcolor": { + "version": "1.0.1" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "run-applescript": { + "version": "7.0.0", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-script-os": { + "version": "1.1.6", + "dev": true + }, + "rw": { + "version": "1.3.3" + }, + "rxjs": { + "version": "7.8.1", + "dev": true, + "peer": true, + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "dev": true, + "peer": true + } + } + }, + "safe-array-concat": { + "version": "1.1.0", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "safe-regex-test": { + "version": "1.0.3", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "dev": true + }, + "sass": { + "version": "1.75.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz", + "integrity": "sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", + "dev": true, + "requires": { + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "dev": true + }, + "sb-promise-queue": { + "version": "2.1.0", + "dev": true + }, + "sb-scandir": { + "version": "3.1.0", + "dev": true, + "requires": { + "sb-promise-queue": "^2.1.0" + } + }, + "scheduler": { + "version": "0.23.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1" + } + } + }, + "scroll": { + "version": "3.0.1" + }, + "scrollparent": { + "version": "2.1.0" + }, + "select-hose": { + "version": "2.0.0", + "dev": true + }, + "selfsigned": { + "version": "2.4.1", + "dev": true, + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "7.5.4", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.2", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "dev": true + }, + "ms": { + "version": "2.0.0", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.1", + "requires": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "set-function-name": { + "version": "2.0.1", + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0" + }, + "shell-escape": { + "version": "0.2.0", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "showdown": { + "version": "2.1.0", + "dev": true, + "requires": { + "commander": "^9.0.0" + }, + "dependencies": { + "commander": { + "version": "9.5.0", + "dev": true + } + } + }, + "side-channel": { + "version": "1.0.6", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "dev": true + }, + "simplebar": { + "version": "6.2.5", + "requires": { + "can-use-dom": "^0.1.0", + "simplebar-core": "^1.2.4" + } + }, + "simplebar-core": { + "version": "1.2.4", + "requires": { + "@types/lodash-es": "^4.17.6", + "can-use-dom": "^0.1.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21" + } + }, + "simplebar-react": { + "version": "3.2.4", + "requires": { + "simplebar-core": "^1.2.4" + } + }, + "sirv": { + "version": "2.0.3", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "dev": true + }, + "slash": { + "version": "3.0.0", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.24", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "dev": true + } + } + }, + "sort-asc": { + "version": "0.1.0" + }, + "sort-desc": { + "version": "0.1.1" + }, + "sort-object": { + "version": "0.3.2", + "requires": { + "sort-asc": "^0.1.0", + "sort-desc": "^0.1.1" + } + }, + "source-list-map": { + "version": "2.0.1", + "dev": true + }, + "source-map": { + "version": "0.6.1" + }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "dev": true + }, + "ssh2": { + "version": "1.11.0", + "dev": true, + "requires": { + "asn1": "^0.2.4", + "bcrypt-pbkdf": "^1.0.2", + "cpu-features": "~0.0.4", + "nan": "^2.16.0" + } + }, + "stack-utils": { + "version": "2.0.6", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "dev": true + } + } + }, + "stackblur": { + "version": "1.0.0" + }, + "stackframe": { + "version": "1.2.1", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "dev": true + } + } + }, + "string-length": { + "version": "4.0.2", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "dev": true + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "dev": true + } + } + }, + "string.prototype.matchall": { + "version": "4.0.10", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "string.prototype.padend": { + "version": "3.1.3", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "dev": true + }, + "strip-indent": { + "version": "4.0.0", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "style-search": { + "version": "0.1.0", + "dev": true + }, + "stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + } + }, + "stylelint": { + "version": "15.11.0", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.1", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^7.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.29.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.28", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "dev": true + }, + "file-entry-cache": { + "version": "7.0.1", + "dev": true, + "requires": { + "flat-cache": "^3.1.1" + } + }, + "known-css-properties": { + "version": "0.29.0", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "dev": true + }, + "write-file-atomic": { + "version": "5.0.1", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + } + } + } + }, + "stylelint-config-recommended": { + "version": "13.0.0", + "dev": true, + "requires": {} + }, + "stylelint-config-recommended-scss": { + "version": "13.1.0", + "dev": true, + "requires": { + "postcss-scss": "^4.0.9", + "stylelint-config-recommended": "^13.0.0", + "stylelint-scss": "^5.3.0" + } + }, + "stylelint-config-standard": { + "version": "34.0.0", + "dev": true, + "requires": { + "stylelint-config-recommended": "^13.0.0" + } + }, + "stylelint-config-standard-scss": { + "version": "11.1.0", + "dev": true, + "requires": { + "stylelint-config-recommended-scss": "^13.1.0", + "stylelint-config-standard": "^34.0.0" + } + }, + "stylelint-high-performance-animation": { + "version": "1.10.0", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "stylelint-scss": { + "version": "5.3.0", + "dev": true, + "requires": { + "known-css-properties": "^0.28.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + } + }, + "stylis": { + "version": "4.2.0" + }, + "supercluster": { + "version": "8.0.1", + "requires": { + "kdbush": "^4.0.2" + } + }, + "supports-color": { + "version": "5.5.0", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "3.0.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0" + }, + "svg-tags": { + "version": "1.0.0", + "dev": true + }, + "svgo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", + "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "dev": true + }, + "table": { + "version": "6.8.1", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "tapable": { + "version": "0.1.10", + "dev": true + }, + "tar": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.0.1.tgz", + "integrity": "sha512-IjMhdQMZFpKsHEQT3woZVxBtCQY+0wk3CVxdRkGXEgyGa0dNS/ehPvOMr2nmfC7x5Zj2N+l6yZUpmICjLGS35w==", + "dev": true, + "requires": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^5.0.0", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "dev": true + }, + "yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true + } + } + }, + "terser": { + "version": "5.27.0", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + }, + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "jest-worker": { + "version": "27.5.1", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0" + }, + "thunky": { + "version": "1.1.0", + "dev": true + }, + "tiny-invariant": { + "version": "1.3.1" + }, + "tiny-warning": { + "version": "1.0.3" + }, + "tmp": { + "version": "0.0.33", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0" + }, + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6" + }, + "toidentifier": { + "version": "1.0.1", + "dev": true + }, + "totalist": { + "version": "3.0.1", + "dev": true + }, + "tough-cookie": { + "version": "4.1.3", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "1.0.1", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "tree-changes": { + "version": "0.9.3", + "requires": { + "@gilbarbara/deep-equal": "^0.1.1", + "is-lite": "^0.8.2" + }, + "dependencies": { + "is-lite": { + "version": "0.8.2" + } + } + }, + "trim-newlines": { + "version": "4.1.1", + "dev": true + }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "requires": {} + }, + "tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "dev": true + } + } + }, + "tweetnacl": { + "version": "0.14.5", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-length": { + "version": "1.0.5", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.5", + "dev": true, + "peer": true + }, + "ua-parser-js": { + "version": "1.0.33" + }, + "unbox-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true + }, + "universalify": { + "version": "0.2.0" + }, + "unpipe": { + "version": "1.0.0", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "upng-js": { + "version": "2.1.0", + "requires": { + "pako": "^1.0.5" + } + }, + "uri-js": { + "version": "4.4.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-template": { + "version": "3.1.1" + }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "requires": {} + }, + "use-memo-one": { + "version": "1.1.3", + "requires": {} + }, + "use-sync-external-store": { + "version": "1.2.0", + "requires": {} + }, + "util-deprecate": { + "version": "1.0.2", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "dev": true + }, + "uuid": { + "version": "9.0.1", + "dev": true + }, + "uuid-v4": { + "version": "0.1.0" + }, + "v8-to-istanbul": { + "version": "9.1.0", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "1.0.1" + }, + "vary": { + "version": "1.1.2" + }, + "victory-vendor": { + "version": "36.6.11", + "requires": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "walker": { + "version": "1.0.8", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "warning": { + "version": "4.0.3", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-worker": { + "version": "1.2.0" + }, + "webidl-conversions": { + "version": "7.0.0", + "dev": true + }, + "webpack": { + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.16.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "dev": true + } + } + }, + "webpack-cli": { + "version": "5.1.4", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "dev": true + }, + "interpret": { + "version": "3.1.1", + "dev": true + }, + "rechoir": { + "version": "0.8.0", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz", + "integrity": "sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "json-joy": { + "version": "9.9.1", + "dev": true, + "requires": { + "arg": "^5.0.2", + "hyperdyperid": "^1.2.0" + } + }, + "memfs": { + "version": "4.6.0", + "dev": true, + "requires": { + "json-joy": "^9.2.0", + "thingies": "^1.11.1" + } + }, + "schema-utils": { + "version": "4.0.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "thingies": { + "version": "1.16.0", + "dev": true, + "requires": {} + }, + "tslib": { + "version": "2.6.2", + "dev": true, + "peer": true + } + } + }, + "webpack-dev-server": { + "version": "5.0.4", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.4.0", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "rimraf": "^5.0.5", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.1.0", + "ws": "^8.16.0" + }, + "dependencies": { + "ipaddr.js": { + "version": "2.1.0", + "dev": true + }, + "is-wsl": { + "version": "3.1.0", + "dev": true, + "requires": { + "is-inside-container": "^1.0.0" + } + }, + "open": { + "version": "10.1.0", + "dev": true, + "requires": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + } + }, + "rimraf": { + "version": "5.0.5", + "dev": true, + "requires": { + "glob": "^10.3.7" + } + }, + "schema-utils": { + "version": "4.2.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.16.0", + "dev": true, + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3" + }, + "websocket-driver": { + "version": "0.7.4", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "dev": true + }, + "what-input": { + "version": "5.2.12" + }, + "whatwg-encoding": { + "version": "2.0.0", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + }, + "dependencies": { + "webidl-conversions": { + "version": "4.0.2", + "dev": true + } + } + }, + "which": { + "version": "2.0.2", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "dev": true + } + } + }, + "which-collection": { + "version": "1.0.1", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.14", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + } + }, + "wildcard": { + "version": "2.0.0", + "dev": true + }, + "wkt-parser": { + "version": "1.3.3" + }, + "word-wrap": { + "version": "1.2.5", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2" + }, + "write-file-atomic": { + "version": "4.0.2", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "ws": { + "version": "7.5.7", + "dev": true, + "requires": {} + }, + "xml-js": { + "version": "1.6.11", + "dev": true, + "requires": { + "sax": "^1.2.4" + } + }, + "xml-name-validator": { + "version": "4.0.0", + "dev": true + }, + "xml-utils": { + "version": "1.3.0" + }, + "xml2js": { + "version": "0.6.2", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "dev": true + }, + "yaml": { + "version": "2.3.2", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1", + "dev": true + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0" + } } } diff --git a/package.json b/package.json index 0fbb91fdc6..a442f78cc7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "4.31.0", + "version": "4.32.0", "description": "Interactive interface for browsing full-resolution, global satellite imagery", "keywords": [ "NASA",