From f60c8b3ca349aad2a7862c0d7ab2dd4f75e2b899 Mon Sep 17 00:00:00 2001 From: Jehangir Amjad <1021616+jehangiramjad@users.noreply.github.com> Date: Thu, 8 Feb 2024 14:19:17 +0500 Subject: [PATCH 01/11] [Import Automation] Supporting the prod project and distinguish between different GCP projects (#980) * supporting the prod project, distinguish between GCP project for config file (datcom) and GCP project where the import executor is running in * lint fixes --- import-automation/executor/README.md | 12 +++++------ .../executor/schedule_update_import.py | 21 ++++++++++++------- .../executor/schedule_update_import.sh | 8 +++---- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/import-automation/executor/README.md b/import-automation/executor/README.md index 9cf052b429..a96e6a4dbe 100644 --- a/import-automation/executor/README.md +++ b/import-automation/executor/README.md @@ -81,16 +81,16 @@ Run `./schedule_update_import.sh --help` for usage. To schedule an import to run as a cron job on the GCP Cloud Scheduler, do the following: ``` -Run `./schedule_update_import.sh -s ` +Run `./schedule_update_import.sh -s ` ``` -`` is the GCP project id where the config file is stored, e.g. `datcom-import-automation`. +`` is the GCP project id where the import executer is run from e.g. `datcom-import-automation-prod`. `` is the path to the import (relative to the root directory of the `data` repo), with the name of the import provided with a colon, e.g. `scripts/us_usda/quickstats:UsdaAgSurvey`. Example invocation: ``` -Run `./schedule_update_import.sh -s datcom-import-automation scripts/us_usda/quickstats:UsdaAgSurvey` +Run `./schedule_update_import.sh -s datcom-import-automation-prod scripts/us_usda/quickstats:UsdaAgSurvey` ``` The script will log the name of the Cloud Scheduler job and a url for all the jobs on the scheduler. Please verify that all the job metadata was updated as expected. @@ -106,16 +106,16 @@ Once the script runs to completion, the data directory's latest update is printe To excute an Update locally, do the following: ``` -Run `./schedule_update_import.sh -u ` +Run `./schedule_update_import.sh -u ` ``` -`` is the GCP project id where the config file is stored, e.g. `datcom-import-automation`. +`` is the GCP project id where the import executer is run from e.g. `datcom-import-automation-prod`. `` is the path to the import (relative to the root directory of the `data` repo), with the name of the import provided with a colon, e.g. `scripts/us_usda/quickstats:UsdaAgSurvey`. Example invocation: ``` -Run `./schedule_update_import.sh -u datcom-import-automation scripts/us_usda/quickstats:UsdaAgSurvey` +Run `./schedule_update_import.sh -u datcom-import-automation-prod scripts/us_usda/quickstats:UsdaAgSurvey` ``` diff --git a/import-automation/executor/schedule_update_import.py b/import-automation/executor/schedule_update_import.py index b033360844..b6b8a62737 100644 --- a/import-automation/executor/schedule_update_import.py +++ b/import-automation/executor/schedule_update_import.py @@ -37,7 +37,10 @@ _FLAGS = flags.FLAGS flags.DEFINE_string('mode', '', 'Options: update or schedule.') -flags.DEFINE_string('config_project_id', '', 'GCS Project for the config file.') +flags.DEFINE_string('gke_project_id', '', + 'GCP Project where import executor runs.') +flags.DEFINE_string('config_project_id', 'datcom-204919', + 'GCS Project for the config file.') flags.DEFINE_string('config_bucket', 'import-automation-configs', 'GCS bucket name for the config file.') flags.DEFINE_string('config_filename', 'configs.json', @@ -94,14 +97,14 @@ def _override_configs(filename: str, def _get_cloud_config(filename: str) -> Dict: logging.info('Getting cloud config.') - project_id = _FLAGS.config_project_id + config_project_id = _FLAGS.config_project_id bucket_name = _FLAGS.config_bucket logging.info( - f'\nProject ID: {project_id}\nBucket: {bucket_name}\nConfig Filename: {filename}' + f'\nProject ID: {config_project_id}\nBucket: {bucket_name}\nConfig Filename: {filename}' ) - bucket = storage.Client(project_id).bucket(bucket_name, - user_project=project_id) + bucket = storage.Client(config_project_id).bucket( + bucket_name, user_project=config_project_id) blob = bucket.blob(filename) config_dict = json.loads(blob.download_as_string(client=None)) return config_dict @@ -261,8 +264,8 @@ def main(_): mode = _FLAGS.mode absolute_import_path = _FLAGS.absolute_import_path - if not _FLAGS.config_project_id: - raise Exception("Flag: config_project_if must be provided.") + if not _FLAGS.gke_project_id: + raise Exception("Flag: gke_project_id must be provided.") if not mode or (mode not in ['update', 'schedule']): raise Exception('Flag: mode must be set to \'update\' or \'schedule\'') @@ -278,6 +281,7 @@ def main(_): repo_dir = cwd.split("data")[0] + "data" logging.info(f'{mode} called with the following:') logging.info(f'Config Project ID: {_FLAGS.config_project_id}') + logging.info(f'GKE (Import Executor) Project ID: {_FLAGS.gke_project_id}') logging.info(f'Import: {absolute_import_path}') logging.info(f'Repo root directory: {repo_dir}') @@ -287,6 +291,9 @@ def main(_): config_dict = _get_cloud_config(_FLAGS.config_filename) cfg = configs.ExecutorConfig(**config_dict['configs']) + # Update the GCP project id to use with the configs. + cfg.gcp_project_id = _FLAGS.gke_project_id + logging.info( f'Updating any config fields from local file: {_CONFIG_OVERRIDE_FILE}.') cfg = _override_configs(_CONFIG_OVERRIDE_FILE, cfg) diff --git a/import-automation/executor/schedule_update_import.sh b/import-automation/executor/schedule_update_import.sh index 9961405174..4ca0e24bb0 100755 --- a/import-automation/executor/schedule_update_import.sh +++ b/import-automation/executor/schedule_update_import.sh @@ -14,8 +14,8 @@ # limitations under the License. function help { - echo "#Usage: -us " - echo "## is the GCP project ID where the config file is located." + echo "#Usage: -us " + echo "## is the GCP project ID where the import executor is running in." echo "## Update an import specified by , e.g. scripts/us_usda/quickstats:UsdaAgSurvey" exit 1 } @@ -37,13 +37,13 @@ while getopts us OPTION; do esac done -CONFIG_PROJECT_ID=$2 +GKE_PROJECT_ID=$2 IMPORT_PATH=$3 python3 -m venv .env . .env/bin/activate pip3 install --disable-pip-version-check -r requirements.txt -python3 -m schedule_update_import --config_project_id=$CONFIG_PROJECT_ID --mode=$MODE --absolute_import_path=$IMPORT_PATH +python3 -m schedule_update_import --gke_project_id=$GKE_PROJECT_ID --mode=$MODE --absolute_import_path=$IMPORT_PATH deactivate \ No newline at end of file From fcc83bc08f2adc48f339e029602e35b43242bcad Mon Sep 17 00:00:00 2001 From: Jehangir Amjad <1021616+jehangiramjad@users.noreply.github.com> Date: Thu, 8 Feb 2024 19:10:52 +0500 Subject: [PATCH 02/11] Updating the GKE configs and deployment (#971) --- import-automation/executor/gke/configure_gke.sh | 11 ++++++++--- import-automation/executor/gke/deployment.yaml | 9 +++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/import-automation/executor/gke/configure_gke.sh b/import-automation/executor/gke/configure_gke.sh index dea858b270..8cfa745c6d 100755 --- a/import-automation/executor/gke/configure_gke.sh +++ b/import-automation/executor/gke/configure_gke.sh @@ -63,13 +63,18 @@ kubectl annotate serviceaccount \ --namespace import-automation \ --overwrite \ import-automation-ksa \ - iam.gke.io/gcp-service-account=$PROJECT_ID@appspot.gserviceaccount.com + iam.gke.io/gcp-service-account=default-service-account@$PROJECT_ID.iam.gserviceaccount.com kubectl -n import-automation create secret generic import-automation-iap-secret \ --from-literal=client_id=$OAUTH_CLIENT_ID \ --from-literal=client_secret=$OAUTH_CLIENT_SECRET -# Also set what identity will cloud scheduler call as by running: +# Also set what identity will cloud scheduler call as by running the command below. +# Note also that this service account will need to allow the Cloud Build service account +# iam.serviceAccounts.actAs permissions on the service account for the Scheduler below. +# This can be achieved by following the first answer here: +# https://stackoverflow.com/questions/61334524/how-do-you-enable-iam-serviceaccounts-actas-permissions-on-a-sevice-account +# The Cloud Build service account can be found on the Settings tab of the Cloud Build page. kubectl -n import-automation create configmap cluster-oauth-configmap \ - --from-literal=cloud-scheduler-caller-sa=$PROJECT_ID@appspot.gserviceaccount.com \ + --from-literal=cloud-scheduler-caller-sa=default-service-account@$PROJECT_ID.iam.gserviceaccount.com \ --from-literal=cloud-scheduler-caller-oauth-audience=$OAUTH_CLIENT_ID diff --git a/import-automation/executor/gke/deployment.yaml b/import-automation/executor/gke/deployment.yaml index a346102b13..309dee7eee 100644 --- a/import-automation/executor/gke/deployment.yaml +++ b/import-automation/executor/gke/deployment.yaml @@ -51,10 +51,11 @@ spec: port: 8080 type: HTTP requestPath: /healthz - iap: - enabled: true - oauthclientCredentials: - secretName: import-automation-iap-secret + # TODO: re-enable this once the deployments work e2e. + # iap: + # enabled: true + # oauthclientCredentials: + # secretName: import-automation-iap-secret --- apiVersion: v1 kind: Service From 4e6c4a6adecf3553d716c6aa80fb02a458bbf63c Mon Sep 17 00:00:00 2001 From: Jehangir Amjad <1021616+jehangiramjad@users.noreply.github.com> Date: Mon, 12 Feb 2024 13:36:05 +0500 Subject: [PATCH 03/11] [WDI Indicator Download] Provide a default filename for WDI download (#982) * Provide a default filename for WDI download * Adding a helpful print statement --- scripts/world_bank/.gitignore | 1 + .../wdi/download_indicators/wdi_download_indicators.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/world_bank/.gitignore b/scripts/world_bank/.gitignore index eafbb11c23..984034d9f1 100644 --- a/scripts/world_bank/.gitignore +++ b/scripts/world_bank/.gitignore @@ -1 +1,2 @@ preprocessed_source_csv +download_indicators/*.csv diff --git a/scripts/world_bank/wdi/download_indicators/wdi_download_indicators.py b/scripts/world_bank/wdi/download_indicators/wdi_download_indicators.py index 24776559a5..cfd8f9aeec 100644 --- a/scripts/world_bank/wdi/download_indicators/wdi_download_indicators.py +++ b/scripts/world_bank/wdi/download_indicators/wdi_download_indicators.py @@ -9,7 +9,10 @@ import numpy as np import pandas as pd -_OUT_PATH = flags.DEFINE_string('out_path', None, 'CNS path to write output.') +# The output path should have a default filename. +_OUT_DEFAULT_NAME = 'cleaned_wdi.csv' +_OUT_PATH = flags.DEFINE_string('out_path', _OUT_DEFAULT_NAME, + 'CNS path to write output.') indicators = [ 'SP.POP.TOTL', @@ -72,6 +75,7 @@ def DownloadAndParseCsvs() -> None: """ dat = [] for indicator in indicators: + print(f'DOWNLOADING: {indicator}....') resp = urllib.request.urlopen( f'http://api.worldbank.org/v2/country/all/indicator/{indicator}?source=2&downloadformat=csv' ) @@ -121,6 +125,8 @@ def DownloadAndParseCsvs() -> None: 'unit', ], ) + # Write to the _OUT_PATH which defaults to the output filename + # if no path is provided. with open(_OUT_PATH.value, 'w+') as f_out: out_df.to_csv(f_out, index=False) From 386c7b874bdf73aa54c10273e6563a43dad483e4 Mon Sep 17 00:00:00 2001 From: Ajai Date: Wed, 21 Feb 2024 16:12:53 +0000 Subject: [PATCH 04/11] Autorefresh import script for Flood Events (#855) * autorefresh script for flood events * udpate pipeline config * update floods configs * fix unit tests * add readme * add requirements.txt for ee scripts * fix review comments * address review comments --- scripts/earthengine/events_pipeline.py | 5 +- .../earthengine/pipeline_stage_download.py | 42 +- scripts/earthengine/process_events.py | 148 +++- scripts/earthengine/process_events_test.py | 37 +- scripts/earthengine/raster_to_csv.py | 715 ++++++++++-------- scripts/earthengine/raster_to_csv_test.py | 2 +- scripts/earthengine/requirements.txt | 17 + .../sample_fires_event_pipeline_config.py | 1 + .../test_data/sample_fires_events.csv | 350 ++++----- .../test_data/sample_floods_events.csv | 20 +- .../test_data/sample_floods_events.tmcf | 2 +- .../test_data/sample_floods_output.csv | 250 +++--- .../sample_floods_output_filtered.csv | 214 +++--- .../test_data/sample_floods_place_svobs.csv | 148 ++-- .../test_data/sample_floods_svobs.csv | 20 +- .../test_data/sample_floods_svobs.tmcf | 3 +- scripts/earthengine/utils.py | 252 +++--- scripts/earthengine/utils_test.py | 198 +++-- scripts/floods/README.md | 31 + scripts/floods/flood_event_svobs.tmcf | 6 + scripts/floods/flood_events.tmcf | 12 + .../floods/flood_events_pipeline_config.py | 157 ++++ scripts/floods/flood_place_svobs.tmcf | 16 + scripts/floods/generate_floods_events.py | 87 +++ scripts/floods/manifest.json | 18 + scripts/floods/requirements.txt | 17 + 26 files changed, 1712 insertions(+), 1056 deletions(-) create mode 100644 scripts/earthengine/requirements.txt create mode 100644 scripts/floods/README.md create mode 100644 scripts/floods/flood_event_svobs.tmcf create mode 100644 scripts/floods/flood_events.tmcf create mode 100644 scripts/floods/flood_events_pipeline_config.py create mode 100644 scripts/floods/flood_place_svobs.tmcf create mode 100644 scripts/floods/generate_floods_events.py create mode 100644 scripts/floods/manifest.json create mode 100644 scripts/floods/requirements.txt diff --git a/scripts/earthengine/events_pipeline.py b/scripts/earthengine/events_pipeline.py index b3ddaa20f2..f654f87329 100644 --- a/scripts/earthengine/events_pipeline.py +++ b/scripts/earthengine/events_pipeline.py @@ -47,7 +47,7 @@ 'gcs_bucket': 'my-bucket', 'gcs_folder': 'my-import-name', }, - # Stage sepcific settings + # Stage specific settings 'stages': [ { 'stage': 'download', @@ -195,7 +195,10 @@ def run_stage(self, stage_name: str, input_files: list = []) -> list: '''Run a single stage and return the output files generated.''' for stage_runner in self.stage_runners: if stage_name == stage_runner.get_name(): + logging.info(f'Running stage {stage_name} with {input_files}') return stage_runner.run_stage(input_files) + logging.error( + f'No stage runner for {stage_name} with input: {input_files}') return [] def run(self, run_stages: list = []) -> list: diff --git a/scripts/earthengine/pipeline_stage_download.py b/scripts/earthengine/pipeline_stage_download.py index 68b4e35f29..59c48fc468 100644 --- a/scripts/earthengine/pipeline_stage_download.py +++ b/scripts/earthengine/pipeline_stage_download.py @@ -11,11 +11,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -"""Class to run the events pipeline stage to download files from a URL. -""" +"""Class to run the events pipeline stage to download files from a URL.""" import os +import re import sys +import time from absl import logging @@ -35,7 +36,7 @@ class DownloadRunner(StageRunner): - '''Class to download data files from URL source.''' + """Class to download data files from URL source.""" def __init__(self, config_dicts: list = [], @@ -43,18 +44,26 @@ def __init__(self, counters=None): self.set_up('download', config_dicts, state, counters) - def run(self, - input_files: list = None, - config_dict: dict = {}, - counters: Counters = None) -> list: - '''Returns the list of files downloaded from the URL in the config. - URLs are downloaded for each time period until the current date.''' + def run( + self, + input_files: list = None, + config_dict: dict = {}, + counters: Counters = None, + ) -> list: + """Returns the list of files downloaded from the URL in the config. + + URLs are downloaded for each time period until the current date. + """ # Download data from start_date up to end_date # advancing date by the time_period. start_date = self.get_config('start_date', '', config_dict) - end_date = self.get_config('end_date', '', config_dict) - if not end_date: - end_date = utils.date_yesterday() + yesterday = utils.date_yesterday() + end_date = self.get_config('end_date', yesterday, config_dict) + if end_date > yesterday: + end_date = yesterday + logging.info( + f'Running download with start_date: {start_date}, end_date:{end_date}' + ) data_files = [] while start_date and start_date <= end_date: # Download data for the start_date @@ -70,7 +79,7 @@ def run(self, return data_files def download_file_with_config(self, config_dict: dict = {}) -> list: - '''Returns list of files downloaded for config.''' + """Returns list of files downloaded for config.""" logging.info(f'Downloading data for config: {config_dict}') downloaded_files = [] urls = config_dict.get('url', []) @@ -98,7 +107,8 @@ def download_file_with_config(self, config_dict: dict = {}) -> list: output=config_dict.get('response_type', 'text'), timeout=config_dict.get('timeout', 60), retries=config_dict.get('retry_count', 3), - retry_secs=retry_secs) + retry_secs=retry_secs, + ) if download_content: # Check if the downloaded content matches the regex. regex = config_dict.get('successful_response_regex', '') @@ -124,8 +134,8 @@ def download_file_with_config(self, config_dict: dict = {}) -> list: with file_util.FileIO(filename, mode='w') as file: file.write(download_content) logging.info( - f'Downloaded {len(download_content)} bytes from {url} into file: {filename}' - ) + f'Downloaded {len(download_content)} bytes from {url} into file:' + f' {filename}') downloaded_files.append(filename) return downloaded_files diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index ae5be1a589..16810def14 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -58,7 +58,7 @@ _FLAGS = flags.FLAGS -_SCRIPTS_DIR = os.path.dirname(os.path.dirname(__file__)) +_SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) @@ -76,6 +76,54 @@ from config_map import ConfigMap from dc_api_wrapper import dc_api_batched_wrapper +# List of place types in increasing order of preference for name. +# This is used to pick the name of the place from the list of affectedPlaces +# for an event for the place type with the highest index. +_PLACE_TYPE_ORDER = [ + 'Place', + 'OceanicBasin', + 'Continent', + 'Country', + 'CensusRegion', + 'CensusDivision', + 'State', + 'AdministrativeArea1', + 'County', + 'AdministrativeArea2', + 'CensusCountyDivision', + 'EurostatNUTS1', + 'EurostatNUTS2', + 'CongressionalDistrict', + 'UDISEDistrict', + 'CensusCoreBasedStatisticalArea', + 'EurostatNUTS3', + 'SuperfundSite', + 'Glacier', + 'AdministrativeArea3', + 'AdministrativeArea4', + 'PublicUtility', + 'CollegeOrUniversity', + 'EpaParentCompany', + 'UDISEBlock', + 'AdministrativeArea5', + 'EpaReportingFacility', + 'SchoolDistrict', + 'CensusZipCodeTabulationArea', + 'PrivateSchool', + 'CensusTract', + 'City', + 'AirQualitySite', + 'PublicSchool', + 'Neighborhood', + 'CensusBlockGroup', + 'AdministrativeArea', + 'Village', +] + +_PLACE_TYPE_RANK = { + _PLACE_TYPE_ORDER[index]: index for index in range(len(_PLACE_TYPE_ORDER)) +} + class GeoEvent: """Class for a Geo Event.""" @@ -791,7 +839,7 @@ def get_event_output_properties(self, event_id: str) -> dict: return None # Generate polygon for the event polygon_prop = self._config.get('output_affected_place_polygon', - 'geoJsonCoordinatesDP1') + 'geoJsonCoordinates') if polygon_prop: event_polygon = self.get_event_polygon(event_id) if event_polygon: @@ -804,10 +852,10 @@ def get_event_output_properties(self, event_id: str) -> dict: event_pvs[polygon_prop] = json.dumps( json.dumps(geo_json)) self._counters.add_counter('output_events_with_polygon', 1) - if not event_pvs.get('name', None): - event_pvs['name'] = self._get_event_name(event_pvs) # Set the affectedPlace and containedInPlace for the event. self._set_event_places(event, event_pvs) + if not event_pvs.get('name', None): + event_pvs['name'] = self._get_event_name(event_pvs) return event_pvs def delete_event(self, event_id): @@ -835,6 +883,12 @@ def get_place_date_output_properties(self, event_ids: list, event property values, such as { 'area': 100 } aggregated by place and date ''' + # default aggregation settings for event properties across places for a date. + property_config_per_date = dict( + _DEFAULT_CONFIG['property_config_per_date']) + property_config_per_date.update( + self._config.get('property_config_per_date', {})) + # Collect data for each event's (place, date) # as a dict: {(place, date): {'area': NN},... } place_date_pvs = dict() @@ -987,7 +1041,7 @@ def write_events_csv(self, output_columns.append(prop) # Add column for affected place polygon polygon_prop = self._config.get('output_affected_place_polygon', - 'geoJsonCoordinatesDP1') + 'geoJsonCoordinates') if polygon_prop: output_columns.append(polygon_prop) if event_ids is None: @@ -1340,19 +1394,6 @@ def write_events_place_svobs( f'Generating place svobs for {len(event_ids)} events for dates: {date_formats}' ) - # Aggregation settings for event properties across places for a date. - property_config_per_date = { - 'aggregate': 'sum', - 'area': { - 'aggregate': 'sum' - }, - 'EventId': { - 'aggregate': 'set' - } - } - property_config_per_date.update( - self._config.get('property_config_per_date', {})) - # Collect data for each event place and date # as a dict: {(place, date): {'area': NN},... } place_date_pvs = self.get_place_date_output_properties( @@ -1498,7 +1539,7 @@ def get_place_id_for_event(self, place_id: str) -> str: # Got a location. Convert it to a grid. if (output_place_type == 'grid_1') and (not utils.is_grid_id(place_id)): - grid_id = utils.grid_id_from_lat_lng(1, int(lat), int(lng)) + grid_id = utils.grid_id_from_lat_lng(1, lat, lng) place_id = grid_id self._counters.add_counter(f'place_converted_to_grid_1', 1) elif (output_place_type @@ -1546,12 +1587,14 @@ def output_events(self, _set_counter_stage(self._counters, 'emit_events_svobs_') output_files.extend( self.write_events_svobs( - output_path=output_path, + output_path=_get_output_subdir_path(output_path, + 'event_svobs'), output_ended_events=output_ended_events)) if self._config.get('output_place_svobs', False): output_files.extend( self.write_events_place_svobs( - output_path=output_path, + output_path=_get_output_subdir_path(output_path, + 'place_svobs'), event_props=self._config.get( 'output_place_svobs_properties', ['area', 'count']), date_formats=self._config.get( @@ -1637,6 +1680,31 @@ def _get_contained_for_place(self, place_id: str) -> list: self.set_place_property(place_id, 'containedInPlace', contained_places) return contained_places + def _get_smallest_place_name(self, place_ids: list) -> str: + '''Returns the name of the smallest place in the place list.''' + max_place_rank = -1 + place_name = '' + # Get the place with the highest rank (smallest place) + for place in _get_list(place_ids): + place = utils.strip_namespace(place) + if place == 'Earth' or utils.is_s2_cell_id( + place) or utils.is_grid_id(place) or utils.is_ipcc_id( + place): + # Ignore non admin places + continue + place_types = self.get_place_property_list(place, 'typeOf') + for place_type in place_types: + place_rank = _PLACE_TYPE_RANK.get(place_type, -1) + if place_rank > max_place_rank: + # This place is smaller. Use its name if available. + new_place_name = self.get_place_property_list(place, 'name') + if new_place_name: + new_place_name = new_place_name[0] + if new_place_name: + max_place_rank = place_rank + place_name = new_place_name + return place_name + def _get_event_name(self, event_pvs: dict, locations: list = None) -> str: '''Get the name for the event.''' typeof = event_pvs.get('typeOf', @@ -1646,17 +1714,7 @@ def _get_event_name(self, event_pvs: dict, locations: list = None) -> str: start_location = event_pvs.get('startLocation') if not locations: locations = _get_list(event_pvs.get('affectedPlace', '')) - location_name = '' - for placeid in locations: - placeid = utils.strip_namespace(placeid) - if not utils.is_ipcc_id(placeid) and not utils.is_grid_id(placeid): - location_name = self.get_place_property(placeid, 'name') - if location_name: - # place_type = self.get_place_property(placeid, 'typeOf') - # if place_type: - # location_name = f'{place_type[0]} {location_name[0]}' - location_name = f'{location_name[0]}' - break + location_name = self._get_smallest_place_name(locations) if not location_name: # Use the lat lng from start place. lat_lng = event_pvs.get('startLocation') @@ -1842,7 +1900,31 @@ def _get_list(items: str) -> list: return sorted(items_set) -_DEFAULT_CONFIG = {} +def _get_output_subdir_path(path: str, sub_dir: str) -> str: + '''Adds a sub directory for the path prefix.''' + dirname = os.path.dirname(path) + basename = os.path.basename(path) + if dirname: + sub_dir = os.path.join(dirname, sub_dir) + return os.path.join(sub_dir, basename) + + +_DEFAULT_CONFIG = { + # Aggregation settings for properties across events for a date. + 'property_config_per_date': { + 'aggregate': 'sum', + 'area': { + 'aggregate': 'sum', + 'unit': 'SquareKilometer', + }, + 'EventId': { + 'aggregate': 'set' + }, + 'affectedPlace': { + 'aggregate': 'list', + }, + } +} def get_default_config() -> dict: diff --git a/scripts/earthengine/process_events_test.py b/scripts/earthengine/process_events_test.py index a01f37691e..16ef61086d 100644 --- a/scripts/earthengine/process_events_test.py +++ b/scripts/earthengine/process_events_test.py @@ -63,7 +63,7 @@ def compare_csv_files(self, expected_file: str, actual_file: str, ignore_columns: list = []): - '''Compare CSV files with statvar obsevration data.''' + '''Compare CSV files with statvar observation data.''' # Sort files by columns. df_expected = pd.read_csv(expected_file) df_actual = pd.read_csv(actual_file) @@ -98,21 +98,26 @@ def test_process(self): output_path=output_prefix, config=self._config) # Verify generated events. - for file in [ - 'events.csv', - 'events.tmcf', - 'svobs.csv', - 'svobs.tmcf', - 'place_svobs.csv', - 'place_svobs.tmcf', - ]: - if file.endswith('.csv'): - # compare csv output without geoJson that is not deterministic - self.compare_csv_files(test_prefix + file, - output_prefix + file, - ['geoJsonCoordinatesDP1']) - else: - self.compare_files(test_prefix + file, output_prefix + file) + self.compare_csv_files( + os.path.join(tmp_dir, 'events_test_events.csv'), + os.path.join(_TESTDIR, test_prefix + 'events.csv')) + self.compare_files( + os.path.join(tmp_dir, 'events_test_events.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'events.tmcf')) + self.compare_csv_files( + os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'svobs.csv')) + self.compare_files( + os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'svobs.tmcf')) + self.compare_csv_files( + os.path.join(tmp_dir, 'place_svobs', + 'events_test_place_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.csv')) + self.compare_files( + os.path.join(tmp_dir, 'place_svobs', + 'events_test_place_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.tmcf')) def test_process_event_data(self): '''Verify events can be added by date.''' diff --git a/scripts/earthengine/raster_to_csv.py b/scripts/earthengine/raster_to_csv.py index 0002f7d23f..26b2acef5e 100644 --- a/scripts/earthengine/raster_to_csv.py +++ b/scripts/earthengine/raster_to_csv.py @@ -52,19 +52,19 @@ import glob import math import multiprocessing -import numpy as np import os -import rasterio import re -import s2sphere import sys import time +from typing import Union from absl import app from absl import flags from absl import logging from geopy import distance -from typing import Union +import numpy as np +import rasterio +import s2sphere _SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) @@ -88,27 +88,40 @@ flags.DEFINE_string('ignore_csv', '', 'CSV with points to be ignored set as data.') flags.DEFINE_string('allow_csv', '', 'CSV with points to be used set as data.') -flags.DEFINE_integer('limit_points', sys.maxsize, - 'Number of rows/points to process per input file.') +flags.DEFINE_integer( + 'limit_points', + sys.maxsize, + 'Number of rows/points to process per input file.', +) flags.DEFINE_string('output_csv', '', 'Output CSV file to generate') flags.DEFINE_string('output_mode', 'w', 'Write(w) or append(a) to existing output file.') flags.DEFINE_string('output_date', None, 'Date column to be added to output rows.') flags.DEFINE_list('output_columns', [], 'Output columns in the CSV') -flags.DEFINE_integer('output_precision', 6, - 'number of precision digits for float data in putput.') +flags.DEFINE_integer( + 'output_precision', + 6, + 'number of precision digits for float data in putput.', +) flags.DEFINE_integer('s2_level', 13, 'S2 Level for S2 cell Id.') +flags.DEFINE_integer('grid_degree', None, 'Grid degree for lat/lng place.') +flags.DEFINE_string('grid_prefix', 'grid_', 'Grid dcid prefix for place id.') flags.DEFINE_string('output_s2_place', '', 'Output prefix for S2 place csv and tmcf.') flags.DEFINE_list( - 'output_contained_s2_level', [10], - 'Levels to be added as contained in place nodes into s2 place output.') + 'output_contained_s2_level', + [10], + 'Levels to be added as contained in place nodes into s2 place output.', +) flags.DEFINE_string('aggregate', 'max', 'Aggregate function for data values with same key.') flags.DEFINE_integer('log_every_n', 10000, 'Print logs every N records.') -flags.DEFINE_float('default_cell_area', 0, - 'Area of the cell if the raster input is not provided.') +flags.DEFINE_float( + 'default_cell_area', + 0, + 'Area of the cell if the raster input is not provided.', +) _FLAGS = flags.FLAGS _FLAGS(sys.argv) # Allow invocation without app.run() @@ -125,7 +138,6 @@ def get_default_config(): 'ignore_csv': _FLAGS.ignore_csv, 'allow_csv': _FLAGS.allow_csv, 'limit_points': _FLAGS.limit_points, - # Output settings 'output_csv': _FLAGS.output_csv, 'output_mode': _FLAGS.output_mode, @@ -134,9 +146,10 @@ def get_default_config(): 'output_precision': _FLAGS.output_precision, 'output_s2_place': _FLAGS.output_s2_place, 'output_contained_s2_level': _FLAGS.output_contained_s2_level, - # Processing parameters 's2_level': _FLAGS.s2_level, + 'grid_degree': _FLAGS.grid_degree, + 'grid_prefix': _FLAGS.grid_prefix, # default aggregation for data values mapped to the same s2-cell+date # that can be one of: min, max, mean, sum. # For columns specific aggregation methods, use config:'input_data_filter'. @@ -152,7 +165,6 @@ def get_default_config(): 'acq_date': 'date', 'band:0': 'water', }, - # filter settings per column for data # input (pre-aggregation) and output (post-aggregation) of the form: # { @@ -170,21 +182,20 @@ def get_default_config(): }, #'confidence': { # 'regex': r'[nh]', # pick normal or high - #} + # } # 'water': { # band:0 # 'min': 1.0 - #}, + # }, }, 'output_data_filter': { # 'area': { # 'min': 1.0, # Minimum area in sqkm after aggregation # }, }, - # Debug settings 'debug': _FLAGS.debug, # Enable debug logs 'log_every_n': - _FLAGS.log_every_n, # Show counters when counter increments by N + (_FLAGS.log_every_n), # Show counters when counter increments by N 'log_every': 'processed_points', # Counter to check for log_every_n } @@ -192,34 +203,38 @@ def get_default_config(): _DEFAULT_COLUMNS = set({'latitude', 'longitude', 's2CellId', 'date'}) -def get_raster_data_point(raster: rasterio.io.DatasetReader, - arr: np.ndarray, - x: int, - y: int, - lat: float = None, - lng: float = None, - bands: list = None, - nodata_value: int = 0, - config: ConfigMap = None, - counter: Counters = None) -> dict: - '''Returns the lat/long and data value for each band - in the raster for a given position index (x, y). - Args: - raster: input raster - arr: numpy array from the input raster - x: index of the point - y: index of the point - lat: latitude of the point in degrees - lng: longitude of the point in degrees - If lat/lng are not set, it is computed from the raster transform - bands: list of bands indexes to process. - If not specified, all bands are processed. - nodata_value: value of cells not having valid data in the raster/numpy - config: ConfigMap dictionary of config parameters - Returns: - dictionary of values for the data point from the raster - including additional property for s2CellId and area. - ''' +def get_raster_data_point( + raster: rasterio.io.DatasetReader, + arr: np.ndarray, + x: int, + y: int, + lat: float = None, + lng: float = None, + bands: list = None, + nodata_value: int = 0, + config: ConfigMap = None, + counter: Counters = None, +) -> dict: + """Returns the lat/long and data value for each band + + in the raster for a given position index (x, y). + Args: + raster: input raster + arr: numpy array from the input raster + x: index of the point + y: index of the point + lat: latitude of the point in degrees + lng: longitude of the point in degrees If lat/lng are not set, it is + computed from the raster transform + bands: list of bands indexes to process. If not specified, all bands are + processed. + nodata_value: value of cells not having valid data in the raster/numpy + config: ConfigMap dictionary of config parameters + + Returns: + dictionary of values for the data point from the raster + including additional property for s2CellId and area. + """ if not config: config = ConfigMap() data = dict() @@ -237,6 +252,11 @@ def get_raster_data_point(raster: rasterio.io.DatasetReader, if s2_level: data['s2CellId'] = utils.s2_cell_latlng_dcid(lat, lng, s2_level) data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1')) + data['grid_degree'] = grid_degree if not bands: bands = list(range(raster.count)) for band in bands: @@ -250,13 +270,15 @@ def get_raster_data_point(raster: rasterio.io.DatasetReader, def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: - '''Get data for a CSV row. - Args: - input_data: dictionary with column:values for a CSV row. - assumed to have columns: latitude, longitude - Returns: - dictionary with values for the data point including area and s2CellId. - ''' + """Get data for a CSV row. + + Args: + input_data: dictionary with column:values for a CSV row. assumed to have + columns: latitude, longitude + + Returns: + dictionary with values for the data point including area and s2CellId. + """ _set_numeric_data(input_data, config) lat = input_data.get('latitude', 0.0) lng = input_data.get('longitude', 0.0) @@ -271,6 +293,11 @@ def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: s2_cell = utils.s2_cell_from_latlng(lat, lng, s2_level) input_data['s2CellId'] = utils.s2_cell_to_dcid(s2_cell.id()) input_data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + input_data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1')) + input_data['grid_degree'] = grid_degree date = config.get('output_date') if 'area' not in input_data: area = None @@ -294,21 +321,25 @@ def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: return input_data -def get_raster_data_latlng(raster: rasterio.io.DatasetReader, - arr: np.ndarray, - lat: float, - lng: float, - band: int = 0) -> float: - '''Return the data value for the point (lat, lng) in given raster - Args: - raster: raster to look up - arr: numpy array having values from the ratser - lat: latitude of the point in degrees - lng: longitude of the point in degrees - band: the band index in the numpy array to use. - uses band 0 if unspecified. - Returns: - the data value from the numpy array for the given point.''' +def get_raster_data_latlng( + raster: rasterio.io.DatasetReader, + arr: np.ndarray, + lat: float, + lng: float, + band: int = 0, +) -> float: + """Return the data value for the point (lat, lng) in given raster + + Args: + raster: raster to look up + arr: numpy array having values from the ratser + lat: latitude of the point in degrees + lng: longitude of the point in degrees + band: the band index in the numpy array to use. uses band 0 if unspecified. + + Returns: + the data value from the numpy array for the given point. + """ (x, y) = rasterio.transform.rowcol(raster.transform, lng, lat) if not x or not y: return None @@ -322,16 +353,17 @@ def get_raster_data_latlng(raster: rasterio.io.DatasetReader, def is_valid_data_point(data_point: dict, filter_params: dict, counter: Counters) -> bool: - '''Returns True if the data point is allowed for all parameters in config. - Args: - data_point: dictionary of values for the point. - assumes to have properties like latitude/longitude, area, etc - filter_params: - dictionary of filter settings for each data value key. - filter settings could be: min, max - Returns: - True if data values satisfy all conditions in the filter params. - ''' + """Returns True if the data point is allowed for all parameters in config. + + Args: + data_point: dictionary of values for the point. assumes to have properties + like latitude/longitude, area, etc + filter_params: dictionary of filter settings for each data value key. filter + settings could be: min, max + + Returns: + True if data values satisfy all conditions in the filter params. + """ if filter_params: for col, params in filter_params.items(): value = data_point.get(col, None) @@ -357,12 +389,15 @@ def is_valid_data_point(data_point: dict, filter_params: dict, def rename_data_columns(data_point: dict, rename_columns: dict) -> dict: - '''Rename data point key (columns) names. - Args: - data_point: dictionary of data values - rename_columns: dictionary of key name replacements for data_point dict - Returns: - data_point dictionary with the keys renames if any.''' + """Rename data point key (columns) names. + + Args: + data_point: dictionary of data values + rename_columns: dictionary of key name replacements for data_point dict + + Returns: + data_point dictionary with the keys renames if any. + """ if rename_columns: for col, new_col in rename_columns.items(): if col in data_point: @@ -373,7 +408,7 @@ def rename_data_columns(data_point: dict, rename_columns: dict) -> dict: def get_parent_s2_cellids(lat: float, lng: float, s2cell_id: str, s2_level: int, top_s2_level: int) -> list: - '''Returns list of parent s2 cell ids(int) up to top_s2_level.''' + """Returns list of parent s2 cell ids(int) up to top_s2_level.""" s2cell = None if lat is not None and lng is not None: s2cell = utils.s2_cell_from_latlng(lat, lng, s2_level) @@ -390,30 +425,34 @@ def get_parent_s2_cellids(lat: float, lng: float, s2cell_id: str, s2_level: int, ] -def add_data_point(data_dict: dict, - data_point: dict, - config: ConfigMap = {}, - filter_params: dict = {}, - counter: Counters = None) -> dict: - '''Add a data point to the data_dict dictionary - if a point with the same key already exists, it is updated with new values. - Args: - data_dict: dictionary into which the point it to be added. - data_point: property:values for the data point. - config: dictionary of config parameters. - Indicates method to merge existing data, such as: - sum, min, max, mean. - filter_params: dictionary with data filter settings. - counter: dictionary of counters to be updated. - Returns: - the data point dictionary added/updated if filter settings are met. - The returned dict will have additional properties prefixed with '#' - such as '#count' in case data is merged, - and band specific counts, like '#band:0:count' when aggregating as mean. - ''' +def add_data_point( + data_dict: dict, + data_point: dict, + config: ConfigMap = {}, + filter_params: dict = {}, + counter: Counters = None, +) -> dict: + """Add a data point to the data_dict dictionary + + if a point with the same key already exists, it is updated with new values. + Args: + data_dict: dictionary into which the point it to be added. + data_point: property:values for the data point. + config: dictionary of config parameters. Indicates method to merge existing + data, such as: sum, min, max, mean. + filter_params: dictionary with data filter settings. + counter: dictionary of counters to be updated. + + Returns: + the data point dictionary added/updated if filter settings are met. + The returned dict will have additional properties prefixed with '#' + such as '#count' in case data is merged, + and band specific counts, like '#band:0:count' when aggregating as mean. + """ counter.add_counter('processed_points', 1) rename_data_columns(data_point, config.get('rename_columns', None)) - s2_level = data_point.get('s2Level', config.get('s2Level', '')) + s2_level = data_point.get( + 's2Level', config.get('s2Level', config.get('grid_degree', ''))) data_key = _get_data_key(data_point) if data_key not in data_dict: cur_data = dict(data_point) @@ -424,21 +463,43 @@ def add_data_point(data_dict: dict, props = set(data_point.keys()).difference(_DEFAULT_COLUMNS) props = [p for p in props if not p.startswith('#')] for prop in props: - cur_val = cur_data.get(prop, 0) - new_val = data_point[prop] - aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) - if aggr == 'sum': - cur_data[prop] = cur_val + new_val - elif aggr == 'min': - cur_data[prop] = min(cur_val, new_val) - elif aggr == 'max': - cur_data[prop] = max(cur_val, new_val) - elif aggr == 'mean': - cur_num = cur_data.get(f'#{prop}:count', 0) - new_num = data_point.get(f'#{prop}:count', 1) - cur_data[prop] = ((cur_val * cur_num) + - (new_val * new_num)) / (cur_num + new_num) - cur_data[f'#{prop}:count'] = cur_num + new_num + try: + cur_val = cur_data.get(prop, 0) + new_val = data_point[prop] + if cur_val == new_val: + continue + if isinstance(cur_val, str) and not cur_val and new_val: + cur_data[prop] = new_val + continue + if isinstance(new_val, str) and not new_val: + continue + aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) + if aggr == 'last': + cur_data[prop] = new_val + continue + # Convert values to numeric for aggregation + if (isinstance(cur_val, float) or isinstance(cur_val, int) or + isinstance(new_val, float) or isinstance(new_val, int)): + cur_val = _get_numeric_value(cur_val) + new_val = _get_numeric_value(new_val) + + if aggr == 'sum': + cur_data[prop] = cur_val + new_val + elif aggr == 'min': + cur_data[prop] = min(cur_val, new_val) + elif aggr == 'max': + cur_data[prop] = max(cur_val, new_val) + elif aggr == 'mean': + cur_num = cur_data.get(f'#{prop}:count', 0) + new_num = data_point.get(f'#{prop}:count', 1) + cur_data[prop] = ((cur_val * cur_num) + + (new_val * new_num)) / (cur_num + new_num) + cur_data[f'#{prop}:count'] = cur_num + new_num + except TypeError as e: + logging.error( + f'Error {e} in aggregating: {agr}: prop: {prop}, for new' + f' {data_point} with old: {cur_data}') + # Update lat/long to centroid. cur_count = cur_data.get('#count', 1) new_count = data_point.get('#count', 1) @@ -461,12 +522,14 @@ def add_data_point(data_dict: dict, def load_raster_geotiff(filename: str) -> rasterio.io.DatasetReader: - '''Load a raster from a geoTiff file. - Args: - filename: Name of the geoTiff file. - Returns: - raster data set for the file. - ''' + """Load a raster from a geoTiff file. + + Args: + filename: Name of the geoTiff file. + + Returns: + raster data set for the file. + """ logging.info(f'Loading raster GeoTiff File: {filename}') if file_util.file_is_gcs(filename): # RasterIO doesn't support GCS files. Copy over to a local file. @@ -476,27 +539,28 @@ def load_raster_geotiff(filename: str) -> rasterio.io.DatasetReader: return src -def write_data_csv(data_points: dict, - filename: str, - columns: list = None, - config: ConfigMap = {}, - counter: Counters = None): - '''Output the data points dict into the csv file. - Args: - data_points: dictionary of data points keys by location+date. - each entry is a dictionary of property:values for each point. - if config doesn't specify output_columns, all keys without the '#' prefix - are added as csv columns. - filename: output csv file name - columns: list of output columns. - if not set, picks the config['output_columns'] or all keys. - config: dictionary of parameter:value settings for: - output_mode: whether to append or overwrite file. - output_columns: list of columns to emit - if not specified, all keys in the data_point dict are emitted. - - counter: dictionary of counter:values. - ''' +def write_data_csv( + data_points: dict, + filename: str, + columns: list = None, + config: ConfigMap = {}, + counter: Counters = None, +): + """Output the data points dict into the csv file. + + Args: + data_points: dictionary of data points keys by location+date. each entry is + a dictionary of property:values for each point. if config doesn't specify + output_columns, all keys without the '#' prefix are added as csv columns. + filename: output csv file name + columns: list of output columns. if not set, picks the + config['output_columns'] or all keys. + config: dictionary of parameter:value settings for: + output_mode: whether to append or overwrite file. + output_columns: list of columns to emit if not specified, all keys in the + data_point dict are emitted. + counter: dictionary of counter:values. + """ # Write to the output. if not columns: columns = config.get('output_columns', None) @@ -511,9 +575,8 @@ def write_data_csv(data_points: dict, for col in all_columns: if col not in columns: columns.append(col) - logging.info( - f'Writing {len(data_points)} rows with columns: {columns} into {filename} ...' - ) + logging.info(f'Writing {len(data_points)} rows with columns: {columns} into' + f' {filename} ...') # create output directory if needed dirname = os.path.dirname(filename) if dirname: @@ -525,12 +588,14 @@ def write_data_csv(data_points: dict, # File doesn't exist yet. Open in write mode and add column headers. output_mode = 'w' with file_util.FileIO(filename, mode=output_mode) as csv_file: - writer = csv.DictWriter(csv_file, - fieldnames=columns, - escapechar='\\', - extrasaction='ignore', - quotechar='"', - quoting=csv.QUOTE_NONNUMERIC) + writer = csv.DictWriter( + csv_file, + fieldnames=columns, + escapechar='\\', + extrasaction='ignore', + quotechar='"', + quoting=csv.QUOTE_NONNUMERIC, + ) if output_mode == 'w': writer.writeheader() output_date = config.get('output_date', None) @@ -548,18 +613,22 @@ def write_data_csv(data_points: dict, len(data_points)) -def write_s2place_csv_tmcf(data_points: dict, - output_prefix: str, - config: ConfigMap = {}, - counter: Counters = None): - '''Generate CSV+tMCF file for S2 places with hierarchy. - Args: - data_ponts: dictionary of data points where each point is a dict with 's2Cellid' - output_prefix: file name prefix for output csv/tmcf files. - config: dictionary of config parameters - output_contained_s2_level: topmost s2 level upto which places are added. - counter: dictionary of named counters - ''' +def write_s2place_csv_tmcf( + data_points: dict, + output_prefix: str, + config: ConfigMap = {}, + counter: Counters = None, +): + """Generate CSV+tMCF file for S2 places with hierarchy. + + Args: + data_ponts: dictionary of data points where each point is a dict with + 's2Cellid' + output_prefix: file name prefix for output csv/tmcf files. + config: dictionary of config parameters + output_contained_s2_level: topmost s2 level upto which places are added. + counter: dictionary of named counters + """ s2_places = {} contained_levels = config.get('output_contained_s2_level', [10]) # Collect all S2 cells ids for data points and its parents. @@ -571,9 +640,8 @@ def write_s2place_csv_tmcf(data_points: dict, if not s2cell: continue s2_places[s2cell.id()] = {} - logging.info( - f'Generating place data for {len(s2_places)} places upto level {contained_levels} into {output_prefix}.csv/tmcf' - ) + logging.info(f'Generating place data for {len(s2_places)} places upto level' + f' {contained_levels} into {output_prefix}.csv/tmcf') # Add containedInPlace and Types for each s2 cell. for cellid in s2_places.keys(): s2cell = s2sphere.CellId(cellid) @@ -595,9 +663,13 @@ def write_s2place_csv_tmcf(data_points: dict, os.makedirs(output_dir, exist_ok=True) # Generate the place csv counter.set_prefix('8:output_places_csv:') - write_data_csv(s2_places, f'{output_prefix}.csv', - ['s2CellId', 'typeOf', 'containedInPlace', 'name'], config, - counter) + write_data_csv( + s2_places, + f'{output_prefix}.csv', + ['s2CellId', 'typeOf', 'containedInPlace', 'name'], + config, + counter, + ) # Generate the place tmcf logging.info(f'Generating place tmcf {output_prefix}.tmcf') @@ -611,18 +683,23 @@ def write_s2place_csv_tmcf(data_points: dict, tmcf_file.write('\n') -def process_raster(raster_input: str, - config: ConfigMap, - data_points: dict = None, - counter: Counters = {}) -> dict: - '''Read a raster geoTiff and output points with data values. - Args: - raster_input: raster data set to process loaded from a geoTiff file. - config: dictionary of parameter:value settings. - data_points: dictionary into which points from the raster are added. - counter: dictionary of named counters. - Returns: - data_points dict with new points from the raster added.''' +def process_raster( + raster_input: str, + config: ConfigMap, + data_points: dict = None, + counter: Counters = {}, +) -> dict: + """Read a raster geoTiff and output points with data values. + + Args: + raster_input: raster data set to process loaded from a geoTiff file. + config: dictionary of parameter:value settings. + data_points: dictionary into which points from the raster are added. + counter: dictionary of named counters. + + Returns: + data_points dict with new points from the raster added. + """ logging.info( f'Processing raster {raster_input} with config: {config.get_configs()}') counter.add_counter('input_geotiff_files', 1) @@ -674,51 +751,66 @@ def process_raster(raster_input: str, num_points = len(points_xy[0]) counter.add_counter('processed_points', num_points) logging.info( - f'Got {num_points} xy points out of {num_idx} values from raster: {raster_input}.' - ) + f'Got {num_points} xy points out of {num_idx} values from raster:' + f' {raster_input}.') # Process all points in the raster. - process_raster_points(src, arr, ignore_src, ignore_arr, allow_src, - allow_arr, points_xy, 0, num_points, data_points, - config, None, counter) + process_raster_points( + src, + arr, + ignore_src, + ignore_arr, + allow_src, + allow_arr, + points_xy, + 0, + num_points, + data_points, + config, + None, + counter, + ) return data_points -def process_raster_points(src_r: rasterio.io.DatasetReader, - src_arr: np.ndarray, - ignore_r: rasterio.io.DatasetReader, - ignore_arr: np.ndarray, - allow_r: rasterio.io.DatasetReader, - allow_arr: np.ndarray, - points_xy: list, - points_start_index: int, - num_points: int, - data_points: dict, - config: ConfigMap, - output_csv: str = None, - counter: Counters = None) -> bool: - '''Process a set of raster data points. - Args: - src_r: Source raster data set to process - src_arr: numpy array fr source data set with all bands. - ignore_r: Raster dataset with data points to be ignores. - ignore_arr: numpy array for data points to be ignored set as 1. - allow_r: raster dataset for points to be allowed - allow_arr: numpy array for points to be allowed set as 1. - points_xy: list of indexes for x and y [[x], [y]] with - valid data points in source raster src_r - points_start_index: start index for subset of points to be processed. - num_points: number of points to process from the start index. - data_points: dictionary of data point key:value dicts - into which processed points are added - config: ConfigMap dictionary of configuration parameter:values. - output_csv: output csv file if data_points dict is to be saved in a csv. - counter: dictionary of named counter:values - Returns - True if the raster was processed. - ''' - logging.info( - f'Processing points {num_points} of {len(points_xy[0])} from {points_start_index} from {src_r.files} ...' - ) +def process_raster_points( + src_r: rasterio.io.DatasetReader, + src_arr: np.ndarray, + ignore_r: rasterio.io.DatasetReader, + ignore_arr: np.ndarray, + allow_r: rasterio.io.DatasetReader, + allow_arr: np.ndarray, + points_xy: list, + points_start_index: int, + num_points: int, + data_points: dict, + config: ConfigMap, + output_csv: str = None, + counter: Counters = None, +) -> bool: + """Process a set of raster data points. + + Args: + src_r: Source raster data set to process + src_arr: numpy array fr source data set with all bands. + ignore_r: Raster dataset with data points to be ignores. + ignore_arr: numpy array for data points to be ignored set as 1. + allow_r: raster dataset for points to be allowed + allow_arr: numpy array for points to be allowed set as 1. + points_xy: list of indexes for x and y [[x], [y]] with valid data points in + source raster src_r + points_start_index: start index for subset of points to be processed. + num_points: number of points to process from the start index. + data_points: dictionary of data point key:value dicts into which processed + points are added + config: ConfigMap dictionary of configuration parameter:values. + output_csv: output csv file if data_points dict is to be saved in a csv. + counter: dictionary of named counter:values + + Returns + True if the raster was processed. + """ + logging.info(f'Processing points {num_points} of {len(points_xy[0])} from' + f' {points_start_index} from {src_r.files} ...') if counter is None: counter = Counters() counter.set_prefix('0:raster:') @@ -743,14 +835,16 @@ def process_raster_points(src_r: rasterio.io.DatasetReader, y = points_xy[1][point_index] lng = latlons[0][point_index] lat = latlons[1][point_index] - data = get_raster_data_point(raster=src_r, - arr=src_arr, - x=x, - y=y, - lat=lat, - lng=lng, - config=config, - counter=counter) + data = get_raster_data_point( + raster=src_r, + arr=src_arr, + x=x, + y=y, + lat=lat, + lng=lng, + config=config, + counter=counter, + ) if data: # Check if data point is allowed by the ignore/allow masks. if ignore_arr is not None: @@ -781,27 +875,31 @@ def process_raster_points(src_r: rasterio.io.DatasetReader, return True -def process_csv_points(input_csv: str, - ignore_csv: str = None, - allow_csv: str = None, - data_points: dict = None, - config: ConfigMap = {}, - output_csv: str = None, - counter: Counters = None) -> bool: - '''Process data points from CSV. - Args: - input_csv: Input csv file to load data points. - Assumed to have columns: latitude, longitude - ignore_csv: CSV file with points to be ignored. - allow_csv: CSV file with points to be allowed. - data_points: Dictionary of data points keyed by location+date. - into which new points from input_csv are added. - config: dictionary of configuration parameter:values. - output_csv: Output csv file if data is to be saved. - counter: dictionary of named counter:values. - Returns: - True if data was processed. - ''' +def process_csv_points( + input_csv: str, + ignore_csv: str = None, + allow_csv: str = None, + data_points: dict = None, + config: ConfigMap = {}, + output_csv: str = None, + counter: Counters = None, +) -> bool: + """Process data points from CSV. + + Args: + input_csv: Input csv file to load data points. Assumed to have columns: + latitude, longitude + ignore_csv: CSV file with points to be ignored. + allow_csv: CSV file with points to be allowed. + data_points: Dictionary of data points keyed by location+date. into which + new points from input_csv are added. + config: dictionary of configuration parameter:values. + output_csv: Output csv file if data is to be saved. + counter: dictionary of named counter:values. + + Returns: + True if data was processed. + """ if data_points is None: data_points = {} if counter is None: @@ -868,21 +966,25 @@ def process_csv_points(input_csv: str, return data_points -def filter_data_points(data_points: dict, - filter_params: dict = None, - config: ConfigMap = {}, - counter: Counters = {}) -> dict: - '''Remove data points that don't meet required criteria, like min area. - Args: - data_points: dictionary of data points each with a dict of key:values. - filter_params: parameters for keys of the data points. - see is_valid_data_point() for parameters supported. - config: dictionary of configuration parameter:values. - output_csv: Output csv file if data is to be saved. - counter: dictionary of named counter:values. - Returns: - data points dictionary after removing points. - ''' +def filter_data_points( + data_points: dict, + filter_params: dict = None, + config: ConfigMap = {}, + counter: Counters = {}, +) -> dict: + """Remove data points that don't meet required criteria, like min area. + + Args: + data_points: dictionary of data points each with a dict of key:values. + filter_params: parameters for keys of the data points. see + is_valid_data_point() for parameters supported. + config: dictionary of configuration parameter:values. + output_csv: Output csv file if data is to be saved. + counter: dictionary of named counter:values. + + Returns: + data points dictionary after removing points. + """ if not filter_params: return data_points logging.info( @@ -899,18 +1001,21 @@ def filter_data_points(data_points: dict, return data_points -def process(input_geotiff: str, - input_csv: str, - output_csv: str, - config: ConfigMap, - counter: Counters = None): - '''Process raster or CSV inputs to generate CSV output. - Args: - input_geotiff: comma separated list of input geotiff file patterns - input_csv: comma separated list of input csv files. - output_csv: output csv file to generate - config: dictionary of config parameter:values. - ''' +def process( + input_geotiff: str, + input_csv: str, + output_csv: str, + config: ConfigMap, + counter: Counters = None, +): + """Process raster or CSV inputs to generate CSV output. + + Args: + input_geotiff: comma separated list of input geotiff file patterns + input_csv: comma separated list of input csv files. + output_csv: output csv file to generate + config: dictionary of config parameter:values. + """ data_points = {} if counter is None: counter = Counters(options=CounterOptions( @@ -925,12 +1030,14 @@ def process(input_geotiff: str, if input_csv: logging.info( f'Processing csv {input_csv} with config: {config.get_configs()}') - process_csv_points(input_csv=input_csv, - ignore_csv=config.get('ignore_csv', None), - allow_csv=config.get('allow_csv', None), - data_points=data_points, - config=config, - counter=counter) + process_csv_points( + input_csv=input_csv, + ignore_csv=config.get('ignore_csv', None), + allow_csv=config.get('allow_csv', None), + data_points=data_points, + config=config, + counter=counter, + ) logging.info(f'Loaded {len(data_points)} points from {input_csv}') counter.set_counter('end_time', time.perf_counter()) @@ -945,10 +1052,12 @@ def process(input_geotiff: str, def _get_data_key(data: dict, add_date: bool = True) -> str: - '''Return a key for the data values in dictionary - Uses s2 cell id if it exists, else the lat/lng - along with the date.''' - key = data.get('s2CellId', None) + """Return a key for the data values in dictionary + + Uses s2 cell id if it exists, else the lat/lng + along with the date. + """ + key = data.get('s2CellId', data.get('dcid')) if not key: key = str(data.get('latitude', '')) + str(data.get('longitude', '')) if add_date: @@ -959,7 +1068,7 @@ def _get_data_key(data: dict, add_date: bool = True) -> str: def _get_all_columns(data_points: dict, config: ConfigMap = {}, ignore_commented: bool = True) -> list: - '''Returns a list of all keys across all data points.''' + """Returns a list of all keys across all data points.""" cols = set() cols.update(config.get('output_columns', [])) for data in data_points.values(): @@ -969,8 +1078,16 @@ def _get_all_columns(data_points: dict, return list(sorted(cols)) +def _get_numeric_value(value: str) -> float: + """Returns a numeric value for the data string.""" + numeric_value = utils.str_get_numeric_value(value) + if numeric_value is None: + numeric_value = 0 + return numeric_value + + def _set_numeric_data(data: dict, config: ConfigMap = {}) -> dict: - '''Returns dictionary of key:values with values converted from string to number.''' + """Returns dictionary of key:values with values converted from string to number.""" for k, v in data.items(): numeric_value = utils.str_get_numeric_value(v) if numeric_value: @@ -979,7 +1096,7 @@ def _set_numeric_data(data: dict, config: ConfigMap = {}) -> dict: def _log_raster_info(raster: rasterio.io.DatasetReader): - '''Print raster metadata.''' + """Print raster metadata.""" logging.info(f'Raster files: {raster.files}') logging.info(f'Raster shape: {raster.shape}') logging.info(f'Raster resolution: {raster.res}') diff --git a/scripts/earthengine/raster_to_csv_test.py b/scripts/earthengine/raster_to_csv_test.py index 81e7863033..61277e7cae 100644 --- a/scripts/earthengine/raster_to_csv_test.py +++ b/scripts/earthengine/raster_to_csv_test.py @@ -105,7 +105,7 @@ def test_process_csv(self): 'aggregate_s2_level': 5, }) output_csv = os.path.join(tmp_dir, - 'sample_flood_output_filtered.csv') + 'sample_floods_output_filtered.csv') counter = Counters() # Process raster into csv data points. r2c.process(input_geotiff=None, diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt new file mode 100644 index 0000000000..548a8288df --- /dev/null +++ b/scripts/earthengine/requirements.txt @@ -0,0 +1,17 @@ +# Requirements for Python code in this directory. +dataclasses +datacommons +earthengine-api +geojson +geopandas +googleapi +google-cloud-logging +lxml +openpyxl +rdp +requests +retry +s2sphere +shapely +urllib3 +xlrd diff --git a/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py b/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py index fe9f787b3a..535400df43 100644 --- a/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py +++ b/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py @@ -13,6 +13,7 @@ 'stage': 'download', 'url': 'http://sample_test.com/data/{year}', 'output_file': '{tmp_dir}/{stage}/{year}/fire_input_data.csv', + 'skip_existing_output': 0, }, # convert lat/longs to s2 cells. { diff --git a/scripts/earthengine/test_data/sample_fires_events.csv b/scripts/earthengine/test_data/sample_fires_events.csv index d6634dd8f7..ba7ead1ca2 100644 --- a/scripts/earthengine/test_data/sample_fires_events.csv +++ b/scripts/earthengine/test_data/sample_fires_events.csv @@ -1,176 +1,176 @@ "dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","numberOfDays","startLocation","affectedPlace","AffectedPlaceCount","area","AreaSqKm","bright_ti4","bright_ti5","confidence","frp","observationDate","geoJsonCoordinatesDP1" -"fireEvent/2023-01-31_0x80837b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083630000000000 on 2023-01-31","2023-01-31","2023-01-31","P1D",1,1,"[LatLong 39.07645 -122.15757]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x808362bc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x80837a5400000000,dcid:s2CellId/0x80837b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.03855 SquareKilometer]",2.03855,335.81,288.82,"n",2.01,"2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 39.104064455903135), (-122.26538872869685, 39.17888461552509), (-122.17460498684162, 39.20690582223145), (-122.17460498684162, 39.132070524198696), (-122.26538872869685, 39.104064455903135)),), (((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.17460498684162, 39.057150204742555), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),)]}" -"fireEvent/2023-02-06_0x8094af0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094af0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 36.10040 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af1c00000000,dcid:s2CellId/0x8094af2400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.28556 SquareKilometer]",2.28556,334.6,287.55,"n",4.13,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.04806788044641), (-119.97405342347365, 36.07349347026282), (-119.97405342347365, 36.15269831052497), (-120.06652363285929, 36.12725014536185)),)}" -"fireEvent/2023-01-12_0x80d65d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65d0000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.59410 -114.57772]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65c3400000000,dcid:s2CellId/0x80d65d0000000000,dcid:s2CellId/0x80d65e6400000000,dcid:s2CellId/0x80d65e6c00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",5,"[3.9386 SquareKilometer]",3.9386,367.0,293.19,"n",16.15,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 32.53615314436677), (-114.61928990191176, 32.516455336320426), (-114.61928990191176, 32.601380600508776), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.53615314436677)),)}" -"fireEvent/2023-02-14_0x80ea570000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ea570000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 35.50403 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea570000000000,dcid:s2CellId/0x80ea577400000000,dcid:s2CellId/0x80eafaec00000000,dcid:s2CellId/0x80eafb0000000000,dcid:s2CellId/0x80eafd0000000000,dcid:s2CellId/0x80eafd0400000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff2400000000,dcid:s2CellId/0x80eaff2c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.84321 SquareKilometer]",5.84321,340.56,292.86,"n",8.12,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.47625041156115), (-119.32503466239531, 35.45162141848549), (-119.32503466239531, 35.53175350399878), (-119.23207840138082, 35.556406222206114), (-119.23207840138082, 35.47625041156115)),), (((-119.23207840138082, 35.63648603631758), (-119.32503466239531, 35.61180980810941), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.23207840138082, 35.716489517297106), (-119.23207840138082, 35.63648603631758)),)]}" -"fireEvent/2023-02-15_0x8092db0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092db0000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 35.89531 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x8092db0000000000,dcid:s2CellId/0x8092dbec00000000,dcid:s2CellId/0x8092dbf400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.26338 SquareKilometer]",2.26338,333.02,292.38,"n",3.38,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 35.92160807483137), (-121.07937052658627, 35.842757347952094), (-120.98763211526173, 35.8689609102411), (-120.98763211526173, 35.947835377412154), (-121.07937052658627, 35.92160807483137)),)}" -"fireEvent/2023-01-02_0x80d7070000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7070000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.65892 -115.07625]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7061400000000,dcid:s2CellId/0x80d7066c00000000,dcid:s2CellId/0x80d7070000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.61267 SquareKilometer]",2.61267,356.58,300.12,"n",19.19,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.671008212834636), (-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.69116258740858), (-115.09404500241959, 32.671008212834636)),)}" -"fireEvent/2023-02-10_0x8083270000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083270000000000 on 2023-02-10","2023-02-10","2023-02-11","P2D",2,2,"[LatLong 39.69439 -121.81640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083260400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083274c00000000,dcid:s2CellId/0x8083275400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.01116 SquareKilometer]",2.01116,340.04,285.06,"n",3.14,"2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.76584973823246), (-121.90179543138471, 39.73802301630229)),)}" -"fireEvent/2023-02-23_0x80eae30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eae30000000000 on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.71937 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae30000000000,dcid:s2CellId/0x80eae36400000000,dcid:s2CellId/0x80eae3ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.32886 SquareKilometer]",2.32886,326.92,287.13,"n",3.53,"2023-02-23","{'type': 'Polygon', 'coordinates': (((-119.41793235298398, 35.74689982999827), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799), (-119.41793235298398, 35.74689982999827)),)}" -"fireEvent/2023-02-08_0x809b990000000000","FireEvent","FireEvent at L10 S2 Cell 0x809b990000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.21832 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06061,dcid:northamerica,dcid:s2CellId/0x809b990000000000,dcid:s2CellId/0x809b996400000000,dcid:s2CellId/0x809b997400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.07602 SquareKilometer]",2.07602,305.34,276.36,"n",1.07,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 39.24263772504066), (-120.80394744373855, 39.16714989698495), (-120.7120023484522, 39.193946808225185), (-120.7120023484522, 39.269449088826086), (-120.80394744373855, 39.24263772504066)),)}" -"fireEvent/2023-03-18_0x80dd350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dd350000000000 on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 33.82611 -118.24681]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd34fc00000000,dcid:s2CellId/0x80dd350000000000,dcid:s2CellId/0x80dd359c00000000,dcid:s2CellId/0x80dd4b0000000000,dcid:s2CellId/0x80dd4bac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.70076 SquareKilometer]",3.70076,297.55,284.36,"n",0.7,"2023-03-18","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.39294170620582, 33.74349483462569), (-118.39294170620582, 33.82562180473932), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)}" -"fireEvent/2023-02-22_0x8090f90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090f70000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 37.81896 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f7f400000000,dcid:s2CellId/0x8090f81c00000000,dcid:s2CellId/0x8090f90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.16141 SquareKilometer]",2.16141,353.83,289.55,"n",5.74,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 37.71662016196677), (-120.89582422732902, 37.69006636052178), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.80394744373855, 37.71662016196677)),)}" -"fireEvent/2023-02-10_0x80d7b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d64d0000000000 on 2023-02-10","2023-02-10","2023-02-12","P3D",3,3,"[LatLong 32.38917 -114.89829]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d64cb400000000,dcid:s2CellId/0x80d64d0000000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b5cc00000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c91c00000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb6c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27073 SquareKilometer]",5.27073,341.66,301.14,"n",12.68,"2023-02-10,2023-02-11,2023-02-12","{'type': 'MultiPolygon', 'coordinates': [(((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726)),), (((-114.80926906488743, 32.47683458066355), (-114.80926906488743, 32.39189787714385), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.45691198535573), (-114.80926906488743, 32.47683458066355)),)]}" -"fireEvent/2023-02-16_0x80d7490000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7490000000000 on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 33.07521 -115.34895]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d748e400000000,dcid:s2CellId/0x80d748ec00000000,dcid:s2CellId/0x80d7490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.58433 SquareKilometer]",2.58433,340.42,296.24,"n",4.19,"2023-02-16","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 33.11612672382202), (-115.3785719022423, 33.03195811961158), (-115.28375849518459, 33.052472062640916), (-115.28375849518459, 33.13666731039678), (-115.3785719022423, 33.11612672382202)),)}" -"fireEvent/2023-03-27_0x80c2d10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2d10000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 34.06595 -118.02446]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2d0b400000000,dcid:s2CellId/0x80c2d0c400000000,dcid:s2CellId/0x80c2d10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.46115 SquareKilometer]",2.46115,323.9,278.28,"n",2.3,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-118.1122678531936, 34.059614889814924), (-118.1122678531936, 33.97754564726115), (-118.01860874756083, 34.00069236114518), (-118.01860874756083, 34.08278833318326), (-118.1122678531936, 34.059614889814924)),)}" -"fireEvent/2023-02-14_0x8093770000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093770000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.47132 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093770000000000,dcid:s2CellId/0x8093777400000000,dcid:s2CellId/0x8093790000000000,dcid:s2CellId/0x809379cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.25413 SquareKilometer]",2.25413,331.82,291.3,"n",4.78,"2023-02-14","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.41906007532748), (-120.43576307692442, 36.49768733054752), (-120.3435506342276, 36.52354795442271), (-120.25127284433846, 36.54933860162116), (-120.25127284433846, 36.47066792590074), (-120.3435506342276, 36.44489892762193), (-120.43576307692442, 36.41906007532748)),)}" -"fireEvent/2023-03-25_0x80936f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093650000000000 on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 36.33966 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x8093655400000000,dcid:s2CellId/0x80936f0000000000,dcid:s2CellId/0x80936ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26092 SquareKilometer]",2.26092,338.76,290.16,"n",5.64,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.26157181199122), (-120.43576307692442, 36.340354799856954), (-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.3435506342276, 36.28736647095043), (-120.43576307692442, 36.26157181199122)),)}" -"fireEvent/2023-03-01_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-03-01","2023-03-01","2023-03-03","P3D",3,3,"[LatLong 38.55335 -122.54293]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x808444b400000000,dcid:s2CellId/0x808444dc00000000,dcid:s2CellId/0x808444e400000000,dcid:s2CellId/0x808444fc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084470000000000,dcid:s2CellId/0x8084473c00000000,dcid:s2CellId/0x80845a1400000000,dcid:s2CellId/0x80845a1c00000000,dcid:s2CellId/0x80845a5400000000,dcid:s2CellId/0x80845acc00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",12,"[6.18521 SquareKilometer]",6.18521,337.37,290.81,"n",12.81,"2023-03-01,2023-03-02,2023-03-03","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.71813749631639, 38.437476047170406), (-122.71813749631639, 38.51280040712088), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" -"fireEvent/2023-02-07_0x80dd370000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dd370000000000 on 2023-02-07","2023-02-07","2023-02-08","P2D",2,2,"[LatLong 33.76312 -118.29359]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd360400000000,dcid:s2CellId/0x80dd360c00000000,dcid:s2CellId/0x80dd364c00000000,dcid:s2CellId/0x80dd370000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46968 SquareKilometer]",2.46968,337.59,282.55,"n",6.07,"2023-02-07,2023-02-08","{'type': 'Polygon', 'coordinates': (((-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.68457580456745), (-118.20587682407124, 33.70778227614814), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592)),)}" -"fireEvent/2023-03-27_0x8090430000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090430000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 37.81581 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090430000000000,dcid:s2CellId/0x8090435c00000000,dcid:s2CellId/0x8090436400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.15323 SquareKilometer]",2.15323,352.06,296.83,"n",6.22,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.76395276415482), (-121.07937052658627, 37.79075426610106), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336)),)}" -"fireEvent/2023-03-17_0x80911f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80911f0000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 37.65705 -120.59122]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80911ef400000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x80911f8c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.17719 SquareKilometer]",2.17719,298.7,279.63,"n",0.79,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.61998952842978, 37.69229621714622), (-120.61998952842978, 37.61499433591427), (-120.52790957361556, 37.641298481904194), (-120.52790957361556, 37.71861894809693), (-120.61998952842978, 37.69229621714622)),)}" -"fireEvent/2023-02-03_0x80e8350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e8350000000000 on 2023-02-03","2023-02-03","2023-02-03","P1D",1,1,"[LatLong 34.26672 -118.97033]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8341400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd0400000000,dcid:s2CellId/0x80e9cd1c00000000,dcid:s2CellId/0x80e9cd7c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.83745 SquareKilometer]",4.83745,339.7,295.52,"n",5.02,"2023-02-03","{'type': 'MultiPolygon', 'coordinates': [(((-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918)),), (((-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.41868959827641)),)]}" -"fireEvent/2023-02-02_0x80d7b90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7b90000000000 on 2023-02-02","2023-02-02","2023-02-04","P3D",3,2,"[LatLong 32.26175 -115.09998]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b81c00000000,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7c0c400000000,dcid:s2CellId/0x80d7c10000000000,dcid:s2CellId/0x80d7c30000000000,dcid:s2CellId/0x80d7c35400000000,dcid:s2CellId/0x80d7c4ac00000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7db0000000000,dcid:s2CellId/0x80d7db5400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",10,"[6.59638 SquareKilometer]",6.59638,342.82,306.64,"n",19.32,"2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.18891595142229, 32.2269827091063)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 31.99193223931182), (-115.18891595142229, 31.971929178501046), (-115.18891595142229, 32.057010591540205), (-115.28375849518459, 32.036905155966636), (-115.28375849518459, 32.1218942661953), (-115.28375849518459, 32.20681969840767), (-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),)]}" -"fireEvent/2023-02-08_0x809aaf0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aa90000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 38.09097 -121.49132]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa90000000000,dcid:s2CellId/0x809aa9c400000000,dcid:s2CellId/0x809aaa5c00000000,dcid:s2CellId/0x809aab0000000000,dcid:s2CellId/0x809aaefc00000000,dcid:s2CellId/0x809aaf0000000000,dcid:s2CellId/0x809aaf0400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.2415 SquareKilometer]",4.2415,346.02,292.04,"n",6.56,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.21904635446754), (-121.44561789291927, 38.14273448666555), (-121.44561789291927, 38.06633970127007), (-121.53700031324804, 38.039168618933935), (-121.62830983522124, 38.01192835722662), (-121.62830983522124, 38.08828737798534), (-121.53700031324804, 38.11554557922101), (-121.53700031324804, 38.1918398342251), (-121.44561789291927, 38.21904635446754)),)}" -"fireEvent/2023-03-27_0x809b490000000000","FireEvent","FireEvent at L10 S2 Cell 0x809b490000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.97972 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809b483400000000,dcid:s2CellId/0x809b484c00000000,dcid:s2CellId/0x809b490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.0695 SquareKilometer]",2.0695,335.65,293.44,"n",1.83,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 39.02554770418372), (-121.53700031324804, 38.950179329514846), (-121.44561789291927, 38.977550401022924), (-121.44561789291927, 39.05293408349499), (-121.53700031324804, 39.02554770418372)),)}" -"fireEvent/2023-03-26_0x8084450000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.53222 -122.61079]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084441400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844e8400000000,dcid:s2CellId/0x80844e9c00000000,dcid:s2CellId/0x80844f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[3.09657 SquareKilometer]",3.09657,338.76,292.62,"n",6.06,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.49387172650253), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204)),)}" -"fireEvent/2023-01-19_0x80dd350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b50000000000 on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b52400000000,dcid:s2CellId/0x80c2b53400000000,dcid:s2CellId/0x80dd345c00000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.69779 SquareKilometer]",3.69779,296.75,282.83,"n",1.59,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),), (((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),)]}" -"fireEvent/2023-01-02_0x80d7af0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7af0000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.44097 -115.00508]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7ae0400000000,dcid:s2CellId/0x80d7ae1c00000000,dcid:s2CellId/0x80d7af0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62574 SquareKilometer]",2.62574,345.79,300.55,"n",33.0,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224), (-114.99914638140322, 32.43691481682768), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783)),)}" -"fireEvent/2023-01-06_0x80d7630000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7630000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 32.68546 -115.61547]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7630000000000,dcid:s2CellId/0x80d763b400000000,dcid:s2CellId/0x80d763bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.5982 SquareKilometer]",2.5982,355.3,307.38,"n",20.06,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.63294346781638), (-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.66283001554785, 32.71729983340048)),)}" -"fireEvent/2023-01-27_0x80d5d10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d5d10000000000 on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.68570 -114.00123]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d5d10000000000,dcid:s2CellId/0x80d5d11c00000000,dcid:s2CellId/0x80d5d6ec00000000,dcid:s2CellId/0x80d5d70000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[2.63233 SquareKilometer]",2.63233,351.31,297.55,"n",9.3,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-113.95364658268294, 32.73786508789439), (-113.95364658268294, 32.652753258290254), (-114.0488007261198, 32.63350963491579), (-114.14393537153407, 32.61418990174488), (-114.14393537153407, 32.69924914124556), (-114.0488007261198, 32.71859524067644), (-113.95364658268294, 32.73786508789439)),)}" -"fireEvent/2023-02-13_0x54d2cf0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d2cf0000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 40.33882 -122.23019]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06103,dcid:northamerica,dcid:s2CellId/0x54d2cf0000000000,dcid:s2CellId/0x54d2cf4400000000,dcid:s2CellId/0x54d2cf5c00000000,dcid:s2CellId/0x54d2cf6400000000,dcid:s2CellId/0x54d2cf6c00000000,dcid:s2CellId/0x54d2d10000000000,dcid:s2CellId/0x54d2d18400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.96764 SquareKilometer]",2.96764,345.4,296.49,"n",8.2,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.21841379971892, 40.379400310140525), (-122.15098615943583, 40.326535161629536), (-122.24194930724602, 40.29828030933025), (-122.33283494131578, 40.26995470792364), (-122.40046668560171, 40.322591065014805), (-122.3094793837314, 40.35103111609896), (-122.21841379971892, 40.379400310140525)),)}" -"fireEvent/2023-01-17_0x54d2f30000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d2ed0000000000 on 2023-01-17","2023-01-17","2023-01-19","P3D",3,2,"[LatLong 40.57897 -122.41014]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54d2ed0000000000,dcid:s2CellId/0x54d2edcc00000000,dcid:s2CellId/0x54d2eefc00000000,dcid:s2CellId/0x54d2ef0000000000,dcid:s2CellId/0x54d2f20400000000,dcid:s2CellId/0x54d2f30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[2.99636 SquareKilometer]",2.99636,333.46,285.87,"n",4.0,"2023-01-17,2023-01-19","{'type': 'Polygon', 'coordinates': (((-122.46670276167934, 40.67294896838062), (-122.39843998380442, 40.61985308236519), (-122.33036585771102, 40.566779656552605), (-122.42181745860849, 40.53813661115969), (-122.51318898831984, 40.509422095374156), (-122.58146692701277, 40.56226388040892), (-122.4899938832872, 40.591094269775446), (-122.55835872296645, 40.64407400405238), (-122.46670276167934, 40.67294896838062)),)}" -"fireEvent/2023-02-12_0x8093650000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093650000000000 on 2023-02-12","2023-02-12","2023-02-13","P2D",2,2,"[LatLong 36.31641 -120.25704]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093640400000000,dcid:s2CellId/0x8093641c00000000,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x809366a400000000,dcid:s2CellId/0x8093670000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.39951 SquareKilometer]",3.39951,351.49,300.49,"n",27.39,"2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.25127284433846, 36.23418641187698), (-120.3435506342276, 36.208483658436926), (-120.3435506342276, 36.28736647095043), (-120.34355063422758, 36.36617166395524)),)}" -"fireEvent/2023-01-24_0x80c3170000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3170000000000 on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 34.36849 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c3170000000000,dcid:s2CellId/0x80c3173c00000000,dcid:s2CellId/0x80c3174400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.4519 SquareKilometer]",2.4519,330.06,281.99,"n",5.45,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-117.73733730424752, 34.39797441220154), (-117.73733730424752, 34.31601454830803), (-117.64348435403741, 34.33895221283812), (-117.64348435403741, 34.42093763167103), (-117.73733730424752, 34.39797441220154)),)}" -"fireEvent/2023-02-13_0x8090090000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090090000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 38.04167 -121.39990]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090090000000000,dcid:s2CellId/0x809009f400000000,dcid:s2CellId/0x809aa0e400000000,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa12400000000,dcid:s2CellId/0x809aa22c00000000,dcid:s2CellId/0x809aa30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.18813 SquareKilometer]",3.18813,332.26,295.34,"n",5.05,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.35416313685073, 38.016945946005436), (-121.44561789291927, 37.989862251655644), (-121.44561789291927, 38.06633970127007), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.016945946005436)),), (((-121.35416313685073, 38.24618318229601), (-121.26263661074441, 38.273250034494005), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.35416313685073, 38.24618318229601)),)]}" -"fireEvent/2023-01-23_0x80d7a30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a30000000000 on 2023-01-23","2023-01-23","2023-01-24","P2D",2,2,"[LatLong 32.42898 -115.23634]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a30000000000,dcid:s2CellId/0x80d7a32c00000000,dcid:s2CellId/0x80d7a61c00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.6215 SquareKilometer]",2.6215,325.92,278.0,"n",2.75,"2023-01-23,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.396697488156796), (-115.28375849518459, 32.376477697313184), (-115.28375849518459, 32.46120935428951), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.396697488156796)),), (((-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709)),)]}" -"fireEvent/2023-01-22_0x80d7730000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7730000000000 on 2023-01-22","2023-01-22","2023-01-24","P3D",3,2,"[LatLong 32.66256 -115.33117]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7730000000000,dcid:s2CellId/0x80d7734400000000,dcid:s2CellId/0x80d7770000000000,dcid:s2CellId/0x80d777e400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61009 SquareKilometer]",2.61009,332.31,298.7,"n",2.4,"2023-01-22,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.69460416981107), (-115.28375849518459, 32.71500954782312), (-115.28375849518459, 32.63047572713295), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.69460416981107)),), (((-115.3785719022423, 32.52552561351063), (-115.47335544292073, 32.505101778412154), (-115.47335544292073, 32.58964617062371), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.52552561351063)),)]}" -"fireEvent/2023-02-15_0x8084190000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084190000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 38.55466 -122.94377]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084190000000000,dcid:s2CellId/0x8084194c00000000,dcid:s2CellId/0x8084195c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",3,"[2.04397 SquareKilometer]",2.04397,353.88,288.49,"n",12.23,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.98883185517735, 38.57795549626145), (-122.98883185517735, 38.50284704939158), (-122.89868119049753, 38.531311728977435), (-122.89868119049753, 38.60643726233182), (-122.98883185517735, 38.57795549626145)),)}" -"fireEvent/2023-02-06_0x80915b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091430000000000 on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 37.30542 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091430000000000,dcid:s2CellId/0x8091434c00000000,dcid:s2CellId/0x80914f0000000000,dcid:s2CellId/0x80914f9400000000,dcid:s2CellId/0x80914fec00000000,dcid:s2CellId/0x8091501400000000,dcid:s2CellId/0x8091510000000000,dcid:s2CellId/0x80915acc00000000,dcid:s2CellId/0x80915b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.41107 SquareKilometer]",4.41107,356.61,284.68,"n",6.12,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-120.34355063422758, 37.305669184325005), (-120.3435506342276, 37.38343796695286), (-120.25127284433846, 37.4094525873983), (-120.25127284433846, 37.33166450998572), (-120.25127284433846, 37.25379475261621), (-120.3435506342276, 37.227818933892436), (-120.43576307692442, 37.20177205672942), (-120.43576307692442, 37.27960268252231), (-120.34355063422758, 37.305669184325005)),), (((-120.52790957361556, 37.3311951171772), (-120.43576307692442, 37.35735205316665), (-120.43576307692442, 37.27960268252231), (-120.52790957361556, 37.25346527602409), (-120.52790957361556, 37.3311951171772)),)]}" -"fireEvent/2023-02-17_0x80848f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80848f0000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.85551 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80848f9400000000,dcid:s2CellId/0x80848fc400000000,dcid:s2CellId/0x80848fcc00000000,dcid:s2CellId/0x80848fec00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[4.10527 SquareKilometer]",4.10527,342.34,291.77,"n",23.31,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.80393792806426), (-122.17460498684162, 38.83188135199408), (-122.17460498684162, 38.907055393086274), (-122.26538872869685, 38.87909599346539)),)}" -"fireEvent/2023-01-06_0x80dce70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dcc30000000000 on 2023-01-06","2023-01-06","2023-01-07","P2D",2,2,"[LatLong 33.71042 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06059,dcid:northamerica,dcid:s2CellId/0x80dcc30000000000,dcid:s2CellId/0x80dcc31c00000000,dcid:s2CellId/0x80dce70000000000,dcid:s2CellId/0x80dce73400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.49041 SquareKilometer]",2.49041,303.65,278.77,"n",0.6,"2023-01-06,2023-01-07","{'type': 'MultiPolygon', 'coordinates': [(((-117.73733730424752, 33.5751727543498), (-117.83114280240233, 33.55240330188513), (-117.83114280240233, 33.63497147549895), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.5751727543498)),), (((-117.73733730424752, 33.74029521156066), (-117.64348435403741, 33.7630480860941), (-117.64348435403741, 33.68049415262919), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.74029521156066)),)]}" -"fireEvent/2023-01-25_0x80ec050000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ec050000000000 on 2023-01-25","2023-01-25","2023-01-25","P1D",1,1,"[LatLong 34.74818 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80ec050000000000,dcid:s2CellId/0x80ec057c00000000,dcid:s2CellId/0x80ec0e8400000000,dcid:s2CellId/0x80ec0f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.34865 SquareKilometer]",2.34865,329.35,294.47,"n",2.69,"2023-01-25","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 34.72062891210619), (-120.3435506342276, 34.69539140251545), (-120.3435506342276, 34.7756870620793), (-120.3435506342276, 34.855911425114904), (-120.25127284433846, 34.881201654610386), (-120.25127284433846, 34.80095104252741), (-120.25127284433846, 34.72062891210619)),)}" -"fireEvent/2023-02-14_0x8094a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094a50000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.19279 -120.02608]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a45c00000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af3400000000,dcid:s2CellId/0x8094b27400000000,dcid:s2CellId/0x8094b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.42808 SquareKilometer]",3.42808,335.21,293.78,"n",5.68,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),), (((-119.881520291274, 36.0988488632732), (-119.881520291274, 36.01954412977965), (-119.97405342347365, 35.99421140364652), (-119.97405342347365, 36.07349347026282), (-119.881520291274, 36.0988488632732)),)]}" -"fireEvent/2023-01-31_0x8094290000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-01-31","2023-01-31","2023-02-04","P5D",5,4,"[LatLong 37.22554 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x809425b400000000,dcid:s2CellId/0x8094286400000000,dcid:s2CellId/0x8094287c00000000,dcid:s2CellId/0x8094289400000000,dcid:s2CellId/0x809428bc00000000,dcid:s2CellId/0x809428c400000000,dcid:s2CellId/0x8094290000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[3.34329 SquareKilometer]",3.34329,338.9,283.46,"n",5.43,"2023-01-31,2023-02-01,2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 37.35552745160059), (-119.51077084299, 37.380906429606696), (-119.51077084299, 37.302718937652955), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.35552745160059)),), (((-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932)),)]}" -"fireEvent/2023-03-03_0x80948f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094850000000000 on 2023-03-03","2023-03-03","2023-03-03","P1D",1,1,"[LatLong 36.49539 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094850000000000,dcid:s2CellId/0x8094859c00000000,dcid:s2CellId/0x80948e4400000000,dcid:s2CellId/0x80948f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26479 SquareKilometer]",2.26479,339.48,291.4,"n",5.26,"2023-03-03","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 36.57303994189822), (-119.881520291274, 36.49420457905506), (-119.97405342347365, 36.46873908649985), (-120.06652363285929, 36.44320277938829), (-120.06652363285929, 36.52199526983154), (-119.97405342347365, 36.54755307417071), (-119.881520291274, 36.57303994189822)),)}" -"fireEvent/2023-02-22_0x809ab50000000000","FireEvent","FireEvent at L10 S2 Cell 0x809ab50000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.28943 -121.57696]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809ab45400000000,dcid:s2CellId/0x809ab50000000000,dcid:s2CellId/0x809ac90000000000,dcid:s2CellId/0x809ac97c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.10594 SquareKilometer]",2.10594,332.24,288.45,"n",4.85,"2023-02-22","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.26805113233758), (-121.62830983522124, 38.24075768997389), (-121.62830983522124, 38.31686847929773), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.26805113233758)),), (((-121.53700031324804, 38.420223862477606), (-121.44561789291927, 38.44748195173517), (-121.44561789291927, 38.37142033485118), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.420223862477606)),)]}" -"fireEvent/2023-02-08_0x8094250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 37.23862 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094244c00000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x80942ea400000000,dcid:s2CellId/0x80942eac00000000,dcid:s2CellId/0x80942eb400000000,dcid:s2CellId/0x80942f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.34742 SquareKilometer]",3.34742,346.83,294.81,"n",10.98,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.22444893017269), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),)}" -"fireEvent/2023-01-31_0x809cc10000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cc10000000000 on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 39.64345 -121.33701]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cc0dc00000000,dcid:s2CellId/0x809cc10000000000,dcid:s2CellId/0x809cc12400000000,dcid:s2CellId/0x809cc12c00000000,dcid:s2CellId/0x809cc13400000000,dcid:s2CellId/0x809cc15400000000,dcid:s2CellId/0x809cc15c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.06547 SquareKilometer]",4.06547,367.0,291.92,"n",40.6,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.35416313685073, 39.680326313083874), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.26263661074441, 39.70768396595418), (-121.35416313685073, 39.680326313083874)),)}" -"fireEvent/2023-02-14_0x8094f70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094f70000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.67586 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094f70000000000,dcid:s2CellId/0x8094f77400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fb5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.269 SquareKilometer]",2.269,331.0,288.63,"n",2.34,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 36.6237998027113), (-119.69626771448172, 36.70259781153337), (-119.60354950502408, 36.727891074425536), (-119.60354950502408, 36.6490722675175), (-119.69626771448172, 36.6237998027113)),), (((-119.51077084299, 36.674272739182356), (-119.51077084299, 36.59535309054964), (-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356)),)]}" -"fireEvent/2023-01-16_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eaf90000000000 on 2023-01-16","2023-01-16","2023-01-18","P3D",3,2,"[LatLong 35.58413 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf95c00000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33749 SquareKilometer]",2.33749,332.85,278.88,"n",2.59,"2023-01-16,2023-01-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),)}" -"fireEvent/2023-02-16_0x80d7a90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a50000000000 on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 32.45876 -115.17113]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a46c00000000,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a90000000000,dcid:s2CellId/0x80d7a9f400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,352.44,299.39,"n",7.84,"2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.58635275421574)),), (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)]}" -"fireEvent/2023-02-08_0x8084fd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084fd0000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.50499 -122.18028]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8084fccc00000000,dcid:s2CellId/0x8084fd0000000000,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x808501cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.07628 SquareKilometer]",2.07628,326.07,293.6,"n",2.23,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.502468904624024), (-122.17460498684162, 38.53034631548853), (-122.17460498684162, 38.45475400902146), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.502468904624024)),), (((-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486)),)]}" -"fireEvent/2023-02-13_0x8090570000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090530000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.57910 -121.06217]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x809052bc00000000,dcid:s2CellId/0x809052c400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8090570000000000,dcid:s2CellId/0x8090578c00000000,dcid:s2CellId/0x8090579400000000,dcid:s2CellId/0x809057f400000000,dcid:s2CellId/0x8090582400000000,dcid:s2CellId/0x8090590000000000,dcid:s2CellId/0x8090597400000000,dcid:s2CellId/0x8090f65400000000,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f73400000000,dcid:s2CellId/0x8091b2b400000000,dcid:s2CellId/0x8091b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[8.65243 SquareKilometer]",8.65243,339.36,300.29,"n",42.79,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.74050506353507), (-120.98763211526173, 37.81748574806016), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.69006636052178), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.74050506353507)),), (((-121.07937052658627, 37.48241498151893), (-121.17103888337672, 37.45568932972217), (-121.1710388833767, 37.53287726197025), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.48241498151893)),), (((-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.636747995836885)),)]}" -"fireEvent/2023-01-22_0x80cf430000000000","FireEvent","FireEvent at L10 S2 Cell 0x80cf430000000000 on 2023-01-22","2023-01-22","2023-01-22","P1D",1,1,"[LatLong 35.53371 -115.45559]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf42c400000000,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf5cbc00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.44 SquareKilometer]",2.44,346.66,281.4,"n",5.03,"2023-01-22","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472)),)}" -"fireEvent/2023-02-03_0x809cff0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cfd0000000000 on 2023-02-03","2023-02-03","2023-02-04","P2D",2,2,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdf400000000,dcid:s2CellId/0x809cfe0400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0221 SquareKilometer]",2.0221,341.7,277.57,"n",5.82,"2023-02-03,2023-02-04","{'type': 'Polygon', 'coordinates': (((-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176)),)}" -"fireEvent/2023-01-19_0x80da5f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80da5f0000000000 on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.63016 -116.10640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da5e9c00000000,dcid:s2CellId/0x80da5f0000000000,dcid:s2CellId/0x80da670000000000,dcid:s2CellId/0x80da67e400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.53867 SquareKilometer]",2.53867,335.07,298.96,"n",3.35,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-116.13594306437999, 33.61826847586996), (-116.13594306437999, 33.70159871661542), (-116.04138886338704, 33.72297412899629), (-116.04138886338704, 33.63961794361283), (-116.13594306437999, 33.61826847586996)),), (((-115.94679974061097, 33.66089273880476), (-115.94679974061097, 33.577439763005614), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.63961794361283), (-115.94679974061097, 33.66089273880476)),)]}" -"fireEvent/2023-02-08_0x8084bd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.91874 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962c00000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084ba5c00000000,dcid:s2CellId/0x8084bb0000000000,dcid:s2CellId/0x8084bd0000000000,dcid:s2CellId/0x8084bd3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.08578 SquareKilometer]",3.08578,333.72,292.7,"n",6.89,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.99052003451348), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 38.942965923417724), (-121.90179543138471, 38.91529872827276), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-121.99280779590266, 38.96276770349571), (-121.90179543138471, 38.99052003451348)),)}" -"fireEvent/2023-01-21_0x8084450000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-01-21","2023-01-21","2023-01-31","P11D",11,8,"[LatLong 38.53926 -122.58817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084446400000000,dcid:s2CellId/0x8084448400000000,dcid:s2CellId/0x808444bc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844f0000000000,dcid:s2CellId/0x80844f5c00000000,dcid:s2CellId/0x8084506c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a3c00000000,dcid:s2CellId/0x80845a8400000000,dcid:s2CellId/0x80845ab400000000,dcid:s2CellId/0x80845abc00000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845d0000000000,dcid:s2CellId/0x80845d7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",15,"[5.15431 SquareKilometer]",5.15431,346.56,295.09,"n",4.76,"2023-01-21,2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-28,2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.64450610716198), (-122.44672381753844, 38.67263711706448), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" -"fireEvent/2023-02-22_0x8083550000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083530000000000 on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 39.33908 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808352d400000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083541400000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083555c00000000,dcid:s2CellId/0x8084a84c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x809cab0000000000,dcid:s2CellId/0x809cab3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.11827 SquareKilometer]",5.11827,344.88,287.29,"n",5.74,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711), (-121.53700031324804, 39.32616316459139), (-121.53700031324804, 39.25113845152714), (-121.62830983522124, 39.22363643515711), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.71954589932093, 39.34596854075605)),), (((-121.71954589932093, 39.12098248645304), (-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.12098248645304)),)]}" -"fireEvent/2023-02-10_0x80ce210000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ce210000000000 on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.75337 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80ce210000000000,dcid:s2CellId/0x80ce21c400000000,dcid:s2CellId/0x80ce21dc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.50494 SquareKilometer]",2.50494,346.0,308.7,"n",10.48,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 34.78469582571491), (-114.61928990191176, 34.70164859500177), (-114.52426397902158, 34.72198748448121), (-114.52426397902158, 34.805056766588905), (-114.61928990191176, 34.78469582571491)),)}" -"fireEvent/2023-01-06_0x809cfd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cfd0000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdc400000000,dcid:s2CellId/0x809cfdec00000000,dcid:s2CellId/0x809cfe7400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.03453 SquareKilometer]",3.03453,328.71,275.78,"n",10.18,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674)),)}" -"fireEvent/2023-02-23_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eaf10000000000 on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.67612 -119.21464]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf08c00000000,dcid:s2CellId/0x80eaf10000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf9ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33702 SquareKilometer]",2.33702,337.32,284.91,"n",8.92,"2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114)),), (((-119.23207840138082, 35.716489517297106), (-119.13906420284766, 35.74111761532614), (-119.13906420284766, 35.66109096570328), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.716489517297106)),)]}" -"fireEvent/2023-02-17_0x8084c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c10000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.80086 -121.95300]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c05c00000000,dcid:s2CellId/0x8084c06400000000,dcid:s2CellId/0x8084c10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.06506 SquareKilometer]",2.06506,342.8,271.77,"n",6.09,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.83999267404077), (-121.99280779590266, 38.81227184229434)),)}" -"fireEvent/2023-02-06_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084430000000000 on 2023-02-06","2023-02-06","2023-02-08","P3D",3,2,"[LatLong 38.59279 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084430000000000,dcid:s2CellId/0x8084432400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084453400000000,dcid:s2CellId/0x8084453c00000000,dcid:s2CellId/0x808445ac00000000,dcid:s2CellId/0x808445bc00000000,dcid:s2CellId/0x8084507c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a9c00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",11,"[7.21649 SquareKilometer]",7.21649,335.28,292.94,"n",5.78,"2023-02-06,2023-02-08","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.62774550019422, 38.61630776476597), (-122.5372740990185, 38.64450610716198), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092)),)}" -"fireEvent/2023-01-09_0x80d6350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6350000000000 on 2023-01-09","2023-01-09","2023-01-09","P1D",1,1,"[LatLong 32.23974 -114.85081]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6345c00000000,dcid:s2CellId/0x80d6349c00000000,dcid:s2CellId/0x80d634f400000000,dcid:s2CellId/0x80d6350000000000",4,"[3.96009 SquareKilometer]",3.96009,339.27,313.93,"n",73.15,"2023-01-09","{'type': 'Polygon', 'coordinates': (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.306895593204814), (-114.90422082333554, 32.287028613932726)),)}" -"fireEvent/2023-03-26_0x8091010000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091010000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 37.58756 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x8091018400000000,dcid:s2CellId/0x8091022c00000000,dcid:s2CellId/0x8091024c00000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.26345 SquareKilometer]",3.26345,341.18,293.6,"n",4.45,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.89582422732902, 37.612902773234545)),), (((-120.61998952842978, 37.61499433591427), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.588619247244885), (-120.61998952842978, 37.61499433591427)),)]}" -"fireEvent/2023-01-23_0x809cd50000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cd50000000000 on 2023-01-23","2023-01-23","2023-01-25","P3D",3,2,"[LatLong 39.79791 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cd50000000000,dcid:s2CellId/0x809cd53c00000000,dcid:s2CellId/0x809cd70000000000,dcid:s2CellId/0x809cd71400000000,dcid:s2CellId/0x809cd71c00000000,dcid:s2CellId/0x809cd73c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.03683 SquareKilometer]",4.03683,355.66,288.44,"n",16.93,"2023-01-23,2023-01-25","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.74688824941822), (-121.62830983522124, 39.82129004760166), (-121.53700031324804, 39.84890307417943), (-121.44561789291927, 39.87644431059195), (-121.44561789291927, 39.802016284462454), (-121.53700031324804, 39.774488110500045), (-121.62830983522124, 39.74688824941822)),)}" -"fireEvent/2023-01-31_0x80d13f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d13d0000000000 on 2023-01-31","2023-01-31","2023-02-02","P3D",3,2,"[LatLong 33.64814 -114.63710]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d13c3400000000,dcid:s2CellId/0x80d13d0000000000,dcid:s2CellId/0x80d13e5400000000,dcid:s2CellId/0x80d13f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.56762 SquareKilometer]",2.56762,342.18,295.34,"n",6.63,"2023-01-31,2023-02-02","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.71922177939378), (-114.52426397902158, 33.635175624754545), (-114.61928990191176, 33.615140915382845), (-114.71429184441094, 33.59502928061842), (-114.71429184441097, 33.67902618540428), (-114.61928990191176, 33.69916251294337), (-114.52426397902158, 33.71922177939378)),)}" -"fireEvent/2023-03-11_0x80938d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80938d0000000000 on 2023-03-11","2023-03-11","2023-03-13","P3D",3,2,"[LatLong 36.78493 -120.26858]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x80938c1c00000000,dcid:s2CellId/0x80938c2400000000,dcid:s2CellId/0x80938c3c00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x80938ea400000000,dcid:s2CellId/0x80938f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.35804 SquareKilometer]",3.35804,339.25,291.16,"n",7.09,"2023-03-11,2023-03-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.25127284433846, 36.706443376822236), (-120.34355063422758, 36.680610078824635), (-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489)),)}" -"fireEvent/2023-02-13_0x8095170000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095170000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 36.56427 -119.18558]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095170000000000,dcid:s2CellId/0x809517b400000000,dcid:s2CellId/0x809517bc00000000,dcid:s2CellId/0x80953d0000000000,dcid:s2CellId/0x80953d0c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.28707 SquareKilometer]",2.28707,328.26,287.55,"n",4.19,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 36.59139591977724), (-119.13906420284766, 36.616264807982425), (-119.13906420284766, 36.53710170085306), (-119.13906420284766, 36.45785850302791), (-119.23207840138082, 36.433031486044094), (-119.23207840138082, 36.512253642746515), (-119.23207840138082, 36.59139591977724)),)}" -"fireEvent/2023-02-17_0x8085210000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085210000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.49527 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085204400000000,dcid:s2CellId/0x8085205400000000,dcid:s2CellId/0x8085205c00000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[3.12515 SquareKilometer]",3.12515,342.58,289.41,"n",8.54,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.43456088254056), (-121.90179543138471, 38.462199289647856), (-121.90179543138471, 38.537925598738894), (-121.99280779590266, 38.510270284625605)),)}" -"fireEvent/2023-02-02_0x809db10000000000","FireEvent","FireEvent at L10 S2 Cell 0x809db10000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.23486 -120.66025]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809db0f400000000,dcid:s2CellId/0x809db0fc00000000,dcid:s2CellId/0x809db10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.018 SquareKilometer]",2.018,305.3,262.39,"n",1.05,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 40.24294521918271), (-120.7120023484522, 40.168596011082016), (-120.61998952842978, 40.19549082752908), (-120.61998952842978, 40.26985179667404), (-120.7120023484522, 40.24294521918271)),)}" -"fireEvent/2023-01-17_0x80d9310000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9310000000000 on 2023-01-17","2023-01-17","2023-01-17","P1D",1,1,"[LatLong 32.36765 -117.03233]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9310000000000,dcid:s2CellId/0x80d9316400000000,dcid:s2CellId/0x80d9316c00000000,dcid:wikidataId/Q2088119,dcid:wikidataId/Q58731",3,"[2.5781 SquareKilometer]",2.5781,304.21,280.73,"n",1.05,"2023-01-17","{'type': 'Polygon', 'coordinates': (((-117.07940822560565, 32.39872950090179), (-117.07940822560565, 32.31480850427524), (-116.98524219342079, 32.33651897516448), (-116.98524219342079, 32.42047001297981), (-117.07940822560565, 32.39872950090179)),)}" -"fireEvent/2023-02-20_0x54d10d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d10d0000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 41.22318 -123.91735]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d10d0000000000,dcid:s2CellId/0x54d10ddc00000000,dcid:s2CellId/0x54d10e5c00000000,dcid:s2CellId/0x54d10e6400000000,dcid:s2CellId/0x54d10e6c00000000,dcid:s2CellId/0x54d10e7400000000,dcid:s2CellId/0x54d10f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[5.15135 SquareKilometer]",5.15135,354.76,291.81,"n",27.17,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-123.83537783956557, 41.21221558284898), (-123.92787048065873, 41.18143411603011), (-123.99940295441057, 41.234067876044605), (-124.07112954251315, 41.28671512267137), (-123.97844908119757, 41.3177409275206), (-123.90681624160965, 41.26497132163325), (-123.83537783956557, 41.21221558284898)),)}" -"fireEvent/2023-01-23_0x80e97f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e97f0000000000 on 2023-01-23","2023-01-23","2023-01-27","P5D",5,5,"[LatLong 34.84521 -119.47016]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80e97e2c00000000,dcid:s2CellId/0x80e97e3400000000,dcid:s2CellId/0x80e97e4c00000000,dcid:s2CellId/0x80e97f0000000000,dcid:s2CellId/0x80e97fa400000000,dcid:s2CellId/0x80e97fac00000000,dcid:s2CellId/0x80e97fb400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.37517 SquareKilometer]",2.37517,350.81,295.74,"n",9.94,"2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'Polygon', 'coordinates': (((-119.51077084299, 34.83948061816375), (-119.51077084299, 34.758805996121794), (-119.41793235298398, 34.783376641123795), (-119.41793235298398, 34.86407698186899), (-119.51077084299, 34.83948061816375)),)}" -"fireEvent/2023-03-08_0x8094c90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094c90000000000 on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 36.17639 -119.74260]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094c90000000000,dcid:s2CellId/0x8094c97400000000,dcid:s2CellId/0x8094c99c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.29198 SquareKilometer]",2.29198,337.34,278.61,"n",3.48,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-119.78892484955995, 36.20338340883046), (-119.78892484955995, 36.12413379123651), (-119.69626771448172, 36.149347987538164), (-119.69626771448172, 36.228619807644506), (-119.78892484955995, 36.20338340883046)),)}" -"fireEvent/2023-02-13_0x80903f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80903d0000000000 on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 37.73247 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x80903c2400000000,dcid:s2CellId/0x80903d0000000000,dcid:s2CellId/0x80903eac00000000,dcid:s2CellId/0x80903f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.1488 SquareKilometer]",2.1488,340.66,294.6,"n",4.78,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 37.81392448887689), (-121.26263661074441, 37.73708152324151), (-121.35416313685073, 37.710140825873815), (-121.44561789291927, 37.68313095604201), (-121.44561789291927, 37.75993648447068), (-121.35416313685073, 37.78696513099894), (-121.26263661074441, 37.81392448887689)),)}" -"fireEvent/2023-01-23_0x8096d50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8096d50000000000 on 2023-01-23","2023-01-23","2023-01-26","P4D",4,3,"[LatLong 37.79749 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d50000000000,dcid:s2CellId/0x8096d57c00000000,dcid:s2CellId/0x8096d59c00000000,dcid:s2CellId/0x80972a9c00000000,dcid:s2CellId/0x80972b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.18166 SquareKilometer]",2.18166,340.54,287.01,"n",3.78,"2023-01-23,2023-01-25,2023-01-26","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 37.771745570591364), (-120.15893030899788, 37.74580020187008), (-120.15893030899788, 37.8231938580761), (-120.15893030899788, 37.90050398235046), (-120.06652363285929, 37.926485165746335), (-120.06652363285929, 37.84915723847933), (-120.06652363285929, 37.771745570591364)),)}" -"fireEvent/2023-02-06_0x80d16d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d16d0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 33.85517 -114.47674]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16d0000000000,dcid:s2CellId/0x80d16d1400000000,dcid:s2CellId/0x80d16d2400000000,dcid:s2CellId/0x80d16d3400000000,dcid:s2CellId/0x80d16d4400000000,dcid:s2CellId/0x80d16d6400000000,dcid:s2CellId/0x80d16d6c00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",7,"[7.67347 SquareKilometer]",7.67347,367.0,357.96,"n",331.14,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.88709555416414), (-114.52426397902158, 33.80319522777779), (-114.42921481897034, 33.82320149214735), (-114.42921481897034, 33.90712585436565), (-114.52426397902158, 33.88709555416414)),)}" -"fireEvent/2023-02-06_0x8090530000000000","FireEvent","FireEvent at L10 S2 Cell 0x80904d0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 37.58483 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80904d0000000000,dcid:s2CellId/0x80904d7c00000000,dcid:s2CellId/0x80904f0000000000,dcid:s2CellId/0x80904f9400000000,dcid:s2CellId/0x8090522400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8091b4dc00000000,dcid:s2CellId/0x8091b50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.32708 SquareKilometer]",4.32708,338.03,287.68,"n",2.83,"2023-02-06","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.1710388833767, 37.53287726197025), (-121.1710388833767, 37.60998399136611), (-121.1710388833767, 37.68700924798782), (-121.07937052658627, 37.713792107889624), (-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499)),), (((-121.17103888337672, 37.45568932972217), (-121.26263661074441, 37.4288944060384), (-121.26263661074441, 37.50606293735081), (-121.1710388833767, 37.53287726197025), (-121.17103888337672, 37.45568932972217)),)]}" -"fireEvent/2023-02-12_0x8094290000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094290000000000 on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 37.32915 -119.55717]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094290000000000,dcid:s2CellId/0x8094293c00000000,dcid:s2CellId/0x8094294c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23055 SquareKilometer]",2.23055,299.47,274.3,"n",1.16,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 37.35552745160059), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.380906429606696), (-119.60354950502408, 37.35552745160059)),)}" -"fireEvent/2023-02-20_0x54d3e30000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d15f0000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 40.93394 -123.88475]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d15e3400000000,dcid:s2CellId/0x54d15e4c00000000,dcid:s2CellId/0x54d15f0000000000,dcid:s2CellId/0x54d15fb400000000,dcid:s2CellId/0x54d3e10000000000,dcid:s2CellId/0x54d3e1f400000000,dcid:s2CellId/0x54d3e1fc00000000,dcid:s2CellId/0x54d3e21c00000000,dcid:s2CellId/0x54d3e30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[6.10311 SquareKilometer]",6.10311,343.04,294.93,"n",46.97,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-124.01120455766761, 40.849147421528926), (-123.91946070957886, 40.87972665089066), (-123.99050231911558, 40.93193999734144), (-123.8985725188299, 40.962569950683395), (-123.8276237504466, 40.91023590743991), (-123.7568661838358, 40.85791688622407), (-123.84860998990712, 40.827527949546344), (-123.94026150527637, 40.79706911642794), (-124.01120455766761, 40.849147421528926)),)}" -"fireEvent/2023-03-25_0x8084c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c10000000000 on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 38.80681 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c06c00000000,dcid:s2CellId/0x8084c10000000000,dcid:s2CellId/0x8084c25400000000,dcid:s2CellId/0x8084c30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.06751 SquareKilometer]",2.06751,326.05,293.34,"n",5.44,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.90179543138471, 38.83999267404077), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.81227184229434)),)}" -"fireEvent/2023-02-17_0x8090990000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090990000000000 on 2023-02-17","2023-02-17","2023-02-19","P3D",3,2,"[LatLong 38.21902 -120.54518]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090988c00000000,dcid:s2CellId/0x8090989400000000,dcid:s2CellId/0x809098bc00000000,dcid:s2CellId/0x8090990000000000,dcid:s2CellId/0x8090997c00000000,dcid:s2CellId/0x80909b0000000000,dcid:s2CellId/0x80909bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.21676 SquareKilometer]",3.21676,339.62,288.39,"n",2.84,"2023-02-17,2023-02-19","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.257532040519735), (-120.52790957361556, 38.18079594647173), (-120.61998952842978, 38.154366127206046), (-120.7120023484522, 38.12786456645258), (-120.7120023484522, 38.2045663181075), (-120.61998952842978, 38.23108510610075), (-120.52790957361556, 38.257532040519735)),)}" -"fireEvent/2023-02-21_0x80d7950000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7950000000000 on 2023-02-21","2023-02-21","2023-02-21","P1D",1,1,"[LatLong 32.22197 -115.33709]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d794e400000000,dcid:s2CellId/0x80d7950000000000,dcid:s2CellId/0x80d7951c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62994 SquareKilometer]",2.62994,341.66,312.54,"n",35.63,"2023-02-21","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.27141580503958), (-115.3785719022423, 32.1865831450277), (-115.28375849518459, 32.20681969840767), (-115.28375849518459, 32.291680994135106), (-115.3785719022423, 32.27141580503958)),)}" -"fireEvent/2023-02-22_0x809aa70000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aa10000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.14519 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa14c00000000,dcid:s2CellId/0x809aa6c400000000,dcid:s2CellId/0x809aa70000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12355 SquareKilometer]",2.12355,328.55,287.85,"n",2.58,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.06633970127007), (-121.44561789291927, 38.14273448666555), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.44561789291927, 38.06633970127007)),)}" -"fireEvent/2023-02-08_0x80848f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084850000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.93064 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084850000000000,dcid:s2CellId/0x8084858400000000,dcid:s2CellId/0x80848e4c00000000,dcid:s2CellId/0x80848f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0522 SquareKilometer]",2.0522,334.11,295.76,"n",13.85,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.95416992095992), (-122.17460498684162, 38.9821450862104), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)}" -"fireEvent/2023-01-31_0x8084990000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 38.90934 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962400000000,dcid:s2CellId/0x8084963400000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084990000000000,dcid:s2CellId/0x8084997400000000,dcid:s2CellId/0x80849a3c00000000,dcid:s2CellId/0x80849b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.10807 SquareKilometer]",4.10807,354.76,288.07,"n",7.09,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975)),)}" -"fireEvent/2023-02-08_0x54d4990000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d4990000000000 on 2023-02-08","2023-02-08","2023-02-11","P4D",4,3,"[LatLong 40.14521 -123.46228]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06105,dcid:northamerica,dcid:s2CellId/0x54d498b400000000,dcid:s2CellId/0x54d498bc00000000,dcid:s2CellId/0x54d4990000000000,dcid:s2CellId/0x54d4a26400000000,dcid:s2CellId/0x54d4a2e400000000,dcid:s2CellId/0x54d4a2ec00000000,dcid:s2CellId/0x54d4a2f400000000,dcid:s2CellId/0x54d4a30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.93369 SquareKilometer]",4.93369,344.72,294.21,"n",62.5,"2023-02-08,2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-123.60320855276242, 40.159382098605334), (-123.51283904569657, 40.188930829812435), (-123.44368098277349, 40.13738797622512), (-123.37470731145442, 40.0858635123691), (-123.4648917259653, 40.056547606398325), (-123.53395808290452, 40.107955842950716), (-123.60320855276242, 40.159382098605334)),)}" -"fireEvent/2023-02-08_0x8083730000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083130000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 39.41636 -122.14622]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083124400000000,dcid:s2CellId/0x8083130000000000,dcid:s2CellId/0x8083730000000000,dcid:s2CellId/0x8083737400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0239 SquareKilometer]",2.0239,340.79,292.33,"n",12.31,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 39.28165587862677), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.328269615478135), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.28165587862677)),), (((-122.17460498684162, 39.430899396295715), (-122.08374449567626, 39.45889527860518), (-122.08374449567626, 39.38430194908448), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.430899396295715)),)]}" -"fireEvent/2023-01-27_0x80d65f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65f0000000000 on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.62272 -114.54208]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65e0c00000000,dcid:s2CellId/0x80d65e3400000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.6251 SquareKilometer]",2.6251,367.0,298.2,"n",4.84,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" -"fireEvent/2023-03-07_0x80a27b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80a27b0000000000 on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 39.61225 -118.55062]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32001,dcid:northamerica,dcid:s2CellId/0x80a27a4c00000000,dcid:s2CellId/0x80a27a5400000000,dcid:s2CellId/0x80a27abc00000000,dcid:s2CellId/0x80a27aec00000000,dcid:s2CellId/0x80a27af400000000,dcid:s2CellId/0x80a27afc00000000,dcid:s2CellId/0x80a27b0000000000,dcid:s2CellId/0x80a27b2400000000,dcid:s2CellId/0x80a27b3400000000,dcid:s2CellId/0x80a27b3c00000000,dcid:s2CellId/0x80a27bac00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",11,"[7.40379 SquareKilometer]",7.40379,352.23,283.64,"n",17.63,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-118.57979810860881, 39.63771777073999), (-118.57979810860881, 39.56163680447531), (-118.4863962961138, 39.5865742114197), (-118.4863962961138, 39.66266778628226), (-118.57979810860881, 39.63771777073999)),)}" -"fireEvent/2023-01-06_0x80cf5d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80cf430000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 35.55573 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf432c00000000,dcid:s2CellId/0x80cf5cac00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.43909 SquareKilometer]",2.43909,343.4,283.86,"n",3.87,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345)),)}" -"fireEvent/2023-03-26_0x8094790000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094770000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 36.78430 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809477cc00000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x809479c400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.24538 SquareKilometer]",2.24538,336.19,293.13,"n",2.34,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.15893030899788, 36.810660560355714), (-120.06652363285929, 36.83637336328723), (-120.06652363285929, 36.75789822396875), (-120.06652363285929, 36.679343295179756)),)}" -"fireEvent/2023-02-14_0x8083250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083250000000000 on 2023-02-14","2023-02-14","2023-02-17","P4D",4,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083257c00000000,dcid:s2CellId/0x8083258400000000,dcid:s2CellId/0x8083259c00000000,dcid:s2CellId/0x808325bc00000000,dcid:s2CellId/0x80832f0000000000,dcid:s2CellId/0x80832fbc00000000,dcid:s2CellId/0x80833ac400000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.03851 SquareKilometer]",4.03851,345.96,293.21,"n",15.18,"2023-02-14,2023-02-15,2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.71954589932093, 39.71921697980668), (-121.71954589932093, 39.64474111961013), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624)),)}" -"fireEvent/2023-02-13_0x80d13b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d1390000000000 on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 33.58312 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d1390000000000,dcid:s2CellId/0x80d1397c00000000,dcid:s2CellId/0x80d1398400000000,dcid:s2CellId/0x80d13a2c00000000,dcid:s2CellId/0x80d13b0000000000,dcid:s2CellId/0x80d13bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[5.14447 SquareKilometer]",5.14447,355.7,289.95,"n",15.57,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-114.71429184441094, 33.51096047591866), (-114.71429184441094, 33.59502928061842), (-114.61928990191176, 33.615140915382845), (-114.52426397902158, 33.635175624754545), (-114.52426397902158, 33.55105718216274), (-114.61928990191176, 33.53104722357586), (-114.71429184441094, 33.51096047591866)),)}" -"fireEvent/2023-03-07_0x8094a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094a50000000000 on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 36.20234 -119.99140]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a4c400000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094ae5c00000000,dcid:s2CellId/0x8094af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.28421 SquareKilometer]",2.28421,332.69,294.9,"n",2.39,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),)}" -"fireEvent/2023-02-20_0x80c3690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3690000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 34.42872 -117.37927]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3686c00000000,dcid:s2CellId/0x80c3690000000000,dcid:s2CellId/0x80c36f0000000000,dcid:s2CellId/0x80c36f1400000000,dcid:s2CellId/0x80c36f6c00000000,dcid:s2CellId/0x80c3720400000000,dcid:s2CellId/0x80c3730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.90832 SquareKilometer]",4.90832,355.21,304.63,"n",9.43,"2023-02-20","{'type': 'MultiPolygon', 'coordinates': [(((-117.4556388069492, 34.38460909769327), (-117.4556388069492, 34.46664522632916), (-117.4556388069492, 34.54860813299157), (-117.36164757079143, 34.57137699422246), (-117.36164757079143, 34.489389141032945), (-117.36164757079143, 34.40732785707689), (-117.4556388069492, 34.38460909769327)),), (((-117.54958462854715, 34.525765807815226), (-117.54958462854715, 34.607630244794315), (-117.4556388069492, 34.630497439767254), (-117.4556388069492, 34.54860813299157), (-117.54958462854715, 34.525765807815226)),)]}" -"fireEvent/2023-03-20_0x80d6f50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6f50000000000 on 2023-03-20","2023-03-20","2023-03-20","P1D",1,1,"[LatLong 32.77368 -114.53020]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d6f4b400000000,dcid:s2CellId/0x80d6f4cc00000000,dcid:s2CellId/0x80d6f4d400000000,dcid:s2CellId/0x80d6f50000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[3.92795 SquareKilometer]",3.92795,346.35,283.56,"n",5.98,"2023-03-20","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.771030052053916), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.790808521465856), (-114.61928990191176, 32.771030052053916)),)}" -"fireEvent/2023-01-04_0x80d65f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65f0000000000 on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.61039 -114.60147]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65ea400000000,dcid:s2CellId/0x80d65eac00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.62533 SquareKilometer]",2.62533,347.6,299.35,"n",28.6,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" -"fireEvent/2023-02-13_0x8090690000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090650000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.97433 -120.99337]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090640400000000,dcid:s2CellId/0x8090650000000000,dcid:s2CellId/0x8090662400000000,dcid:s2CellId/0x809066a400000000,dcid:s2CellId/0x809066ac00000000,dcid:s2CellId/0x8090670000000000,dcid:s2CellId/0x8090689c00000000,dcid:s2CellId/0x8090690000000000,dcid:s2CellId/0x8090703c00000000,dcid:s2CellId/0x8090705400000000,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x8090715c00000000,dcid:s2CellId/0x8090716400000000,dcid:s2CellId/0x8090724400000000,dcid:s2CellId/0x8090730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[10.70761 SquareKilometer]",10.70761,343.64,296.25,"n",5.98,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.07937052658627, 37.94443166315593), (-121.07937052658627, 38.021146378682644), (-120.98763211526173, 38.047932166418306), (-120.98763211526173, 37.97119956073253), (-120.98763211526173, 37.89438400124386), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.917593515599634), (-121.07937052658627, 37.94443166315593)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.26263661074441, 37.967363990551995), (-121.26263661074441, 38.043960006034105), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" -"fireEvent/2023-03-06_0x80d70b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d70b0000000000 on 2023-03-06","2023-03-06","2023-03-08","P3D",3,2,"[LatLong 32.57063 -115.24227]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d70a8c00000000,dcid:s2CellId/0x80d70b0000000000,dcid:s2CellId/0x80d7a70000000000,dcid:s2CellId/0x80d7a7c400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61547 SquareKilometer]",2.61547,333.7,297.21,"n",4.05,"2023-03-06,2023-03-08","{'type': 'MultiPolygon', 'coordinates': [(((-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.63047572713295), (-115.18891595142229, 32.65077919770483), (-115.18891595142229, 32.5661512898709), (-115.28375849518459, 32.54587551383132)),), (((-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574)),)]}" -"fireEvent/2023-03-26_0x809aad0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aad0000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.14008 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809aad0000000000,dcid:s2CellId/0x809aad9c00000000,dcid:s2CellId/0x809ab10000000000,dcid:s2CellId/0x809ab16400000000,dcid:s2CellId/0x809ab17c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.17023 SquareKilometer]",3.17023,339.33,296.01,"n",4.24,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.11554557922101), (-121.62830983522124, 38.08828737798534), (-121.62830983522124, 38.164563906252226), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.11554557922101)),), (((-121.53700031324804, 38.26805113233758), (-121.44561789291927, 38.295275053513606), (-121.44561789291927, 38.21904635446754), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.26805113233758)),)]}" -"fireEvent/2023-01-24_0x80849d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083630000000000 on 2023-01-24","2023-01-24","2023-01-28","P5D",5,4,"[LatLong 39.09280 -122.13486]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x808362f400000000,dcid:s2CellId/0x808362fc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x8083769c00000000,dcid:s2CellId/0x8083770000000000,dcid:s2CellId/0x8083790000000000,dcid:s2CellId/0x8083790c00000000,dcid:s2CellId/0x80837d0000000000,dcid:s2CellId/0x80837d2c00000000,dcid:s2CellId/0x808482ac00000000,dcid:s2CellId/0x8084830000000000,dcid:s2CellId/0x80848e4400000000,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80849b0000000000,dcid:s2CellId/0x80849b8c00000000,dcid:s2CellId/0x80849c6c00000000,dcid:s2CellId/0x80849c7400000000,dcid:s2CellId/0x80849d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",18,"[10.21353 SquareKilometer]",10.21353,342.89,292.21,"n",8.6,"2023-01-24,2023-01-26,2023-01-27,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.08374449567627, 39.01005140863375), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.26538872869685, 38.95416992095992), (-122.26538872869685, 39.029159483432394), (-122.26538872869685, 39.104064455903135), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),), (((-122.35609518371197, 39.07598961696731), (-122.35609518371197, 39.15079452917801), (-122.35609518371197, 39.22551461637051), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.17888461552509), (-122.26538872869685, 39.104064455903135), (-122.35609518371197, 39.07598961696731)),), (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)]}" -"fireEvent/2023-02-02_0x54cb8f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54cb8f0000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 41.47058 -120.70951]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06049,dcid:northamerica,dcid:s2CellId/0x54cb8f0000000000,dcid:s2CellId/0x54cb8f4400000000,dcid:s2CellId/0x54cb8f5400000000,dcid:s2CellId/0x54cb8f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06277 SquareKilometer]",3.06277,327.62,272.03,"n",5.28,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.69596078270568, 41.51225665619832), (-120.78974579669705, 41.48457453497503), (-120.72303221281992, 41.42894920721651), (-120.62936599977766, 41.45651647172395), (-120.69596078270568, 41.51225665619832)),)}" -"fireEvent/2023-03-08_0x8084c50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c30000000000 on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 38.71304 -121.94731]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c30000000000,dcid:s2CellId/0x8084c37c00000000,dcid:s2CellId/0x8084c48400000000,dcid:s2CellId/0x8084c50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07172 SquareKilometer]",2.07172,327.93,290.03,"n",5.75,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 38.792237598880945), (-121.81070794913828, 38.71674657625675), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.81070794913828, 38.792237598880945)),)}" -"fireEvent/2023-02-22_0x8083690000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083690000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 39.28620 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083690000000000,dcid:s2CellId/0x8083696400000000,dcid:s2CellId/0x8083696c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.03153 SquareKilometer]",2.03153,346.39,290.44,"n",6.02,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-122.08374449567626, 39.30962273731574), (-122.08374449567627, 39.23485785874378), (-121.99280779590266, 39.26274043589892), (-121.99280779590266, 39.337520028847024), (-122.08374449567626, 39.30962273731574)),)}" -"fireEvent/2023-02-15_0x8085050000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085010000000000 on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.37512 -122.31075]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x8085010c00000000,dcid:s2CellId/0x8085050000000000,dcid:s2CellId/0x8085053400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.0825 SquareKilometer]",2.0825,331.0,285.88,"n",3.64,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 38.379078759434165), (-122.17460498684162, 38.3033208084114), (-122.26538872869685, 38.27549513645561), (-122.26538872869685, 38.35123562794486), (-122.17460498684162, 38.379078759434165)),), (((-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081)),)]}" -"fireEvent/2023-03-18_0x8094c30000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094c30000000000 on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 36.35999 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094c3f400000000,dcid:s2CellId/0x8094c3fc00000000,dcid:s2CellId/0x8094e26c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.56314 SquareKilometer]",4.56314,352.28,289.38,"n",5.79,"2023-03-18","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124)),), (((-119.51077084299, 36.59535309054964), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.59535309054964)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),)]}" -"fireEvent/2023-01-01_0x80d7b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6330000000000 on 2023-01-01","2023-01-01","2023-01-05","P5D",5,4,"[LatLong 32.16937 -114.85675]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6330000000000,dcid:s2CellId/0x80d6337400000000,dcid:s2CellId/0x80d6337c00000000,dcid:s2CellId/0x80d6338c00000000,dcid:s2CellId/0x80d6339400000000,dcid:s2CellId/0x80d633ec00000000,dcid:s2CellId/0x80d633f400000000,dcid:s2CellId/0x80d6343c00000000,dcid:s2CellId/0x80d6344400000000,dcid:s2CellId/0x80d634e400000000,dcid:s2CellId/0x80d6350000000000,dcid:s2CellId/0x80d6351c00000000,dcid:s2CellId/0x80d7b4d400000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b6cc00000000,dcid:s2CellId/0x80d7b6d400000000,dcid:s2CellId/0x80d7b70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",17,"[11.87124 SquareKilometer]",11.87124,367.0,344.76,"n",83.76,"2023-01-01,2023-01-02,2023-01-03,2023-01-05","{'type': 'MultiPolygon', 'coordinates': [(((-114.99914638140322, 32.26708735189506), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.33199011749119), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726), (-114.99914638140322, 32.26708735189506)),), (((-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.13669611068431), (-114.90422082333554, 32.11688553304868), (-114.90422082333554, 32.20198930823536), (-114.90422082333554, 32.287028613932726), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.22182818489056)),)]}" -"fireEvent/2023-02-10_0x8096d90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8096d70000000000 on 2023-02-10","2023-02-10","2023-02-13","P4D",4,3,"[LatLong 37.82341 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d70000000000,dcid:s2CellId/0x8096d70c00000000,dcid:s2CellId/0x8096d71400000000,dcid:s2CellId/0x8096d76400000000,dcid:s2CellId/0x8096d76c00000000,dcid:s2CellId/0x8096d77400000000,dcid:s2CellId/0x8096d8e400000000,dcid:s2CellId/0x8096d8fc00000000,dcid:s2CellId/0x8096d90000000000,dcid:s2CellId/0x8096d90c00000000,dcid:s2CellId/0x8096d91400000000,dcid:s2CellId/0x8096d91c00000000,dcid:s2CellId/0x8096d9b400000000,dcid:s2CellId/0x8096d9bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[10.93174 SquareKilometer]",10.93174,352.33,295.8,"n",30.2,"2023-02-10,2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 37.90086572453295), (-119.881520291274, 37.823418373939894), (-119.97405342347365, 37.79761838238845), (-120.06652363285929, 37.771745570591364), (-120.06652363285929, 37.84915723847933), (-119.97405342347365, 37.87504794829335), (-119.881520291274, 37.90086572453295)),)}" -"fireEvent/2023-03-17_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 38.61503 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a155400000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12031 SquareKilometer]",2.12031,336.84,291.49,"n",3.88,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576)),)}" -"fireEvent/2023-01-02_0x80c2b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b50000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b53c00000000,dcid:s2CellId/0x80dd345400000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46579 SquareKilometer]",2.46579,301.96,283.36,"n",0.85,"2023-01-02","{'type': 'MultiPolygon', 'coordinates': [(((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),), (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)]}" -"fireEvent/2023-02-06_0x8091050000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091030000000000 on 2023-02-06","2023-02-06","2023-02-09","P4D",4,3,"[LatLong 37.61405 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x8091039c00000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x8091053400000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f4400000000,dcid:s2CellId/0x8091130000000000,dcid:s2CellId/0x8091131400000000,dcid:s2CellId/0x8091133c00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091179400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913fa400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",13,"[6.55418 SquareKilometer]",6.55418,351.31,291.56,"n",4.7,"2023-02-06,2023-02-07,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.38259651612187), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.43380716167879), (-120.61998952842978, 37.46014421227437)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.52790957361556, 37.563895592993696), (-120.52790957361556, 37.48641055294733), (-120.61998952842978, 37.46014421227437)),), (((-120.43576307692442, 37.43501988834095), (-120.52790957361556, 37.408843635627235), (-120.52790957361556, 37.48641055294733), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095)),)]}" -"fireEvent/2023-02-02_0x54cd7f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54cd7f0000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.81295 -122.12326]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54cd7e2c00000000,dcid:s2CellId/0x54cd7f0000000000,dcid:s2CellId/0x54d2802c00000000,dcid:s2CellId/0x54d2810000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0118 SquareKilometer]",2.0118,316.46,277.42,"n",1.97,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-122.07514833257954, 40.869937113625745), (-122.00721741257856, 40.81623815916073), (-122.09927338341384, 40.78772605476484), (-122.19125045849158, 40.75914079007819), (-122.25939215890025, 40.81260767001019), (-122.1673100903644, 40.84130903005775), (-122.07514833257954, 40.869937113625745)),)}" -"fireEvent/2023-02-08_0x8085210000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084df0000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.57692 -121.97575]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084de1400000000,dcid:s2CellId/0x8084df0000000000,dcid:s2CellId/0x8085202c00000000,dcid:s2CellId/0x8085203400000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[2.08071 SquareKilometer]",2.08071,343.77,295.21,"n",11.91,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.462199289647856), (-121.99280779590266, 38.43456088254056), (-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.585896319149406), (-121.90179543138471, 38.61356832875711), (-121.90179543138471, 38.537925598738894), (-121.90179543138471, 38.462199289647856)),)}" -"fireEvent/2023-03-01_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eae50000000000 on 2023-03-01","2023-03-01","2023-03-02","P2D",2,2,"[LatLong 35.73758 -119.28437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae4fc00000000,dcid:s2CellId/0x80eae50000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf96400000000,dcid:s2CellId/0x80eaf97400000000,dcid:s2CellId/0x80eafc9400000000,dcid:s2CellId/0x80eafd0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.49974 SquareKilometer]",3.49974,335.6,288.75,"n",5.3,"2023-03-01,2023-03-02","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),), (((-119.32503466239531, 35.77169372701799), (-119.23207840138082, 35.79641633090737), (-119.23207840138082, 35.716489517297106), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799)),), (((-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.61180980810941), (-119.41793235298398, 35.58706253975614)),)]}" -"fireEvent/2023-02-13_0x8090e10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090e10000000000 on 2023-02-13","2023-02-13","2023-02-18","P6D",6,5,"[LatLong 37.74409 -120.57396]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090e10000000000,dcid:s2CellId/0x8090e1a400000000,dcid:s2CellId/0x8090e30000000000,dcid:s2CellId/0x8090e38400000000,dcid:s2CellId/0x8090e47c00000000,dcid:s2CellId/0x8090e48400000000,dcid:s2CellId/0x8090e49400000000,dcid:s2CellId/0x8090e49c00000000,dcid:s2CellId/0x8090e4dc00000000,dcid:s2CellId/0x8090e50000000000,dcid:s2CellId/0x8090fcd400000000,dcid:s2CellId/0x8090fd0000000000,dcid:s2CellId/0x8090fd2c00000000,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x809101b400000000,dcid:s2CellId/0x809101dc00000000,dcid:s2CellId/0x809102cc00000000,dcid:s2CellId/0x809102f400000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x809103e400000000,dcid:s2CellId/0x8091042400000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f7c00000000,dcid:s2CellId/0x809114bc00000000,dcid:s2CellId/0x8091150000000000,dcid:s2CellId/0x809116bc00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091186400000000,dcid:s2CellId/0x8091188c00000000,dcid:s2CellId/0x8091190000000000,dcid:s2CellId/0x80911a6c00000000,dcid:s2CellId/0x80911abc00000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3400000000,dcid:s2CellId/0x80911ccc00000000,dcid:s2CellId/0x80911d0000000000,dcid:s2CellId/0x80911d5c00000000,dcid:s2CellId/0x80911eac00000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x8091226c00000000,dcid:s2CellId/0x8091228400000000,dcid:s2CellId/0x8091229400000000,dcid:s2CellId/0x809122b400000000,dcid:s2CellId/0x8091230000000000,dcid:s2CellId/0x80913d0000000000,dcid:s2CellId/0x80913d3400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913f8400000000,dcid:s2CellId/0x8091407400000000,dcid:s2CellId/0x8091410000000000,dcid:s2CellId/0x8091ab0000000000,dcid:s2CellId/0x8091ab9c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",53,"[33.7678 SquareKilometer]",33.7678,345.71,295.76,"n",12.64,"2023-02-13,2023-02-14,2023-02-15,2023-02-17,2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 37.71861894809693), (-120.52790957361556, 37.641298481904194), (-120.43576307692442, 37.66753141216106), (-120.43576307692442, 37.59010984243894), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095), (-120.43576307692442, 37.35735205316665), (-120.52790957361556, 37.3311951171772), (-120.52790957361556, 37.408843635627235), (-120.61998952842978, 37.38259651612187), (-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.98763211526173, 37.50907107917234), (-120.98763211526173, 37.58629746111499), (-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.80394744373855, 37.71662016196677), (-120.7120023484522, 37.74310333951075), (-120.7120023484522, 37.82022171425268), (-120.61998952842978, 37.84665226985095), (-120.61998952842978, 37.76951561760652), (-120.52790957361556, 37.79585672226859), (-120.52790957361556, 37.71861894809693)),)}" -"fireEvent/2023-02-24_0x8091550000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091550000000000 on 2023-02-24","2023-02-24","2023-02-24","P1D",1,1,"[LatLong 37.24081 -120.24550]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091541c00000000,dcid:s2CellId/0x8091543c00000000,dcid:s2CellId/0x8091550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21318 SquareKilometer]",2.21318,303.07,275.74,"n",1.03,"2023-02-24","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.279699242747455), (-120.25127284433846, 37.25379475261621)),)}" -"fireEvent/2023-01-12_0x80d64f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6490000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.39774 -114.75585]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d648d400000000,dcid:s2CellId/0x80d6490000000000,dcid:s2CellId/0x80d6492c00000000,dcid:s2CellId/0x80d64ed400000000,dcid:s2CellId/0x80d64f0000000000",5,"[3.94984 SquareKilometer]",3.94984,337.67,280.07,"n",11.91,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.80926906488743, 32.47683458066355), (-114.71429184441097, 32.496682423392954), (-114.71429184441097, 32.41171815478524), (-114.71429184441094, 32.326688109961154), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.39189787714385), (-114.80926906488743, 32.47683458066355)),)}" -"fireEvent/2023-02-08_0x80d7c50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7c50000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 32.08173 -115.14741]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7c4dc00000000,dcid:s2CellId/0x80d7c4e400000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7c52400000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c95c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.96094 SquareKilometer]",3.96094,342.0,304.14,"n",39.56,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.07704259018568), (-115.18891595142229, 32.057010591540205), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),), (((-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053)),)]}" -"fireEvent/2023-02-09_0x80d94b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9350000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 32.42976 -117.12648]","dcid:Earth,dcid:s2CellId/0x80d9350000000000,dcid:s2CellId/0x80d935fc00000000,dcid:s2CellId/0x80d94a0400000000,dcid:s2CellId/0x80d94b0000000000",4,"[2.57212 SquareKilometer]",2.57212,328.01,284.04,"n",1.7,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 32.544509987226014), (-117.07940822560565, 32.56638086365544), (-117.07940822560565, 32.482587100563286), (-117.07940822560565, 32.39872950090179), (-117.17353159273283, 32.3769183699734), (-117.17353159273283, 32.460745992059394), (-117.17353159273283, 32.544509987226014)),)}" -"fireEvent/2023-01-22_0x80833b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8082dd0000000000 on 2023-01-22","2023-01-22","2023-01-31","P10D",10,8,"[LatLong 39.82099 -121.91887]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06021,dcid:northamerica,dcid:s2CellId/0x8082dc1400000000,dcid:s2CellId/0x8082dc3c00000000,dcid:s2CellId/0x8082dd0000000000,dcid:s2CellId/0x8082df0000000000,dcid:s2CellId/0x8082dfe400000000,dcid:s2CellId/0x8082dffc00000000,dcid:s2CellId/0x8082e00400000000,dcid:s2CellId/0x8082e00c00000000,dcid:s2CellId/0x8082e10000000000,dcid:s2CellId/0x8082e2bc00000000,dcid:s2CellId/0x8082e30000000000,dcid:s2CellId/0x8082fc9400000000,dcid:s2CellId/0x8082fd0000000000,dcid:s2CellId/0x8083030000000000,dcid:s2CellId/0x8083036c00000000,dcid:s2CellId/0x8083181400000000,dcid:s2CellId/0x8083190000000000,dcid:s2CellId/0x80831f0000000000,dcid:s2CellId/0x80831fec00000000,dcid:s2CellId/0x8083208400000000,dcid:s2CellId/0x8083210000000000,dcid:s2CellId/0x8083222400000000,dcid:s2CellId/0x8083230000000000,dcid:s2CellId/0x80833acc00000000,dcid:s2CellId/0x80833ad400000000,dcid:s2CellId/0x80833b0000000000,dcid:s2CellId/0x80833f0000000000,dcid:s2CellId/0x80833f7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",28,"[12.07092 SquareKilometer]",12.07092,367.0,296.9,"n",37.16,"2023-01-22,2023-01-23,2023-01-24,2023-01-26,2023-01-27,2023-01-28,2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-121.90179543138471, 39.58921273290782), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782)),), (((-121.90179543138471, 39.440055586207386), (-121.99280779590266, 39.41221374839482), (-121.99280779590266, 39.48682137961132), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.440055586207386)),), (((-121.99280779590266, 39.56134270969617), (-122.08374449567626, 39.533402512559896), (-122.08374449567626, 39.60782343975379), (-122.08374449567626, 39.68215785111147), (-122.17460498684162, 39.654119977456524), (-122.17460498684162, 39.579799358030826), (-122.26538872869685, 39.5517055701261), (-122.26538872869685, 39.626012291876584), (-122.26538872869685, 39.70023270028032), (-122.17460498684162, 39.7283540785671), (-122.08374449567627, 39.7564055396731), (-121.99280779590266, 39.78438679703803), (-121.99280779590266, 39.858560837073455), (-121.90179543138471, 39.88648478068095), (-121.90179543138471, 39.81229756552468), (-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.58921273290782), (-121.99280779590266, 39.56134270969617)),)]}" -"fireEvent/2023-02-09_0x80ead70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ead70000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 36.03832 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x80ead70000000000,dcid:s2CellId/0x80ead73400000000,dcid:s2CellId/0x80eb2aa400000000,dcid:s2CellId/0x80eb2aec00000000,dcid:s2CellId/0x80eb2b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.4589 SquareKilometer]",3.4589,339.15,294.32,"n",2.37,"2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-119.32503466239531, 36.09053752380865), (-119.32503466239531, 36.01094289980543), (-119.41793235298398, 35.98608067023123), (-119.41793235298398, 36.065652945020474), (-119.32503466239531, 36.09053752380865)),), (((-119.51077084299, 36.040696832060384), (-119.51077084299, 36.12016897103913), (-119.41793235298398, 36.14514734350813), (-119.41793235298398, 36.065652945020474), (-119.51077084299, 36.040696832060384)),)]}" -"fireEvent/2023-02-22_0x80946f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80946f0000000000 on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 36.86831 -119.93358]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x80946e7c00000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b2400000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x80947d6c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.37541 SquareKilometer]",3.37541,345.34,287.31,"n",7.49,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.97405342347365, 36.86201501351553), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.86201501351553)),), (((-119.97405342347365, 36.62628796342359), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.06652363285929, 36.75789822396875), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.70494345038081), (-119.97405342347365, 36.62628796342359)),)]}" -"fireEvent/2023-02-13_0x8091570000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091570000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 37.17261 -120.28012]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091562400000000,dcid:s2CellId/0x8091570000000000,dcid:s2CellId/0x8091570c00000000,dcid:s2CellId/0x8091575c00000000,dcid:s2CellId/0x8093883c00000000,dcid:s2CellId/0x8093890000000000,dcid:s2CellId/0x8093899400000000,dcid:s2CellId/0x80938cdc00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x8093e30000000000,dcid:s2CellId/0x8093e3e400000000,dcid:s2CellId/0x8093e50000000000,dcid:s2CellId/0x8093e58400000000,dcid:s2CellId/0x8093e59400000000,dcid:s2CellId/0x8093f00c00000000,dcid:s2CellId/0x8093f10000000000,dcid:s2CellId/0x8093f50000000000,dcid:s2CellId/0x8093f53400000000,dcid:s2CellId/0x8093fa3400000000,dcid:s2CellId/0x8093faf400000000,dcid:s2CellId/0x8093fb0000000000,dcid:s2CellId/0x8093fb1400000000,dcid:s2CellId/0x8093fb7400000000,dcid:s2CellId/0x8093fb7c00000000,dcid:s2CellId/0x8093fc2c00000000,dcid:s2CellId/0x8093fc7400000000,dcid:s2CellId/0x8093fd0000000000,dcid:s2CellId/0x8093fdd400000000,dcid:s2CellId/0x8093ff0000000000,dcid:s2CellId/0x8093ffdc00000000,dcid:s2CellId/0x8093fffc00000000,dcid:s2CellId/0x809406ec00000000,dcid:s2CellId/0x8094070000000000,dcid:s2CellId/0x8094076400000000,dcid:s2CellId/0x809407ec00000000,dcid:s2CellId/0x8094090000000000,dcid:s2CellId/0x809409bc00000000,dcid:s2CellId/0x809409c400000000,dcid:s2CellId/0x80940a5400000000,dcid:s2CellId/0x80940b0000000000,dcid:s2CellId/0x80940d0000000000,dcid:s2CellId/0x80940da400000000,dcid:s2CellId/0x80940ea400000000,dcid:s2CellId/0x80940f0000000000,dcid:s2CellId/0x8094602c00000000,dcid:s2CellId/0x8094610000000000,dcid:s2CellId/0x809461fc00000000,dcid:s2CellId/0x8094628400000000,dcid:s2CellId/0x8094630000000000,dcid:s2CellId/0x809463c400000000,dcid:s2CellId/0x809464d400000000,dcid:s2CellId/0x8094650000000000,dcid:s2CellId/0x80946d0000000000,dcid:s2CellId/0x80946d0400000000,dcid:s2CellId/0x80946d4400000000,dcid:s2CellId/0x80946dfc00000000,dcid:s2CellId/0x80946e0400000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x809470fc00000000,dcid:s2CellId/0x8094710000000000,dcid:s2CellId/0x809471d400000000,dcid:s2CellId/0x809474a400000000,dcid:s2CellId/0x8094750000000000,dcid:s2CellId/0x8094757400000000,dcid:s2CellId/0x8094761c00000000,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809478b400000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b7c00000000,dcid:s2CellId/0x80947bac00000000,dcid:s2CellId/0x80947bb400000000,dcid:s2CellId/0x80947cb400000000,dcid:s2CellId/0x80947cbc00000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x809486b400000000,dcid:s2CellId/0x8094870000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",77,"[43.62675 SquareKilometer]",43.62675,341.96,294.37,"n",33.33,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.43576307692442, 37.04586817243793), (-120.43576307692442, 37.12386045840006), (-120.3435506342276, 37.14988749788112), (-120.3435506342276, 37.227818933892436), (-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.12367640222347), (-120.25127284433846, 37.09781132766205), (-120.25127284433846, 37.019698230660886), (-120.25127284433846, 36.94150459487179), (-120.34355063422758, 36.91560893309172), (-120.34355063422758, 36.9937822095109), (-120.43576307692442, 36.96779548603939), (-120.43576307692442, 37.04586817243793)),), (((-119.78892484955995, 36.75592995709716), (-119.78892484955995, 36.677232696444996), (-119.881520291274, 36.6517959921811), (-119.97405342347365, 36.62628796342359), (-119.97405342347365, 36.54755307417071), (-120.06652363285929, 36.52199526983154), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.25127284433846, 36.706443376822236), (-120.25127284433846, 36.784876873442236), (-120.15893030899788, 36.810660560355714), (-120.15893030899788, 36.889035065659726), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.94150459487179), (-120.15893030899788, 36.96732940268327), (-120.15893030899788, 37.04554327843229), (-120.15893030899788, 37.12367640222347), (-120.06652363285929, 37.149470115346524), (-120.06652363285929, 37.071317083373074), (-119.97405342347365, 37.09701937765089), (-119.97405342347365, 37.018765379021026), (-119.97405342347365, 36.94043049355481), (-119.881520291274, 36.96602103190846), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.881520291274, 36.730472426366894), (-119.78892484955995, 36.75592995709716)), ((-120.06652363285929, 36.91476841587199), (-120.06652363285929, 36.83637336328723), (-119.97405342347365, 36.86201501351553), (-119.97405342347365, 36.94043049355481), (-120.06652363285929, 36.91476841587199))), (((-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.3435506342276, 36.75902257287933)),)]}" -"fireEvent/2023-01-24_0x809ca30000000000","FireEvent","FireEvent at L10 S2 Cell 0x809ca30000000000 on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 39.43214 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809ca30000000000,dcid:s2CellId/0x809ca38400000000,dcid:s2CellId/0x809ca47c00000000,dcid:s2CellId/0x809ca48400000000,dcid:s2CellId/0x809ca50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.07105 SquareKilometer]",3.07105,320.08,276.81,"n",1.53,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 39.483266287272535), (-121.26263661074441, 39.40828552033575), (-121.35416313685073, 39.38098292464055), (-121.44561789291927, 39.35360871343016), (-121.44561789291927, 39.42856123811598), (-121.35416313685073, 39.45594962310902), (-121.26263661074441, 39.483266287272535)),)}" -"fireEvent/2023-02-01_0x809c930000000000","FireEvent","FireEvent at L10 S2 Cell 0x809c930000000000 on 2023-02-01","2023-02-01","2023-02-01","P1D",1,1,"[LatLong 39.63644 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809c930000000000,dcid:s2CellId/0x809c938400000000,dcid:s2CellId/0x809c939400000000,dcid:s2CellId/0x809c939c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06163 SquareKilometer]",3.06163,344.42,280.12,"n",6.24,"2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.07937052658627, 39.612604240032645), (-121.07937052658627, 39.68743721730411), (-121.1710388833767, 39.66023770903055)),)}" -"fireEvent/2023-01-29_0x54d4790000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d3890000000000 on 2023-01-29","2023-01-29","2023-01-31","P3D",3,2,"[LatLong 40.49879 -123.77534]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d3883c00000000,dcid:s2CellId/0x54d3890000000000,dcid:s2CellId/0x54d4790000000000,dcid:s2CellId/0x54d4799400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.00192 SquareKilometer]",2.00192,332.71,281.19,"n",4.41,"2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-123.70049822514551, 40.42522833582968), (-123.79132396242879, 40.39527764865095), (-123.86141054001804, 40.44690605911238), (-123.77049305755222, 40.47697512444182), (-123.70049822514551, 40.42522833582968)),), (((-123.84067520047952, 40.528738100451406), (-123.7495757059824, 40.558857301706794), (-123.67948580703302, 40.50697565055471), (-123.77049305755222, 40.47697512444182), (-123.84067520047952, 40.528738100451406)),)]}" -"fireEvent/2023-02-15_0x8092730000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092730000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 36.48535 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x809272e400000000,dcid:s2CellId/0x8092730000000000,dcid:s2CellId/0x8092731c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21573 SquareKilometer]",2.21573,349.71,293.5,"n",9.07,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 36.49466838986812), (-121.53700031324804, 36.41661666511552), (-121.44561789291927, 36.44336363689261), (-121.44561789291927, 36.52143773982046), (-121.53700031324804, 36.49466838986812)),)}" -"fireEvent/2023-02-08_0x80956d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095690000000000 on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 36.63852 -118.90628]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095690000000000,dcid:s2CellId/0x8095695400000000,dcid:s2CellId/0x8095695c00000000,dcid:s2CellId/0x80956c3400000000,dcid:s2CellId/0x80956c3c00000000,dcid:s2CellId/0x80956d0000000000,dcid:s2CellId/0x80956ea400000000,dcid:s2CellId/0x80956eac00000000,dcid:s2CellId/0x80956f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.71264 SquareKilometer]",5.71264,342.6,289.21,"n",5.79,"2023-02-08,2023-02-09,2023-02-10","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 36.72016386785025), (-118.95286453849957, 36.7449068112452), (-118.85968035209078, 36.76957609688757), (-118.8596803520908, 36.69043224866218), (-118.8596803520908, 36.61120737300191), (-118.95286453849957, 36.58657881730618), (-118.95286453849957, 36.66578322345074), (-119.04599270243568, 36.64106065984325), (-119.04599270243568, 36.72016386785025)),)}" -"fireEvent/2023-02-18_0x8092530000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092530000000000 on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 36.47183 -120.94174]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x8092530000000000,dcid:s2CellId/0x8092538400000000,dcid:s2CellId/0x8092538c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23677 SquareKilometer]",2.23677,336.3,295.41,"n",3.79,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.98763211526173, 36.49782625892822), (-120.98763211526173, 36.41948656533546), (-120.89582422732902, 36.445783528063096), (-120.89582422732902, 36.524145296812684), (-120.98763211526173, 36.49782625892822)),)}" -"fireEvent/2023-01-04_0x80d76f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d76f0000000000 on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.72659 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f5400000000,dcid:s2CellId/0x80d76f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59894 SquareKilometer]",2.59894,347.83,290.85,"n",8.82,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.67412456932842), (-115.3785719022423, 32.69460416981107), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172)),)}" -"fireEvent/2023-02-15_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.51748 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084454c00000000,dcid:s2CellId/0x8084570000000000,dcid:s2CellId/0x8084572400000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845b5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",6,"[3.09508 SquareKilometer]",3.09508,336.42,291.53,"n",3.5,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429)),), (((-122.35609518371197, 38.47452361214821), (-122.44672381753844, 38.44651073306092), (-122.44672381753844, 38.52196905593188), (-122.35609518371197, 38.549998981659485), (-122.35609518371197, 38.47452361214821)),)]}" -"fireEvent/2023-02-10_0x80c3570000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3570000000000 on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.23570 -117.22058]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3570000000000,dcid:s2CellId/0x80c3576c00000000,dcid:s2CellId/0x80c3577400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.47226 SquareKilometer]",2.47226,333.96,286.31,"n",4.91,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-117.26761160397515, 34.26558118262346), (-117.26761160397515, 34.18327624878457), (-117.17353159273283, 34.20577201206521), (-117.17353159273283, 34.28810246007675), (-117.26761160397515, 34.26558118262346)),)}" -"fireEvent/2023-02-08_0x80e8350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e8350000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 34.27990 -118.95869]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8347400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cb0000000000,dcid:s2CellId/0x80e9cbf400000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.6269 SquareKilometer]",3.6269,345.92,302.76,"n",11.0,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-119.04599270243568, 34.39462388102809), (-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654)),)}" -"fireEvent/2023-01-30_0x8083530000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083510000000000 on 2023-01-30","2023-01-30","2023-01-31","P2D",2,2,"[LatLong 39.27201 -121.79362]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:northamerica,dcid:s2CellId/0x8083509400000000,dcid:s2CellId/0x808350bc00000000,dcid:s2CellId/0x8083510000000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083531400000000,dcid:s2CellId/0x80835aa400000000,dcid:s2CellId/0x80835b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.08444 SquareKilometer]",4.08444,353.2,286.72,"n",19.49,"2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.29864655751711), (-121.71954589932093, 39.27105917309169), (-121.81070794913828, 39.2434012936763), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.29055326593883), (-121.81070794913828, 39.31829606252554), (-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711)),)}" -"fireEvent/2023-02-06_0x8090750000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090710000000000 on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 38.04605 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x809071ec00000000,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090751400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.13425 SquareKilometer]",2.13425,326.64,277.29,"n",3.01,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" -"fireEvent/2023-03-16_0x80d16f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d16f0000000000 on 2023-03-16","2023-03-16","2023-03-16","P1D",1,1,"[LatLong 33.90313 -114.42327]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16e0400000000,dcid:s2CellId/0x80d16e1c00000000,dcid:s2CellId/0x80d16f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.5576 SquareKilometer]",2.5576,345.63,297.05,"n",9.57,"2023-03-16","{'type': 'Polygon', 'coordinates': (((-114.42921481897034, 33.90712585436565), (-114.42921481897034, 33.82320149214735), (-114.33414316655818, 33.843130223746485), (-114.33414316655818, 33.92707848788263), (-114.42921481897034, 33.90712585436565)),)}" -"fireEvent/2023-02-07_0x80c2b10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b10000000000 on 2023-02-07","2023-02-07","2023-02-09","P3D",3,2,"[LatLong 33.93697 -118.43968]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b10000000000,dcid:s2CellId/0x80c2b15400000000,dcid:s2CellId/0x80c2b30000000000,dcid:s2CellId/0x80c2b3fc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.45871 SquareKilometer]",2.45871,343.53,302.66,"n",13.39,"2023-02-07,2023-02-09","{'type': 'Polygon', 'coordinates': (((-118.4863962961138, 33.966210733729376), (-118.39294170620582, 33.9896678408122), (-118.39294170620582, 33.90767960394744), (-118.39294170620582, 33.82562180473932), (-118.4863962961138, 33.8022194627579), (-118.4863962961138, 33.884249771818084), (-118.4863962961138, 33.966210733729376)),)}" -"fireEvent/2023-02-04_0x80d7a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a50000000000 on 2023-02-04","2023-02-04","2023-02-06","P3D",3,2,"[LatLong 32.44917 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a5fc00000000,dcid:s2CellId/0x80d7a6cc00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,333.43,302.76,"n",6.19,"2023-02-04,2023-02-06","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)}" -"fireEvent/2023-02-04_0x80da430000000000","FireEvent","FireEvent at L10 S2 Cell 0x80da430000000000 on 2023-02-04","2023-02-04","2023-02-05","P2D",2,2,"[LatLong 33.50381 -116.08867]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da430000000000,dcid:s2CellId/0x80da436400000000,dcid:s2CellId/0x80da5ce400000000,dcid:s2CellId/0x80da5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.54069 SquareKilometer]",2.54069,348.27,307.03,"n",3.33,"2023-02-04,2023-02-05","{'type': 'Polygon', 'coordinates': (((-116.04138886338704, 33.472693644443034), (-116.13594306437999, 33.45139667485967), (-116.13594306437999, 33.53486765773682), (-116.13594306437999, 33.61826847586996), (-116.04138886338704, 33.63961794361283), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.472693644443034)),)}" -"fireEvent/2023-01-25_0x8085070000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085030000000000 on 2023-01-25","2023-01-25","2023-01-28","P4D",4,3,"[LatLong 38.40301 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8085030000000000,dcid:s2CellId/0x808503d400000000,dcid:s2CellId/0x8085069400000000,dcid:s2CellId/0x8085070000000000,dcid:s2CellId/0x8085a70000000000,dcid:s2CellId/0x8085a7c400000000,dcid:s2CellId/0x8085aedc00000000,dcid:s2CellId/0x8085af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",8,"[4.16365 SquareKilometer]",4.16365,340.07,291.31,"n",4.05,"2023-01-25,2023-01-26,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.27549513645561), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.32332484178081), (-122.26538872869685, 38.35123562794486)),), (((-122.5372740990185, 38.267301489341314), (-122.44672381753844, 38.295346696588034), (-122.44672381753844, 38.2196414669709), (-122.5372740990185, 38.19161406269585), (-122.5372740990185, 38.267301489341314)),), (((-122.44672381753844, 38.14385442266954), (-122.44672381753844, 38.2196414669709), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.171796976749924), (-122.44672381753844, 38.14385442266954)),), (((-122.26538872869685, 38.42689363138317), (-122.17460498684162, 38.45475400902146), (-122.17460498684162, 38.379078759434165), (-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.42689363138317)),)]}" -"fireEvent/2023-02-18_0x8094250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-02-18","2023-02-18","2023-02-19","P2D",2,2,"[LatLong 37.24840 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094243400000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x8094310000000000,dcid:s2CellId/0x809431ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.23399 SquareKilometer]",2.23399,345.09,293.0,"n",4.64,"2023-02-18,2023-02-19","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),), (((-119.51077084299, 37.22444893017269), (-119.51077084299, 37.14609669288529), (-119.60354950502408, 37.12077532426294), (-119.60354950502408, 37.19910814898932), (-119.51077084299, 37.22444893017269)),)]}" -"fireEvent/2023-01-02_0x80c2c30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2c30000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.17095 -118.15908]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2c30000000000,dcid:s2CellId/0x80c2c3c400000000,dcid:s2CellId/0x80c2c3cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45141 SquareKilometer]",2.45141,298.34,277.71,"n",0.45,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 34.2002433918674), (-118.20587682407124, 34.118342161375), (-118.1122678531936, 34.14161353880244), (-118.1122678531936, 34.22354120793316), (-118.20587682407124, 34.2002433918674)),)}" -"fireEvent/2023-02-22_0x80d9df0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9df0000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 32.74909 -115.71018]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d9df0000000000,dcid:s2CellId/0x80d9dfb400000000,dcid:s2CellId/0x80d9dfbc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59256 SquareKilometer]",2.59256,306.94,283.45,"n",1.61,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-115.75751959733307, 32.78083278420529), (-115.75751959733307, 32.69657070793154), (-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.80158972121298), (-115.75751959733307, 32.78083278420529)),)}" -"fireEvent/2023-03-27_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.59576 -120.49912]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14ec00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ff400000000,dcid:s2CellId/0x809a400c00000000,dcid:s2CellId/0x809a410000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.18127 SquareKilometer]",3.18127,339.22,291.42,"n",5.62,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.61998952842978, 38.613410423372706), (-120.61998952842978, 38.689619841758045), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043)),)}" -"fireEvent/2023-03-02_0x8084970000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-03-02","2023-03-02","2023-03-02","P1D",1,1,"[LatLong 38.91128 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084978c00000000,dcid:s2CellId/0x8084983c00000000,dcid:s2CellId/0x8084990000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.05367 SquareKilometer]",2.05367,336.55,286.93,"n",2.33,"2023-03-02","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199)),)}" -"fireEvent/2023-02-13_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 38.59868 -120.52215]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14d400000000,dcid:s2CellId/0x809a14dc00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a152400000000,dcid:s2CellId/0x809a154400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.123 SquareKilometer]",2.123,334.54,295.88,"n",22.5,"2023-02-13,2023-02-15","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.56362878155043), (-120.43576307692442, 38.590069533051576), (-120.43576307692442, 38.66639654013268), (-120.52790957361556, 38.63993981922657)),)}" -"fireEvent/2023-01-24_0x80d7c70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7b90000000000 on 2023-01-24","2023-01-24","2023-01-27","P4D",4,4,"[LatLong 32.27950 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7b94400000000,dcid:s2CellId/0x80d7c62400000000,dcid:s2CellId/0x80d7c70000000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb0400000000,dcid:s2CellId/0x80d7ce4c00000000,dcid:s2CellId/0x80d7cf0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27353 SquareKilometer]",5.27353,341.03,300.06,"n",10.57,"2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.16208932703202), (-115.18891595142229, 32.14202858870148), (-115.18891595142229, 32.2269827091063)),), (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.26708735189506), (-114.90422082333554, 32.287028613932726)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 32.16208932703202), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.09700096546918), (-115.09404500241959, 32.07704259018568)),)]}" -"fireEvent/2023-02-09_0x54d16f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d16f0000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.10441 -123.91554]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d16e9c00000000,dcid:s2CellId/0x54d16eb400000000,dcid:s2CellId/0x54d16f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.04884 SquareKilometer]",2.04884,350.67,291.65,"n",26.16,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-123.85653166253309, 41.12881430645295), (-123.94883585367289, 41.098083231954774), (-123.8775963618726, 41.045599131818285), (-123.78538604060175, 41.07620890851114), (-123.85653166253309, 41.12881430645295)),)}" -"fireEvent/2023-03-25_0x8091730000000000","FireEvent","FireEvent at L10 S2 Cell 0x80910d0000000000 on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 37.34629 -120.76373]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x80910cd400000000,dcid:s2CellId/0x80910d0000000000,dcid:s2CellId/0x809172d400000000,dcid:s2CellId/0x8091730000000000,dcid:s2CellId/0x8091732c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.28597 SquareKilometer]",3.28597,342.93,272.11,"n",2.82,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 37.27866927107142), (-120.80394744373855, 37.25230091111856), (-120.80394744373858, 37.32989077427852), (-120.80394744373858, 37.40739967641065), (-120.7120023484522, 37.43380716167879), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.27866927107142)),)}" -"fireEvent/2023-03-03_0x80d7690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d75d0000000000 on 2023-03-03","2023-03-03","2023-03-04","P2D",2,2,"[LatLong 32.87473 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d75d0000000000,dcid:s2CellId/0x80d75df400000000,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7694400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.59547 SquareKilometer]",2.59547,338.41,304.97,"n",25.48,"2023-03-03,2023-03-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.86341617929968), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.84288161267371), (-115.3785719022423, 32.86341617929968)),), (((-115.5681083893613, 32.82227272901859), (-115.5681083893613, 32.90652316752118), (-115.47335544292073, 32.92715937663604), (-115.47335544292073, 32.84288161267371), (-115.5681083893613, 32.82227272901859)),)]}" -"fireEvent/2023-02-15_0x8095b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095b10000000000 on 2023-02-15","2023-02-15","2023-02-21","P7D",7,6,"[LatLong 37.00267 -119.26113]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8095b04400000000,dcid:s2CellId/0x8095b0e400000000,dcid:s2CellId/0x8095b0ec00000000,dcid:s2CellId/0x8095b10000000000,dcid:s2CellId/0x8095b40400000000,dcid:s2CellId/0x8095b41400000000,dcid:s2CellId/0x8095b41c00000000,dcid:s2CellId/0x8095b44400000000,dcid:s2CellId/0x8095b50000000000,dcid:s2CellId/0x8095b55c00000000,dcid:s2CellId/0x8095b57400000000,dcid:s2CellId/0x8095b57c00000000,dcid:s2CellId/0x8095b58400000000,dcid:s2CellId/0x8095b58c00000000,dcid:s2CellId/0x8095b59400000000,dcid:s2CellId/0x8095b59c00000000,dcid:s2CellId/0x8095b5a400000000,dcid:s2CellId/0x8095b5ac00000000,dcid:s2CellId/0x8095b5bc00000000,dcid:s2CellId/0x8095b5e400000000,dcid:s2CellId/0x8095b5ec00000000,dcid:s2CellId/0x8095b5f400000000,dcid:s2CellId/0x8095b6ac00000000,dcid:s2CellId/0x8095b6b400000000,dcid:s2CellId/0x8095b6d400000000,dcid:s2CellId/0x8095b70000000000,dcid:s2CellId/0x8095ba6400000000,dcid:s2CellId/0x8095bb0000000000,dcid:s2CellId/0x8095c80c00000000,dcid:s2CellId/0x8095c90000000000,dcid:s2CellId/0x8095ca9c00000000,dcid:s2CellId/0x8095caa400000000,dcid:s2CellId/0x8095cb0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",33,"[15.75816 SquareKilometer]",15.75816,355.07,300.25,"n",46.55,"2023-02-15,2023-02-17,2023-02-18,2023-02-19,2023-02-20,2023-02-21","{'type': 'Polygon', 'coordinates': (((-119.41793235298401, 37.171345095632404), (-119.32503466239531, 37.196520276094965), (-119.23207840138082, 37.22162197959509), (-119.23207840138082, 37.14312963671413), (-119.23207840138082, 37.064555014740314), (-119.13906420284766, 37.08954447124001), (-119.13906420284766, 37.01086829061775), (-119.23207840138082, 36.9858984053218), (-119.32503466239531, 36.96085514133606), (-119.32503466239531, 37.039492061946596), (-119.41793235298398, 37.014355866428566), (-119.41793235298401, 37.09289141158824), (-119.41793235298401, 37.171345095632404)),)}" -"fireEvent/2023-01-26_0x8084e70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084e70000000000 on 2023-01-26","2023-01-26","2023-01-26","P1D",1,1,"[LatLong 38.60981 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084e70000000000,dcid:s2CellId/0x8084e7c400000000,dcid:s2CellId/0x8084e8fc00000000,dcid:s2CellId/0x8084e90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07117 SquareKilometer]",2.07117,348.12,291.67,"n",4.91,"2023-01-26","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.585896319149406), (-122.08374449567626, 38.55815555109186), (-122.08374449567626, 38.63368138324296), (-122.08374449567626, 38.7091235838646), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.585896319149406)),)}" -"fireEvent/2023-01-12_0x80d9150000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9150000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.51650 -116.74965]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9150000000000,dcid:s2CellId/0x80d9158400000000,dcid:s2CellId/0x80d9158c00000000,dcid:wikidataId/Q2360428,dcid:wikidataId/Q58731",3,"[2.57931 SquareKilometer]",2.57931,322.1,280.5,"n",3.31,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-116.79678490847915, 32.54768494325667), (-116.79678490847915, 32.46373828347083), (-116.70249504859957, 32.48526559805921), (-116.70249504859957, 32.56924165418696), (-116.79678490847915, 32.54768494325667)),)}" -"fireEvent/2023-01-28_0x80c3130000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3130000000000 on 2023-01-28","2023-01-28","2023-01-28","P1D",1,1,"[LatLong 34.49466 -117.61415]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3126c00000000,dcid:s2CellId/0x80c312b400000000,dcid:s2CellId/0x80c3130000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.44911 SquareKilometer]",2.44911,321.27,273.97,"n",2.81,"2023-01-28","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 34.502850247756115), (-117.64348435403741, 34.42093763167103), (-117.54958462854715, 34.4438279801098), (-117.54958462854715, 34.525765807815226), (-117.64348435403741, 34.502850247756115)),)}" -"fireEvent/2023-03-26_0x8090750000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090750000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.09571 -121.21685]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090757400000000,dcid:s2CellId/0x809aa0cc00000000,dcid:s2CellId/0x809aa0d400000000,dcid:s2CellId/0x809aa10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.19035 SquareKilometer]",3.19035,334.35,294.95,"n",2.22,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545)),), (((-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122)),)]}" -"fireEvent/2023-02-09_0x54b59b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54b59b0000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.87104 -119.04195]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x54b59b0000000000,dcid:s2CellId/0x54b59b8c00000000,dcid:s2CellId/0x54b59b9400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.05106 SquareKilometer]",2.05106,352.49,291.49,"n",23.14,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.0267373723986, 41.91291619013493), (-119.12151923305626, 41.88672088814777), (-119.05713115299496, 41.829201927316994), (-118.96248174499246, 41.85528577165443), (-119.0267373723986, 41.91291619013493)),)}" -"fireEvent/2023-01-23_0x80853f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085390000000000 on 2023-01-23","2023-01-23","2023-01-23","P1D",1,1,"[LatLong 38.28629 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085390000000000,dcid:s2CellId/0x808539ec00000000,dcid:s2CellId/0x80853f0000000000,dcid:s2CellId/0x80853ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.09856 SquareKilometer]",2.09856,297.63,277.58,"n",0.5,"2023-01-23","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.20693488934502), (-121.99280779590266, 38.282892940885574), (-121.90179543138471, 38.31049689758648), (-121.81070794913828, 38.33803225682059), (-121.81070794913828, 38.26203923045015), (-121.90179543138471, 38.23452130172675), (-121.99280779590266, 38.20693488934502)),)}" -"fireEvent/2023-01-01_0x8083950000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083950000000000 on 2023-01-01","2023-01-01","2023-01-01","P1D",1,1,"[LatLong 39.15524 -122.65600]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06033,dcid:northamerica,dcid:s2CellId/0x8083944400000000,dcid:s2CellId/0x8083946c00000000,dcid:s2CellId/0x8083950000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.02103 SquareKilometer]",2.02103,301.45,274.51,"n",0.82,"2023-01-01","{'type': 'Polygon', 'coordinates': (((-122.71813749631639, 39.18698471783738), (-122.71813749631639, 39.11241008566069), (-122.62774550019422, 39.140788234265145), (-122.62774550019422, 39.21537813301912), (-122.71813749631639, 39.18698471783738)),)}" -"fireEvent/2023-03-17_0x80a0e90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80a0e90000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 41.13956 -117.59654]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x80a0e90000000000,dcid:s2CellId/0x80a0e92c00000000,dcid:s2CellId/0x80a0e93400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.03742 SquareKilometer]",2.03742,343.23,296.22,"n",20.01,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 41.1646741177087), (-117.64348435403741, 41.090082392578815), (-117.54958462854715, 41.11439677948815), (-117.54958462854715, 41.18899708980876), (-117.64348435403741, 41.1646741177087)),)}" -"fireEvent/2023-02-18_0x80ea5b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ea5b0000000000 on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 35.47196 -119.19139]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea5a3400000000,dcid:s2CellId/0x80ea5a3c00000000,dcid:s2CellId/0x80ea5a4c00000000,dcid:s2CellId/0x80ea5b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.52191 SquareKilometer]",3.52191,301.47,271.49,"n",1.49,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.47625041156115), (-119.23207840138082, 35.396018943340835), (-119.13906420284766, 35.420553079599216), (-119.13906420284766, 35.50080836032674), (-119.23207840138082, 35.47625041156115)),)}" -"fireEvent/2023-03-25_0x8094e70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094e30000000000 on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 36.53855 -119.44695]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094e22400000000,dcid:s2CellId/0x8094e22c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e50000000000,dcid:s2CellId/0x8094e5dc00000000,dcid:s2CellId/0x8094e67400000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094fa6400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fd0000000000,dcid:s2CellId/0x8094fd1c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",11,"[6.82657 SquareKilometer]",6.82657,344.21,299.21,"n",6.88,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356), (-119.41793235298401, 36.69940095775546), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238), (-119.60354950502408, 36.57017350866958)),)}" -"fireEvent/2023-02-08_0x8083590000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083550000000000 on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 39.27349 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808354cc00000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083590000000000,dcid:s2CellId/0x8083591c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x8084a99400000000,dcid:s2CellId/0x8084aaa400000000,dcid:s2CellId/0x8084ab0000000000,dcid:s2CellId/0x8084af0000000000,dcid:s2CellId/0x8084afdc00000000,dcid:s2CellId/0x8084b30000000000,dcid:s2CellId/0x8084b39c00000000,dcid:s2CellId/0x809b510000000000,dcid:s2CellId/0x809b515400000000,dcid:s2CellId/0x809b540400000000,dcid:s2CellId/0x809b550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",16,"[8.21246 SquareKilometer]",8.21246,340.24,293.12,"n",20.04,"2023-02-08,2023-02-09,2023-02-10","{'type': 'MultiPolygon', 'coordinates': [(((-121.81070794913828, 39.16842067392795), (-121.90179543138471, 39.14070749598967), (-121.90179543138471, 39.21567320309416), (-121.81070794913828, 39.2434012936763), (-121.81070794913828, 39.16842067392795)),), (((-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.62830983522124, 39.29864655751711), (-121.62830983522124, 39.22363643515711), (-121.53700031324804, 39.25113845152714), (-121.53700031324804, 39.1760274894232), (-121.62830983522124, 39.148540269420884), (-121.71954589932093, 39.12098248645304), (-121.71954589932093, 39.045815609296426), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 39.09335442361682)),), (((-121.62830983522124, 38.99809069591985), (-121.71954589932093, 38.970563341057584), (-121.71954589932093, 39.045815609296426), (-121.62830983522124, 39.07335828179249), (-121.62830983522124, 38.99809069591985)),), (((-121.53700031324804, 39.1760274894232), (-121.44561789291927, 39.203443864834576), (-121.44561789291927, 39.12823197970606), (-121.53700031324804, 39.10083049925948), (-121.53700031324804, 39.1760274894232)),)]}" -"fireEvent/2023-02-08_0x809c950000000000","FireEvent","FireEvent at L10 S2 Cell 0x809c950000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.60965 -121.19967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809c945c00000000,dcid:s2CellId/0x809c94f400000000,dcid:s2CellId/0x809c950000000000,dcid:s2CellId/0x809c957c00000000,dcid:s2CellId/0x809cbf0000000000,dcid:s2CellId/0x809cbfd400000000,dcid:s2CellId/0x809cbfdc00000000,dcid:s2CellId/0x809cbfe400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[6.11717 SquareKilometer]",6.11717,337.78,287.95,"n",3.89,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.26263661074441, 39.55815975879043), (-121.35416313685073, 39.53082922928807), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.1710388833767, 39.66023770903055)),)}" -"fireEvent/2023-02-14_0x8094c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094930000000000 on 2023-02-14","2023-02-14","2023-02-16","P3D",3,2,"[LatLong 36.49371 -119.82944]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094928c00000000,dcid:s2CellId/0x8094930000000000,dcid:s2CellId/0x8094c10000000000,dcid:s2CellId/0x8094c16400000000,dcid:s2CellId/0x8094c21400000000,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7b400000000,dcid:s2CellId/0x8094ecdc00000000,dcid:s2CellId/0x8094ecf400000000,dcid:s2CellId/0x8094ed0000000000,dcid:s2CellId/0x8094ef0000000000,dcid:s2CellId/0x8094ef3c00000000,dcid:s2CellId/0x8094ef4400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[9.10435 SquareKilometer]",9.10435,332.38,292.18,"n",11.85,"2023-02-14,2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-119.78892484955995, 36.36164840353892), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.78892484955995, 36.28255505122062), (-119.78892484955995, 36.36164840353892)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),), (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.49119510273238), (-119.69626771448172, 36.4659648722832), (-119.78892484955995, 36.440663153251855), (-119.881520291274, 36.41529020951764), (-119.881520291274, 36.49420457905506), (-119.78892484955995, 36.51959899016065), (-119.69626771448172, 36.54492205456438), (-119.60354950502408, 36.57017350866958)),)]}" -"fireEvent/2023-01-19_0x80d7690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7690000000000 on 2023-01-19","2023-01-19","2023-01-19","P1D",1,1,"[LatLong 32.81099 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7692400000000,dcid:s2CellId/0x80d7692c00000000,dcid:s2CellId/0x80d7693c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.89745 SquareKilometer]",3.89745,349.12,308.56,"n",47.43,"2023-01-19","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.84288161267371), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.86341617929968), (-115.47335544292073, 32.84288161267371)),)}" -"fireEvent/2023-02-20_0x80833b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083250000000000 on 2023-02-20","2023-02-20","2023-02-22","P3D",3,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083259400000000,dcid:s2CellId/0x808326d400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083272c00000000,dcid:s2CellId/0x80833adc00000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.02584 SquareKilometer]",3.02584,352.15,292.84,"n",11.25,"2023-02-20,2023-02-21,2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.73802301630229), (-121.81070794913828, 39.76584973823246), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981)),)}" -"fireEvent/2023-01-02_0x80c49d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c49d0000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.61964 -117.09706]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c49cbc00000000,dcid:s2CellId/0x80c49cc400000000,dcid:s2CellId/0x80c49d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45544 SquareKilometer]",2.45544,298.73,274.81,"n",0.82,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 34.61669341815171), (-117.17353159273283, 34.53465606824912), (-117.07940822560565, 34.557178631747604), (-117.07940822560565, 34.6392405323175), (-117.17353159273283, 34.61669341815171)),)}" -"fireEvent/2023-01-05_0x80d79f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7750000000000 on 2023-01-05","2023-01-05","2023-01-07","P3D",3,3,"[LatLong 32.59005 -115.34895]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7744400000000,dcid:s2CellId/0x80d7750000000000,dcid:s2CellId/0x80d79d0000000000,dcid:s2CellId/0x80d79d8400000000,dcid:s2CellId/0x80d79f0000000000,dcid:s2CellId/0x80d79f4400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.92016 SquareKilometer]",3.92016,340.55,292.36,"n",4.52,"2023-01-05,2023-01-06,2023-01-07","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.44088749173266), (-115.47335544292073, 32.42049183911604), (-115.47335544292073, 32.505101778412154), (-115.3785719022423, 32.52552561351063), (-115.3785719022423, 32.610097988335994), (-115.28375849518459, 32.63047572713295), (-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.46120935428951), (-115.3785719022423, 32.44088749173266)),)}" -"fireEvent/2023-03-15_0x80835d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80835d0000000000 on 2023-03-15","2023-03-15","2023-03-16","P2D",2,2,"[LatLong 39.22798 -121.90749]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x80835c0c00000000,dcid:s2CellId/0x80835d0000000000,dcid:s2CellId/0x80835f0000000000,dcid:s2CellId/0x80835f3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.04312 SquareKilometer]",2.04312,337.62,290.53,"n",4.12,"2023-03-15,2023-03-16","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.26274043589892), (-121.90179543138471, 39.29055326593883), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.14070749598967), (-121.99280779590266, 39.11292450020048), (-121.99280779590266, 39.18787518661573), (-121.99280779590266, 39.26274043589892)),)}" -"fireEvent/2023-02-02_0x8090a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090a50000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 38.25870 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090a50000000000,dcid:s2CellId/0x8090a58400000000,dcid:s2CellId/0x8090a59c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.14773 SquareKilometer]",2.14773,297.02,274.4,"n",0.59,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.283906850968414), (-120.43576307692442, 38.20715375350994), (-120.3435506342276, 38.23343927918502), (-120.3435506342276, 38.310209268657324), (-120.43576307692442, 38.283906850968414)),)}" -"fireEvent/2023-03-09_0x80eb050000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eb050000000000 on 2023-03-09","2023-03-09","2023-03-09","P1D",1,1,"[LatLong 35.58257 -119.52817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eb046c00000000,dcid:s2CellId/0x80eb047400000000,dcid:s2CellId/0x80eb050000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.33127 SquareKilometer]",2.33127,310.66,274.9,"n",1.96,"2023-03-09","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 35.617265464719935), (-119.60354950502408, 35.5373559257604), (-119.51077084299, 35.56224449162536), (-119.51077084299, 35.642177706706846), (-119.60354950502408, 35.617265464719935)),)}" -"fireEvent/2023-02-19_0x80d7650000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7650000000000 on 2023-02-19","2023-02-19","2023-02-20","P2D",2,2,"[LatLong 32.70606 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7650000000000,dcid:s2CellId/0x80d7650400000000,dcid:s2CellId/0x80d7658c00000000,dcid:s2CellId/0x80d765ac00000000,dcid:s2CellId/0x80d765f400000000,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f6400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.89998 SquareKilometer]",3.89998,352.22,313.34,"n",22.51,"2023-02-19,2023-02-20","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.69460416981107), (-115.47335544292073, 32.67412456932842), (-115.5681083893613, 32.65357093757281)),)}" -"fireEvent/2023-02-12_0x80921d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80921d0000000000 on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 36.79488 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x80921c1c00000000,dcid:s2CellId/0x80921c2400000000,dcid:s2CellId/0x80921d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.20223 SquareKilometer]",2.20223,340.59,291.48,"n",9.06,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 36.83295988739003), (-121.44561789291927, 36.75519608151651), (-121.35416313685073, 36.78196379162144), (-121.35416313685073, 36.85974897343489), (-121.44561789291927, 36.83295988739003)),)}" +"fireEvent/2023-03-18_0x8094c30000000000","FireEvent","FireEvent at LatLong(36.35999:-119.64992) on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 36.35999 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094c3f400000000,dcid:s2CellId/0x8094c3fc00000000,dcid:s2CellId/0x8094e26c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.56314 SquareKilometer]",4.56314,352.28,289.38,"n",5.79,"2023-03-18","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124)),), (((-119.51077084299, 36.59535309054964), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.59535309054964)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),)]}" +"fireEvent/2023-02-08_0x8083730000000000","FireEvent","FireEvent at LatLong(39.41636:-122.14622) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 39.41636 -122.14622]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083124400000000,dcid:s2CellId/0x8083130000000000,dcid:s2CellId/0x8083730000000000,dcid:s2CellId/0x8083737400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0239 SquareKilometer]",2.0239,340.79,292.33,"n",12.31,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 39.28165587862677), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.328269615478135), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.28165587862677)),), (((-122.17460498684162, 39.430899396295715), (-122.08374449567626, 39.45889527860518), (-122.08374449567626, 39.38430194908448), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.430899396295715)),)]}" +"fireEvent/2023-02-21_0x80d7950000000000","FireEvent","FireEvent at LatLong(32.22197:-115.33709) on 2023-02-21","2023-02-21","2023-02-21","P1D",1,1,"[LatLong 32.22197 -115.33709]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d794e400000000,dcid:s2CellId/0x80d7950000000000,dcid:s2CellId/0x80d7951c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62994 SquareKilometer]",2.62994,341.66,312.54,"n",35.63,"2023-02-21","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.27141580503958), (-115.3785719022423, 32.1865831450277), (-115.28375849518459, 32.20681969840767), (-115.28375849518459, 32.291680994135106), (-115.3785719022423, 32.27141580503958)),)}" +"fireEvent/2023-03-17_0x80911f0000000000","FireEvent","FireEvent at LatLong(37.65705:-120.59122) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 37.65705 -120.59122]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80911ef400000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x80911f8c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.17719 SquareKilometer]",2.17719,298.7,279.63,"n",0.79,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.61998952842978, 37.69229621714622), (-120.61998952842978, 37.61499433591427), (-120.52790957361556, 37.641298481904194), (-120.52790957361556, 37.71861894809693), (-120.61998952842978, 37.69229621714622)),)}" +"fireEvent/2023-01-17_0x54d2f30000000000","FireEvent","FireEvent at LatLong(40.57897:-122.41014) on 2023-01-17","2023-01-17","2023-01-19","P3D",3,2,"[LatLong 40.57897 -122.41014]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54d2ed0000000000,dcid:s2CellId/0x54d2edcc00000000,dcid:s2CellId/0x54d2eefc00000000,dcid:s2CellId/0x54d2ef0000000000,dcid:s2CellId/0x54d2f20400000000,dcid:s2CellId/0x54d2f30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[2.99636 SquareKilometer]",2.99636,333.46,285.87,"n",4.0,"2023-01-17,2023-01-19","{'type': 'Polygon', 'coordinates': (((-122.46670276167934, 40.67294896838062), (-122.39843998380442, 40.61985308236519), (-122.33036585771102, 40.566779656552605), (-122.42181745860849, 40.53813661115969), (-122.51318898831984, 40.509422095374156), (-122.58146692701277, 40.56226388040892), (-122.4899938832872, 40.591094269775446), (-122.55835872296645, 40.64407400405238), (-122.46670276167934, 40.67294896838062)),)}" +"fireEvent/2023-02-06_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.59279:-122.58252) on 2023-02-06","2023-02-06","2023-02-08","P3D",3,2,"[LatLong 38.59279 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084430000000000,dcid:s2CellId/0x8084432400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084453400000000,dcid:s2CellId/0x8084453c00000000,dcid:s2CellId/0x808445ac00000000,dcid:s2CellId/0x808445bc00000000,dcid:s2CellId/0x8084507c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a9c00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",11,"[7.21649 SquareKilometer]",7.21649,335.28,292.94,"n",5.78,"2023-02-06,2023-02-08","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.62774550019422, 38.61630776476597), (-122.5372740990185, 38.64450610716198), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092)),)}" +"fireEvent/2023-02-22_0x8083690000000000","FireEvent","FireEvent at LatLong(39.28620:-122.03829) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 39.28620 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083690000000000,dcid:s2CellId/0x8083696400000000,dcid:s2CellId/0x8083696c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.03153 SquareKilometer]",2.03153,346.39,290.44,"n",6.02,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-122.08374449567626, 39.30962273731574), (-122.08374449567627, 39.23485785874378), (-121.99280779590266, 39.26274043589892), (-121.99280779590266, 39.337520028847024), (-122.08374449567626, 39.30962273731574)),)}" +"fireEvent/2023-02-08_0x54d4990000000000","FireEvent","FireEvent at LatLong(40.14521:-123.46228) on 2023-02-08","2023-02-08","2023-02-11","P4D",4,3,"[LatLong 40.14521 -123.46228]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06105,dcid:northamerica,dcid:s2CellId/0x54d498b400000000,dcid:s2CellId/0x54d498bc00000000,dcid:s2CellId/0x54d4990000000000,dcid:s2CellId/0x54d4a26400000000,dcid:s2CellId/0x54d4a2e400000000,dcid:s2CellId/0x54d4a2ec00000000,dcid:s2CellId/0x54d4a2f400000000,dcid:s2CellId/0x54d4a30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.93369 SquareKilometer]",4.93369,344.72,294.21,"n",62.5,"2023-02-08,2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-123.60320855276242, 40.159382098605334), (-123.51283904569657, 40.188930829812435), (-123.44368098277349, 40.13738797622512), (-123.37470731145442, 40.0858635123691), (-123.4648917259653, 40.056547606398325), (-123.53395808290452, 40.107955842950716), (-123.60320855276242, 40.159382098605334)),)}" +"fireEvent/2023-02-13_0x8090e10000000000","FireEvent","FireEvent at LatLong(37.74409:-120.57396) on 2023-02-13","2023-02-13","2023-02-18","P6D",6,5,"[LatLong 37.74409 -120.57396]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090e10000000000,dcid:s2CellId/0x8090e1a400000000,dcid:s2CellId/0x8090e30000000000,dcid:s2CellId/0x8090e38400000000,dcid:s2CellId/0x8090e47c00000000,dcid:s2CellId/0x8090e48400000000,dcid:s2CellId/0x8090e49400000000,dcid:s2CellId/0x8090e49c00000000,dcid:s2CellId/0x8090e4dc00000000,dcid:s2CellId/0x8090e50000000000,dcid:s2CellId/0x8090fcd400000000,dcid:s2CellId/0x8090fd0000000000,dcid:s2CellId/0x8090fd2c00000000,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x809101b400000000,dcid:s2CellId/0x809101dc00000000,dcid:s2CellId/0x809102cc00000000,dcid:s2CellId/0x809102f400000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x809103e400000000,dcid:s2CellId/0x8091042400000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f7c00000000,dcid:s2CellId/0x809114bc00000000,dcid:s2CellId/0x8091150000000000,dcid:s2CellId/0x809116bc00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091186400000000,dcid:s2CellId/0x8091188c00000000,dcid:s2CellId/0x8091190000000000,dcid:s2CellId/0x80911a6c00000000,dcid:s2CellId/0x80911abc00000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3400000000,dcid:s2CellId/0x80911ccc00000000,dcid:s2CellId/0x80911d0000000000,dcid:s2CellId/0x80911d5c00000000,dcid:s2CellId/0x80911eac00000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x8091226c00000000,dcid:s2CellId/0x8091228400000000,dcid:s2CellId/0x8091229400000000,dcid:s2CellId/0x809122b400000000,dcid:s2CellId/0x8091230000000000,dcid:s2CellId/0x80913d0000000000,dcid:s2CellId/0x80913d3400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913f8400000000,dcid:s2CellId/0x8091407400000000,dcid:s2CellId/0x8091410000000000,dcid:s2CellId/0x8091ab0000000000,dcid:s2CellId/0x8091ab9c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",53,"[33.7678 SquareKilometer]",33.7678,345.71,295.76,"n",12.64,"2023-02-13,2023-02-14,2023-02-15,2023-02-17,2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 37.71861894809693), (-120.52790957361556, 37.641298481904194), (-120.43576307692442, 37.66753141216106), (-120.43576307692442, 37.59010984243894), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095), (-120.43576307692442, 37.35735205316665), (-120.52790957361556, 37.3311951171772), (-120.52790957361556, 37.408843635627235), (-120.61998952842978, 37.38259651612187), (-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.98763211526173, 37.50907107917234), (-120.98763211526173, 37.58629746111499), (-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.80394744373855, 37.71662016196677), (-120.7120023484522, 37.74310333951075), (-120.7120023484522, 37.82022171425268), (-120.61998952842978, 37.84665226985095), (-120.61998952842978, 37.76951561760652), (-120.52790957361556, 37.79585672226859), (-120.52790957361556, 37.71861894809693)),)}" +"fireEvent/2023-03-09_0x80eb050000000000","FireEvent","FireEvent at LatLong(35.58257:-119.52817) on 2023-03-09","2023-03-09","2023-03-09","P1D",1,1,"[LatLong 35.58257 -119.52817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eb046c00000000,dcid:s2CellId/0x80eb047400000000,dcid:s2CellId/0x80eb050000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.33127 SquareKilometer]",2.33127,310.66,274.9,"n",1.96,"2023-03-09","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 35.617265464719935), (-119.60354950502408, 35.5373559257604), (-119.51077084299, 35.56224449162536), (-119.51077084299, 35.642177706706846), (-119.60354950502408, 35.617265464719935)),)}" +"fireEvent/2023-02-07_0x80dd370000000000","FireEvent","FireEvent at LatLong(33.76312:-118.29359) on 2023-02-07","2023-02-07","2023-02-08","P2D",2,2,"[LatLong 33.76312 -118.29359]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd360400000000,dcid:s2CellId/0x80dd360c00000000,dcid:s2CellId/0x80dd364c00000000,dcid:s2CellId/0x80dd370000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46968 SquareKilometer]",2.46968,337.59,282.55,"n",6.07,"2023-02-07,2023-02-08","{'type': 'Polygon', 'coordinates': (((-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.68457580456745), (-118.20587682407124, 33.70778227614814), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592)),)}" +"fireEvent/2023-02-06_0x8091050000000000","FireEvent","FireEvent at LatLong(37.61405:-120.75798) on 2023-02-06","2023-02-06","2023-02-09","P4D",4,3,"[LatLong 37.61405 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x8091039c00000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x8091053400000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f4400000000,dcid:s2CellId/0x8091130000000000,dcid:s2CellId/0x8091131400000000,dcid:s2CellId/0x8091133c00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091179400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913fa400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",13,"[6.55418 SquareKilometer]",6.55418,351.31,291.56,"n",4.7,"2023-02-06,2023-02-07,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.38259651612187), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.43380716167879), (-120.61998952842978, 37.46014421227437)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.52790957361556, 37.563895592993696), (-120.52790957361556, 37.48641055294733), (-120.61998952842978, 37.46014421227437)),), (((-120.43576307692442, 37.43501988834095), (-120.52790957361556, 37.408843635627235), (-120.52790957361556, 37.48641055294733), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095)),)]}" +"fireEvent/2023-02-14_0x8094f70000000000","FireEvent","FireEvent at LatLong(36.67586:-119.64992) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.67586 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094f70000000000,dcid:s2CellId/0x8094f77400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fb5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.269 SquareKilometer]",2.269,331.0,288.63,"n",2.34,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 36.6237998027113), (-119.69626771448172, 36.70259781153337), (-119.60354950502408, 36.727891074425536), (-119.60354950502408, 36.6490722675175), (-119.69626771448172, 36.6237998027113)),), (((-119.51077084299, 36.674272739182356), (-119.51077084299, 36.59535309054964), (-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356)),)]}" +"fireEvent/2023-01-25_0x8085070000000000","FireEvent","FireEvent at LatLong(38.40301:-122.22001) on 2023-01-25","2023-01-25","2023-01-28","P4D",4,3,"[LatLong 38.40301 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8085030000000000,dcid:s2CellId/0x808503d400000000,dcid:s2CellId/0x8085069400000000,dcid:s2CellId/0x8085070000000000,dcid:s2CellId/0x8085a70000000000,dcid:s2CellId/0x8085a7c400000000,dcid:s2CellId/0x8085aedc00000000,dcid:s2CellId/0x8085af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",8,"[4.16365 SquareKilometer]",4.16365,340.07,291.31,"n",4.05,"2023-01-25,2023-01-26,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.27549513645561), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.32332484178081), (-122.26538872869685, 38.35123562794486)),), (((-122.5372740990185, 38.267301489341314), (-122.44672381753844, 38.295346696588034), (-122.44672381753844, 38.2196414669709), (-122.5372740990185, 38.19161406269585), (-122.5372740990185, 38.267301489341314)),), (((-122.44672381753844, 38.14385442266954), (-122.44672381753844, 38.2196414669709), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.171796976749924), (-122.44672381753844, 38.14385442266954)),), (((-122.26538872869685, 38.42689363138317), (-122.17460498684162, 38.45475400902146), (-122.17460498684162, 38.379078759434165), (-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.42689363138317)),)]}" +"fireEvent/2023-02-17_0x8090990000000000","FireEvent","FireEvent at LatLong(38.21902:-120.54518) on 2023-02-17","2023-02-17","2023-02-19","P3D",3,2,"[LatLong 38.21902 -120.54518]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090988c00000000,dcid:s2CellId/0x8090989400000000,dcid:s2CellId/0x809098bc00000000,dcid:s2CellId/0x8090990000000000,dcid:s2CellId/0x8090997c00000000,dcid:s2CellId/0x80909b0000000000,dcid:s2CellId/0x80909bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.21676 SquareKilometer]",3.21676,339.62,288.39,"n",2.84,"2023-02-17,2023-02-19","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.257532040519735), (-120.52790957361556, 38.18079594647173), (-120.61998952842978, 38.154366127206046), (-120.7120023484522, 38.12786456645258), (-120.7120023484522, 38.2045663181075), (-120.61998952842978, 38.23108510610075), (-120.52790957361556, 38.257532040519735)),)}" +"fireEvent/2023-03-27_0x809b490000000000","FireEvent","FireEvent at LatLong(38.97972:-121.48561) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.97972 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809b483400000000,dcid:s2CellId/0x809b484c00000000,dcid:s2CellId/0x809b490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.0695 SquareKilometer]",2.0695,335.65,293.44,"n",1.83,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 39.02554770418372), (-121.53700031324804, 38.950179329514846), (-121.44561789291927, 38.977550401022924), (-121.44561789291927, 39.05293408349499), (-121.53700031324804, 39.02554770418372)),)}" +"fireEvent/2023-01-19_0x80d7690000000000","FireEvent","FireEvent at LatLong(32.81099:-115.42597) on 2023-01-19","2023-01-19","2023-01-19","P1D",1,1,"[LatLong 32.81099 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7692400000000,dcid:s2CellId/0x80d7692c00000000,dcid:s2CellId/0x80d7693c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.89745 SquareKilometer]",3.89745,349.12,308.56,"n",47.43,"2023-01-19","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.84288161267371), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.86341617929968), (-115.47335544292073, 32.84288161267371)),)}" +"fireEvent/2023-02-17_0x8085210000000000","FireEvent","FireEvent at LatLong(38.49527:-121.96437) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.49527 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085204400000000,dcid:s2CellId/0x8085205400000000,dcid:s2CellId/0x8085205c00000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[3.12515 SquareKilometer]",3.12515,342.58,289.41,"n",8.54,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.43456088254056), (-121.90179543138471, 38.462199289647856), (-121.90179543138471, 38.537925598738894), (-121.99280779590266, 38.510270284625605)),)}" +"fireEvent/2023-01-05_0x80d79f0000000000","FireEvent","FireEvent at LatLong(32.59005:-115.34895) on 2023-01-05","2023-01-05","2023-01-07","P3D",3,3,"[LatLong 32.59005 -115.34895]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7744400000000,dcid:s2CellId/0x80d7750000000000,dcid:s2CellId/0x80d79d0000000000,dcid:s2CellId/0x80d79d8400000000,dcid:s2CellId/0x80d79f0000000000,dcid:s2CellId/0x80d79f4400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.92016 SquareKilometer]",3.92016,340.55,292.36,"n",4.52,"2023-01-05,2023-01-06,2023-01-07","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.44088749173266), (-115.47335544292073, 32.42049183911604), (-115.47335544292073, 32.505101778412154), (-115.3785719022423, 32.52552561351063), (-115.3785719022423, 32.610097988335994), (-115.28375849518459, 32.63047572713295), (-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.46120935428951), (-115.3785719022423, 32.44088749173266)),)}" +"fireEvent/2023-02-10_0x80ce210000000000","FireEvent","FireEvent at LatLong(34.75337:-114.57178) on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.75337 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80ce210000000000,dcid:s2CellId/0x80ce21c400000000,dcid:s2CellId/0x80ce21dc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.50494 SquareKilometer]",2.50494,346.0,308.7,"n",10.48,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 34.78469582571491), (-114.61928990191176, 34.70164859500177), (-114.52426397902158, 34.72198748448121), (-114.52426397902158, 34.805056766588905), (-114.61928990191176, 34.78469582571491)),)}" +"fireEvent/2023-02-06_0x8090530000000000","FireEvent","FireEvent at LatLong(37.58483:-121.12521) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 37.58483 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80904d0000000000,dcid:s2CellId/0x80904d7c00000000,dcid:s2CellId/0x80904f0000000000,dcid:s2CellId/0x80904f9400000000,dcid:s2CellId/0x8090522400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8091b4dc00000000,dcid:s2CellId/0x8091b50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.32708 SquareKilometer]",4.32708,338.03,287.68,"n",2.83,"2023-02-06","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.1710388833767, 37.53287726197025), (-121.1710388833767, 37.60998399136611), (-121.1710388833767, 37.68700924798782), (-121.07937052658627, 37.713792107889624), (-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499)),), (((-121.17103888337672, 37.45568932972217), (-121.26263661074441, 37.4288944060384), (-121.26263661074441, 37.50606293735081), (-121.1710388833767, 37.53287726197025), (-121.17103888337672, 37.45568932972217)),)]}" +"fireEvent/2023-01-01_0x8083950000000000","FireEvent","FireEvent at LatLong(39.15524:-122.65600) on 2023-01-01","2023-01-01","2023-01-01","P1D",1,1,"[LatLong 39.15524 -122.65600]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06033,dcid:northamerica,dcid:s2CellId/0x8083944400000000,dcid:s2CellId/0x8083946c00000000,dcid:s2CellId/0x8083950000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.02103 SquareKilometer]",2.02103,301.45,274.51,"n",0.82,"2023-01-01","{'type': 'Polygon', 'coordinates': (((-122.71813749631639, 39.18698471783738), (-122.71813749631639, 39.11241008566069), (-122.62774550019422, 39.140788234265145), (-122.62774550019422, 39.21537813301912), (-122.71813749631639, 39.18698471783738)),)}" +"fireEvent/2023-01-19_0x80da5f0000000000","FireEvent","FireEvent at LatLong(33.63016:-116.10640) on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.63016 -116.10640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da5e9c00000000,dcid:s2CellId/0x80da5f0000000000,dcid:s2CellId/0x80da670000000000,dcid:s2CellId/0x80da67e400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.53867 SquareKilometer]",2.53867,335.07,298.96,"n",3.35,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-116.13594306437999, 33.61826847586996), (-116.13594306437999, 33.70159871661542), (-116.04138886338704, 33.72297412899629), (-116.04138886338704, 33.63961794361283), (-116.13594306437999, 33.61826847586996)),), (((-115.94679974061097, 33.66089273880476), (-115.94679974061097, 33.577439763005614), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.63961794361283), (-115.94679974061097, 33.66089273880476)),)]}" +"fireEvent/2023-01-21_0x8084450000000000","FireEvent","FireEvent at LatLong(38.53926:-122.58817) on 2023-01-21","2023-01-21","2023-01-31","P11D",11,8,"[LatLong 38.53926 -122.58817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084446400000000,dcid:s2CellId/0x8084448400000000,dcid:s2CellId/0x808444bc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844f0000000000,dcid:s2CellId/0x80844f5c00000000,dcid:s2CellId/0x8084506c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a3c00000000,dcid:s2CellId/0x80845a8400000000,dcid:s2CellId/0x80845ab400000000,dcid:s2CellId/0x80845abc00000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845d0000000000,dcid:s2CellId/0x80845d7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",15,"[5.15431 SquareKilometer]",5.15431,346.56,295.09,"n",4.76,"2023-01-21,2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-28,2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.64450610716198), (-122.44672381753844, 38.67263711706448), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" +"fireEvent/2023-02-18_0x80ea5b0000000000","FireEvent","FireEvent at LatLong(35.47196:-119.19139) on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 35.47196 -119.19139]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea5a3400000000,dcid:s2CellId/0x80ea5a3c00000000,dcid:s2CellId/0x80ea5a4c00000000,dcid:s2CellId/0x80ea5b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.52191 SquareKilometer]",3.52191,301.47,271.49,"n",1.49,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.47625041156115), (-119.23207840138082, 35.396018943340835), (-119.13906420284766, 35.420553079599216), (-119.13906420284766, 35.50080836032674), (-119.23207840138082, 35.47625041156115)),)}" +"fireEvent/2023-01-30_0x8083530000000000","FireEvent","FireEvent at LatLong(39.27201:-121.79362) on 2023-01-30","2023-01-30","2023-01-31","P2D",2,2,"[LatLong 39.27201 -121.79362]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:northamerica,dcid:s2CellId/0x8083509400000000,dcid:s2CellId/0x808350bc00000000,dcid:s2CellId/0x8083510000000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083531400000000,dcid:s2CellId/0x80835aa400000000,dcid:s2CellId/0x80835b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.08444 SquareKilometer]",4.08444,353.2,286.72,"n",19.49,"2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.29864655751711), (-121.71954589932093, 39.27105917309169), (-121.81070794913828, 39.2434012936763), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.29055326593883), (-121.81070794913828, 39.31829606252554), (-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711)),)}" +"fireEvent/2023-03-26_0x8094790000000000","FireEvent","FireEvent at LatLong(36.78430:-120.11273) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 36.78430 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809477cc00000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x809479c400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.24538 SquareKilometer]",2.24538,336.19,293.13,"n",2.34,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.15893030899788, 36.810660560355714), (-120.06652363285929, 36.83637336328723), (-120.06652363285929, 36.75789822396875), (-120.06652363285929, 36.679343295179756)),)}" +"fireEvent/2023-03-15_0x80835d0000000000","FireEvent","FireEvent at LatLong(39.22798:-121.90749) on 2023-03-15","2023-03-15","2023-03-16","P2D",2,2,"[LatLong 39.22798 -121.90749]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x80835c0c00000000,dcid:s2CellId/0x80835d0000000000,dcid:s2CellId/0x80835f0000000000,dcid:s2CellId/0x80835f3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.04312 SquareKilometer]",2.04312,337.62,290.53,"n",4.12,"2023-03-15,2023-03-16","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.26274043589892), (-121.90179543138471, 39.29055326593883), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.14070749598967), (-121.99280779590266, 39.11292450020048), (-121.99280779590266, 39.18787518661573), (-121.99280779590266, 39.26274043589892)),)}" +"fireEvent/2023-02-04_0x80da430000000000","FireEvent","FireEvent at LatLong(33.50381:-116.08867) on 2023-02-04","2023-02-04","2023-02-05","P2D",2,2,"[LatLong 33.50381 -116.08867]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da430000000000,dcid:s2CellId/0x80da436400000000,dcid:s2CellId/0x80da5ce400000000,dcid:s2CellId/0x80da5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.54069 SquareKilometer]",2.54069,348.27,307.03,"n",3.33,"2023-02-04,2023-02-05","{'type': 'Polygon', 'coordinates': (((-116.04138886338704, 33.472693644443034), (-116.13594306437999, 33.45139667485967), (-116.13594306437999, 33.53486765773682), (-116.13594306437999, 33.61826847586996), (-116.04138886338704, 33.63961794361283), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.472693644443034)),)}" +"fireEvent/2023-02-02_0x809db10000000000","FireEvent","FireEvent at LatLong(40.23486:-120.66025) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.23486 -120.66025]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809db0f400000000,dcid:s2CellId/0x809db0fc00000000,dcid:s2CellId/0x809db10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.018 SquareKilometer]",2.018,305.3,262.39,"n",1.05,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 40.24294521918271), (-120.7120023484522, 40.168596011082016), (-120.61998952842978, 40.19549082752908), (-120.61998952842978, 40.26985179667404), (-120.7120023484522, 40.24294521918271)),)}" +"fireEvent/2023-02-20_0x80c3690000000000","FireEvent","FireEvent at LatLong(34.42872:-117.37927) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 34.42872 -117.37927]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3686c00000000,dcid:s2CellId/0x80c3690000000000,dcid:s2CellId/0x80c36f0000000000,dcid:s2CellId/0x80c36f1400000000,dcid:s2CellId/0x80c36f6c00000000,dcid:s2CellId/0x80c3720400000000,dcid:s2CellId/0x80c3730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.90832 SquareKilometer]",4.90832,355.21,304.63,"n",9.43,"2023-02-20","{'type': 'MultiPolygon', 'coordinates': [(((-117.4556388069492, 34.38460909769327), (-117.4556388069492, 34.46664522632916), (-117.4556388069492, 34.54860813299157), (-117.36164757079143, 34.57137699422246), (-117.36164757079143, 34.489389141032945), (-117.36164757079143, 34.40732785707689), (-117.4556388069492, 34.38460909769327)),), (((-117.54958462854715, 34.525765807815226), (-117.54958462854715, 34.607630244794315), (-117.4556388069492, 34.630497439767254), (-117.4556388069492, 34.54860813299157), (-117.54958462854715, 34.525765807815226)),)]}" +"fireEvent/2023-02-08_0x8084fd0000000000","FireEvent","FireEvent at LatLong(38.50499:-122.18028) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.50499 -122.18028]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8084fccc00000000,dcid:s2CellId/0x8084fd0000000000,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x808501cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.07628 SquareKilometer]",2.07628,326.07,293.6,"n",2.23,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.502468904624024), (-122.17460498684162, 38.53034631548853), (-122.17460498684162, 38.45475400902146), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.502468904624024)),), (((-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486)),)]}" +"fireEvent/2023-02-13_0x54d2cf0000000000","FireEvent","FireEvent at LatLong(40.33882:-122.23019) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 40.33882 -122.23019]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06103,dcid:northamerica,dcid:s2CellId/0x54d2cf0000000000,dcid:s2CellId/0x54d2cf4400000000,dcid:s2CellId/0x54d2cf5c00000000,dcid:s2CellId/0x54d2cf6400000000,dcid:s2CellId/0x54d2cf6c00000000,dcid:s2CellId/0x54d2d10000000000,dcid:s2CellId/0x54d2d18400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.96764 SquareKilometer]",2.96764,345.4,296.49,"n",8.2,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.21841379971892, 40.379400310140525), (-122.15098615943583, 40.326535161629536), (-122.24194930724602, 40.29828030933025), (-122.33283494131578, 40.26995470792364), (-122.40046668560171, 40.322591065014805), (-122.3094793837314, 40.35103111609896), (-122.21841379971892, 40.379400310140525)),)}" +"fireEvent/2023-02-06_0x80915b0000000000","FireEvent","FireEvent at LatLong(37.30542:-120.48184) on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 37.30542 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091430000000000,dcid:s2CellId/0x8091434c00000000,dcid:s2CellId/0x80914f0000000000,dcid:s2CellId/0x80914f9400000000,dcid:s2CellId/0x80914fec00000000,dcid:s2CellId/0x8091501400000000,dcid:s2CellId/0x8091510000000000,dcid:s2CellId/0x80915acc00000000,dcid:s2CellId/0x80915b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.41107 SquareKilometer]",4.41107,356.61,284.68,"n",6.12,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-120.34355063422758, 37.305669184325005), (-120.3435506342276, 37.38343796695286), (-120.25127284433846, 37.4094525873983), (-120.25127284433846, 37.33166450998572), (-120.25127284433846, 37.25379475261621), (-120.3435506342276, 37.227818933892436), (-120.43576307692442, 37.20177205672942), (-120.43576307692442, 37.27960268252231), (-120.34355063422758, 37.305669184325005)),), (((-120.52790957361556, 37.3311951171772), (-120.43576307692442, 37.35735205316665), (-120.43576307692442, 37.27960268252231), (-120.52790957361556, 37.25346527602409), (-120.52790957361556, 37.3311951171772)),)]}" +"fireEvent/2023-02-06_0x8090750000000000","FireEvent","FireEvent at LatLong(38.04605:-121.12521) on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 38.04605 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x809071ec00000000,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090751400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.13425 SquareKilometer]",2.13425,326.64,277.29,"n",3.01,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" +"fireEvent/2023-01-26_0x8084e70000000000","FireEvent","FireEvent at LatLong(38.60981:-122.03829) on 2023-01-26","2023-01-26","2023-01-26","P1D",1,1,"[LatLong 38.60981 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084e70000000000,dcid:s2CellId/0x8084e7c400000000,dcid:s2CellId/0x8084e8fc00000000,dcid:s2CellId/0x8084e90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07117 SquareKilometer]",2.07117,348.12,291.67,"n",4.91,"2023-01-26","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.585896319149406), (-122.08374449567626, 38.55815555109186), (-122.08374449567626, 38.63368138324296), (-122.08374449567626, 38.7091235838646), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.585896319149406)),)}" +"fireEvent/2023-03-07_0x8094a50000000000","FireEvent","FireEvent at LatLong(36.20234:-119.99140) on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 36.20234 -119.99140]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a4c400000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094ae5c00000000,dcid:s2CellId/0x8094af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.28421 SquareKilometer]",2.28421,332.69,294.9,"n",2.39,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),)}" +"fireEvent/2023-02-08_0x809b990000000000","FireEvent","FireEvent at LatLong(39.21832:-120.75798) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.21832 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06061,dcid:northamerica,dcid:s2CellId/0x809b990000000000,dcid:s2CellId/0x809b996400000000,dcid:s2CellId/0x809b997400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.07602 SquareKilometer]",2.07602,305.34,276.36,"n",1.07,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 39.24263772504066), (-120.80394744373855, 39.16714989698495), (-120.7120023484522, 39.193946808225185), (-120.7120023484522, 39.269449088826086), (-120.80394744373855, 39.24263772504066)),)}" +"fireEvent/2023-02-17_0x80848f0000000000","FireEvent","FireEvent at LatLong(38.85551:-122.22001) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.85551 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80848f9400000000,dcid:s2CellId/0x80848fc400000000,dcid:s2CellId/0x80848fcc00000000,dcid:s2CellId/0x80848fec00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[4.10527 SquareKilometer]",4.10527,342.34,291.77,"n",23.31,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.80393792806426), (-122.17460498684162, 38.83188135199408), (-122.17460498684162, 38.907055393086274), (-122.26538872869685, 38.87909599346539)),)}" +"fireEvent/2023-01-27_0x80d5d10000000000","FireEvent","FireEvent at LatLong(32.68570:-114.00123) on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.68570 -114.00123]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d5d10000000000,dcid:s2CellId/0x80d5d11c00000000,dcid:s2CellId/0x80d5d6ec00000000,dcid:s2CellId/0x80d5d70000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[2.63233 SquareKilometer]",2.63233,351.31,297.55,"n",9.3,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-113.95364658268294, 32.73786508789439), (-113.95364658268294, 32.652753258290254), (-114.0488007261198, 32.63350963491579), (-114.14393537153407, 32.61418990174488), (-114.14393537153407, 32.69924914124556), (-114.0488007261198, 32.71859524067644), (-113.95364658268294, 32.73786508789439)),)}" +"fireEvent/2023-01-12_0x80d65d0000000000","FireEvent","FireEvent at LatLong(32.59410:-114.57772) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.59410 -114.57772]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65c3400000000,dcid:s2CellId/0x80d65d0000000000,dcid:s2CellId/0x80d65e6400000000,dcid:s2CellId/0x80d65e6c00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",5,"[3.9386 SquareKilometer]",3.9386,367.0,293.19,"n",16.15,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 32.53615314436677), (-114.61928990191176, 32.516455336320426), (-114.61928990191176, 32.601380600508776), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.53615314436677)),)}" +"fireEvent/2023-02-13_0x8095170000000000","FireEvent","FireEvent at LatLong(36.56427:-119.18558) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 36.56427 -119.18558]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095170000000000,dcid:s2CellId/0x809517b400000000,dcid:s2CellId/0x809517bc00000000,dcid:s2CellId/0x80953d0000000000,dcid:s2CellId/0x80953d0c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.28707 SquareKilometer]",2.28707,328.26,287.55,"n",4.19,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 36.59139591977724), (-119.13906420284766, 36.616264807982425), (-119.13906420284766, 36.53710170085306), (-119.13906420284766, 36.45785850302791), (-119.23207840138082, 36.433031486044094), (-119.23207840138082, 36.512253642746515), (-119.23207840138082, 36.59139591977724)),)}" +"fireEvent/2023-02-17_0x8084c10000000000","FireEvent","FireEvent at LatLong(38.80086:-121.95300) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.80086 -121.95300]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c05c00000000,dcid:s2CellId/0x8084c06400000000,dcid:s2CellId/0x8084c10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.06506 SquareKilometer]",2.06506,342.8,271.77,"n",6.09,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.83999267404077), (-121.99280779590266, 38.81227184229434)),)}" +"fireEvent/2023-02-23_0x80eae30000000000","FireEvent","FireEvent at LatLong(35.71937:-119.37149) on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.71937 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae30000000000,dcid:s2CellId/0x80eae36400000000,dcid:s2CellId/0x80eae3ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.32886 SquareKilometer]",2.32886,326.92,287.13,"n",3.53,"2023-02-23","{'type': 'Polygon', 'coordinates': (((-119.41793235298398, 35.74689982999827), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799), (-119.41793235298398, 35.74689982999827)),)}" +"fireEvent/2023-02-22_0x80946f0000000000","FireEvent","FireEvent at LatLong(36.86831:-119.93358) on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 36.86831 -119.93358]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x80946e7c00000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b2400000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x80947d6c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.37541 SquareKilometer]",3.37541,345.34,287.31,"n",7.49,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.97405342347365, 36.86201501351553), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.86201501351553)),), (((-119.97405342347365, 36.62628796342359), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.06652363285929, 36.75789822396875), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.70494345038081), (-119.97405342347365, 36.62628796342359)),)]}" +"fireEvent/2023-03-20_0x80d6f50000000000","FireEvent","FireEvent at LatLong(32.77368:-114.53020) on 2023-03-20","2023-03-20","2023-03-20","P1D",1,1,"[LatLong 32.77368 -114.53020]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d6f4b400000000,dcid:s2CellId/0x80d6f4cc00000000,dcid:s2CellId/0x80d6f4d400000000,dcid:s2CellId/0x80d6f50000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[3.92795 SquareKilometer]",3.92795,346.35,283.56,"n",5.98,"2023-03-20","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.771030052053916), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.790808521465856), (-114.61928990191176, 32.771030052053916)),)}" +"fireEvent/2023-01-19_0x80dd350000000000","FireEvent","FireEvent at LatLong(33.87834:-118.34619) on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b52400000000,dcid:s2CellId/0x80c2b53400000000,dcid:s2CellId/0x80dd345c00000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.69779 SquareKilometer]",3.69779,296.75,282.83,"n",1.59,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),), (((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),)]}" +"fireEvent/2023-02-02_0x54cb8f0000000000","FireEvent","FireEvent at LatLong(41.47058:-120.70951) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 41.47058 -120.70951]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06049,dcid:northamerica,dcid:s2CellId/0x54cb8f0000000000,dcid:s2CellId/0x54cb8f4400000000,dcid:s2CellId/0x54cb8f5400000000,dcid:s2CellId/0x54cb8f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06277 SquareKilometer]",3.06277,327.62,272.03,"n",5.28,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.69596078270568, 41.51225665619832), (-120.78974579669705, 41.48457453497503), (-120.72303221281992, 41.42894920721651), (-120.62936599977766, 41.45651647172395), (-120.69596078270568, 41.51225665619832)),)}" +"fireEvent/2023-01-27_0x80d65f0000000000","FireEvent","FireEvent at LatLong(32.62272:-114.54208) on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.62272 -114.54208]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65e0c00000000,dcid:s2CellId/0x80d65e3400000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.6251 SquareKilometer]",2.6251,367.0,298.2,"n",4.84,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" +"fireEvent/2023-02-16_0x80d7490000000000","FireEvent","FireEvent at LatLong(33.07521:-115.34895) on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 33.07521 -115.34895]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d748e400000000,dcid:s2CellId/0x80d748ec00000000,dcid:s2CellId/0x80d7490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.58433 SquareKilometer]",2.58433,340.42,296.24,"n",4.19,"2023-02-16","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 33.11612672382202), (-115.3785719022423, 33.03195811961158), (-115.28375849518459, 33.052472062640916), (-115.28375849518459, 33.13666731039678), (-115.3785719022423, 33.11612672382202)),)}" +"fireEvent/2023-02-13_0x80d13b0000000000","FireEvent","FireEvent at LatLong(33.58312:-114.57178) on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 33.58312 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d1390000000000,dcid:s2CellId/0x80d1397c00000000,dcid:s2CellId/0x80d1398400000000,dcid:s2CellId/0x80d13a2c00000000,dcid:s2CellId/0x80d13b0000000000,dcid:s2CellId/0x80d13bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[5.14447 SquareKilometer]",5.14447,355.7,289.95,"n",15.57,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-114.71429184441094, 33.51096047591866), (-114.71429184441094, 33.59502928061842), (-114.61928990191176, 33.615140915382845), (-114.52426397902158, 33.635175624754545), (-114.52426397902158, 33.55105718216274), (-114.61928990191176, 33.53104722357586), (-114.71429184441094, 33.51096047591866)),)}" +"fireEvent/2023-02-22_0x80d9df0000000000","FireEvent","FireEvent at LatLong(32.74909:-115.71018) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 32.74909 -115.71018]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d9df0000000000,dcid:s2CellId/0x80d9dfb400000000,dcid:s2CellId/0x80d9dfbc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59256 SquareKilometer]",2.59256,306.94,283.45,"n",1.61,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-115.75751959733307, 32.78083278420529), (-115.75751959733307, 32.69657070793154), (-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.80158972121298), (-115.75751959733307, 32.78083278420529)),)}" +"fireEvent/2023-02-08_0x80d7c50000000000","FireEvent","FireEvent at LatLong(32.08173:-115.14741) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 32.08173 -115.14741]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7c4dc00000000,dcid:s2CellId/0x80d7c4e400000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7c52400000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c95c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.96094 SquareKilometer]",3.96094,342.0,304.14,"n",39.56,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.07704259018568), (-115.18891595142229, 32.057010591540205), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),), (((-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053)),)]}" +"fireEvent/2023-01-02_0x80c2c30000000000","FireEvent","FireEvent at LatLong(34.17095:-118.15908) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.17095 -118.15908]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2c30000000000,dcid:s2CellId/0x80c2c3c400000000,dcid:s2CellId/0x80c2c3cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45141 SquareKilometer]",2.45141,298.34,277.71,"n",0.45,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 34.2002433918674), (-118.20587682407124, 34.118342161375), (-118.1122678531936, 34.14161353880244), (-118.1122678531936, 34.22354120793316), (-118.20587682407124, 34.2002433918674)),)}" +"fireEvent/2023-01-17_0x80d9310000000000","FireEvent","FireEvent at LatLong(32.36765:-117.03233) on 2023-01-17","2023-01-17","2023-01-17","P1D",1,1,"[LatLong 32.36765 -117.03233]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9310000000000,dcid:s2CellId/0x80d9316400000000,dcid:s2CellId/0x80d9316c00000000,dcid:wikidataId/Q2088119,dcid:wikidataId/Q58731",3,"[2.5781 SquareKilometer]",2.5781,304.21,280.73,"n",1.05,"2023-01-17","{'type': 'Polygon', 'coordinates': (((-117.07940822560565, 32.39872950090179), (-117.07940822560565, 32.31480850427524), (-116.98524219342079, 32.33651897516448), (-116.98524219342079, 32.42047001297981), (-117.07940822560565, 32.39872950090179)),)}" +"fireEvent/2023-01-22_0x80d7730000000000","FireEvent","FireEvent at LatLong(32.66256:-115.33117) on 2023-01-22","2023-01-22","2023-01-24","P3D",3,2,"[LatLong 32.66256 -115.33117]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7730000000000,dcid:s2CellId/0x80d7734400000000,dcid:s2CellId/0x80d7770000000000,dcid:s2CellId/0x80d777e400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61009 SquareKilometer]",2.61009,332.31,298.7,"n",2.4,"2023-01-22,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.69460416981107), (-115.28375849518459, 32.71500954782312), (-115.28375849518459, 32.63047572713295), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.69460416981107)),), (((-115.3785719022423, 32.52552561351063), (-115.47335544292073, 32.505101778412154), (-115.47335544292073, 32.58964617062371), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.52552561351063)),)]}" +"fireEvent/2023-02-08_0x8084bd0000000000","FireEvent","FireEvent at LatLong(38.91874:-121.99849) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.91874 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962c00000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084ba5c00000000,dcid:s2CellId/0x8084bb0000000000,dcid:s2CellId/0x8084bd0000000000,dcid:s2CellId/0x8084bd3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.08578 SquareKilometer]",3.08578,333.72,292.7,"n",6.89,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.99052003451348), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 38.942965923417724), (-121.90179543138471, 38.91529872827276), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-121.99280779590266, 38.96276770349571), (-121.90179543138471, 38.99052003451348)),)}" +"fireEvent/2023-02-10_0x80d7b50000000000","FireEvent","FireEvent at LatLong(32.38917:-114.89829) on 2023-02-10","2023-02-10","2023-02-12","P3D",3,3,"[LatLong 32.38917 -114.89829]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d64cb400000000,dcid:s2CellId/0x80d64d0000000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b5cc00000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c91c00000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb6c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27073 SquareKilometer]",5.27073,341.66,301.14,"n",12.68,"2023-02-10,2023-02-11,2023-02-12","{'type': 'MultiPolygon', 'coordinates': [(((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726)),), (((-114.80926906488743, 32.47683458066355), (-114.80926906488743, 32.39189787714385), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.45691198535573), (-114.80926906488743, 32.47683458066355)),)]}" +"fireEvent/2023-03-25_0x8084c10000000000","FireEvent","FireEvent at LatLong(38.80681:-121.96437) on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 38.80681 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c06c00000000,dcid:s2CellId/0x8084c10000000000,dcid:s2CellId/0x8084c25400000000,dcid:s2CellId/0x8084c30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.06751 SquareKilometer]",2.06751,326.05,293.34,"n",5.44,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.90179543138471, 38.83999267404077), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.81227184229434)),)}" +"fireEvent/2023-01-22_0x80cf430000000000","FireEvent","FireEvent at LatLong(35.53371:-115.45559) on 2023-01-22","2023-01-22","2023-01-22","P1D",1,1,"[LatLong 35.53371 -115.45559]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf42c400000000,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf5cbc00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.44 SquareKilometer]",2.44,346.66,281.4,"n",5.03,"2023-01-22","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472)),)}" +"fireEvent/2023-01-28_0x80c3130000000000","FireEvent","FireEvent at LatLong(34.49466:-117.61415) on 2023-01-28","2023-01-28","2023-01-28","P1D",1,1,"[LatLong 34.49466 -117.61415]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3126c00000000,dcid:s2CellId/0x80c312b400000000,dcid:s2CellId/0x80c3130000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.44911 SquareKilometer]",2.44911,321.27,273.97,"n",2.81,"2023-01-28","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 34.502850247756115), (-117.64348435403741, 34.42093763167103), (-117.54958462854715, 34.4438279801098), (-117.54958462854715, 34.525765807815226), (-117.64348435403741, 34.502850247756115)),)}" +"fireEvent/2023-01-31_0x80d13f0000000000","FireEvent","FireEvent at LatLong(33.64814:-114.63710) on 2023-01-31","2023-01-31","2023-02-02","P3D",3,2,"[LatLong 33.64814 -114.63710]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d13c3400000000,dcid:s2CellId/0x80d13d0000000000,dcid:s2CellId/0x80d13e5400000000,dcid:s2CellId/0x80d13f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.56762 SquareKilometer]",2.56762,342.18,295.34,"n",6.63,"2023-01-31,2023-02-02","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.71922177939378), (-114.52426397902158, 33.635175624754545), (-114.61928990191176, 33.615140915382845), (-114.71429184441094, 33.59502928061842), (-114.71429184441097, 33.67902618540428), (-114.61928990191176, 33.69916251294337), (-114.52426397902158, 33.71922177939378)),)}" +"fireEvent/2023-02-10_0x80c3570000000000","FireEvent","FireEvent at LatLong(34.23570:-117.22058) on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.23570 -117.22058]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3570000000000,dcid:s2CellId/0x80c3576c00000000,dcid:s2CellId/0x80c3577400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.47226 SquareKilometer]",2.47226,333.96,286.31,"n",4.91,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-117.26761160397515, 34.26558118262346), (-117.26761160397515, 34.18327624878457), (-117.17353159273283, 34.20577201206521), (-117.17353159273283, 34.28810246007675), (-117.26761160397515, 34.26558118262346)),)}" +"fireEvent/2023-02-20_0x54d3e30000000000","FireEvent","FireEvent at LatLong(40.93394:-123.88475) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 40.93394 -123.88475]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d15e3400000000,dcid:s2CellId/0x54d15e4c00000000,dcid:s2CellId/0x54d15f0000000000,dcid:s2CellId/0x54d15fb400000000,dcid:s2CellId/0x54d3e10000000000,dcid:s2CellId/0x54d3e1f400000000,dcid:s2CellId/0x54d3e1fc00000000,dcid:s2CellId/0x54d3e21c00000000,dcid:s2CellId/0x54d3e30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[6.10311 SquareKilometer]",6.10311,343.04,294.93,"n",46.97,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-124.01120455766761, 40.849147421528926), (-123.91946070957886, 40.87972665089066), (-123.99050231911558, 40.93193999734144), (-123.8985725188299, 40.962569950683395), (-123.8276237504466, 40.91023590743991), (-123.7568661838358, 40.85791688622407), (-123.84860998990712, 40.827527949546344), (-123.94026150527637, 40.79706911642794), (-124.01120455766761, 40.849147421528926)),)}" +"fireEvent/2023-02-08_0x8083590000000000","FireEvent","FireEvent at LatLong(39.27349:-121.63401) on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 39.27349 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808354cc00000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083590000000000,dcid:s2CellId/0x8083591c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x8084a99400000000,dcid:s2CellId/0x8084aaa400000000,dcid:s2CellId/0x8084ab0000000000,dcid:s2CellId/0x8084af0000000000,dcid:s2CellId/0x8084afdc00000000,dcid:s2CellId/0x8084b30000000000,dcid:s2CellId/0x8084b39c00000000,dcid:s2CellId/0x809b510000000000,dcid:s2CellId/0x809b515400000000,dcid:s2CellId/0x809b540400000000,dcid:s2CellId/0x809b550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",16,"[8.21246 SquareKilometer]",8.21246,340.24,293.12,"n",20.04,"2023-02-08,2023-02-09,2023-02-10","{'type': 'MultiPolygon', 'coordinates': [(((-121.81070794913828, 39.16842067392795), (-121.90179543138471, 39.14070749598967), (-121.90179543138471, 39.21567320309416), (-121.81070794913828, 39.2434012936763), (-121.81070794913828, 39.16842067392795)),), (((-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.62830983522124, 39.29864655751711), (-121.62830983522124, 39.22363643515711), (-121.53700031324804, 39.25113845152714), (-121.53700031324804, 39.1760274894232), (-121.62830983522124, 39.148540269420884), (-121.71954589932093, 39.12098248645304), (-121.71954589932093, 39.045815609296426), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 39.09335442361682)),), (((-121.62830983522124, 38.99809069591985), (-121.71954589932093, 38.970563341057584), (-121.71954589932093, 39.045815609296426), (-121.62830983522124, 39.07335828179249), (-121.62830983522124, 38.99809069591985)),), (((-121.53700031324804, 39.1760274894232), (-121.44561789291927, 39.203443864834576), (-121.44561789291927, 39.12823197970606), (-121.53700031324804, 39.10083049925948), (-121.53700031324804, 39.1760274894232)),)]}" +"fireEvent/2023-01-06_0x80cf5d0000000000","FireEvent","FireEvent at LatLong(35.55573:-115.42597) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 35.55573 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf432c00000000,dcid:s2CellId/0x80cf5cac00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.43909 SquareKilometer]",2.43909,343.4,283.86,"n",3.87,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345)),)}" +"fireEvent/2023-01-02_0x80d7af0000000000","FireEvent","FireEvent at LatLong(32.44097:-115.00508) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.44097 -115.00508]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7ae0400000000,dcid:s2CellId/0x80d7ae1c00000000,dcid:s2CellId/0x80d7af0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62574 SquareKilometer]",2.62574,345.79,300.55,"n",33.0,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224), (-114.99914638140322, 32.43691481682768), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783)),)}" +"fireEvent/2023-02-15_0x8092db0000000000","FireEvent","FireEvent at LatLong(35.89531:-121.03351) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 35.89531 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x8092db0000000000,dcid:s2CellId/0x8092dbec00000000,dcid:s2CellId/0x8092dbf400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.26338 SquareKilometer]",2.26338,333.02,292.38,"n",3.38,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 35.92160807483137), (-121.07937052658627, 35.842757347952094), (-120.98763211526173, 35.8689609102411), (-120.98763211526173, 35.947835377412154), (-121.07937052658627, 35.92160807483137)),)}" +"fireEvent/2023-02-14_0x8094a50000000000","FireEvent","FireEvent at LatLong(36.19279:-120.02608) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.19279 -120.02608]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a45c00000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af3400000000,dcid:s2CellId/0x8094b27400000000,dcid:s2CellId/0x8094b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.42808 SquareKilometer]",3.42808,335.21,293.78,"n",5.68,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),), (((-119.881520291274, 36.0988488632732), (-119.881520291274, 36.01954412977965), (-119.97405342347365, 35.99421140364652), (-119.97405342347365, 36.07349347026282), (-119.881520291274, 36.0988488632732)),)]}" +"fireEvent/2023-02-12_0x80921d0000000000","FireEvent","FireEvent at LatLong(36.79488:-121.35988) on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 36.79488 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x80921c1c00000000,dcid:s2CellId/0x80921c2400000000,dcid:s2CellId/0x80921d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.20223 SquareKilometer]",2.20223,340.59,291.48,"n",9.06,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 36.83295988739003), (-121.44561789291927, 36.75519608151651), (-121.35416313685073, 36.78196379162144), (-121.35416313685073, 36.85974897343489), (-121.44561789291927, 36.83295988739003)),)}" +"fireEvent/2023-03-08_0x8084c50000000000","FireEvent","FireEvent at LatLong(38.71304:-121.94731) on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 38.71304 -121.94731]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c30000000000,dcid:s2CellId/0x8084c37c00000000,dcid:s2CellId/0x8084c48400000000,dcid:s2CellId/0x8084c50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07172 SquareKilometer]",2.07172,327.93,290.03,"n",5.75,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 38.792237598880945), (-121.81070794913828, 38.71674657625675), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.81070794913828, 38.792237598880945)),)}" +"fireEvent/2023-01-29_0x54d4790000000000","FireEvent","FireEvent at LatLong(40.49879:-123.77534) on 2023-01-29","2023-01-29","2023-01-31","P3D",3,2,"[LatLong 40.49879 -123.77534]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d3883c00000000,dcid:s2CellId/0x54d3890000000000,dcid:s2CellId/0x54d4790000000000,dcid:s2CellId/0x54d4799400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.00192 SquareKilometer]",2.00192,332.71,281.19,"n",4.41,"2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-123.70049822514551, 40.42522833582968), (-123.79132396242879, 40.39527764865095), (-123.86141054001804, 40.44690605911238), (-123.77049305755222, 40.47697512444182), (-123.70049822514551, 40.42522833582968)),), (((-123.84067520047952, 40.528738100451406), (-123.7495757059824, 40.558857301706794), (-123.67948580703302, 40.50697565055471), (-123.77049305755222, 40.47697512444182), (-123.84067520047952, 40.528738100451406)),)]}" +"fireEvent/2023-01-23_0x80d7a30000000000","FireEvent","FireEvent at LatLong(32.42898:-115.23634) on 2023-01-23","2023-01-23","2023-01-24","P2D",2,2,"[LatLong 32.42898 -115.23634]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a30000000000,dcid:s2CellId/0x80d7a32c00000000,dcid:s2CellId/0x80d7a61c00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.6215 SquareKilometer]",2.6215,325.92,278.0,"n",2.75,"2023-01-23,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.396697488156796), (-115.28375849518459, 32.376477697313184), (-115.28375849518459, 32.46120935428951), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.396697488156796)),), (((-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709)),)]}" +"fireEvent/2023-02-15_0x8084190000000000","FireEvent","FireEvent at LatLong(38.55466:-122.94377) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 38.55466 -122.94377]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084190000000000,dcid:s2CellId/0x8084194c00000000,dcid:s2CellId/0x8084195c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",3,"[2.04397 SquareKilometer]",2.04397,353.88,288.49,"n",12.23,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.98883185517735, 38.57795549626145), (-122.98883185517735, 38.50284704939158), (-122.89868119049753, 38.531311728977435), (-122.89868119049753, 38.60643726233182), (-122.98883185517735, 38.57795549626145)),)}" +"fireEvent/2023-02-22_0x8090f90000000000","FireEvent","FireEvent at LatLong(37.81896:-120.84989) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 37.81896 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f7f400000000,dcid:s2CellId/0x8090f81c00000000,dcid:s2CellId/0x8090f90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.16141 SquareKilometer]",2.16141,353.83,289.55,"n",5.74,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 37.71662016196677), (-120.89582422732902, 37.69006636052178), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.80394744373855, 37.71662016196677)),)}" +"fireEvent/2023-02-22_0x809ab50000000000","FireEvent","FireEvent at LatLong(38.28943:-121.57696) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.28943 -121.57696]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809ab45400000000,dcid:s2CellId/0x809ab50000000000,dcid:s2CellId/0x809ac90000000000,dcid:s2CellId/0x809ac97c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.10594 SquareKilometer]",2.10594,332.24,288.45,"n",4.85,"2023-02-22","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.26805113233758), (-121.62830983522124, 38.24075768997389), (-121.62830983522124, 38.31686847929773), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.26805113233758)),), (((-121.53700031324804, 38.420223862477606), (-121.44561789291927, 38.44748195173517), (-121.44561789291927, 38.37142033485118), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.420223862477606)),)]}" +"fireEvent/2023-02-01_0x809c930000000000","FireEvent","FireEvent at LatLong(39.63644:-121.12521) on 2023-02-01","2023-02-01","2023-02-01","P1D",1,1,"[LatLong 39.63644 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809c930000000000,dcid:s2CellId/0x809c938400000000,dcid:s2CellId/0x809c939400000000,dcid:s2CellId/0x809c939c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06163 SquareKilometer]",3.06163,344.42,280.12,"n",6.24,"2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.07937052658627, 39.612604240032645), (-121.07937052658627, 39.68743721730411), (-121.1710388833767, 39.66023770903055)),)}" +"fireEvent/2023-02-13_0x8090090000000000","FireEvent","FireEvent at LatLong(38.04167:-121.39990) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 38.04167 -121.39990]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090090000000000,dcid:s2CellId/0x809009f400000000,dcid:s2CellId/0x809aa0e400000000,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa12400000000,dcid:s2CellId/0x809aa22c00000000,dcid:s2CellId/0x809aa30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.18813 SquareKilometer]",3.18813,332.26,295.34,"n",5.05,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.35416313685073, 38.016945946005436), (-121.44561789291927, 37.989862251655644), (-121.44561789291927, 38.06633970127007), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.016945946005436)),), (((-121.35416313685073, 38.24618318229601), (-121.26263661074441, 38.273250034494005), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.35416313685073, 38.24618318229601)),)]}" +"fireEvent/2023-03-26_0x809aad0000000000","FireEvent","FireEvent at LatLong(38.14008:-121.58266) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.14008 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809aad0000000000,dcid:s2CellId/0x809aad9c00000000,dcid:s2CellId/0x809ab10000000000,dcid:s2CellId/0x809ab16400000000,dcid:s2CellId/0x809ab17c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.17023 SquareKilometer]",3.17023,339.33,296.01,"n",4.24,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.11554557922101), (-121.62830983522124, 38.08828737798534), (-121.62830983522124, 38.164563906252226), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.11554557922101)),), (((-121.53700031324804, 38.26805113233758), (-121.44561789291927, 38.295275053513606), (-121.44561789291927, 38.21904635446754), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.26805113233758)),)]}" +"fireEvent/2023-03-07_0x80a27b0000000000","FireEvent","FireEvent at LatLong(39.61225:-118.55062) on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 39.61225 -118.55062]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32001,dcid:northamerica,dcid:s2CellId/0x80a27a4c00000000,dcid:s2CellId/0x80a27a5400000000,dcid:s2CellId/0x80a27abc00000000,dcid:s2CellId/0x80a27aec00000000,dcid:s2CellId/0x80a27af400000000,dcid:s2CellId/0x80a27afc00000000,dcid:s2CellId/0x80a27b0000000000,dcid:s2CellId/0x80a27b2400000000,dcid:s2CellId/0x80a27b3400000000,dcid:s2CellId/0x80a27b3c00000000,dcid:s2CellId/0x80a27bac00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",11,"[7.40379 SquareKilometer]",7.40379,352.23,283.64,"n",17.63,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-118.57979810860881, 39.63771777073999), (-118.57979810860881, 39.56163680447531), (-118.4863962961138, 39.5865742114197), (-118.4863962961138, 39.66266778628226), (-118.57979810860881, 39.63771777073999)),)}" +"fireEvent/2023-02-03_0x80e8350000000000","FireEvent","FireEvent at LatLong(34.26672:-118.97033) on 2023-02-03","2023-02-03","2023-02-03","P1D",1,1,"[LatLong 34.26672 -118.97033]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8341400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd0400000000,dcid:s2CellId/0x80e9cd1c00000000,dcid:s2CellId/0x80e9cd7c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.83745 SquareKilometer]",4.83745,339.7,295.52,"n",5.02,"2023-02-03","{'type': 'MultiPolygon', 'coordinates': [(((-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918)),), (((-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.41868959827641)),)]}" +"fireEvent/2023-02-14_0x8083250000000000","FireEvent","FireEvent at LatLong(39.64036:-121.85626) on 2023-02-14","2023-02-14","2023-02-17","P4D",4,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083257c00000000,dcid:s2CellId/0x8083258400000000,dcid:s2CellId/0x8083259c00000000,dcid:s2CellId/0x808325bc00000000,dcid:s2CellId/0x80832f0000000000,dcid:s2CellId/0x80832fbc00000000,dcid:s2CellId/0x80833ac400000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.03851 SquareKilometer]",4.03851,345.96,293.21,"n",15.18,"2023-02-14,2023-02-15,2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.71954589932093, 39.71921697980668), (-121.71954589932093, 39.64474111961013), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624)),)}" +"fireEvent/2023-03-11_0x80938d0000000000","FireEvent","FireEvent at LatLong(36.78493:-120.26858) on 2023-03-11","2023-03-11","2023-03-13","P3D",3,2,"[LatLong 36.78493 -120.26858]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x80938c1c00000000,dcid:s2CellId/0x80938c2400000000,dcid:s2CellId/0x80938c3c00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x80938ea400000000,dcid:s2CellId/0x80938f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.35804 SquareKilometer]",3.35804,339.25,291.16,"n",7.09,"2023-03-11,2023-03-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.25127284433846, 36.706443376822236), (-120.34355063422758, 36.680610078824635), (-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489)),)}" +"fireEvent/2023-02-15_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.51748:-122.58252) on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.51748 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084454c00000000,dcid:s2CellId/0x8084570000000000,dcid:s2CellId/0x8084572400000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845b5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",6,"[3.09508 SquareKilometer]",3.09508,336.42,291.53,"n",3.5,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429)),), (((-122.35609518371197, 38.47452361214821), (-122.44672381753844, 38.44651073306092), (-122.44672381753844, 38.52196905593188), (-122.35609518371197, 38.549998981659485), (-122.35609518371197, 38.47452361214821)),)]}" +"fireEvent/2023-01-01_0x80d7b50000000000","FireEvent","FireEvent at LatLong(32.16937:-114.85675) on 2023-01-01","2023-01-01","2023-01-05","P5D",5,4,"[LatLong 32.16937 -114.85675]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6330000000000,dcid:s2CellId/0x80d6337400000000,dcid:s2CellId/0x80d6337c00000000,dcid:s2CellId/0x80d6338c00000000,dcid:s2CellId/0x80d6339400000000,dcid:s2CellId/0x80d633ec00000000,dcid:s2CellId/0x80d633f400000000,dcid:s2CellId/0x80d6343c00000000,dcid:s2CellId/0x80d6344400000000,dcid:s2CellId/0x80d634e400000000,dcid:s2CellId/0x80d6350000000000,dcid:s2CellId/0x80d6351c00000000,dcid:s2CellId/0x80d7b4d400000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b6cc00000000,dcid:s2CellId/0x80d7b6d400000000,dcid:s2CellId/0x80d7b70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",17,"[11.87124 SquareKilometer]",11.87124,367.0,344.76,"n",83.76,"2023-01-01,2023-01-02,2023-01-03,2023-01-05","{'type': 'MultiPolygon', 'coordinates': [(((-114.99914638140322, 32.26708735189506), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.33199011749119), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726), (-114.99914638140322, 32.26708735189506)),), (((-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.13669611068431), (-114.90422082333554, 32.11688553304868), (-114.90422082333554, 32.20198930823536), (-114.90422082333554, 32.287028613932726), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.22182818489056)),)]}" +"fireEvent/2023-02-22_0x809aa70000000000","FireEvent","FireEvent at LatLong(38.14519:-121.30841) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.14519 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa14c00000000,dcid:s2CellId/0x809aa6c400000000,dcid:s2CellId/0x809aa70000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12355 SquareKilometer]",2.12355,328.55,287.85,"n",2.58,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.06633970127007), (-121.44561789291927, 38.14273448666555), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.44561789291927, 38.06633970127007)),)}" +"fireEvent/2023-02-08_0x809c950000000000","FireEvent","FireEvent at LatLong(39.60965:-121.19967) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.60965 -121.19967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809c945c00000000,dcid:s2CellId/0x809c94f400000000,dcid:s2CellId/0x809c950000000000,dcid:s2CellId/0x809c957c00000000,dcid:s2CellId/0x809cbf0000000000,dcid:s2CellId/0x809cbfd400000000,dcid:s2CellId/0x809cbfdc00000000,dcid:s2CellId/0x809cbfe400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[6.11717 SquareKilometer]",6.11717,337.78,287.95,"n",3.89,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.26263661074441, 39.55815975879043), (-121.35416313685073, 39.53082922928807), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.1710388833767, 39.66023770903055)),)}" +"fireEvent/2023-02-02_0x80d7b90000000000","FireEvent","FireEvent at LatLong(32.26175:-115.09998) on 2023-02-02","2023-02-02","2023-02-04","P3D",3,2,"[LatLong 32.26175 -115.09998]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b81c00000000,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7c0c400000000,dcid:s2CellId/0x80d7c10000000000,dcid:s2CellId/0x80d7c30000000000,dcid:s2CellId/0x80d7c35400000000,dcid:s2CellId/0x80d7c4ac00000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7db0000000000,dcid:s2CellId/0x80d7db5400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",10,"[6.59638 SquareKilometer]",6.59638,342.82,306.64,"n",19.32,"2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.18891595142229, 32.2269827091063)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 31.99193223931182), (-115.18891595142229, 31.971929178501046), (-115.18891595142229, 32.057010591540205), (-115.28375849518459, 32.036905155966636), (-115.28375849518459, 32.1218942661953), (-115.28375849518459, 32.20681969840767), (-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),)]}" +"fireEvent/2023-02-13_0x8091570000000000","FireEvent","FireEvent at LatLong(37.17261:-120.28012) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 37.17261 -120.28012]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091562400000000,dcid:s2CellId/0x8091570000000000,dcid:s2CellId/0x8091570c00000000,dcid:s2CellId/0x8091575c00000000,dcid:s2CellId/0x8093883c00000000,dcid:s2CellId/0x8093890000000000,dcid:s2CellId/0x8093899400000000,dcid:s2CellId/0x80938cdc00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x8093e30000000000,dcid:s2CellId/0x8093e3e400000000,dcid:s2CellId/0x8093e50000000000,dcid:s2CellId/0x8093e58400000000,dcid:s2CellId/0x8093e59400000000,dcid:s2CellId/0x8093f00c00000000,dcid:s2CellId/0x8093f10000000000,dcid:s2CellId/0x8093f50000000000,dcid:s2CellId/0x8093f53400000000,dcid:s2CellId/0x8093fa3400000000,dcid:s2CellId/0x8093faf400000000,dcid:s2CellId/0x8093fb0000000000,dcid:s2CellId/0x8093fb1400000000,dcid:s2CellId/0x8093fb7400000000,dcid:s2CellId/0x8093fb7c00000000,dcid:s2CellId/0x8093fc2c00000000,dcid:s2CellId/0x8093fc7400000000,dcid:s2CellId/0x8093fd0000000000,dcid:s2CellId/0x8093fdd400000000,dcid:s2CellId/0x8093ff0000000000,dcid:s2CellId/0x8093ffdc00000000,dcid:s2CellId/0x8093fffc00000000,dcid:s2CellId/0x809406ec00000000,dcid:s2CellId/0x8094070000000000,dcid:s2CellId/0x8094076400000000,dcid:s2CellId/0x809407ec00000000,dcid:s2CellId/0x8094090000000000,dcid:s2CellId/0x809409bc00000000,dcid:s2CellId/0x809409c400000000,dcid:s2CellId/0x80940a5400000000,dcid:s2CellId/0x80940b0000000000,dcid:s2CellId/0x80940d0000000000,dcid:s2CellId/0x80940da400000000,dcid:s2CellId/0x80940ea400000000,dcid:s2CellId/0x80940f0000000000,dcid:s2CellId/0x8094602c00000000,dcid:s2CellId/0x8094610000000000,dcid:s2CellId/0x809461fc00000000,dcid:s2CellId/0x8094628400000000,dcid:s2CellId/0x8094630000000000,dcid:s2CellId/0x809463c400000000,dcid:s2CellId/0x809464d400000000,dcid:s2CellId/0x8094650000000000,dcid:s2CellId/0x80946d0000000000,dcid:s2CellId/0x80946d0400000000,dcid:s2CellId/0x80946d4400000000,dcid:s2CellId/0x80946dfc00000000,dcid:s2CellId/0x80946e0400000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x809470fc00000000,dcid:s2CellId/0x8094710000000000,dcid:s2CellId/0x809471d400000000,dcid:s2CellId/0x809474a400000000,dcid:s2CellId/0x8094750000000000,dcid:s2CellId/0x8094757400000000,dcid:s2CellId/0x8094761c00000000,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809478b400000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b7c00000000,dcid:s2CellId/0x80947bac00000000,dcid:s2CellId/0x80947bb400000000,dcid:s2CellId/0x80947cb400000000,dcid:s2CellId/0x80947cbc00000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x809486b400000000,dcid:s2CellId/0x8094870000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",77,"[43.62675 SquareKilometer]",43.62675,341.96,294.37,"n",33.33,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.43576307692442, 37.04586817243793), (-120.43576307692442, 37.12386045840006), (-120.3435506342276, 37.14988749788112), (-120.3435506342276, 37.227818933892436), (-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.12367640222347), (-120.25127284433846, 37.09781132766205), (-120.25127284433846, 37.019698230660886), (-120.25127284433846, 36.94150459487179), (-120.34355063422758, 36.91560893309172), (-120.34355063422758, 36.9937822095109), (-120.43576307692442, 36.96779548603939), (-120.43576307692442, 37.04586817243793)),), (((-119.78892484955995, 36.75592995709716), (-119.78892484955995, 36.677232696444996), (-119.881520291274, 36.6517959921811), (-119.97405342347365, 36.62628796342359), (-119.97405342347365, 36.54755307417071), (-120.06652363285929, 36.52199526983154), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.25127284433846, 36.706443376822236), (-120.25127284433846, 36.784876873442236), (-120.15893030899788, 36.810660560355714), (-120.15893030899788, 36.889035065659726), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.94150459487179), (-120.15893030899788, 36.96732940268327), (-120.15893030899788, 37.04554327843229), (-120.15893030899788, 37.12367640222347), (-120.06652363285929, 37.149470115346524), (-120.06652363285929, 37.071317083373074), (-119.97405342347365, 37.09701937765089), (-119.97405342347365, 37.018765379021026), (-119.97405342347365, 36.94043049355481), (-119.881520291274, 36.96602103190846), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.881520291274, 36.730472426366894), (-119.78892484955995, 36.75592995709716)), ((-120.06652363285929, 36.91476841587199), (-120.06652363285929, 36.83637336328723), (-119.97405342347365, 36.86201501351553), (-119.97405342347365, 36.94043049355481), (-120.06652363285929, 36.91476841587199))), (((-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.3435506342276, 36.75902257287933)),)]}" +"fireEvent/2023-02-04_0x80d7a50000000000","FireEvent","FireEvent at LatLong(32.44917:-115.14148) on 2023-02-04","2023-02-04","2023-02-06","P3D",3,2,"[LatLong 32.44917 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a5fc00000000,dcid:s2CellId/0x80d7a6cc00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,333.43,302.76,"n",6.19,"2023-02-04,2023-02-06","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)}" +"fireEvent/2023-02-15_0x8085050000000000","FireEvent","FireEvent at LatLong(38.37512:-122.31075) on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.37512 -122.31075]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x8085010c00000000,dcid:s2CellId/0x8085050000000000,dcid:s2CellId/0x8085053400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.0825 SquareKilometer]",2.0825,331.0,285.88,"n",3.64,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 38.379078759434165), (-122.17460498684162, 38.3033208084114), (-122.26538872869685, 38.27549513645561), (-122.26538872869685, 38.35123562794486), (-122.17460498684162, 38.379078759434165)),), (((-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081)),)]}" +"fireEvent/2023-02-10_0x8083270000000000","FireEvent","FireEvent at LatLong(39.69439:-121.81640) on 2023-02-10","2023-02-10","2023-02-11","P2D",2,2,"[LatLong 39.69439 -121.81640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083260400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083274c00000000,dcid:s2CellId/0x8083275400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.01116 SquareKilometer]",2.01116,340.04,285.06,"n",3.14,"2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.76584973823246), (-121.90179543138471, 39.73802301630229)),)}" +"fireEvent/2023-01-12_0x80d9150000000000","FireEvent","FireEvent at LatLong(32.51650:-116.74965) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.51650 -116.74965]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9150000000000,dcid:s2CellId/0x80d9158400000000,dcid:s2CellId/0x80d9158c00000000,dcid:wikidataId/Q2360428,dcid:wikidataId/Q58731",3,"[2.57931 SquareKilometer]",2.57931,322.1,280.5,"n",3.31,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-116.79678490847915, 32.54768494325667), (-116.79678490847915, 32.46373828347083), (-116.70249504859957, 32.48526559805921), (-116.70249504859957, 32.56924165418696), (-116.79678490847915, 32.54768494325667)),)}" +"fireEvent/2023-03-17_0x809a150000000000","FireEvent","FireEvent at LatLong(38.61503:-120.48184) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 38.61503 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a155400000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12031 SquareKilometer]",2.12031,336.84,291.49,"n",3.88,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576)),)}" +"fireEvent/2023-03-25_0x8091730000000000","FireEvent","FireEvent at LatLong(37.34629:-120.76373) on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 37.34629 -120.76373]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x80910cd400000000,dcid:s2CellId/0x80910d0000000000,dcid:s2CellId/0x809172d400000000,dcid:s2CellId/0x8091730000000000,dcid:s2CellId/0x8091732c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.28597 SquareKilometer]",3.28597,342.93,272.11,"n",2.82,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 37.27866927107142), (-120.80394744373855, 37.25230091111856), (-120.80394744373858, 37.32989077427852), (-120.80394744373858, 37.40739967641065), (-120.7120023484522, 37.43380716167879), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.27866927107142)),)}" +"fireEvent/2023-02-13_0x8090570000000000","FireEvent","FireEvent at LatLong(37.57910:-121.06217) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.57910 -121.06217]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x809052bc00000000,dcid:s2CellId/0x809052c400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8090570000000000,dcid:s2CellId/0x8090578c00000000,dcid:s2CellId/0x8090579400000000,dcid:s2CellId/0x809057f400000000,dcid:s2CellId/0x8090582400000000,dcid:s2CellId/0x8090590000000000,dcid:s2CellId/0x8090597400000000,dcid:s2CellId/0x8090f65400000000,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f73400000000,dcid:s2CellId/0x8091b2b400000000,dcid:s2CellId/0x8091b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[8.65243 SquareKilometer]",8.65243,339.36,300.29,"n",42.79,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.74050506353507), (-120.98763211526173, 37.81748574806016), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.69006636052178), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.74050506353507)),), (((-121.07937052658627, 37.48241498151893), (-121.17103888337672, 37.45568932972217), (-121.1710388833767, 37.53287726197025), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.48241498151893)),), (((-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.636747995836885)),)]}" +"fireEvent/2023-01-02_0x80c2b50000000000","FireEvent","FireEvent at LatLong(33.87834:-118.34619) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b53c00000000,dcid:s2CellId/0x80dd345400000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46579 SquareKilometer]",2.46579,301.96,283.36,"n",0.85,"2023-01-02","{'type': 'MultiPolygon', 'coordinates': [(((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),), (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)]}" +"fireEvent/2023-01-31_0x809cc10000000000","FireEvent","FireEvent at LatLong(39.64345:-121.33701) on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 39.64345 -121.33701]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cc0dc00000000,dcid:s2CellId/0x809cc10000000000,dcid:s2CellId/0x809cc12400000000,dcid:s2CellId/0x809cc12c00000000,dcid:s2CellId/0x809cc13400000000,dcid:s2CellId/0x809cc15400000000,dcid:s2CellId/0x809cc15c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.06547 SquareKilometer]",4.06547,367.0,291.92,"n",40.6,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.35416313685073, 39.680326313083874), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.26263661074441, 39.70768396595418), (-121.35416313685073, 39.680326313083874)),)}" +"fireEvent/2023-02-08_0x80e8350000000000","FireEvent","FireEvent at LatLong(34.27990:-118.95869) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 34.27990 -118.95869]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8347400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cb0000000000,dcid:s2CellId/0x80e9cbf400000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.6269 SquareKilometer]",3.6269,345.92,302.76,"n",11.0,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-119.04599270243568, 34.39462388102809), (-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654)),)}" +"fireEvent/2023-03-26_0x8084450000000000","FireEvent","FireEvent at LatLong(38.53222:-122.61079) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.53222 -122.61079]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084441400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844e8400000000,dcid:s2CellId/0x80844e9c00000000,dcid:s2CellId/0x80844f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[3.09657 SquareKilometer]",3.09657,338.76,292.62,"n",6.06,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.49387172650253), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204)),)}" +"fireEvent/2023-01-16_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.58413:-119.27856) on 2023-01-16","2023-01-16","2023-01-18","P3D",3,2,"[LatLong 35.58413 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf95c00000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33749 SquareKilometer]",2.33749,332.85,278.88,"n",2.59,"2023-01-16,2023-01-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),)}" +"fireEvent/2023-02-13_0x8090690000000000","FireEvent","FireEvent at LatLong(37.97433:-120.99337) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.97433 -120.99337]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090640400000000,dcid:s2CellId/0x8090650000000000,dcid:s2CellId/0x8090662400000000,dcid:s2CellId/0x809066a400000000,dcid:s2CellId/0x809066ac00000000,dcid:s2CellId/0x8090670000000000,dcid:s2CellId/0x8090689c00000000,dcid:s2CellId/0x8090690000000000,dcid:s2CellId/0x8090703c00000000,dcid:s2CellId/0x8090705400000000,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x8090715c00000000,dcid:s2CellId/0x8090716400000000,dcid:s2CellId/0x8090724400000000,dcid:s2CellId/0x8090730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[10.70761 SquareKilometer]",10.70761,343.64,296.25,"n",5.98,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.07937052658627, 37.94443166315593), (-121.07937052658627, 38.021146378682644), (-120.98763211526173, 38.047932166418306), (-120.98763211526173, 37.97119956073253), (-120.98763211526173, 37.89438400124386), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.917593515599634), (-121.07937052658627, 37.94443166315593)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.26263661074441, 37.967363990551995), (-121.26263661074441, 38.043960006034105), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" +"fireEvent/2023-02-13_0x809a150000000000","FireEvent","FireEvent at LatLong(38.59868:-120.52215) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 38.59868 -120.52215]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14d400000000,dcid:s2CellId/0x809a14dc00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a152400000000,dcid:s2CellId/0x809a154400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.123 SquareKilometer]",2.123,334.54,295.88,"n",22.5,"2023-02-13,2023-02-15","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.56362878155043), (-120.43576307692442, 38.590069533051576), (-120.43576307692442, 38.66639654013268), (-120.52790957361556, 38.63993981922657)),)}" +"fireEvent/2023-02-09_0x54d16f0000000000","FireEvent","FireEvent at LatLong(41.10441:-123.91554) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.10441 -123.91554]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d16e9c00000000,dcid:s2CellId/0x54d16eb400000000,dcid:s2CellId/0x54d16f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.04884 SquareKilometer]",2.04884,350.67,291.65,"n",26.16,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-123.85653166253309, 41.12881430645295), (-123.94883585367289, 41.098083231954774), (-123.8775963618726, 41.045599131818285), (-123.78538604060175, 41.07620890851114), (-123.85653166253309, 41.12881430645295)),)}" +"fireEvent/2023-02-14_0x80ea570000000000","FireEvent","FireEvent at LatLong(35.50403:-119.27856) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 35.50403 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea570000000000,dcid:s2CellId/0x80ea577400000000,dcid:s2CellId/0x80eafaec00000000,dcid:s2CellId/0x80eafb0000000000,dcid:s2CellId/0x80eafd0000000000,dcid:s2CellId/0x80eafd0400000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff2400000000,dcid:s2CellId/0x80eaff2c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.84321 SquareKilometer]",5.84321,340.56,292.86,"n",8.12,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.47625041156115), (-119.32503466239531, 35.45162141848549), (-119.32503466239531, 35.53175350399878), (-119.23207840138082, 35.556406222206114), (-119.23207840138082, 35.47625041156115)),), (((-119.23207840138082, 35.63648603631758), (-119.32503466239531, 35.61180980810941), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.23207840138082, 35.716489517297106), (-119.23207840138082, 35.63648603631758)),)]}" +"fireEvent/2023-02-10_0x8096d90000000000","FireEvent","FireEvent at LatLong(37.82341:-120.02030) on 2023-02-10","2023-02-10","2023-02-13","P4D",4,3,"[LatLong 37.82341 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d70000000000,dcid:s2CellId/0x8096d70c00000000,dcid:s2CellId/0x8096d71400000000,dcid:s2CellId/0x8096d76400000000,dcid:s2CellId/0x8096d76c00000000,dcid:s2CellId/0x8096d77400000000,dcid:s2CellId/0x8096d8e400000000,dcid:s2CellId/0x8096d8fc00000000,dcid:s2CellId/0x8096d90000000000,dcid:s2CellId/0x8096d90c00000000,dcid:s2CellId/0x8096d91400000000,dcid:s2CellId/0x8096d91c00000000,dcid:s2CellId/0x8096d9b400000000,dcid:s2CellId/0x8096d9bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[10.93174 SquareKilometer]",10.93174,352.33,295.8,"n",30.2,"2023-02-10,2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 37.90086572453295), (-119.881520291274, 37.823418373939894), (-119.97405342347365, 37.79761838238845), (-120.06652363285929, 37.771745570591364), (-120.06652363285929, 37.84915723847933), (-119.97405342347365, 37.87504794829335), (-119.881520291274, 37.90086572453295)),)}" +"fireEvent/2023-02-02_0x54cd7f0000000000","FireEvent","FireEvent at LatLong(40.81295:-122.12326) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.81295 -122.12326]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54cd7e2c00000000,dcid:s2CellId/0x54cd7f0000000000,dcid:s2CellId/0x54d2802c00000000,dcid:s2CellId/0x54d2810000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0118 SquareKilometer]",2.0118,316.46,277.42,"n",1.97,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-122.07514833257954, 40.869937113625745), (-122.00721741257856, 40.81623815916073), (-122.09927338341384, 40.78772605476484), (-122.19125045849158, 40.75914079007819), (-122.25939215890025, 40.81260767001019), (-122.1673100903644, 40.84130903005775), (-122.07514833257954, 40.869937113625745)),)}" +"fireEvent/2023-01-06_0x809cfd0000000000","FireEvent","FireEvent at LatLong(39.96225:-121.03351) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdc400000000,dcid:s2CellId/0x809cfdec00000000,dcid:s2CellId/0x809cfe7400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.03453 SquareKilometer]",3.03453,328.71,275.78,"n",10.18,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674)),)}" +"fireEvent/2023-02-08_0x80848f0000000000","FireEvent","FireEvent at LatLong(38.93064:-122.22001) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.93064 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084850000000000,dcid:s2CellId/0x8084858400000000,dcid:s2CellId/0x80848e4c00000000,dcid:s2CellId/0x80848f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0522 SquareKilometer]",2.0522,334.11,295.76,"n",13.85,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.95416992095992), (-122.17460498684162, 38.9821450862104), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)}" +"fireEvent/2023-03-08_0x8094c90000000000","FireEvent","FireEvent at LatLong(36.17639:-119.74260) on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 36.17639 -119.74260]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094c90000000000,dcid:s2CellId/0x8094c97400000000,dcid:s2CellId/0x8094c99c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.29198 SquareKilometer]",2.29198,337.34,278.61,"n",3.48,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-119.78892484955995, 36.20338340883046), (-119.78892484955995, 36.12413379123651), (-119.69626771448172, 36.149347987538164), (-119.69626771448172, 36.228619807644506), (-119.78892484955995, 36.20338340883046)),)}" +"fireEvent/2023-03-18_0x80dd350000000000","FireEvent","FireEvent at LatLong(33.82611:-118.24681) on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 33.82611 -118.24681]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd34fc00000000,dcid:s2CellId/0x80dd350000000000,dcid:s2CellId/0x80dd359c00000000,dcid:s2CellId/0x80dd4b0000000000,dcid:s2CellId/0x80dd4bac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.70076 SquareKilometer]",3.70076,297.55,284.36,"n",0.7,"2023-03-18","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.39294170620582, 33.74349483462569), (-118.39294170620582, 33.82562180473932), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)}" +"fireEvent/2023-01-23_0x80e97f0000000000","FireEvent","FireEvent at LatLong(34.84521:-119.47016) on 2023-01-23","2023-01-23","2023-01-27","P5D",5,5,"[LatLong 34.84521 -119.47016]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80e97e2c00000000,dcid:s2CellId/0x80e97e3400000000,dcid:s2CellId/0x80e97e4c00000000,dcid:s2CellId/0x80e97f0000000000,dcid:s2CellId/0x80e97fa400000000,dcid:s2CellId/0x80e97fac00000000,dcid:s2CellId/0x80e97fb400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.37517 SquareKilometer]",2.37517,350.81,295.74,"n",9.94,"2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'Polygon', 'coordinates': (((-119.51077084299, 34.83948061816375), (-119.51077084299, 34.758805996121794), (-119.41793235298398, 34.783376641123795), (-119.41793235298398, 34.86407698186899), (-119.51077084299, 34.83948061816375)),)}" +"fireEvent/2023-01-04_0x80d65f0000000000","FireEvent","FireEvent at LatLong(32.61039:-114.60147) on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.61039 -114.60147]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65ea400000000,dcid:s2CellId/0x80d65eac00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.62533 SquareKilometer]",2.62533,347.6,299.35,"n",28.6,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" +"fireEvent/2023-01-25_0x80ec050000000000","FireEvent","FireEvent at LatLong(34.74818:-120.29742) on 2023-01-25","2023-01-25","2023-01-25","P1D",1,1,"[LatLong 34.74818 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80ec050000000000,dcid:s2CellId/0x80ec057c00000000,dcid:s2CellId/0x80ec0e8400000000,dcid:s2CellId/0x80ec0f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.34865 SquareKilometer]",2.34865,329.35,294.47,"n",2.69,"2023-01-25","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 34.72062891210619), (-120.3435506342276, 34.69539140251545), (-120.3435506342276, 34.7756870620793), (-120.3435506342276, 34.855911425114904), (-120.25127284433846, 34.881201654610386), (-120.25127284433846, 34.80095104252741), (-120.25127284433846, 34.72062891210619)),)}" +"fireEvent/2023-02-08_0x8094250000000000","FireEvent","FireEvent at LatLong(37.23862:-119.65571) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 37.23862 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094244c00000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x80942ea400000000,dcid:s2CellId/0x80942eac00000000,dcid:s2CellId/0x80942eb400000000,dcid:s2CellId/0x80942f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.34742 SquareKilometer]",3.34742,346.83,294.81,"n",10.98,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.22444893017269), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),)}" +"fireEvent/2023-02-23_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.67612:-119.21464) on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.67612 -119.21464]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf08c00000000,dcid:s2CellId/0x80eaf10000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf9ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33702 SquareKilometer]",2.33702,337.32,284.91,"n",8.92,"2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114)),), (((-119.23207840138082, 35.716489517297106), (-119.13906420284766, 35.74111761532614), (-119.13906420284766, 35.66109096570328), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.716489517297106)),)]}" +"fireEvent/2023-02-09_0x80ead70000000000","FireEvent","FireEvent at LatLong(36.03832:-119.37149) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 36.03832 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x80ead70000000000,dcid:s2CellId/0x80ead73400000000,dcid:s2CellId/0x80eb2aa400000000,dcid:s2CellId/0x80eb2aec00000000,dcid:s2CellId/0x80eb2b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.4589 SquareKilometer]",3.4589,339.15,294.32,"n",2.37,"2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-119.32503466239531, 36.09053752380865), (-119.32503466239531, 36.01094289980543), (-119.41793235298398, 35.98608067023123), (-119.41793235298398, 36.065652945020474), (-119.32503466239531, 36.09053752380865)),), (((-119.51077084299, 36.040696832060384), (-119.51077084299, 36.12016897103913), (-119.41793235298398, 36.14514734350813), (-119.41793235298398, 36.065652945020474), (-119.51077084299, 36.040696832060384)),)]}" +"fireEvent/2023-01-23_0x8096d50000000000","FireEvent","FireEvent at LatLong(37.79749:-120.11273) on 2023-01-23","2023-01-23","2023-01-26","P4D",4,3,"[LatLong 37.79749 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d50000000000,dcid:s2CellId/0x8096d57c00000000,dcid:s2CellId/0x8096d59c00000000,dcid:s2CellId/0x80972a9c00000000,dcid:s2CellId/0x80972b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.18166 SquareKilometer]",2.18166,340.54,287.01,"n",3.78,"2023-01-23,2023-01-25,2023-01-26","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 37.771745570591364), (-120.15893030899788, 37.74580020187008), (-120.15893030899788, 37.8231938580761), (-120.15893030899788, 37.90050398235046), (-120.06652363285929, 37.926485165746335), (-120.06652363285929, 37.84915723847933), (-120.06652363285929, 37.771745570591364)),)}" +"fireEvent/2023-03-02_0x8084970000000000","FireEvent","FireEvent at LatLong(38.91128:-122.03829) on 2023-03-02","2023-03-02","2023-03-02","P1D",1,1,"[LatLong 38.91128 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084978c00000000,dcid:s2CellId/0x8084983c00000000,dcid:s2CellId/0x8084990000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.05367 SquareKilometer]",2.05367,336.55,286.93,"n",2.33,"2023-03-02","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199)),)}" +"fireEvent/2023-02-18_0x8092530000000000","FireEvent","FireEvent at LatLong(36.47183:-120.94174) on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 36.47183 -120.94174]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x8092530000000000,dcid:s2CellId/0x8092538400000000,dcid:s2CellId/0x8092538c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23677 SquareKilometer]",2.23677,336.3,295.41,"n",3.79,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.98763211526173, 36.49782625892822), (-120.98763211526173, 36.41948656533546), (-120.89582422732902, 36.445783528063096), (-120.89582422732902, 36.524145296812684), (-120.98763211526173, 36.49782625892822)),)}" +"fireEvent/2023-02-09_0x54b59b0000000000","FireEvent","FireEvent at LatLong(41.87104:-119.04195) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.87104 -119.04195]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x54b59b0000000000,dcid:s2CellId/0x54b59b8c00000000,dcid:s2CellId/0x54b59b9400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.05106 SquareKilometer]",2.05106,352.49,291.49,"n",23.14,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.0267373723986, 41.91291619013493), (-119.12151923305626, 41.88672088814777), (-119.05713115299496, 41.829201927316994), (-118.96248174499246, 41.85528577165443), (-119.0267373723986, 41.91291619013493)),)}" +"fireEvent/2023-02-24_0x8091550000000000","FireEvent","FireEvent at LatLong(37.24081:-120.24550) on 2023-02-24","2023-02-24","2023-02-24","P1D",1,1,"[LatLong 37.24081 -120.24550]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091541c00000000,dcid:s2CellId/0x8091543c00000000,dcid:s2CellId/0x8091550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21318 SquareKilometer]",2.21318,303.07,275.74,"n",1.03,"2023-02-24","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.279699242747455), (-120.25127284433846, 37.25379475261621)),)}" +"fireEvent/2023-02-13_0x80903f0000000000","FireEvent","FireEvent at LatLong(37.73247:-121.35988) on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 37.73247 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x80903c2400000000,dcid:s2CellId/0x80903d0000000000,dcid:s2CellId/0x80903eac00000000,dcid:s2CellId/0x80903f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.1488 SquareKilometer]",2.1488,340.66,294.6,"n",4.78,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 37.81392448887689), (-121.26263661074441, 37.73708152324151), (-121.35416313685073, 37.710140825873815), (-121.44561789291927, 37.68313095604201), (-121.44561789291927, 37.75993648447068), (-121.35416313685073, 37.78696513099894), (-121.26263661074441, 37.81392448887689)),)}" +"fireEvent/2023-02-08_0x809aaf0000000000","FireEvent","FireEvent at LatLong(38.09097:-121.49132) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 38.09097 -121.49132]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa90000000000,dcid:s2CellId/0x809aa9c400000000,dcid:s2CellId/0x809aaa5c00000000,dcid:s2CellId/0x809aab0000000000,dcid:s2CellId/0x809aaefc00000000,dcid:s2CellId/0x809aaf0000000000,dcid:s2CellId/0x809aaf0400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.2415 SquareKilometer]",4.2415,346.02,292.04,"n",6.56,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.21904635446754), (-121.44561789291927, 38.14273448666555), (-121.44561789291927, 38.06633970127007), (-121.53700031324804, 38.039168618933935), (-121.62830983522124, 38.01192835722662), (-121.62830983522124, 38.08828737798534), (-121.53700031324804, 38.11554557922101), (-121.53700031324804, 38.1918398342251), (-121.44561789291927, 38.21904635446754)),)}" +"fireEvent/2023-01-06_0x80d7630000000000","FireEvent","FireEvent at LatLong(32.68546:-115.61547) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 32.68546 -115.61547]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7630000000000,dcid:s2CellId/0x80d763b400000000,dcid:s2CellId/0x80d763bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.5982 SquareKilometer]",2.5982,355.3,307.38,"n",20.06,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.63294346781638), (-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.66283001554785, 32.71729983340048)),)}" +"fireEvent/2023-01-09_0x80d6350000000000","FireEvent","FireEvent at LatLong(32.23974:-114.85081) on 2023-01-09","2023-01-09","2023-01-09","P1D",1,1,"[LatLong 32.23974 -114.85081]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6345c00000000,dcid:s2CellId/0x80d6349c00000000,dcid:s2CellId/0x80d634f400000000,dcid:s2CellId/0x80d6350000000000",4,"[3.96009 SquareKilometer]",3.96009,339.27,313.93,"n",73.15,"2023-01-09","{'type': 'Polygon', 'coordinates': (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.306895593204814), (-114.90422082333554, 32.287028613932726)),)}" +"fireEvent/2023-03-25_0x80936f0000000000","FireEvent","FireEvent at LatLong(36.33966:-120.29742) on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 36.33966 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x8093655400000000,dcid:s2CellId/0x80936f0000000000,dcid:s2CellId/0x80936ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26092 SquareKilometer]",2.26092,338.76,290.16,"n",5.64,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.26157181199122), (-120.43576307692442, 36.340354799856954), (-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.3435506342276, 36.28736647095043), (-120.43576307692442, 36.26157181199122)),)}" +"fireEvent/2023-03-17_0x80a0e90000000000","FireEvent","FireEvent at LatLong(41.13956:-117.59654) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 41.13956 -117.59654]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x80a0e90000000000,dcid:s2CellId/0x80a0e92c00000000,dcid:s2CellId/0x80a0e93400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.03742 SquareKilometer]",2.03742,343.23,296.22,"n",20.01,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 41.1646741177087), (-117.64348435403741, 41.090082392578815), (-117.54958462854715, 41.11439677948815), (-117.54958462854715, 41.18899708980876), (-117.64348435403741, 41.1646741177087)),)}" +"fireEvent/2023-01-31_0x8094290000000000","FireEvent","FireEvent at LatLong(37.22554:-119.64992) on 2023-01-31","2023-01-31","2023-02-04","P5D",5,4,"[LatLong 37.22554 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x809425b400000000,dcid:s2CellId/0x8094286400000000,dcid:s2CellId/0x8094287c00000000,dcid:s2CellId/0x8094289400000000,dcid:s2CellId/0x809428bc00000000,dcid:s2CellId/0x809428c400000000,dcid:s2CellId/0x8094290000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[3.34329 SquareKilometer]",3.34329,338.9,283.46,"n",5.43,"2023-01-31,2023-02-01,2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 37.35552745160059), (-119.51077084299, 37.380906429606696), (-119.51077084299, 37.302718937652955), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.35552745160059)),), (((-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932)),)]}" +"fireEvent/2023-01-04_0x80d76f0000000000","FireEvent","FireEvent at LatLong(32.72659:-115.42597) on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.72659 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f5400000000,dcid:s2CellId/0x80d76f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59894 SquareKilometer]",2.59894,347.83,290.85,"n",8.82,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.67412456932842), (-115.3785719022423, 32.69460416981107), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172)),)}" +"fireEvent/2023-02-15_0x8095b50000000000","FireEvent","FireEvent at LatLong(37.00267:-119.26113) on 2023-02-15","2023-02-15","2023-02-21","P7D",7,6,"[LatLong 37.00267 -119.26113]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8095b04400000000,dcid:s2CellId/0x8095b0e400000000,dcid:s2CellId/0x8095b0ec00000000,dcid:s2CellId/0x8095b10000000000,dcid:s2CellId/0x8095b40400000000,dcid:s2CellId/0x8095b41400000000,dcid:s2CellId/0x8095b41c00000000,dcid:s2CellId/0x8095b44400000000,dcid:s2CellId/0x8095b50000000000,dcid:s2CellId/0x8095b55c00000000,dcid:s2CellId/0x8095b57400000000,dcid:s2CellId/0x8095b57c00000000,dcid:s2CellId/0x8095b58400000000,dcid:s2CellId/0x8095b58c00000000,dcid:s2CellId/0x8095b59400000000,dcid:s2CellId/0x8095b59c00000000,dcid:s2CellId/0x8095b5a400000000,dcid:s2CellId/0x8095b5ac00000000,dcid:s2CellId/0x8095b5bc00000000,dcid:s2CellId/0x8095b5e400000000,dcid:s2CellId/0x8095b5ec00000000,dcid:s2CellId/0x8095b5f400000000,dcid:s2CellId/0x8095b6ac00000000,dcid:s2CellId/0x8095b6b400000000,dcid:s2CellId/0x8095b6d400000000,dcid:s2CellId/0x8095b70000000000,dcid:s2CellId/0x8095ba6400000000,dcid:s2CellId/0x8095bb0000000000,dcid:s2CellId/0x8095c80c00000000,dcid:s2CellId/0x8095c90000000000,dcid:s2CellId/0x8095ca9c00000000,dcid:s2CellId/0x8095caa400000000,dcid:s2CellId/0x8095cb0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",33,"[15.75816 SquareKilometer]",15.75816,355.07,300.25,"n",46.55,"2023-02-15,2023-02-17,2023-02-18,2023-02-19,2023-02-20,2023-02-21","{'type': 'Polygon', 'coordinates': (((-119.41793235298401, 37.171345095632404), (-119.32503466239531, 37.196520276094965), (-119.23207840138082, 37.22162197959509), (-119.23207840138082, 37.14312963671413), (-119.23207840138082, 37.064555014740314), (-119.13906420284766, 37.08954447124001), (-119.13906420284766, 37.01086829061775), (-119.23207840138082, 36.9858984053218), (-119.32503466239531, 36.96085514133606), (-119.32503466239531, 37.039492061946596), (-119.41793235298398, 37.014355866428566), (-119.41793235298401, 37.09289141158824), (-119.41793235298401, 37.171345095632404)),)}" +"fireEvent/2023-02-18_0x8094250000000000","FireEvent","FireEvent at LatLong(37.24840:-119.65571) on 2023-02-18","2023-02-18","2023-02-19","P2D",2,2,"[LatLong 37.24840 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094243400000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x8094310000000000,dcid:s2CellId/0x809431ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.23399 SquareKilometer]",2.23399,345.09,293.0,"n",4.64,"2023-02-18,2023-02-19","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),), (((-119.51077084299, 37.22444893017269), (-119.51077084299, 37.14609669288529), (-119.60354950502408, 37.12077532426294), (-119.60354950502408, 37.19910814898932), (-119.51077084299, 37.22444893017269)),)]}" +"fireEvent/2023-02-02_0x8090a50000000000","FireEvent","FireEvent at LatLong(38.25870:-120.38967) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 38.25870 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090a50000000000,dcid:s2CellId/0x8090a58400000000,dcid:s2CellId/0x8090a59c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.14773 SquareKilometer]",2.14773,297.02,274.4,"n",0.59,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.283906850968414), (-120.43576307692442, 38.20715375350994), (-120.3435506342276, 38.23343927918502), (-120.3435506342276, 38.310209268657324), (-120.43576307692442, 38.283906850968414)),)}" +"fireEvent/2023-02-07_0x80c2b10000000000","FireEvent","FireEvent at LatLong(33.93697:-118.43968) on 2023-02-07","2023-02-07","2023-02-09","P3D",3,2,"[LatLong 33.93697 -118.43968]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b10000000000,dcid:s2CellId/0x80c2b15400000000,dcid:s2CellId/0x80c2b30000000000,dcid:s2CellId/0x80c2b3fc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.45871 SquareKilometer]",2.45871,343.53,302.66,"n",13.39,"2023-02-07,2023-02-09","{'type': 'Polygon', 'coordinates': (((-118.4863962961138, 33.966210733729376), (-118.39294170620582, 33.9896678408122), (-118.39294170620582, 33.90767960394744), (-118.39294170620582, 33.82562180473932), (-118.4863962961138, 33.8022194627579), (-118.4863962961138, 33.884249771818084), (-118.4863962961138, 33.966210733729376)),)}" +"fireEvent/2023-02-14_0x8094c10000000000","FireEvent","FireEvent at LatLong(36.49371:-119.82944) on 2023-02-14","2023-02-14","2023-02-16","P3D",3,2,"[LatLong 36.49371 -119.82944]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094928c00000000,dcid:s2CellId/0x8094930000000000,dcid:s2CellId/0x8094c10000000000,dcid:s2CellId/0x8094c16400000000,dcid:s2CellId/0x8094c21400000000,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7b400000000,dcid:s2CellId/0x8094ecdc00000000,dcid:s2CellId/0x8094ecf400000000,dcid:s2CellId/0x8094ed0000000000,dcid:s2CellId/0x8094ef0000000000,dcid:s2CellId/0x8094ef3c00000000,dcid:s2CellId/0x8094ef4400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[9.10435 SquareKilometer]",9.10435,332.38,292.18,"n",11.85,"2023-02-14,2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-119.78892484955995, 36.36164840353892), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.78892484955995, 36.28255505122062), (-119.78892484955995, 36.36164840353892)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),), (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.49119510273238), (-119.69626771448172, 36.4659648722832), (-119.78892484955995, 36.440663153251855), (-119.881520291274, 36.41529020951764), (-119.881520291274, 36.49420457905506), (-119.78892484955995, 36.51959899016065), (-119.69626771448172, 36.54492205456438), (-119.60354950502408, 36.57017350866958)),)]}" +"fireEvent/2023-01-31_0x80837b0000000000","FireEvent","FireEvent at LatLong(39.07645:-122.15757) on 2023-01-31","2023-01-31","2023-01-31","P1D",1,1,"[LatLong 39.07645 -122.15757]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x808362bc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x80837a5400000000,dcid:s2CellId/0x80837b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.03855 SquareKilometer]",2.03855,335.81,288.82,"n",2.01,"2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 39.104064455903135), (-122.26538872869685, 39.17888461552509), (-122.17460498684162, 39.20690582223145), (-122.17460498684162, 39.132070524198696), (-122.26538872869685, 39.104064455903135)),), (((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.17460498684162, 39.057150204742555), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),)]}" +"fireEvent/2023-01-02_0x80d7070000000000","FireEvent","FireEvent at LatLong(32.65892:-115.07625) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.65892 -115.07625]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7061400000000,dcid:s2CellId/0x80d7066c00000000,dcid:s2CellId/0x80d7070000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.61267 SquareKilometer]",2.61267,356.58,300.12,"n",19.19,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.671008212834636), (-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.69116258740858), (-115.09404500241959, 32.671008212834636)),)}" +"fireEvent/2023-01-24_0x80849d0000000000","FireEvent","FireEvent at LatLong(39.09280:-122.13486) on 2023-01-24","2023-01-24","2023-01-28","P5D",5,4,"[LatLong 39.09280 -122.13486]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x808362f400000000,dcid:s2CellId/0x808362fc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x8083769c00000000,dcid:s2CellId/0x8083770000000000,dcid:s2CellId/0x8083790000000000,dcid:s2CellId/0x8083790c00000000,dcid:s2CellId/0x80837d0000000000,dcid:s2CellId/0x80837d2c00000000,dcid:s2CellId/0x808482ac00000000,dcid:s2CellId/0x8084830000000000,dcid:s2CellId/0x80848e4400000000,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80849b0000000000,dcid:s2CellId/0x80849b8c00000000,dcid:s2CellId/0x80849c6c00000000,dcid:s2CellId/0x80849c7400000000,dcid:s2CellId/0x80849d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",18,"[10.21353 SquareKilometer]",10.21353,342.89,292.21,"n",8.6,"2023-01-24,2023-01-26,2023-01-27,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.08374449567627, 39.01005140863375), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.26538872869685, 38.95416992095992), (-122.26538872869685, 39.029159483432394), (-122.26538872869685, 39.104064455903135), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),), (((-122.35609518371197, 39.07598961696731), (-122.35609518371197, 39.15079452917801), (-122.35609518371197, 39.22551461637051), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.17888461552509), (-122.26538872869685, 39.104064455903135), (-122.35609518371197, 39.07598961696731)),), (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)]}" +"fireEvent/2023-02-09_0x80d94b0000000000","FireEvent","FireEvent at LatLong(32.42976:-117.12648) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 32.42976 -117.12648]","dcid:Earth,dcid:s2CellId/0x80d9350000000000,dcid:s2CellId/0x80d935fc00000000,dcid:s2CellId/0x80d94a0400000000,dcid:s2CellId/0x80d94b0000000000",4,"[2.57212 SquareKilometer]",2.57212,328.01,284.04,"n",1.7,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 32.544509987226014), (-117.07940822560565, 32.56638086365544), (-117.07940822560565, 32.482587100563286), (-117.07940822560565, 32.39872950090179), (-117.17353159273283, 32.3769183699734), (-117.17353159273283, 32.460745992059394), (-117.17353159273283, 32.544509987226014)),)}" +"fireEvent/2023-03-03_0x80948f0000000000","FireEvent","FireEvent at LatLong(36.49539:-120.02030) on 2023-03-03","2023-03-03","2023-03-03","P1D",1,1,"[LatLong 36.49539 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094850000000000,dcid:s2CellId/0x8094859c00000000,dcid:s2CellId/0x80948e4400000000,dcid:s2CellId/0x80948f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26479 SquareKilometer]",2.26479,339.48,291.4,"n",5.26,"2023-03-03","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 36.57303994189822), (-119.881520291274, 36.49420457905506), (-119.97405342347365, 36.46873908649985), (-120.06652363285929, 36.44320277938829), (-120.06652363285929, 36.52199526983154), (-119.97405342347365, 36.54755307417071), (-119.881520291274, 36.57303994189822)),)}" +"fireEvent/2023-03-01_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.73758:-119.28437) on 2023-03-01","2023-03-01","2023-03-02","P2D",2,2,"[LatLong 35.73758 -119.28437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae4fc00000000,dcid:s2CellId/0x80eae50000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf96400000000,dcid:s2CellId/0x80eaf97400000000,dcid:s2CellId/0x80eafc9400000000,dcid:s2CellId/0x80eafd0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.49974 SquareKilometer]",3.49974,335.6,288.75,"n",5.3,"2023-03-01,2023-03-02","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),), (((-119.32503466239531, 35.77169372701799), (-119.23207840138082, 35.79641633090737), (-119.23207840138082, 35.716489517297106), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799)),), (((-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.61180980810941), (-119.41793235298398, 35.58706253975614)),)]}" +"fireEvent/2023-02-16_0x80d7a90000000000","FireEvent","FireEvent at LatLong(32.45876:-115.17113) on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 32.45876 -115.17113]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a46c00000000,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a90000000000,dcid:s2CellId/0x80d7a9f400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,352.44,299.39,"n",7.84,"2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.58635275421574)),), (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)]}" +"fireEvent/2023-03-01_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.55335:-122.54293) on 2023-03-01","2023-03-01","2023-03-03","P3D",3,3,"[LatLong 38.55335 -122.54293]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x808444b400000000,dcid:s2CellId/0x808444dc00000000,dcid:s2CellId/0x808444e400000000,dcid:s2CellId/0x808444fc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084470000000000,dcid:s2CellId/0x8084473c00000000,dcid:s2CellId/0x80845a1400000000,dcid:s2CellId/0x80845a1c00000000,dcid:s2CellId/0x80845a5400000000,dcid:s2CellId/0x80845acc00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",12,"[6.18521 SquareKilometer]",6.18521,337.37,290.81,"n",12.81,"2023-03-01,2023-03-02,2023-03-03","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.71813749631639, 38.437476047170406), (-122.71813749631639, 38.51280040712088), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" +"fireEvent/2023-03-03_0x80d7690000000000","FireEvent","FireEvent at LatLong(32.87473:-115.52074) on 2023-03-03","2023-03-03","2023-03-04","P2D",2,2,"[LatLong 32.87473 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d75d0000000000,dcid:s2CellId/0x80d75df400000000,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7694400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.59547 SquareKilometer]",2.59547,338.41,304.97,"n",25.48,"2023-03-03,2023-03-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.86341617929968), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.84288161267371), (-115.3785719022423, 32.86341617929968)),), (((-115.5681083893613, 32.82227272901859), (-115.5681083893613, 32.90652316752118), (-115.47335544292073, 32.92715937663604), (-115.47335544292073, 32.84288161267371), (-115.5681083893613, 32.82227272901859)),)]}" +"fireEvent/2023-01-24_0x809ca30000000000","FireEvent","FireEvent at LatLong(39.43214:-121.30841) on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 39.43214 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809ca30000000000,dcid:s2CellId/0x809ca38400000000,dcid:s2CellId/0x809ca47c00000000,dcid:s2CellId/0x809ca48400000000,dcid:s2CellId/0x809ca50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.07105 SquareKilometer]",3.07105,320.08,276.81,"n",1.53,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 39.483266287272535), (-121.26263661074441, 39.40828552033575), (-121.35416313685073, 39.38098292464055), (-121.44561789291927, 39.35360871343016), (-121.44561789291927, 39.42856123811598), (-121.35416313685073, 39.45594962310902), (-121.26263661074441, 39.483266287272535)),)}" +"fireEvent/2023-02-14_0x8093770000000000","FireEvent","FireEvent at LatLong(36.47132:-120.38967) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.47132 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093770000000000,dcid:s2CellId/0x8093777400000000,dcid:s2CellId/0x8093790000000000,dcid:s2CellId/0x809379cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.25413 SquareKilometer]",2.25413,331.82,291.3,"n",4.78,"2023-02-14","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.41906007532748), (-120.43576307692442, 36.49768733054752), (-120.3435506342276, 36.52354795442271), (-120.25127284433846, 36.54933860162116), (-120.25127284433846, 36.47066792590074), (-120.3435506342276, 36.44489892762193), (-120.43576307692442, 36.41906007532748)),)}" +"fireEvent/2023-01-22_0x80833b0000000000","FireEvent","FireEvent at LatLong(39.82099:-121.91887) on 2023-01-22","2023-01-22","2023-01-31","P10D",10,8,"[LatLong 39.82099 -121.91887]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06021,dcid:northamerica,dcid:s2CellId/0x8082dc1400000000,dcid:s2CellId/0x8082dc3c00000000,dcid:s2CellId/0x8082dd0000000000,dcid:s2CellId/0x8082df0000000000,dcid:s2CellId/0x8082dfe400000000,dcid:s2CellId/0x8082dffc00000000,dcid:s2CellId/0x8082e00400000000,dcid:s2CellId/0x8082e00c00000000,dcid:s2CellId/0x8082e10000000000,dcid:s2CellId/0x8082e2bc00000000,dcid:s2CellId/0x8082e30000000000,dcid:s2CellId/0x8082fc9400000000,dcid:s2CellId/0x8082fd0000000000,dcid:s2CellId/0x8083030000000000,dcid:s2CellId/0x8083036c00000000,dcid:s2CellId/0x8083181400000000,dcid:s2CellId/0x8083190000000000,dcid:s2CellId/0x80831f0000000000,dcid:s2CellId/0x80831fec00000000,dcid:s2CellId/0x8083208400000000,dcid:s2CellId/0x8083210000000000,dcid:s2CellId/0x8083222400000000,dcid:s2CellId/0x8083230000000000,dcid:s2CellId/0x80833acc00000000,dcid:s2CellId/0x80833ad400000000,dcid:s2CellId/0x80833b0000000000,dcid:s2CellId/0x80833f0000000000,dcid:s2CellId/0x80833f7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",28,"[12.07092 SquareKilometer]",12.07092,367.0,296.9,"n",37.16,"2023-01-22,2023-01-23,2023-01-24,2023-01-26,2023-01-27,2023-01-28,2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-121.90179543138471, 39.58921273290782), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782)),), (((-121.90179543138471, 39.440055586207386), (-121.99280779590266, 39.41221374839482), (-121.99280779590266, 39.48682137961132), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.440055586207386)),), (((-121.99280779590266, 39.56134270969617), (-122.08374449567626, 39.533402512559896), (-122.08374449567626, 39.60782343975379), (-122.08374449567626, 39.68215785111147), (-122.17460498684162, 39.654119977456524), (-122.17460498684162, 39.579799358030826), (-122.26538872869685, 39.5517055701261), (-122.26538872869685, 39.626012291876584), (-122.26538872869685, 39.70023270028032), (-122.17460498684162, 39.7283540785671), (-122.08374449567627, 39.7564055396731), (-121.99280779590266, 39.78438679703803), (-121.99280779590266, 39.858560837073455), (-121.90179543138471, 39.88648478068095), (-121.90179543138471, 39.81229756552468), (-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.58921273290782), (-121.99280779590266, 39.56134270969617)),)]}" +"fireEvent/2023-02-22_0x8083550000000000","FireEvent","FireEvent at LatLong(39.33908:-121.63401) on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 39.33908 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808352d400000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083541400000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083555c00000000,dcid:s2CellId/0x8084a84c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x809cab0000000000,dcid:s2CellId/0x809cab3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.11827 SquareKilometer]",5.11827,344.88,287.29,"n",5.74,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711), (-121.53700031324804, 39.32616316459139), (-121.53700031324804, 39.25113845152714), (-121.62830983522124, 39.22363643515711), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.71954589932093, 39.34596854075605)),), (((-121.71954589932093, 39.12098248645304), (-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.12098248645304)),)]}" +"fireEvent/2023-02-12_0x8093650000000000","FireEvent","FireEvent at LatLong(36.31641:-120.25704) on 2023-02-12","2023-02-12","2023-02-13","P2D",2,2,"[LatLong 36.31641 -120.25704]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093640400000000,dcid:s2CellId/0x8093641c00000000,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x809366a400000000,dcid:s2CellId/0x8093670000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.39951 SquareKilometer]",3.39951,351.49,300.49,"n",27.39,"2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.25127284433846, 36.23418641187698), (-120.3435506342276, 36.208483658436926), (-120.3435506342276, 36.28736647095043), (-120.34355063422758, 36.36617166395524)),)}" +"fireEvent/2023-02-20_0x80833b0000000000","FireEvent","FireEvent at LatLong(39.64036:-121.85626) on 2023-02-20","2023-02-20","2023-02-22","P3D",3,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083259400000000,dcid:s2CellId/0x808326d400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083272c00000000,dcid:s2CellId/0x80833adc00000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.02584 SquareKilometer]",3.02584,352.15,292.84,"n",11.25,"2023-02-20,2023-02-21,2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.73802301630229), (-121.81070794913828, 39.76584973823246), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981)),)}" +"fireEvent/2023-02-03_0x809cff0000000000","FireEvent","FireEvent at LatLong(39.96225:-121.03351) on 2023-02-03","2023-02-03","2023-02-04","P2D",2,2,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdf400000000,dcid:s2CellId/0x809cfe0400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0221 SquareKilometer]",2.0221,341.7,277.57,"n",5.82,"2023-02-03,2023-02-04","{'type': 'Polygon', 'coordinates': (((-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176)),)}" +"fireEvent/2023-02-08_0x8085210000000000","FireEvent","FireEvent at LatLong(38.57692:-121.97575) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.57692 -121.97575]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084de1400000000,dcid:s2CellId/0x8084df0000000000,dcid:s2CellId/0x8085202c00000000,dcid:s2CellId/0x8085203400000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[2.08071 SquareKilometer]",2.08071,343.77,295.21,"n",11.91,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.462199289647856), (-121.99280779590266, 38.43456088254056), (-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.585896319149406), (-121.90179543138471, 38.61356832875711), (-121.90179543138471, 38.537925598738894), (-121.90179543138471, 38.462199289647856)),)}" +"fireEvent/2023-02-12_0x8094290000000000","FireEvent","FireEvent at LatLong(37.32915:-119.55717) on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 37.32915 -119.55717]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094290000000000,dcid:s2CellId/0x8094293c00000000,dcid:s2CellId/0x8094294c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23055 SquareKilometer]",2.23055,299.47,274.3,"n",1.16,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 37.35552745160059), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.380906429606696), (-119.60354950502408, 37.35552745160059)),)}" +"fireEvent/2023-03-16_0x80d16f0000000000","FireEvent","FireEvent at LatLong(33.90313:-114.42327) on 2023-03-16","2023-03-16","2023-03-16","P1D",1,1,"[LatLong 33.90313 -114.42327]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16e0400000000,dcid:s2CellId/0x80d16e1c00000000,dcid:s2CellId/0x80d16f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.5576 SquareKilometer]",2.5576,345.63,297.05,"n",9.57,"2023-03-16","{'type': 'Polygon', 'coordinates': (((-114.42921481897034, 33.90712585436565), (-114.42921481897034, 33.82320149214735), (-114.33414316655818, 33.843130223746485), (-114.33414316655818, 33.92707848788263), (-114.42921481897034, 33.90712585436565)),)}" +"fireEvent/2023-02-15_0x8092730000000000","FireEvent","FireEvent at LatLong(36.48535:-121.48561) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 36.48535 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x809272e400000000,dcid:s2CellId/0x8092730000000000,dcid:s2CellId/0x8092731c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21573 SquareKilometer]",2.21573,349.71,293.5,"n",9.07,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 36.49466838986812), (-121.53700031324804, 36.41661666511552), (-121.44561789291927, 36.44336363689261), (-121.44561789291927, 36.52143773982046), (-121.53700031324804, 36.49466838986812)),)}" +"fireEvent/2023-03-25_0x8094e70000000000","FireEvent","FireEvent at LatLong(36.53855:-119.44695) on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 36.53855 -119.44695]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094e22400000000,dcid:s2CellId/0x8094e22c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e50000000000,dcid:s2CellId/0x8094e5dc00000000,dcid:s2CellId/0x8094e67400000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094fa6400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fd0000000000,dcid:s2CellId/0x8094fd1c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",11,"[6.82657 SquareKilometer]",6.82657,344.21,299.21,"n",6.88,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356), (-119.41793235298401, 36.69940095775546), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238), (-119.60354950502408, 36.57017350866958)),)}" +"fireEvent/2023-01-12_0x80d64f0000000000","FireEvent","FireEvent at LatLong(32.39774:-114.75585) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.39774 -114.75585]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d648d400000000,dcid:s2CellId/0x80d6490000000000,dcid:s2CellId/0x80d6492c00000000,dcid:s2CellId/0x80d64ed400000000,dcid:s2CellId/0x80d64f0000000000",5,"[3.94984 SquareKilometer]",3.94984,337.67,280.07,"n",11.91,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.80926906488743, 32.47683458066355), (-114.71429184441097, 32.496682423392954), (-114.71429184441097, 32.41171815478524), (-114.71429184441094, 32.326688109961154), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.39189787714385), (-114.80926906488743, 32.47683458066355)),)}" +"fireEvent/2023-01-02_0x80c49d0000000000","FireEvent","FireEvent at LatLong(34.61964:-117.09706) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.61964 -117.09706]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c49cbc00000000,dcid:s2CellId/0x80c49cc400000000,dcid:s2CellId/0x80c49d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45544 SquareKilometer]",2.45544,298.73,274.81,"n",0.82,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 34.61669341815171), (-117.17353159273283, 34.53465606824912), (-117.07940822560565, 34.557178631747604), (-117.07940822560565, 34.6392405323175), (-117.17353159273283, 34.61669341815171)),)}" +"fireEvent/2023-02-06_0x8094af0000000000","FireEvent","FireEvent at LatLong(36.10040:-120.02030) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 36.10040 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af1c00000000,dcid:s2CellId/0x8094af2400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.28556 SquareKilometer]",2.28556,334.6,287.55,"n",4.13,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.04806788044641), (-119.97405342347365, 36.07349347026282), (-119.97405342347365, 36.15269831052497), (-120.06652363285929, 36.12725014536185)),)}" +"fireEvent/2023-03-27_0x8090430000000000","FireEvent","FireEvent at LatLong(37.81581:-121.12521) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 37.81581 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090430000000000,dcid:s2CellId/0x8090435c00000000,dcid:s2CellId/0x8090436400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.15323 SquareKilometer]",2.15323,352.06,296.83,"n",6.22,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.76395276415482), (-121.07937052658627, 37.79075426610106), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336)),)}" +"fireEvent/2023-03-27_0x809a150000000000","FireEvent","FireEvent at LatLong(38.59576:-120.49912) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.59576 -120.49912]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14ec00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ff400000000,dcid:s2CellId/0x809a400c00000000,dcid:s2CellId/0x809a410000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.18127 SquareKilometer]",3.18127,339.22,291.42,"n",5.62,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.61998952842978, 38.613410423372706), (-120.61998952842978, 38.689619841758045), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043)),)}" +"fireEvent/2023-03-26_0x8090750000000000","FireEvent","FireEvent at LatLong(38.09571:-121.21685) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.09571 -121.21685]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090757400000000,dcid:s2CellId/0x809aa0cc00000000,dcid:s2CellId/0x809aa0d400000000,dcid:s2CellId/0x809aa10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.19035 SquareKilometer]",3.19035,334.35,294.95,"n",2.22,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545)),), (((-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122)),)]}" +"fireEvent/2023-02-19_0x80d7650000000000","FireEvent","FireEvent at LatLong(32.70606:-115.52074) on 2023-02-19","2023-02-19","2023-02-20","P2D",2,2,"[LatLong 32.70606 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7650000000000,dcid:s2CellId/0x80d7650400000000,dcid:s2CellId/0x80d7658c00000000,dcid:s2CellId/0x80d765ac00000000,dcid:s2CellId/0x80d765f400000000,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f6400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.89998 SquareKilometer]",3.89998,352.22,313.34,"n",22.51,"2023-02-19,2023-02-20","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.69460416981107), (-115.47335544292073, 32.67412456932842), (-115.5681083893613, 32.65357093757281)),)}" +"fireEvent/2023-03-06_0x80d70b0000000000","FireEvent","FireEvent at LatLong(32.57063:-115.24227) on 2023-03-06","2023-03-06","2023-03-08","P3D",3,2,"[LatLong 32.57063 -115.24227]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d70a8c00000000,dcid:s2CellId/0x80d70b0000000000,dcid:s2CellId/0x80d7a70000000000,dcid:s2CellId/0x80d7a7c400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61547 SquareKilometer]",2.61547,333.7,297.21,"n",4.05,"2023-03-06,2023-03-08","{'type': 'MultiPolygon', 'coordinates': [(((-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.63047572713295), (-115.18891595142229, 32.65077919770483), (-115.18891595142229, 32.5661512898709), (-115.28375849518459, 32.54587551383132)),), (((-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574)),)]}" +"fireEvent/2023-01-23_0x809cd50000000000","FireEvent","FireEvent at LatLong(39.79791:-121.58266) on 2023-01-23","2023-01-23","2023-01-25","P3D",3,2,"[LatLong 39.79791 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cd50000000000,dcid:s2CellId/0x809cd53c00000000,dcid:s2CellId/0x809cd70000000000,dcid:s2CellId/0x809cd71400000000,dcid:s2CellId/0x809cd71c00000000,dcid:s2CellId/0x809cd73c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.03683 SquareKilometer]",4.03683,355.66,288.44,"n",16.93,"2023-01-23,2023-01-25","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.74688824941822), (-121.62830983522124, 39.82129004760166), (-121.53700031324804, 39.84890307417943), (-121.44561789291927, 39.87644431059195), (-121.44561789291927, 39.802016284462454), (-121.53700031324804, 39.774488110500045), (-121.62830983522124, 39.74688824941822)),)}" +"fireEvent/2023-01-23_0x80853f0000000000","FireEvent","FireEvent at LatLong(38.28629:-121.85626) on 2023-01-23","2023-01-23","2023-01-23","P1D",1,1,"[LatLong 38.28629 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085390000000000,dcid:s2CellId/0x808539ec00000000,dcid:s2CellId/0x80853f0000000000,dcid:s2CellId/0x80853ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.09856 SquareKilometer]",2.09856,297.63,277.58,"n",0.5,"2023-01-23","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.20693488934502), (-121.99280779590266, 38.282892940885574), (-121.90179543138471, 38.31049689758648), (-121.81070794913828, 38.33803225682059), (-121.81070794913828, 38.26203923045015), (-121.90179543138471, 38.23452130172675), (-121.99280779590266, 38.20693488934502)),)}" +"fireEvent/2023-02-20_0x54d10d0000000000","FireEvent","FireEvent at LatLong(41.22318:-123.91735) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 41.22318 -123.91735]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d10d0000000000,dcid:s2CellId/0x54d10ddc00000000,dcid:s2CellId/0x54d10e5c00000000,dcid:s2CellId/0x54d10e6400000000,dcid:s2CellId/0x54d10e6c00000000,dcid:s2CellId/0x54d10e7400000000,dcid:s2CellId/0x54d10f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[5.15135 SquareKilometer]",5.15135,354.76,291.81,"n",27.17,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-123.83537783956557, 41.21221558284898), (-123.92787048065873, 41.18143411603011), (-123.99940295441057, 41.234067876044605), (-124.07112954251315, 41.28671512267137), (-123.97844908119757, 41.3177409275206), (-123.90681624160965, 41.26497132163325), (-123.83537783956557, 41.21221558284898)),)}" +"fireEvent/2023-03-26_0x8091010000000000","FireEvent","FireEvent at LatLong(37.58756:-120.84989) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 37.58756 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x8091018400000000,dcid:s2CellId/0x8091022c00000000,dcid:s2CellId/0x8091024c00000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.26345 SquareKilometer]",3.26345,341.18,293.6,"n",4.45,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.89582422732902, 37.612902773234545)),), (((-120.61998952842978, 37.61499433591427), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.588619247244885), (-120.61998952842978, 37.61499433591427)),)]}" +"fireEvent/2023-01-24_0x80d7c70000000000","FireEvent","FireEvent at LatLong(32.27950:-115.14148) on 2023-01-24","2023-01-24","2023-01-27","P4D",4,4,"[LatLong 32.27950 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7b94400000000,dcid:s2CellId/0x80d7c62400000000,dcid:s2CellId/0x80d7c70000000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb0400000000,dcid:s2CellId/0x80d7ce4c00000000,dcid:s2CellId/0x80d7cf0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27353 SquareKilometer]",5.27353,341.03,300.06,"n",10.57,"2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.16208932703202), (-115.18891595142229, 32.14202858870148), (-115.18891595142229, 32.2269827091063)),), (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.26708735189506), (-114.90422082333554, 32.287028613932726)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 32.16208932703202), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.09700096546918), (-115.09404500241959, 32.07704259018568)),)]}" +"fireEvent/2023-03-27_0x80c2d10000000000","FireEvent","FireEvent at LatLong(34.06595:-118.02446) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 34.06595 -118.02446]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2d0b400000000,dcid:s2CellId/0x80c2d0c400000000,dcid:s2CellId/0x80c2d10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.46115 SquareKilometer]",2.46115,323.9,278.28,"n",2.3,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-118.1122678531936, 34.059614889814924), (-118.1122678531936, 33.97754564726115), (-118.01860874756083, 34.00069236114518), (-118.01860874756083, 34.08278833318326), (-118.1122678531936, 34.059614889814924)),)}" +"fireEvent/2023-02-08_0x80956d0000000000","FireEvent","FireEvent at LatLong(36.63852:-118.90628) on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 36.63852 -118.90628]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095690000000000,dcid:s2CellId/0x8095695400000000,dcid:s2CellId/0x8095695c00000000,dcid:s2CellId/0x80956c3400000000,dcid:s2CellId/0x80956c3c00000000,dcid:s2CellId/0x80956d0000000000,dcid:s2CellId/0x80956ea400000000,dcid:s2CellId/0x80956eac00000000,dcid:s2CellId/0x80956f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.71264 SquareKilometer]",5.71264,342.6,289.21,"n",5.79,"2023-02-08,2023-02-09,2023-02-10","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 36.72016386785025), (-118.95286453849957, 36.7449068112452), (-118.85968035209078, 36.76957609688757), (-118.8596803520908, 36.69043224866218), (-118.8596803520908, 36.61120737300191), (-118.95286453849957, 36.58657881730618), (-118.95286453849957, 36.66578322345074), (-119.04599270243568, 36.64106065984325), (-119.04599270243568, 36.72016386785025)),)}" +"fireEvent/2023-02-06_0x80d16d0000000000","FireEvent","FireEvent at LatLong(33.85517:-114.47674) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 33.85517 -114.47674]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16d0000000000,dcid:s2CellId/0x80d16d1400000000,dcid:s2CellId/0x80d16d2400000000,dcid:s2CellId/0x80d16d3400000000,dcid:s2CellId/0x80d16d4400000000,dcid:s2CellId/0x80d16d6400000000,dcid:s2CellId/0x80d16d6c00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",7,"[7.67347 SquareKilometer]",7.67347,367.0,357.96,"n",331.14,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.88709555416414), (-114.52426397902158, 33.80319522777779), (-114.42921481897034, 33.82320149214735), (-114.42921481897034, 33.90712585436565), (-114.52426397902158, 33.88709555416414)),)}" +"fireEvent/2023-01-06_0x80dce70000000000","FireEvent","FireEvent at LatLong(33.71042:-117.69042) on 2023-01-06","2023-01-06","2023-01-07","P2D",2,2,"[LatLong 33.71042 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06059,dcid:northamerica,dcid:s2CellId/0x80dcc30000000000,dcid:s2CellId/0x80dcc31c00000000,dcid:s2CellId/0x80dce70000000000,dcid:s2CellId/0x80dce73400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.49041 SquareKilometer]",2.49041,303.65,278.77,"n",0.6,"2023-01-06,2023-01-07","{'type': 'MultiPolygon', 'coordinates': [(((-117.73733730424752, 33.5751727543498), (-117.83114280240233, 33.55240330188513), (-117.83114280240233, 33.63497147549895), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.5751727543498)),), (((-117.73733730424752, 33.74029521156066), (-117.64348435403741, 33.7630480860941), (-117.64348435403741, 33.68049415262919), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.74029521156066)),)]}" +"fireEvent/2023-01-31_0x8084990000000000","FireEvent","FireEvent at LatLong(38.90934:-121.99849) on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 38.90934 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962400000000,dcid:s2CellId/0x8084963400000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084990000000000,dcid:s2CellId/0x8084997400000000,dcid:s2CellId/0x80849a3c00000000,dcid:s2CellId/0x80849b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.10807 SquareKilometer]",4.10807,354.76,288.07,"n",7.09,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975)),)}" +"fireEvent/2023-01-24_0x80c3170000000000","FireEvent","FireEvent at LatLong(34.36849:-117.69042) on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 34.36849 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c3170000000000,dcid:s2CellId/0x80c3173c00000000,dcid:s2CellId/0x80c3174400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.4519 SquareKilometer]",2.4519,330.06,281.99,"n",5.45,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-117.73733730424752, 34.39797441220154), (-117.73733730424752, 34.31601454830803), (-117.64348435403741, 34.33895221283812), (-117.64348435403741, 34.42093763167103), (-117.73733730424752, 34.39797441220154)),)}" diff --git a/scripts/earthengine/test_data/sample_floods_events.csv b/scripts/earthengine/test_data/sample_floods_events.csv index f5200e63bb..b2e95f25f2 100644 --- a/scripts/earthengine/test_data/sample_floods_events.csv +++ b/scripts/earthengine/test_data/sample_floods_events.csv @@ -1,10 +1,10 @@ -"dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","startLocation","affectedPlace","AffectedPlaceCount","ContainedInPlaceCount","area","AreaSqKm","subEvents","observationDate","geoJsonCoordinatesDP1" -"floodEvent/2022-10_0x39fb030000000000","FloodEvent","FloodEvent at LatLong(25.03584:88.20716) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.03584 88.20716]","dcid:s2CellId/0x39fb074400000000,dcid:s2CellId/0x39fb030000000000,dcid:Earth,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb03a400000000",6,7,"[3.60933 SquareKilometer]",3.609328,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((88.16816661672841, 24.987930457273897), (88.16816661672841, 25.082797955021128), (88.24611830999973, 25.083734806160862), (88.24611830999973, 24.988864715366525), (88.16816661672841, 24.987930457273897)),), (((88.32393091263926, 24.98975679359349), (88.32393091263926, 24.89485740029704), (88.24611830999973, 24.893967808439232), (88.24611830999973, 24.988864715366525), (88.32393091263926, 24.98975679359349)),)]}" -"floodEvent/2022-10_0x39f1a90000000000","FloodEvent","FloodEvent at LatLong(24.82228:86.78185) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.82228 86.78185]","dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1070000000000,dcid:Earth,dcid:s2CellId/0x39f1a95c00000000,dcid:s2CellId/0x39f1a90000000000",4,5,"[1.80634 SquareKilometer]",1.806339,"","2022-10","{'type': 'Polygon', 'coordinates': (((86.74163739293384, 24.9636595181691), (86.82203408381292, 24.965389147310105), (86.82203408381292, 24.870557703590148), (86.82203408381292, 24.775700454671043), (86.74163739293384, 24.773980497142173), (86.74163739293384, 24.86883290014557), (86.74163739293384, 24.9636595181691)),)}" -"floodEvent/2022-10_0x39f2cf0000000000","FloodEvent","FloodEvent at LatLong(25.05296:85.03894) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.05296 85.03894]","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:Earth,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",4,5,"[1.80441 SquareKilometer]",1.8044069999999999,"","2022-10","{'type': 'Polygon', 'coordinates': (((85.02334601407406, 25.105671247006093), (85.10643727766721, 25.108427924255686), (85.10643727766721, 25.0137784684534), (85.10643727766721, 24.91910228280929), (85.02334601407406, 24.916360836175645), (85.02334601407406, 25.01102939043017), (85.02334601407406, 25.105671247006093)),)}" -"floodEvent/2022-10_0x39f2fb0000000000","FloodEvent","FloodEvent at LatLong(25.00855:85.50457) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.00855 85.50457]","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000,dcid:Earth",2,3,"[0.9023 SquareKilometer]",0.9023,"","2022-10","{'type': 'Polygon', 'coordinates': (((85.4375574061058, 24.929568460361843), (85.52002399545074, 24.932061071646416), (85.52002399545074, 25.026773319001666), (85.4375574061058, 25.024273772791044), (85.4375574061058, 24.929568460361843)),)}" -"floodEvent/2022-10_0x39925b0000000000","FloodEvent","FloodEvent at LatLong(25.12651:84.44352) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.12651 84.44352]","dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa65400000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1dd6400000000,dcid:Earth,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f2145c00000000",1000,1001,"[946.33968 SquareKilometer]",946.3396849999998,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((84.10128611741789, 26.110058872788112), (84.18571146515119, 26.113481230384203), (84.27001789722121, 26.116849508317603), (84.27001789722121, 26.022620334418804), (84.27001789722121, 25.92835686202932), (84.18571146515119, 25.925005827944414), (84.18571146515119, 26.019260658662585), (84.10128611741789, 26.01584704268557), (84.10128611741789, 26.110058872788112)),), (((86.90229801867378, 25.535506280617078), (86.90229801867378, 25.44084047003454), (86.98242881839165, 25.442500937544825), (86.98242881839165, 25.5371712009299), (87.06242610706224, 25.538789819401725), (87.14228951199856, 25.540362346911774), (87.22201866372775, 25.541888994831428), (87.30161319598756, 25.54336997501217), (87.38107274572258, 25.54480549977361), (87.46039695308058, 25.546195781891544), (87.46039695308058, 25.45150138795216), (87.53958546140831, 25.452843044417644), (87.61863791724736, 25.454140005114738), (87.61863791724736, 25.35940817124251), (87.69755397032972, 25.36065727806544), (87.69755397032972, 25.45539248352429), (87.69755397032972, 25.550097306735392), (87.77633327357327, 25.551308754745385), (87.77633327357327, 25.456600693535744), (87.77633327357327, 25.361862235828678), (87.85497548307694, 25.36302325822337), (87.85497548307694, 25.268251984022655), (87.93348025811581, 25.269366256596808), (87.93348025811581, 25.174562986800925), (87.93348025811581, 25.079731480812), (88.01184726113603, 25.08079650587531), (88.01184726113603, 24.9859345481427), (88.01184726113603, 24.891045808719575), (88.01184726113603, 24.796131023708277), (88.01184726113603, 24.70119093088496), (87.93348025811581, 24.70013777324746), (87.93348025811581, 24.79507488058305), (87.85497548307694, 24.793975946612758), (87.85497548307694, 24.888884664832755), (87.85497548307694, 24.983767362840133), (87.77633327357327, 24.982619010844495), (87.77633327357327, 25.07747176466864), (87.77633327357327, 25.172297041504493), (87.69755397032972, 25.171098630794088), (87.61863791724736, 25.169856311255923), (87.61863791724736, 25.26464669698908), (87.53958546140831, 25.263356734573925), (87.46039695308058, 25.262022317970054), (87.46039695308058, 25.356776657647888), (87.38107274572258, 25.35539382552379), (87.30161319598756, 25.35396599365868), (87.30161319598756, 25.259219275149494), (87.30161319598756, 25.164443709060063), (87.22201866372775, 25.162978672248855), (87.14228951199856, 25.1614684603739), (87.06242610706224, 25.15991286395973), (87.06242610706224, 25.06512164204467), (86.98242881839165, 25.063524856451902), (86.98242881839165, 25.158311674009234), (86.98242881839165, 25.253070446551543), (86.90229801867378, 25.25141894326741), (86.90229801867378, 25.156664682015695), (86.82203408381292, 25.15497167997469), (86.74163739293384, 25.15323246039619), (86.66110832838467, 25.151446816316586), (86.58044727573964, 25.149614541310843), (86.58044727573964, 25.244349487904724), (86.49965462380155, 25.24246522708672), (86.41873076460409, 25.240533794830505), (86.33767609341406, 25.238554985807156), (86.2564910087331, 25.236528595275804), (86.2564910087331, 25.141815023056427), (86.1751759122996, 25.139746516746417), (86.09373120909008, 25.13763015295278), (86.09373120909008, 25.23233225373979), (86.01215730732058, 25.230161896304683), (85.93045461844771, 25.227943144525515), (85.84862355716957, 25.225675796787165), (85.84862355716957, 25.320331243584), (85.84862355716957, 25.414957509808975), (85.76666454142645, 25.412628778375513), (85.68457799240123, 25.410250782196727), (85.60236433451973, 25.407823320516883), (85.52002399545074, 25.40534619328205), (85.52002399545074, 25.499916744085837), (85.4375574061058, 25.497382964438337), (85.35496500063881, 25.49479898605226), (85.27224721644559, 25.492164610478714), (85.18940449416283, 25.489479640022275), (85.18940449416283, 25.5839918332202), (85.10643727766721, 25.581248771186445), (85.02334601407406, 25.57845458425082), (85.02334601407406, 25.672920991102874), (84.94013115373588, 25.670067942552144), (84.94013115373588, 25.57560907648426), (84.8567931502407, 25.57271205276331), (84.77333246041007, 25.569763318782996), (84.77333246041007, 25.4752889995076), (84.8567931502407, 25.478229882544817), (84.8567931502407, 25.38371745058672), (84.77333246041007, 25.380784453006903), (84.77333246041007, 25.286250401660837), (84.6897495442969, 25.283273839648825), (84.6897495442969, 25.377799830725767), (84.6897495442969, 25.472296351953425), (84.6897495442969, 25.566762681069697), (84.60604486518308, 25.563709946994038), (84.60604486518308, 25.658137269444214), (84.52221888957693, 25.65502401338336), (84.43827208721021, 25.65185813798067), (84.43827208721021, 25.55744742353682), (84.35420493103518, 25.554237253233943), (84.35420493103518, 25.648639452655605), (84.27001789722121, 25.645367767724697), (84.18571146515119, 25.64204289441456), (84.10128611741789, 25.638664644874787), (84.10128611741789, 25.544288841315034), (84.01674233981981, 25.54086611270986), (83.93208062135697, 25.53738977865098), (83.84730145422645, 25.533859654689113), (83.84730145422645, 25.62820777449197), (83.93208062135697, 25.631747270397884), (84.01674233981983, 25.635232832191026), (84.01674233981981, 25.72956822521795), (84.10128611741789, 25.73300908174081), (84.1857114651512, 25.736396232637414), (84.27001789722121, 25.739729865377054), (84.27001789722121, 25.834059801565218), (84.27001789722121, 25.92835686202932), (84.35420493103518, 25.931654285473165), (84.43827208721021, 25.93489828871593), (84.52221888957692, 25.93808906311106), (84.52221888957693, 25.84376679810891), (84.60604486518308, 25.84689641208131), (84.6897495442969, 25.849973320515517), (84.6897495442969, 25.755601883022578), (84.77333246041007, 25.758618395249233), (84.8567931502407, 25.761582727117926), (84.8567931502407, 25.855969795459607), (84.94013115373588, 25.858889751452427), (84.94013115373588, 25.76449507323184), (85.02334601407406, 25.767355629027527), (85.02334601407406, 25.861757780846958), (85.10643727766721, 25.86457408046413), (85.18940449416283, 25.867338847933333), (85.18940449416283, 25.77292215549984), (85.27224721644559, 25.775628521100234), (85.27224721644559, 25.68117217706942), (85.35496500063881, 25.68382057678854), (85.4375574061058, 25.686418309464628), (85.52002399545074, 25.68896557469331), (85.52002399545074, 25.59445677839547), (85.60236433451973, 25.596947182154203), (85.60236433451973, 25.502400524184356), (85.68457799240123, 25.504834504651477), (85.68457799240123, 25.59938765278535), (85.76666454142645, 25.601778391498687), (85.84862355716959, 25.604119600207447), (85.93045461844771, 25.6064114815156), (85.93045461844771, 25.511839658093688), (86.01215730732058, 25.51407645332704), (86.01215730732058, 25.419467984896187), (86.09373120909008, 25.421650133457), (86.1751759122996, 25.42378382706151), (86.2564910087331, 25.425869269785743), (86.2564910087331, 25.5204949183438), (86.33767609341406, 25.522537781974258), (86.33767609341406, 25.42790666633226), (86.41873076460409, 25.42989622201769), (86.41873076460409, 25.524532675905252), (86.49965462380155, 25.526479806640555), (86.58044727573964, 25.528379381273865), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.435579906024774), (86.66110832838467, 25.340898055809642), (86.74163739293384, 25.34269346311163), (86.74163739293384, 25.437380163280384), (86.82203408381292, 25.439133615036358), (86.82203408381292, 25.533794848088245), (86.90229801867378, 25.535506280617078)),), (((84.10128611741789, 25.921600993704935), (84.18571146515119, 25.925005827944414), (84.1857114651512, 25.830717448526272), (84.10128611741789, 25.82732143602137), (84.10128611741789, 25.921600993704935)),), (((85.10643727766721, 26.053292642812583), (85.10643727766721, 25.958950335632913), (85.02334601407406, 25.956126731282584), (84.94013115373588, 25.95325126204064), (84.94013115373588, 26.047578891746294), (84.94013115373588, 26.141871929267474), (85.02334601407406, 26.144762176536553), (85.02334601407406, 26.050461766980458), (85.10643727766721, 26.053292642812583)),), (((87.46039695308058, 25.735490661888026), (87.46039695308058, 25.640859114305), (87.38107274572258, 25.639465131764638), (87.38107274572258, 25.734092995379868), (87.46039695308058, 25.735490661888026)),), (((86.66110832838467, 25.624852435627844), (86.74163739293384, 25.626662329117302), (86.74163739293384, 25.53203669348475), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.624852435627844)),), (((84.43827208721021, 25.1795037432513), (84.43827208721021, 25.274033342922905), (84.52221888957693, 25.277165499917018), (84.60604486518308, 25.280245602424383), (84.60604486518308, 25.185699102275812), (84.52221888957693, 25.182627378646327), (84.52221888957693, 25.088061308689923), (84.43827208721021, 25.08494623144014), (84.43827208721021, 25.1795037432513)),)]}" -"floodEvent/2022-10_0x39ee6d0000000000","FloodEvent","FloodEvent at LatLong(25.85650:86.45921) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.85650 86.45921]","dcid:s2CellId/0x39ee6d2c00000000,dcid:Earth,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000",4,5,"[1.79107 SquareKilometer]",1.791068,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((86.41873076460409, 25.997238431745355), (86.49965462380155, 25.99921126692098), (86.49965462380155, 26.093657155868584), (86.41873076460409, 26.091679249420316), (86.41873076460409, 25.997238431745355)),), (((86.41873076460409, 25.808254312591544), (86.49965462380155, 25.81021693539081), (86.49965462380155, 25.904730955127118), (86.41873076460409, 25.90276321452476), (86.41873076460409, 25.808254312591544)),)]}" -"floodEvent/2022-10_0x398dad0000000000","FloodEvent","FloodEvent at LatLong(24.83720:84.14351) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.83720 84.14351]","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad1400000000,dcid:Earth,dcid:s2CellId/0x398dad0c00000000",3,4,"[1.8073 SquareKilometer]",1.807302,"","2022-10","{'type': 'Polygon', 'coordinates': (((84.10128611741789, 24.788239718921737), (84.1857114651512, 24.79153608914476), (84.1857114651512, 24.886146090200345), (84.10128611741789, 24.882840466824423), (84.10128611741789, 24.788239718921737)),)}" -"floodEvent/2022-10_0x39f3cd0000000000","FloodEvent","FloodEvent at LatLong(24.80489:86.05296) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.80489 86.05296]","dcid:s2CellId/0x39f3cdac00000000,dcid:Earth,dcid:s2CellId/0x39f3cd0000000000",2,3,"[0.90384 SquareKilometer]",0.903843,"","2022-10","{'type': 'Polygon', 'coordinates': (((86.01215730732058, 24.756410613360817), (86.09373120909008, 24.758551048456575), (86.09373120909008, 24.853359964214558), (86.01215730732058, 24.851213494211738), (86.01215730732058, 24.756410613360817)),)}" -"floodEvent/2022-10_0x39e5410000000000","FloodEvent","FloodEvent at LatLong(25.97770:87.81567) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.97770 87.81567]","dcid:s2CellId/0x39e5413400000000,dcid:Earth,dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e54f0000000000,dcid:s2CellId/0x39e5495400000000",8,9,"[4.4824 SquareKilometer]",4.482403,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((87.77633327357327, 26.024367791331297), (87.85497548307694, 26.025550458330905), (87.85497548307694, 25.931002171995136), (87.77633327357327, 25.92982255544202), (87.77633327357327, 26.024367791331297)),), (((87.85497548307694, 25.836419867259345), (87.85497548307694, 25.741804261933925), (87.77633327357327, 25.740630788088815), (87.69755397032972, 25.73941290701931), (87.69755397032972, 25.834022239067483), (87.77633327357327, 25.83524331510538), (87.85497548307694, 25.836419867259345)),)]}" +"dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","numberOfDays","startLocation","affectedPlace","AffectedPlaceCount","area","AreaSqKm","observationDate","geoJsonCoordinatesDP1" +"floodEvent/2022-10_0x39f2fb0000000000","FloodEvent","FloodEvent at LatLong(25.00855:85.50457) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.00855 85.50457]","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000",2,"[0.9023 SquareKilometer]",0.9023,"2022-10","{'type': 'Polygon', 'coordinates': (((85.4375574061058, 24.929568460361843), (85.52002399545074, 24.932061071646416), (85.52002399545074, 25.026773319001666), (85.4375574061058, 25.024273772791044), (85.4375574061058, 24.929568460361843)),)}" +"floodEvent/2022-10_0x39ee6d0000000000","FloodEvent","FloodEvent at LatLong(25.85650:86.45921) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.85650 86.45921]","dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee6d2c00000000",4,"[1.79107 SquareKilometer]",1.79107,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((86.41873076460409, 25.997238431745355), (86.49965462380155, 25.99921126692098), (86.49965462380155, 26.093657155868584), (86.41873076460409, 26.091679249420316), (86.41873076460409, 25.997238431745355)),), (((86.41873076460409, 25.808254312591544), (86.49965462380155, 25.81021693539081), (86.49965462380155, 25.904730955127118), (86.41873076460409, 25.90276321452476), (86.41873076460409, 25.808254312591544)),)]}" +"floodEvent/2022-10_0x39f3cd0000000000","FloodEvent","FloodEvent at LatLong(24.80489:86.05296) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.80489 86.05296]","dcid:s2CellId/0x39f3cd0000000000,dcid:s2CellId/0x39f3cdac00000000",2,"[0.90384 SquareKilometer]",0.90384,"2022-10","{'type': 'Polygon', 'coordinates': (((86.01215730732058, 24.756410613360817), (86.09373120909008, 24.758551048456575), (86.09373120909008, 24.853359964214558), (86.01215730732058, 24.851213494211738), (86.01215730732058, 24.756410613360817)),)}" +"floodEvent/2022-10_0x39f2cf0000000000","FloodEvent","FloodEvent at LatLong(25.05296:85.03894) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.05296 85.03894]","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",4,"[1.80441 SquareKilometer]",1.80441,"2022-10","{'type': 'Polygon', 'coordinates': (((85.02334601407406, 25.105671247006093), (85.10643727766721, 25.108427924255686), (85.10643727766721, 25.0137784684534), (85.10643727766721, 24.91910228280929), (85.02334601407406, 24.916360836175645), (85.02334601407406, 25.01102939043017), (85.02334601407406, 25.105671247006093)),)}" +"floodEvent/2022-10_0x39f1a90000000000","FloodEvent","FloodEvent at LatLong(24.82228:86.78185) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.82228 86.78185]","dcid:s2CellId/0x39f1070000000000,dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1a90000000000,dcid:s2CellId/0x39f1a95c00000000",4,"[1.80634 SquareKilometer]",1.80634,"2022-10","{'type': 'Polygon', 'coordinates': (((86.74163739293384, 24.9636595181691), (86.82203408381292, 24.965389147310105), (86.82203408381292, 24.870557703590148), (86.82203408381292, 24.775700454671043), (86.74163739293384, 24.773980497142173), (86.74163739293384, 24.86883290014557), (86.74163739293384, 24.9636595181691)),)}" +"floodEvent/2022-10_0x39fb030000000000","FloodEvent","FloodEvent at LatLong(25.03584:88.20716) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.03584 88.20716]","dcid:s2CellId/0x39fb030000000000,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb03a400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb074400000000",6,"[3.60933 SquareKilometer]",3.60933,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((88.16816661672841, 24.987930457273897), (88.16816661672841, 25.082797955021128), (88.24611830999973, 25.083734806160862), (88.24611830999973, 24.988864715366525), (88.16816661672841, 24.987930457273897)),), (((88.32393091263926, 24.98975679359349), (88.32393091263926, 24.89485740029704), (88.24611830999973, 24.893967808439232), (88.24611830999973, 24.988864715366525), (88.32393091263926, 24.98975679359349)),)]}" +"floodEvent/2022-10_0x39925b0000000000","FloodEvent","FloodEvent at LatLong(25.12651:84.44352) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.12651 84.44352]","dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f1dd6400000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f2145c00000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39faa65400000000",1000,"[910.35501 SquareKilometer]",910.35501,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((84.10128611741789, 26.110058872788112), (84.18571146515119, 26.113481230384203), (84.27001789722121, 26.116849508317603), (84.27001789722121, 26.022620334418804), (84.27001789722121, 25.92835686202932), (84.18571146515119, 25.925005827944414), (84.18571146515119, 26.019260658662585), (84.10128611741789, 26.01584704268557), (84.10128611741789, 26.110058872788112)),), (((86.90229801867378, 25.535506280617078), (86.90229801867378, 25.44084047003454), (86.98242881839165, 25.442500937544825), (86.98242881839165, 25.5371712009299), (87.06242610706224, 25.538789819401725), (87.14228951199856, 25.540362346911774), (87.22201866372775, 25.541888994831428), (87.30161319598756, 25.54336997501217), (87.38107274572258, 25.54480549977361), (87.46039695308058, 25.546195781891544), (87.46039695308058, 25.45150138795216), (87.53958546140831, 25.452843044417644), (87.61863791724736, 25.454140005114738), (87.61863791724736, 25.35940817124251), (87.69755397032972, 25.36065727806544), (87.69755397032972, 25.45539248352429), (87.69755397032972, 25.550097306735392), (87.77633327357327, 25.551308754745385), (87.77633327357327, 25.456600693535744), (87.77633327357327, 25.361862235828678), (87.85497548307694, 25.36302325822337), (87.85497548307694, 25.268251984022655), (87.93348025811581, 25.269366256596808), (87.93348025811581, 25.174562986800925), (87.93348025811581, 25.079731480812), (88.01184726113603, 25.08079650587531), (88.01184726113603, 24.9859345481427), (88.01184726113603, 24.891045808719575), (88.01184726113603, 24.796131023708277), (88.01184726113603, 24.70119093088496), (87.93348025811581, 24.70013777324746), (87.93348025811581, 24.79507488058305), (87.85497548307694, 24.793975946612758), (87.85497548307694, 24.888884664832755), (87.85497548307694, 24.983767362840133), (87.77633327357327, 24.982619010844495), (87.77633327357327, 25.07747176466864), (87.77633327357327, 25.172297041504493), (87.69755397032972, 25.171098630794088), (87.61863791724736, 25.169856311255923), (87.61863791724736, 25.26464669698908), (87.53958546140831, 25.263356734573925), (87.46039695308058, 25.262022317970054), (87.46039695308058, 25.356776657647888), (87.38107274572258, 25.35539382552379), (87.30161319598756, 25.35396599365868), (87.30161319598756, 25.259219275149494), (87.30161319598756, 25.164443709060063), (87.22201866372775, 25.162978672248855), (87.14228951199856, 25.1614684603739), (87.06242610706224, 25.15991286395973), (87.06242610706224, 25.06512164204467), (86.98242881839165, 25.063524856451902), (86.98242881839165, 25.158311674009234), (86.98242881839165, 25.253070446551543), (86.90229801867378, 25.25141894326741), (86.90229801867378, 25.156664682015695), (86.82203408381292, 25.15497167997469), (86.74163739293384, 25.15323246039619), (86.66110832838467, 25.151446816316586), (86.58044727573964, 25.149614541310843), (86.58044727573964, 25.244349487904724), (86.49965462380155, 25.24246522708672), (86.41873076460409, 25.240533794830505), (86.33767609341406, 25.238554985807156), (86.2564910087331, 25.236528595275804), (86.2564910087331, 25.141815023056427), (86.1751759122996, 25.139746516746417), (86.09373120909008, 25.13763015295278), (86.09373120909008, 25.23233225373979), (86.01215730732058, 25.230161896304683), (85.93045461844771, 25.227943144525515), (85.84862355716957, 25.225675796787165), (85.84862355716957, 25.320331243584), (85.84862355716957, 25.414957509808975), (85.76666454142645, 25.412628778375513), (85.68457799240123, 25.410250782196727), (85.60236433451973, 25.407823320516883), (85.52002399545074, 25.40534619328205), (85.52002399545074, 25.499916744085837), (85.4375574061058, 25.497382964438337), (85.35496500063881, 25.49479898605226), (85.27224721644559, 25.492164610478714), (85.18940449416283, 25.489479640022275), (85.18940449416283, 25.5839918332202), (85.10643727766721, 25.581248771186445), (85.02334601407406, 25.57845458425082), (85.02334601407406, 25.672920991102874), (84.94013115373588, 25.670067942552144), (84.94013115373588, 25.57560907648426), (84.8567931502407, 25.57271205276331), (84.77333246041007, 25.569763318782996), (84.77333246041007, 25.4752889995076), (84.8567931502407, 25.478229882544817), (84.8567931502407, 25.38371745058672), (84.77333246041007, 25.380784453006903), (84.77333246041007, 25.286250401660837), (84.6897495442969, 25.283273839648825), (84.6897495442969, 25.377799830725767), (84.6897495442969, 25.472296351953425), (84.6897495442969, 25.566762681069697), (84.60604486518308, 25.563709946994038), (84.60604486518308, 25.658137269444214), (84.52221888957693, 25.65502401338336), (84.43827208721021, 25.65185813798067), (84.43827208721021, 25.55744742353682), (84.35420493103518, 25.554237253233943), (84.35420493103518, 25.648639452655605), (84.27001789722121, 25.645367767724697), (84.18571146515119, 25.64204289441456), (84.10128611741789, 25.638664644874787), (84.10128611741789, 25.544288841315034), (84.01674233981981, 25.54086611270986), (83.93208062135697, 25.53738977865098), (83.84730145422645, 25.533859654689113), (83.84730145422645, 25.62820777449197), (83.93208062135697, 25.631747270397884), (84.01674233981983, 25.635232832191026), (84.01674233981981, 25.72956822521795), (84.10128611741789, 25.73300908174081), (84.1857114651512, 25.736396232637414), (84.27001789722121, 25.739729865377054), (84.27001789722121, 25.834059801565218), (84.27001789722121, 25.92835686202932), (84.35420493103518, 25.931654285473165), (84.43827208721021, 25.93489828871593), (84.52221888957692, 25.93808906311106), (84.52221888957693, 25.84376679810891), (84.60604486518308, 25.84689641208131), (84.6897495442969, 25.849973320515517), (84.6897495442969, 25.755601883022578), (84.77333246041007, 25.758618395249233), (84.8567931502407, 25.761582727117926), (84.8567931502407, 25.855969795459607), (84.94013115373588, 25.858889751452427), (84.94013115373588, 25.76449507323184), (85.02334601407406, 25.767355629027527), (85.02334601407406, 25.861757780846958), (85.10643727766721, 25.86457408046413), (85.18940449416283, 25.867338847933333), (85.18940449416283, 25.77292215549984), (85.27224721644559, 25.775628521100234), (85.27224721644559, 25.68117217706942), (85.35496500063881, 25.68382057678854), (85.4375574061058, 25.686418309464628), (85.52002399545074, 25.68896557469331), (85.52002399545074, 25.59445677839547), (85.60236433451973, 25.596947182154203), (85.60236433451973, 25.502400524184356), (85.68457799240123, 25.504834504651477), (85.68457799240123, 25.59938765278535), (85.76666454142645, 25.601778391498687), (85.84862355716959, 25.604119600207447), (85.93045461844771, 25.6064114815156), (85.93045461844771, 25.511839658093688), (86.01215730732058, 25.51407645332704), (86.01215730732058, 25.419467984896187), (86.09373120909008, 25.421650133457), (86.1751759122996, 25.42378382706151), (86.2564910087331, 25.425869269785743), (86.2564910087331, 25.5204949183438), (86.33767609341406, 25.522537781974258), (86.33767609341406, 25.42790666633226), (86.41873076460409, 25.42989622201769), (86.41873076460409, 25.524532675905252), (86.49965462380155, 25.526479806640555), (86.58044727573964, 25.528379381273865), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.435579906024774), (86.66110832838467, 25.340898055809642), (86.74163739293384, 25.34269346311163), (86.74163739293384, 25.437380163280384), (86.82203408381292, 25.439133615036358), (86.82203408381292, 25.533794848088245), (86.90229801867378, 25.535506280617078)),), (((84.10128611741789, 25.921600993704935), (84.18571146515119, 25.925005827944414), (84.1857114651512, 25.830717448526272), (84.10128611741789, 25.82732143602137), (84.10128611741789, 25.921600993704935)),), (((85.10643727766721, 26.053292642812583), (85.10643727766721, 25.958950335632913), (85.02334601407406, 25.956126731282584), (84.94013115373588, 25.95325126204064), (84.94013115373588, 26.047578891746294), (84.94013115373588, 26.141871929267474), (85.02334601407406, 26.144762176536553), (85.02334601407406, 26.050461766980458), (85.10643727766721, 26.053292642812583)),), (((87.46039695308058, 25.735490661888026), (87.46039695308058, 25.640859114305), (87.38107274572258, 25.639465131764638), (87.38107274572258, 25.734092995379868), (87.46039695308058, 25.735490661888026)),), (((86.66110832838467, 25.624852435627844), (86.74163739293384, 25.626662329117302), (86.74163739293384, 25.53203669348475), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.624852435627844)),), (((84.43827208721021, 25.1795037432513), (84.43827208721021, 25.274033342922905), (84.52221888957693, 25.277165499917018), (84.60604486518308, 25.280245602424383), (84.60604486518308, 25.185699102275812), (84.52221888957693, 25.182627378646327), (84.52221888957693, 25.088061308689923), (84.43827208721021, 25.08494623144014), (84.43827208721021, 25.1795037432513)),)]}" +"floodEvent/2022-10_0x398dad0000000000","FloodEvent","FloodEvent at LatLong(24.83720:84.14351) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.83720 84.14351]","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad0c00000000,dcid:s2CellId/0x398dad1400000000",3,"[1.8073 SquareKilometer]",1.8073,"2022-10","{'type': 'Polygon', 'coordinates': (((84.10128611741789, 24.788239718921737), (84.1857114651512, 24.79153608914476), (84.1857114651512, 24.886146090200345), (84.10128611741789, 24.882840466824423), (84.10128611741789, 24.788239718921737)),)}" +"floodEvent/2022-10_0x39e5410000000000","FloodEvent","FloodEvent at LatLong(25.97770:87.81567) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.97770 87.81567]","dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5413400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5495400000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e54f0000000000",8,"[4.4824 SquareKilometer]",4.4824,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((87.77633327357327, 26.024367791331297), (87.85497548307694, 26.025550458330905), (87.85497548307694, 25.931002171995136), (87.77633327357327, 25.92982255544202), (87.77633327357327, 26.024367791331297)),), (((87.85497548307694, 25.836419867259345), (87.85497548307694, 25.741804261933925), (87.77633327357327, 25.740630788088815), (87.69755397032972, 25.73941290701931), (87.69755397032972, 25.834022239067483), (87.77633327357327, 25.83524331510538), (87.85497548307694, 25.836419867259345)),)]}" diff --git a/scripts/earthengine/test_data/sample_floods_events.tmcf b/scripts/earthengine/test_data/sample_floods_events.tmcf index df055fe033..48b300abe2 100644 --- a/scripts/earthengine/test_data/sample_floods_events.tmcf +++ b/scripts/earthengine/test_data/sample_floods_events.tmcf @@ -5,9 +5,9 @@ name: C:Events->name startDate: C:Events->startDate endDate: C:Events->endDate observationPeriod: C:Events->observationPeriod +numberOfDays: C:Events->numberOfDays startLocation: C:Events->startLocation affectedPlace: C:Events->affectedPlace area: C:Events->area -subEvents: C:Events->subEvents observationDate: C:Events->observationDate geoJsonCoordinatesDP1: C:Events->geoJsonCoordinatesDP1 \ No newline at end of file diff --git a/scripts/earthengine/test_data/sample_floods_output.csv b/scripts/earthengine/test_data/sample_floods_output.csv index 2f2e9da247..f645858cf9 100644 --- a/scripts/earthengine/test_data/sample_floods_output.csv +++ b/scripts/earthengine/test_data/sample_floods_output.csv @@ -29,7 +29,7 @@ "0.895735","2022-10","25.911904","84.437145","dcid:s2CellId/0x39928d5c00000000",13,1 "0.896002","2022-10","25.875972","84.437145","dcid:s2CellId/0x39928d8400000000",13,1 "0.896002","2022-10","25.875972","86.440388","dcid:s2CellId/0x39ee11bc00000000",13,1 -"1.792270","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",26,2 +"0.896135","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",13,1 "0.896202","2022-10","25.849022","84.500027","dcid:s2CellId/0x399293dc00000000",13,1 "0.896268","2022-10","25.840039","84.500027","dcid:s2CellId/0x3992916400000000",13,1 "0.896335","2022-10","25.831056","84.500027","dcid:s2CellId/0x3992916c00000000",13,1 @@ -40,8 +40,8 @@ "0.896468","2022-10","25.813090","87.796844","dcid:s2CellId/0x39e5489400000000",13,1 "0.896534","2022-10","25.804107","84.607825","dcid:s2CellId/0x3992bd8400000000",13,1 "0.896667","2022-10","25.786140","84.625791","dcid:s2CellId/0x3992bd6c00000000",13,1 -"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",26,2 -"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",26,2 +"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,1 +"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,1 "0.896667","2022-10","25.786140","85.173764","dcid:s2CellId/0x39ed44bc00000000",13,1 "0.896667","2022-10","25.786140","87.769895","dcid:s2CellId/0x39e54ed400000000",13,1 "0.896734","2022-10","25.777157","85.101898","dcid:s2CellId/0x39ed4ffc00000000",13,1 @@ -58,7 +58,7 @@ "0.896999","2022-10","25.741224","84.419179","dcid:s2CellId/0x3992855c00000000",13,1 "0.896999","2022-10","25.741224","84.652741","dcid:s2CellId/0x3992a32400000000",13,1 "0.896999","2022-10","25.741224","84.661724","dcid:s2CellId/0x3992a33c00000000",13,1 -"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",26,2 +"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,1 "0.896999","2022-10","25.741224","85.056983","dcid:s2CellId/0x39ed51b400000000",13,1 "0.896999","2022-10","25.741224","85.173764","dcid:s2CellId/0x39ed5b6c00000000",13,1 "0.897065","2022-10","25.732241","84.122735","dcid:s2CellId/0x39927acc00000000",13,1 @@ -72,23 +72,23 @@ "0.897065","2022-10","25.732241","84.643758","dcid:s2CellId/0x3992a2dc00000000",13,1 "0.897065","2022-10","25.732241","84.697657","dcid:s2CellId/0x3992a49c00000000",13,1 "0.897065","2022-10","25.732241","84.706640","dcid:s2CellId/0x3992a49400000000",13,1 -"3.588394","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",52,4 +"2.691329","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,1 "0.897065","2022-10","25.732241","84.760539","dcid:s2CellId/0x3992a56c00000000",13,1 "0.897132","2022-10","25.723258","84.104768","dcid:s2CellId/0x39927aac00000000",13,1 "0.897132","2022-10","25.723258","84.158667","dcid:s2CellId/0x39927b3c00000000",13,1 -"1.794264","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",26,2 +"0.897132","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",13,1 "0.897132","2022-10","25.723258","84.194600","dcid:s2CellId/0x39927ca400000000",13,1 "0.897132","2022-10","25.723258","84.203583","dcid:s2CellId/0x39927cbc00000000",13,1 "0.897132","2022-10","25.723258","84.347314","dcid:s2CellId/0x3992860c00000000",13,1 "0.897132","2022-10","25.723258","84.419179","dcid:s2CellId/0x3992854400000000",13,1 -"1.794264","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",26,2 -"1.794264","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",26,2 +"0.897132","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",13,1 +"0.897132","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",13,1 "0.897132","2022-10","25.723258","84.823421","dcid:s2CellId/0x3992ae5400000000",13,1 "0.897198","2022-10","25.714275","84.338330","dcid:s2CellId/0x3992866c00000000",13,1 "0.897198","2022-10","25.714275","84.661724","dcid:s2CellId/0x3992a30c00000000",13,1 "0.897198","2022-10","25.714275","84.778505","dcid:s2CellId/0x3992af8400000000",13,1 "0.897198","2022-10","25.714275","84.787488","dcid:s2CellId/0x3992af9c00000000",13,1 -"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",26,2 +"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,1 "0.897198","2022-10","25.714275","84.886303","dcid:s2CellId/0x3992ac4c00000000",13,1 "0.897198","2022-10","25.714275","84.895286","dcid:s2CellId/0x3992ac5400000000",13,1 "0.897198","2022-10","25.714275","87.437518","dcid:s2CellId/0x39effc6c00000000",13,1 @@ -112,7 +112,7 @@ "0.897264","2022-10","25.705292","85.191730","dcid:s2CellId/0x39ed5c7400000000",13,1 "0.897331","2022-10","25.696309","84.050870","dcid:s2CellId/0x399271b400000000",13,1 "0.897331","2022-10","25.696309","84.086802","dcid:s2CellId/0x3992706400000000",13,1 -"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",26,2 +"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,1 "0.897331","2022-10","25.696309","84.401213","dcid:s2CellId/0x399284fc00000000",13,1 "0.897331","2022-10","25.696309","84.446128","dcid:s2CellId/0x39929b2c00000000",13,1 "0.897331","2022-10","25.696309","84.455111","dcid:s2CellId/0x39929b2400000000",13,1 @@ -134,7 +134,7 @@ "0.897463","2022-10","25.678342","84.517994","dcid:s2CellId/0x39929be400000000",13,1 "0.897463","2022-10","25.678342","84.544943","dcid:s2CellId/0x3992993c00000000",13,1 "0.897463","2022-10","25.678342","84.994101","dcid:s2CellId/0x39ed538c00000000",13,1 -"1.794926","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",26,2 +"0.897463","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",13,1 "0.897529","2022-10","25.669359","84.068836","dcid:s2CellId/0x399270e400000000",13,1 "0.897529","2022-10","25.669359","84.077819","dcid:s2CellId/0x399270ec00000000",13,1 "0.897529","2022-10","25.669359","84.383246","dcid:s2CellId/0x3992846c00000000",13,1 @@ -147,22 +147,22 @@ "0.897595","2022-10","25.660376","84.392229","dcid:s2CellId/0x3992847c00000000",13,1 "0.897595","2022-10","25.660376","84.401213","dcid:s2CellId/0x3992848400000000",13,1 "0.897595","2022-10","25.660376","84.410196","dcid:s2CellId/0x3992849c00000000",13,1 -"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",26,2 -"1.795190","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",26,2 +"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,1 +"0.897595","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",13,1 "0.897595","2022-10","25.660376","84.446128","dcid:s2CellId/0x39929b5400000000",13,1 "0.897595","2022-10","25.660376","84.482061","dcid:s2CellId/0x39929b8400000000",13,1 "0.897595","2022-10","25.660376","84.491044","dcid:s2CellId/0x39929b8c00000000",13,1 -"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",26,2 +"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,1 "0.897595","2022-10","25.660376","84.715623","dcid:s2CellId/0x3992a69c00000000",13,1 "0.897595","2022-10","25.660376","84.931219","dcid:s2CellId/0x3992ab5400000000",13,1 -"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",26,2 +"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,1 "0.897595","2022-10","25.660376","85.039016","dcid:s2CellId/0x39ed56bc00000000",13,1 "0.897595","2022-10","25.660376","85.048000","dcid:s2CellId/0x39ed56c400000000",13,1 "0.897595","2022-10","25.660376","85.191730","dcid:s2CellId/0x39ed5eb400000000",13,1 "0.897661","2022-10","25.651393","84.032903","dcid:s2CellId/0x3992714400000000",13,1 "0.897661","2022-10","25.651393","84.077819","dcid:s2CellId/0x399270c400000000",13,1 "0.897661","2022-10","25.651393","84.428162","dcid:s2CellId/0x3992835400000000",13,1 -"1.795323","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",26,2 +"0.897661","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",13,1 "0.897661","2022-10","25.651393","84.697657","dcid:s2CellId/0x3992a6ac00000000",13,1 "0.897661","2022-10","25.651393","84.832404","dcid:s2CellId/0x3992a93c00000000",13,1 "0.897661","2022-10","25.651393","85.056983","dcid:s2CellId/0x39ed56dc00000000",13,1 @@ -172,8 +172,8 @@ "0.897727","2022-10","25.642410","84.823421","dcid:s2CellId/0x3992a92400000000",13,1 "0.897727","2022-10","25.642410","84.832404","dcid:s2CellId/0x3992a91400000000",13,1 "0.897727","2022-10","25.642410","85.039016","dcid:s2CellId/0x39ed569400000000",13,1 -"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",26,2 -"1.795587","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",26,2 +"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,1 +"0.897794","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",13,1 "0.897794","2022-10","25.633427","85.155797","dcid:s2CellId/0x39ed590400000000",13,1 "0.897794","2022-10","25.633427","85.182747","dcid:s2CellId/0x39ed592c00000000",13,1 "0.897860","2022-10","25.624443","84.023920","dcid:s2CellId/0x399276ac00000000",13,1 @@ -189,7 +189,7 @@ "0.897926","2022-10","25.615460","84.032903","dcid:s2CellId/0x399276bc00000000",13,1 "0.897926","2022-10","25.615460","84.814438","dcid:s2CellId/0x3992a85400000000",13,1 "0.897926","2022-10","25.615460","85.317494","dcid:s2CellId/0x39ed61b400000000",13,1 -"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",26,2 +"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,1 "0.897992","2022-10","25.606477","85.263595","dcid:s2CellId/0x39ed5fe400000000",13,1 "0.898058","2022-10","25.597494","85.407326","dcid:s2CellId/0x39ed629c00000000",13,1 "0.898058","2022-10","25.597494","85.452241","dcid:s2CellId/0x39ed7d5c00000000",13,1 @@ -198,7 +198,7 @@ "0.898124","2022-10","25.588511","85.452241","dcid:s2CellId/0x39f282a400000000",13,1 "0.898124","2022-10","25.588511","85.461225","dcid:s2CellId/0x39f2829c00000000",13,1 "0.898124","2022-10","25.588511","85.497157","dcid:s2CellId/0x39f2827400000000",13,1 -"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",26,2 +"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,1 "0.898190","2022-10","25.579528","83.970021","dcid:s2CellId/0x3992750400000000",13,1 "0.898190","2022-10","25.579528","84.796471","dcid:s2CellId/0x3992a82400000000",13,1 "0.898190","2022-10","25.579528","85.263595","dcid:s2CellId/0x39f2a00400000000",13,1 @@ -209,8 +209,8 @@ "0.898387","2022-10","25.552578","83.916122","dcid:s2CellId/0x39920abc00000000",13,1 "0.898387","2022-10","25.552578","85.398342","dcid:s2CellId/0x39f29d0400000000",13,1 "0.898387","2022-10","25.552578","85.425292","dcid:s2CellId/0x39f29d2400000000",13,1 -"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",26,2 -"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",26,2 +"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,1 +"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,1 "0.898387","2022-10","25.552578","85.793601","dcid:s2CellId/0x39f2770c00000000",13,1 "0.898387","2022-10","25.552578","85.865466","dcid:s2CellId/0x39f2743400000000",13,1 "0.898387","2022-10","25.552578","85.874450","dcid:s2CellId/0x39f2744c00000000",13,1 @@ -219,7 +219,7 @@ "0.898453","2022-10","25.543595","85.497157","dcid:s2CellId/0x39f283b400000000",13,1 "0.898453","2022-10","25.543595","85.748685","dcid:s2CellId/0x39f279cc00000000",13,1 "0.898453","2022-10","25.543595","85.757669","dcid:s2CellId/0x39f279d400000000",13,1 -"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",26,2 +"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,1 "0.898453","2022-10","25.543595","86.682933","dcid:s2CellId/0x39f1d96c00000000",13,1 "0.898519","2022-10","25.534612","85.479191","dcid:s2CellId/0x39f283ac00000000",13,1 "0.898519","2022-10","25.534612","85.694787","dcid:s2CellId/0x39f2793400000000",13,1 @@ -244,26 +244,26 @@ "0.898651","2022-10","25.516646","86.323607","dcid:s2CellId/0x39f1f94c00000000",13,1 "0.898716","2022-10","25.507662","85.506140","dcid:s2CellId/0x39f283f400000000",13,1 "0.898716","2022-10","25.507662","85.515123","dcid:s2CellId/0x39f283fc00000000",13,1 -"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",26,2 +"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,1 "0.898716","2022-10","25.507662","85.865466","dcid:s2CellId/0x39f273f400000000",13,1 "0.898716","2022-10","25.507662","85.883433","dcid:s2CellId/0x39f2738400000000",13,1 "0.898716","2022-10","25.507662","85.901399","dcid:s2CellId/0x39f2736400000000",13,1 "0.898716","2022-10","25.507662","87.760912","dcid:s2CellId/0x39fab12400000000",13,1 -"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",26,2 +"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,1 "0.898782","2022-10","25.498679","85.811568","dcid:s2CellId/0x39f2712c00000000",13,1 "0.898782","2022-10","25.498679","85.820551","dcid:s2CellId/0x39f2713400000000",13,1 "0.898782","2022-10","25.498679","85.892416","dcid:s2CellId/0x39f2737400000000",13,1 "0.898782","2022-10","25.498679","85.901399","dcid:s2CellId/0x39f2736c00000000",13,1 "0.898782","2022-10","25.498679","86.530220","dcid:s2CellId/0x39f1e6e400000000",13,1 -"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",39,3 -"1.797696","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",26,2 +"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,1 +"0.898848","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",13,1 "0.898848","2022-10","25.489696","85.910382","dcid:s2CellId/0x39f2734400000000",13,1 "0.898848","2022-10","25.489696","86.575136","dcid:s2CellId/0x39f1e77c00000000",13,1 -"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",26,2 +"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,1 "0.898914","2022-10","25.480713","85.604955","dcid:s2CellId/0x39f27df400000000",13,1 "0.898914","2022-10","25.480713","85.667837","dcid:s2CellId/0x39f27c1400000000",13,1 "0.898914","2022-10","25.480713","85.676820","dcid:s2CellId/0x39f27c7400000000",13,1 -"1.797827","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",26,2 +"0.898914","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",13,1 "0.898914","2022-10","25.480713","85.874450","dcid:s2CellId/0x39f273bc00000000",13,1 "0.898914","2022-10","25.480713","86.584119","dcid:s2CellId/0x39f1dd7c00000000",13,1 "0.898979","2022-10","25.471730","85.551056","dcid:s2CellId/0x39f286e400000000",13,1 @@ -274,7 +274,7 @@ "0.898979","2022-10","25.471730","87.177007","dcid:s2CellId/0x39f0231c00000000",13,1 "0.898979","2022-10","25.471730","87.194973","dcid:s2CellId/0x39f022ec00000000",13,1 "0.898979","2022-10","25.471730","87.203956","dcid:s2CellId/0x39f0229400000000",13,1 -"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",26,2 +"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,1 "0.899045","2022-10","25.462747","86.575136","dcid:s2CellId/0x39f1e78c00000000",13,1 "0.899045","2022-10","25.462747","86.584119","dcid:s2CellId/0x39f1dd6400000000",13,1 "0.899045","2022-10","25.462747","87.185990","dcid:s2CellId/0x39f022dc00000000",13,1 @@ -293,9 +293,9 @@ "0.899111","2022-10","25.453764","87.284805","dcid:s2CellId/0x39f019e400000000",13,1 "0.899111","2022-10","25.453764","87.383619","dcid:s2CellId/0x39f0055400000000",13,1 "0.899111","2022-10","25.453764","87.392602","dcid:s2CellId/0x39f0055c00000000",13,1 -"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",26,2 +"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,1 "0.899176","2022-10","25.444780","87.123108","dcid:s2CellId/0x39f03b4c00000000",13,1 -"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",26,2 +"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,1 "0.899176","2022-10","25.444780","87.275821","dcid:s2CellId/0x39f0176400000000",13,1 "0.899176","2022-10","25.444780","87.284805","dcid:s2CellId/0x39f0175c00000000",13,1 "0.899242","2022-10","25.435797","85.883433","dcid:s2CellId/0x39f2726400000000",13,1 @@ -315,8 +315,8 @@ "0.899242","2022-10","25.435797","87.356670","dcid:s2CellId/0x39f0106c00000000",13,1 "0.899242","2022-10","25.435797","87.365653","dcid:s2CellId/0x39f0101400000000",13,1 "0.899307","2022-10","25.426814","85.883433","dcid:s2CellId/0x39f2727c00000000",13,1 -"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",26,2 -"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",26,2 +"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,1 +"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,1 "0.899307","2022-10","25.426814","86.521237","dcid:s2CellId/0x39f1e89c00000000",13,1 "0.899307","2022-10","25.426814","86.557169","dcid:s2CellId/0x39f1e87400000000",13,1 "0.899307","2022-10","25.426814","86.566152","dcid:s2CellId/0x39f1e80c00000000",13,1 @@ -346,7 +346,7 @@ "0.899373","2022-10","25.417831","87.554299","dcid:s2CellId/0x39faa79400000000",13,1 "0.899373","2022-10","25.417831","87.581249","dcid:s2CellId/0x39faa65400000000",13,1 "0.899438","2022-10","25.408848","85.955298","dcid:s2CellId/0x39f2129c00000000",13,1 -"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",26,2 +"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,1 "0.899438","2022-10","25.408848","87.150057","dcid:s2CellId/0x39f03c8400000000",13,1 "0.899438","2022-10","25.408848","87.159040","dcid:s2CellId/0x39f03c8c00000000",13,1 "0.899438","2022-10","25.408848","87.185990","dcid:s2CellId/0x39f03d0400000000",13,1 @@ -354,7 +354,7 @@ "0.899438","2022-10","25.408848","87.302771","dcid:s2CellId/0x39f010d400000000",13,1 "0.899438","2022-10","25.408848","87.374636","dcid:s2CellId/0x39f0102c00000000",13,1 "0.899438","2022-10","25.408848","87.401586","dcid:s2CellId/0x39f00fb400000000",13,1 -"1.798877","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",26,2 +"0.899438","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",13,1 "0.899438","2022-10","25.408848","87.518367","dcid:s2CellId/0x39f0084c00000000",13,1 "0.899438","2022-10","25.408848","87.563282","dcid:s2CellId/0x39faa7a400000000",13,1 "0.899438","2022-10","25.408848","87.572265","dcid:s2CellId/0x39faa7ac00000000",13,1 @@ -365,9 +365,9 @@ "0.899504","2022-10","25.399865","86.422422","dcid:s2CellId/0x39f1efdc00000000",13,1 "0.899504","2022-10","25.399865","86.566152","dcid:s2CellId/0x39f1e83c00000000",13,1 "0.899504","2022-10","25.399865","86.575136","dcid:s2CellId/0x39f1e82400000000",13,1 -"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",26,2 +"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,1 "0.899504","2022-10","25.399865","87.365653","dcid:s2CellId/0x39f011cc00000000",13,1 -"1.799008","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",26,2 +"0.899504","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",13,1 "0.899504","2022-10","25.399865","87.455484","dcid:s2CellId/0x39f00ed400000000",13,1 "0.899504","2022-10","25.399865","87.464468","dcid:s2CellId/0x39f0092c00000000",13,1 "0.899504","2022-10","25.399865","87.572265","dcid:s2CellId/0x39faa70400000000",13,1 @@ -377,8 +377,8 @@ "0.899569","2022-10","25.390882","86.000214","dcid:s2CellId/0x39f2123c00000000",13,1 "0.899569","2022-10","25.390882","86.314624","dcid:s2CellId/0x39f1f71c00000000",13,1 "0.899569","2022-10","25.390882","86.584119","dcid:s2CellId/0x39f1c28400000000",13,1 -"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",26,2 -"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",26,2 +"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,1 +"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,1 "0.899569","2022-10","25.390882","87.230906","dcid:s2CellId/0x39f0162c00000000",13,1 "0.899569","2022-10","25.390882","87.239889","dcid:s2CellId/0x39f0163400000000",13,1 "0.899569","2022-10","25.390882","87.248872","dcid:s2CellId/0x39f0164c00000000",13,1 @@ -412,18 +412,18 @@ "0.899700","2022-10","25.372915","87.311754","dcid:s2CellId/0x39f0114400000000",13,1 "0.899700","2022-10","25.372915","87.536333","dcid:s2CellId/0x39f009e400000000",13,1 "0.899700","2022-10","25.372915","87.545316","dcid:s2CellId/0x39faa75c00000000",13,1 -"1.799401","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",26,2 +"0.899700","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",13,1 "0.899766","2022-10","25.363932","84.742572","dcid:s2CellId/0x398d453c00000000",13,1 "0.899766","2022-10","25.363932","85.937332","dcid:s2CellId/0x39f2132c00000000",13,1 "0.899766","2022-10","25.363932","86.063096","dcid:s2CellId/0x39f210fc00000000",13,1 "0.899766","2022-10","25.363932","86.090045","dcid:s2CellId/0x39f2108400000000",13,1 "0.899766","2022-10","25.363932","86.916495","dcid:s2CellId/0x39f0334400000000",13,1 -"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",26,2 +"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,1 "0.899766","2022-10","25.363932","87.275821","dcid:s2CellId/0x39f0169c00000000",13,1 "0.899766","2022-10","25.363932","87.284805","dcid:s2CellId/0x39f016a400000000",13,1 -"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",26,2 +"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,1 "0.899766","2022-10","25.363932","87.302771","dcid:s2CellId/0x39f0115400000000",13,1 -"1.799532","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",26,2 +"0.899766","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",13,1 "0.899766","2022-10","25.363932","87.509383","dcid:s2CellId/0x39f0098400000000",13,1 "0.899766","2022-10","25.363932","87.545316","dcid:s2CellId/0x39faa75400000000",13,1 "0.899766","2022-10","25.363932","87.554299","dcid:s2CellId/0x39faa74c00000000",13,1 @@ -443,7 +443,7 @@ "0.899831","2022-10","25.354949","87.590232","dcid:s2CellId/0x39faa13400000000",13,1 "0.899831","2022-10","25.354949","87.608198","dcid:s2CellId/0x39faa14c00000000",13,1 "0.899897","2022-10","25.345966","85.919365","dcid:s2CellId/0x39f26cc400000000",13,1 -"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",26,2 +"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,1 "0.899897","2022-10","25.345966","85.964281","dcid:s2CellId/0x39f2137400000000",13,1 "0.899897","2022-10","25.345966","86.099028","dcid:s2CellId/0x39f21a0c00000000",13,1 "0.899897","2022-10","25.345966","86.152927","dcid:s2CellId/0x39f21bc400000000",13,1 @@ -466,7 +466,7 @@ "0.899962","2022-10","25.336983","86.197843","dcid:s2CellId/0x39f21c2400000000",13,1 "0.899962","2022-10","25.336983","86.215809","dcid:s2CellId/0x39f21c2c00000000",13,1 "0.899962","2022-10","25.336983","86.251742","dcid:s2CellId/0x39f21dfc00000000",13,1 -"1.799924","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",26,2 +"0.899962","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",13,1 "0.899962","2022-10","25.336983","86.305641","dcid:s2CellId/0x39f1f68400000000",13,1 "0.899962","2022-10","25.336983","86.332590","dcid:s2CellId/0x39f1f6ac00000000",13,1 "0.899962","2022-10","25.336983","86.341574","dcid:s2CellId/0x39f1f15400000000",13,1 @@ -495,7 +495,7 @@ "0.900027","2022-10","25.327999","86.449371","dcid:s2CellId/0x39f1edd400000000",13,1 "0.900027","2022-10","25.327999","86.826664","dcid:s2CellId/0x39f1cbe400000000",13,1 "0.900027","2022-10","25.327999","86.871580","dcid:s2CellId/0x39f1cb7400000000",13,1 -"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",26,2 +"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,1 "0.900027","2022-10","25.327999","87.545316","dcid:s2CellId/0x39faa09c00000000",13,1 "0.900027","2022-10","25.327999","87.581249","dcid:s2CellId/0x39faa11c00000000",13,1 "0.900093","2022-10","25.319016","85.919365","dcid:s2CellId/0x39f26b5c00000000",13,1 @@ -520,19 +520,19 @@ "0.900093","2022-10","25.319016","86.575136","dcid:s2CellId/0x39f1ea0c00000000",13,1 "0.900093","2022-10","25.319016","86.593102","dcid:s2CellId/0x39f1c1ec00000000",13,1 "0.900093","2022-10","25.319016","86.817681","dcid:s2CellId/0x39f1c96400000000",13,1 -"1.800185","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",26,2 +"0.900093","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",13,1 "0.900093","2022-10","25.319016","86.880563","dcid:s2CellId/0x39f1cb1400000000",13,1 "0.900093","2022-10","25.319016","86.925478","dcid:s2CellId/0x39f034ec00000000",13,1 "0.900093","2022-10","25.319016","86.988361","dcid:s2CellId/0x39f0369c00000000",13,1 "0.900093","2022-10","25.319016","87.509383","dcid:s2CellId/0x39f00a5400000000",13,1 "0.900093","2022-10","25.319016","87.545316","dcid:s2CellId/0x39faa08400000000",13,1 "0.900093","2022-10","25.319016","87.590232","dcid:s2CellId/0x39faa10c00000000",13,1 -"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",26,2 -"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",26,2 -"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",26,2 -"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",26,2 -"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",26,2 -"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",26,2 +"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,1 +"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,1 +"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,1 +"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,1 +"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,1 +"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,1 "0.900158","2022-10","25.310033","86.054113","dcid:s2CellId/0x39f2172400000000",13,1 "0.900158","2022-10","25.310033","86.090045","dcid:s2CellId/0x39f2175c00000000",13,1 "0.900158","2022-10","25.310033","86.108012","dcid:s2CellId/0x39f219ec00000000",13,1 @@ -544,27 +544,27 @@ "0.900158","2022-10","25.310033","86.395472","dcid:s2CellId/0x39f1f24400000000",13,1 "0.900158","2022-10","25.310033","86.404456","dcid:s2CellId/0x39f1f26c00000000",13,1 "0.900158","2022-10","25.310033","86.413439","dcid:s2CellId/0x39f1f27400000000",13,1 -"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",26,2 -"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",39,3 +"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,1 +"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,1 "0.900158","2022-10","25.310033","86.602085","dcid:s2CellId/0x39f1c1bc00000000",13,1 "0.900158","2022-10","25.310033","86.611068","dcid:s2CellId/0x39f1c1a400000000",13,1 "0.900158","2022-10","25.310033","86.655984","dcid:s2CellId/0x39f1c13400000000",13,1 "0.900158","2022-10","25.310033","86.664967","dcid:s2CellId/0x39f1c6cc00000000",13,1 "0.900158","2022-10","25.310033","86.682933","dcid:s2CellId/0x39f1c6ec00000000",13,1 "0.900158","2022-10","25.310033","86.808697","dcid:s2CellId/0x39f1c96c00000000",13,1 -"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",26,2 -"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",26,2 +"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,1 +"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,1 "0.900158","2022-10","25.310033","86.979377","dcid:s2CellId/0x39f0342c00000000",13,1 "0.900158","2022-10","25.310033","86.988361","dcid:s2CellId/0x39f0368400000000",13,1 "0.900158","2022-10","25.310033","86.997344","dcid:s2CellId/0x39f0368c00000000",13,1 "0.900158","2022-10","25.310033","87.159040","dcid:s2CellId/0x39f03edc00000000",13,1 "0.900158","2022-10","25.310033","87.168024","dcid:s2CellId/0x39f03ee400000000",13,1 -"1.800316","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",26,2 +"0.900158","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",13,1 "0.900158","2022-10","25.310033","87.248872","dcid:s2CellId/0x39f015a400000000",13,1 -"2.700539","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",39,3 -"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",26,2 -"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",26,2 -"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",26,2 +"1.800381","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,1 +"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,1 +"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,1 +"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,1 "0.900158","2022-10","25.310033","87.554299","dcid:s2CellId/0x39faa06400000000",13,1 "0.900158","2022-10","25.310033","87.563282","dcid:s2CellId/0x39faa05c00000000",13,1 "0.900158","2022-10","25.310033","87.599215","dcid:s2CellId/0x39faa19c00000000",13,1 @@ -578,7 +578,7 @@ "0.900223","2022-10","25.301050","86.907512","dcid:s2CellId/0x39f034d400000000",13,1 "0.900223","2022-10","25.301050","87.015310","dcid:s2CellId/0x39f0365400000000",13,1 "0.900223","2022-10","25.301050","87.024293","dcid:s2CellId/0x39f037ac00000000",13,1 -"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",26,2 +"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,1 "0.900223","2022-10","25.301050","87.159040","dcid:s2CellId/0x39f03f2400000000",13,1 "0.900223","2022-10","25.301050","87.185990","dcid:s2CellId/0x39f03fac00000000",13,1 "0.900223","2022-10","25.301050","87.221923","dcid:s2CellId/0x39f03fd400000000",13,1 @@ -592,43 +592,43 @@ "0.900288","2022-10","25.292067","86.305641","dcid:s2CellId/0x39f1f45400000000",13,1 "0.900288","2022-10","25.292067","86.314624","dcid:s2CellId/0x39f1f45c00000000",13,1 "0.900288","2022-10","25.292067","86.323607","dcid:s2CellId/0x39f1f46400000000",13,1 -"1.800577","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",26,2 +"0.900288","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",13,1 "0.900288","2022-10","25.292067","86.386489","dcid:s2CellId/0x39f1f25400000000",13,1 "0.900288","2022-10","25.292067","86.395472","dcid:s2CellId/0x39f1f25c00000000",13,1 "0.900288","2022-10","25.292067","86.413439","dcid:s2CellId/0x39f1f27c00000000",13,1 "0.900288","2022-10","25.292067","86.431405","dcid:s2CellId/0x39f1ed9c00000000",13,1 "0.900288","2022-10","25.292067","86.440388","dcid:s2CellId/0x39f1eda400000000",13,1 -"1.800577","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",26,2 +"0.900288","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",13,1 "0.900288","2022-10","25.292067","86.557169","dcid:s2CellId/0x39f1ea5c00000000",13,1 "0.900288","2022-10","25.292067","86.620051","dcid:s2CellId/0x39f1c05400000000",13,1 -"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",26,2 +"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,1 "0.900288","2022-10","25.292067","86.781748","dcid:s2CellId/0x39f1c85400000000",13,1 "0.900288","2022-10","25.292067","86.790731","dcid:s2CellId/0x39f1c9ac00000000",13,1 "0.900288","2022-10","25.292067","86.898529","dcid:s2CellId/0x39f1cad400000000",13,1 "0.900288","2022-10","25.292067","86.907512","dcid:s2CellId/0x39f0352c00000000",13,1 "0.900288","2022-10","25.292067","86.916495","dcid:s2CellId/0x39f0352400000000",13,1 -"1.800577","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",26,2 +"0.900288","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",13,1 "0.900288","2022-10","25.292067","87.033276","dcid:s2CellId/0x39f037a400000000",13,1 "0.900288","2022-10","25.292067","87.087175","dcid:s2CellId/0x39f0384c00000000",13,1 "0.900288","2022-10","25.292067","87.096158","dcid:s2CellId/0x39f0385400000000",13,1 "0.900288","2022-10","25.292067","87.185990","dcid:s2CellId/0x39f03fa400000000",13,1 "0.900288","2022-10","25.292067","87.194973","dcid:s2CellId/0x39f03fbc00000000",13,1 -"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",26,2 +"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,1 "0.900288","2022-10","25.292067","87.212939","dcid:s2CellId/0x39f03fdc00000000",13,1 -"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",26,2 +"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,1 "0.900288","2022-10","25.292067","87.554299","dcid:s2CellId/0x39faa06c00000000",13,1 "0.900288","2022-10","25.292067","87.662097","dcid:s2CellId/0x39faa2f400000000",13,1 "0.900288","2022-10","25.292067","87.814811","dcid:s2CellId/0x39fabe4c00000000",13,1 "0.900354","2022-10","25.283084","85.919365","dcid:s2CellId/0x39f26b2400000000",13,1 "0.900354","2022-10","25.283084","85.973264","dcid:s2CellId/0x39f2145400000000",13,1 "0.900354","2022-10","25.283084","85.982247","dcid:s2CellId/0x39f2144c00000000",13,1 -"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",26,2 -"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",26,2 -"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",26,2 +"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,1 +"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,1 +"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,1 "0.900354","2022-10","25.283084","86.260725","dcid:s2CellId/0x39f1f57c00000000",13,1 "0.900354","2022-10","25.283084","86.269708","dcid:s2CellId/0x39f1f57400000000",13,1 "0.900354","2022-10","25.283084","86.359540","dcid:s2CellId/0x39f1f30c00000000",13,1 -"1.800707","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",26,2 +"0.900354","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",13,1 "0.900354","2022-10","25.283084","86.386489","dcid:s2CellId/0x39f1f2fc00000000",13,1 "0.900354","2022-10","25.283084","86.395472","dcid:s2CellId/0x39f1f2f400000000",13,1 "0.900354","2022-10","25.283084","86.413439","dcid:s2CellId/0x39f1f28400000000",13,1 @@ -646,7 +646,7 @@ "0.900354","2022-10","25.283084","86.925478","dcid:s2CellId/0x39f0351400000000",13,1 "0.900354","2022-10","25.283084","86.934462","dcid:s2CellId/0x39f0350c00000000",13,1 "0.900354","2022-10","25.283084","86.943445","dcid:s2CellId/0x39f035a400000000",13,1 -"1.800707","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",26,2 +"0.900354","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",13,1 "0.900354","2022-10","25.283084","87.024293","dcid:s2CellId/0x39f037b400000000",13,1 "0.900354","2022-10","25.283084","87.033276","dcid:s2CellId/0x39f037bc00000000",13,1 "0.900354","2022-10","25.283084","87.078192","dcid:s2CellId/0x39f0383c00000000",13,1 @@ -656,44 +656,44 @@ "0.900354","2022-10","25.283084","87.805827","dcid:s2CellId/0x39fabe3c00000000",13,1 "0.900354","2022-10","25.283084","87.814811","dcid:s2CellId/0x39fabe3400000000",13,1 "0.900354","2022-10","25.283084","87.823794","dcid:s2CellId/0x39fabfcc00000000",13,1 -"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",26,2 +"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,1 "0.900419","2022-10","25.274101","85.946315","dcid:s2CellId/0x39f2152400000000",13,1 "0.900419","2022-10","25.274101","85.955298","dcid:s2CellId/0x39f2151c00000000",13,1 -"1.800838","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",26,2 +"0.900419","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",13,1 "0.900419","2022-10","25.274101","86.000214","dcid:s2CellId/0x39f215cc00000000",13,1 "0.900419","2022-10","25.274101","86.090045","dcid:s2CellId/0x39f2178400000000",13,1 "0.900419","2022-10","25.274101","86.224793","dcid:s2CellId/0x39f21fac00000000",13,1 "0.900419","2022-10","25.274101","86.323607","dcid:s2CellId/0x39f1f48c00000000",13,1 "0.900419","2022-10","25.274101","86.359540","dcid:s2CellId/0x39f1f31400000000",13,1 -"3.601806","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",52,4 -"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",26,2 -"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",26,2 -"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",26,2 +"2.701387","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,1 +"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,1 +"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,1 +"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,1 "0.900419","2022-10","25.274101","86.413439","dcid:s2CellId/0x39f1f29c00000000",13,1 "0.900419","2022-10","25.274101","86.422422","dcid:s2CellId/0x39f1ed6400000000",13,1 "0.900419","2022-10","25.274101","86.557169","dcid:s2CellId/0x39f1eaec00000000",13,1 "0.900419","2022-10","25.274101","86.575136","dcid:s2CellId/0x39f1ea9c00000000",13,1 "0.900419","2022-10","25.274101","86.629034","dcid:s2CellId/0x39f1c0f400000000",13,1 -"1.800838","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",26,2 +"0.900419","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",13,1 "0.900419","2022-10","25.274101","86.862596","dcid:s2CellId/0x39f1ca8c00000000",13,1 -"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",26,2 -"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",26,2 +"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,1 +"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,1 "0.900419","2022-10","25.274101","86.970394","dcid:s2CellId/0x39f035ec00000000",13,1 "0.900419","2022-10","25.274101","86.997344","dcid:s2CellId/0x39f0361400000000",13,1 "0.900419","2022-10","25.274101","87.006327","dcid:s2CellId/0x39f0363c00000000",13,1 "0.900419","2022-10","25.274101","87.042259","dcid:s2CellId/0x39f037c400000000",13,1 "0.900419","2022-10","25.274101","87.051243","dcid:s2CellId/0x39f037ec00000000",13,1 -"1.800838","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",26,2 +"0.900419","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",13,1 "0.900419","2022-10","25.274101","87.141074","dcid:s2CellId/0x39f038b400000000",13,1 "0.900419","2022-10","25.274101","87.203956","dcid:s2CellId/0x39f03fec00000000",13,1 "0.900419","2022-10","25.274101","87.212939","dcid:s2CellId/0x39f03fe400000000",13,1 "0.900419","2022-10","25.274101","87.590232","dcid:s2CellId/0x39faa1dc00000000",13,1 -"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",26,2 +"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,1 "0.900419","2022-10","25.274101","87.653114","dcid:s2CellId/0x39faa27c00000000",13,1 "0.900419","2022-10","25.274101","87.689046","dcid:s2CellId/0x39faa2ac00000000",13,1 "0.900419","2022-10","25.274101","87.778878","dcid:s2CellId/0x39fabe0400000000",13,1 "0.900419","2022-10","25.274101","87.787861","dcid:s2CellId/0x39fabe1c00000000",13,1 -"1.800838","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",26,2 +"0.900419","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",13,1 "0.900419","2022-10","25.274101","87.814811","dcid:s2CellId/0x39fabe2c00000000",13,1 "0.900419","2022-10","25.274101","87.823794","dcid:s2CellId/0x39fabfd400000000",13,1 "0.900419","2022-10","25.274101","87.832777","dcid:s2CellId/0x39fabfdc00000000",13,1 @@ -712,26 +712,26 @@ "0.900484","2022-10","25.265117","86.853613","dcid:s2CellId/0x39f1ca6400000000",13,1 "0.900484","2022-10","25.265117","86.898529","dcid:s2CellId/0x39f1cab400000000",13,1 "0.900484","2022-10","25.265117","86.979377","dcid:s2CellId/0x39f035e400000000",13,1 -"3.602066","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",52,4 +"2.701582","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,1 "0.900484","2022-10","25.265117","87.141074","dcid:s2CellId/0x39f038ac00000000",13,1 "0.900484","2022-10","25.265117","87.177007","dcid:s2CellId/0x39f03f7c00000000",13,1 -"1.800968","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",26,2 +"0.900484","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",13,1 "0.900484","2022-10","25.265117","87.599215","dcid:s2CellId/0x39faa1e400000000",13,1 -"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",26,2 -"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",26,2 +"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,1 +"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,1 "0.900484","2022-10","25.265117","87.715996","dcid:s2CellId/0x39fa97e400000000",13,1 "0.900484","2022-10","25.265117","87.751929","dcid:s2CellId/0x39fa962400000000",13,1 -"1.800968","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",26,2 -"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",26,2 -"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",26,2 +"0.900484","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",13,1 +"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,1 +"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,1 "0.900549","2022-10","25.256134","85.928349","dcid:s2CellId/0x39f26acc00000000",13,1 "0.900549","2022-10","25.256134","86.215809","dcid:s2CellId/0x39f21f7400000000",13,1 "0.900549","2022-10","25.256134","86.323607","dcid:s2CellId/0x39f1f4bc00000000",13,1 "0.900549","2022-10","25.256134","86.332590","dcid:s2CellId/0x39f1f4a400000000",13,1 "0.900549","2022-10","25.256134","86.350557","dcid:s2CellId/0x39f1f34400000000",13,1 "0.900549","2022-10","25.256134","86.584119","dcid:s2CellId/0x39f1c00400000000",13,1 -"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",26,2 -"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",26,2 +"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,1 +"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,1 "0.900549","2022-10","25.256134","86.638018","dcid:s2CellId/0x39f1c09c00000000",13,1 "0.900549","2022-10","25.256134","86.647001","dcid:s2CellId/0x39f1c0a400000000",13,1 "0.900549","2022-10","25.256134","86.673950","dcid:s2CellId/0x39f1c75c00000000",13,1 @@ -743,7 +743,7 @@ "0.900549","2022-10","25.256134","87.671080","dcid:s2CellId/0x39fa987400000000",13,1 "0.900549","2022-10","25.256134","87.680063","dcid:s2CellId/0x39fa980c00000000",13,1 "0.900549","2022-10","25.256134","87.689046","dcid:s2CellId/0x39fa980400000000",13,1 -"1.801098","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",26,2 +"0.900549","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",13,1 "0.900549","2022-10","25.256134","87.823794","dcid:s2CellId/0x39fa957c00000000",13,1 "0.900549","2022-10","25.256134","87.868710","dcid:s2CellId/0x39faeabc00000000",13,1 "0.900614","2022-10","25.247151","86.611068","dcid:s2CellId/0x39f1c07c00000000",13,1 @@ -778,7 +778,7 @@ "0.900745","2022-10","25.229185","84.571892","dcid:s2CellId/0x398d6afc00000000",13,1 "0.900745","2022-10","25.229185","86.134961","dcid:s2CellId/0x39f2227c00000000",13,1 "0.900745","2022-10","25.229185","86.602085","dcid:s2CellId/0x39f1bf9400000000",13,1 -"1.801489","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",26,2 +"0.900745","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",13,1 "0.900745","2022-10","25.229185","86.629034","dcid:s2CellId/0x39f1bf7400000000",13,1 "0.900745","2022-10","25.229185","86.655984","dcid:s2CellId/0x39f1bf4c00000000",13,1 "0.900745","2022-10","25.229185","86.664967","dcid:s2CellId/0x39f1b8b400000000",13,1 @@ -794,22 +794,22 @@ "0.900745","2022-10","25.229185","87.832777","dcid:s2CellId/0x39fa951c00000000",13,1 "0.900745","2022-10","25.229185","87.886676","dcid:s2CellId/0x39faeafc00000000",13,1 "0.900745","2022-10","25.229185","87.895659","dcid:s2CellId/0x39faea5400000000",13,1 -"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",26,2 -"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",26,2 -"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",26,2 -"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",26,2 -"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",26,2 +"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,1 +"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,1 +"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,1 +"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,1 +"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,1 "0.900810","2022-10","25.220202","86.826664","dcid:s2CellId/0x39f1b5dc00000000",13,1 "0.900810","2022-10","25.220202","86.835647","dcid:s2CellId/0x39f1b5c400000000",13,1 "0.900810","2022-10","25.220202","86.844630","dcid:s2CellId/0x39f1b5bc00000000",13,1 "0.900810","2022-10","25.220202","86.853613","dcid:s2CellId/0x39f1b5a400000000",13,1 -"1.801619","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",26,2 +"0.900810","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",13,1 "0.900810","2022-10","25.220202","86.880563","dcid:s2CellId/0x39f1b51400000000",13,1 "0.900810","2022-10","25.220202","86.889546","dcid:s2CellId/0x39f1b53c00000000",13,1 "0.900810","2022-10","25.220202","87.033276","dcid:s2CellId/0x39f0484400000000",13,1 "0.900810","2022-10","25.220202","87.069209","dcid:s2CellId/0x39f047dc00000000",13,1 "0.900810","2022-10","25.220202","87.823794","dcid:s2CellId/0x39fa94fc00000000",13,1 -"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",26,2 +"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,1 "0.900810","2022-10","25.220202","87.895659","dcid:s2CellId/0x39faebac00000000",13,1 "0.900875","2022-10","25.211218","84.509010","dcid:s2CellId/0x398d6c9400000000",13,1 "0.900875","2022-10","25.211218","86.188860","dcid:s2CellId/0x39f221ec00000000",13,1 @@ -818,7 +818,7 @@ "0.900875","2022-10","25.211218","86.835647","dcid:s2CellId/0x39f1b5cc00000000",13,1 "0.900875","2022-10","25.211218","86.844630","dcid:s2CellId/0x39f1b5b400000000",13,1 "0.900875","2022-10","25.211218","86.853613","dcid:s2CellId/0x39f1b5ac00000000",13,1 -"1.801749","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",26,2 +"0.900875","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",13,1 "0.900875","2022-10","25.211218","86.880563","dcid:s2CellId/0x39f1b51c00000000",13,1 "0.900875","2022-10","25.211218","86.889546","dcid:s2CellId/0x39f1b52400000000",13,1 "0.900875","2022-10","25.211218","87.051243","dcid:s2CellId/0x39f0486400000000",13,1 @@ -826,32 +826,32 @@ "0.900875","2022-10","25.211218","87.069209","dcid:s2CellId/0x39f047d400000000",13,1 "0.900875","2022-10","25.211218","87.078192","dcid:s2CellId/0x39f047cc00000000",13,1 "0.900940","2022-10","25.202235","84.491044","dcid:s2CellId/0x398d6cc400000000",13,1 -"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",26,2 +"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,1 "0.900940","2022-10","25.202235","86.835647","dcid:s2CellId/0x39f1b43400000000",13,1 "0.900940","2022-10","25.202235","86.844630","dcid:s2CellId/0x39f1b44c00000000",13,1 "0.900940","2022-10","25.202235","86.853613","dcid:s2CellId/0x39f1b45400000000",13,1 -"1.801879","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",26,2 +"0.900940","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",13,1 "0.900940","2022-10","25.202235","87.051243","dcid:s2CellId/0x39f0488c00000000",13,1 "0.900940","2022-10","25.202235","87.060226","dcid:s2CellId/0x39f0488400000000",13,1 "0.900940","2022-10","25.202235","87.069209","dcid:s2CellId/0x39f0462c00000000",13,1 "0.900940","2022-10","25.202235","87.078192","dcid:s2CellId/0x39f0463400000000",13,1 "0.900940","2022-10","25.202235","87.114125","dcid:s2CellId/0x39f046e400000000",13,1 -"1.801879","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",26,2 +"0.900940","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",13,1 "0.900940","2022-10","25.202235","87.203956","dcid:s2CellId/0x39f041cc00000000",13,1 "0.900940","2022-10","25.202235","87.814811","dcid:s2CellId/0x39fa945c00000000",13,1 -"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",26,2 -"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",26,2 -"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",26,2 +"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,1 +"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,1 +"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,1 "0.901005","2022-10","25.193252","87.105142","dcid:s2CellId/0x39f046f400000000",13,1 "0.901005","2022-10","25.193252","87.114125","dcid:s2CellId/0x39f046ec00000000",13,1 -"1.802009","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",26,2 +"0.901005","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",13,1 "0.901005","2022-10","25.193252","87.141074","dcid:s2CellId/0x39f046cc00000000",13,1 "0.901005","2022-10","25.193252","87.203956","dcid:s2CellId/0x39f041c400000000",13,1 "0.901005","2022-10","25.193252","87.212939","dcid:s2CellId/0x39f041dc00000000",13,1 "0.901005","2022-10","25.193252","87.230906","dcid:s2CellId/0x39f06a7400000000",13,1 "0.901005","2022-10","25.193252","87.796844","dcid:s2CellId/0x39fa946c00000000",13,1 "0.901005","2022-10","25.193252","87.814811","dcid:s2CellId/0x39fa946400000000",13,1 -"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",26,2 +"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,1 "0.901070","2022-10","25.184269","87.123108","dcid:s2CellId/0x39f046bc00000000",13,1 "0.901070","2022-10","25.184269","87.230906","dcid:s2CellId/0x39f06a0c00000000",13,1 "0.901070","2022-10","25.184269","87.239889","dcid:s2CellId/0x39f06a1400000000",13,1 @@ -864,10 +864,10 @@ "0.901200","2022-10","25.166303","87.069209","dcid:s2CellId/0x39f0460400000000",13,1 "0.901200","2022-10","25.166303","87.150057","dcid:s2CellId/0x39f0415400000000",13,1 "0.901200","2022-10","25.166303","87.778878","dcid:s2CellId/0x39fa93fc00000000",13,1 -"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",26,2 +"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,1 "0.901264","2022-10","25.157320","87.787861","dcid:s2CellId/0x39fa93ec00000000",13,1 "0.901264","2022-10","25.157320","87.886676","dcid:s2CellId/0x39faec8c00000000",13,1 -"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",26,2 +"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,1 "0.901394","2022-10","25.139353","87.778878","dcid:s2CellId/0x39fa93dc00000000",13,1 "0.901394","2022-10","25.139353","87.895659","dcid:s2CellId/0x39faec5c00000000",13,1 "0.901459","2022-10","25.130370","87.778878","dcid:s2CellId/0x39fa93d400000000",13,1 @@ -885,12 +885,12 @@ "0.901783","2022-10","25.085454","87.823794","dcid:s2CellId/0x39fa928400000000",13,1 "0.901783","2022-10","25.085454","87.841760","dcid:s2CellId/0x39fa92a400000000",13,1 "0.901848","2022-10","25.076471","87.814811","dcid:s2CellId/0x39fa8d8400000000",13,1 -"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",26,2 -"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",26,2 +"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,1 +"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,1 "0.901848","2022-10","25.076471","87.850743","dcid:s2CellId/0x39fa8d5400000000",13,1 "0.901912","2022-10","25.067488","87.841760","dcid:s2CellId/0x39fa8d5c00000000",13,1 "0.902042","2022-10","25.049522","85.039016","dcid:s2CellId/0x39f2ce6400000000",13,1 -"1.804084","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",26,2 +"0.902042","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",13,1 "0.902042","2022-10","25.049522","88.219052","dcid:s2CellId/0x39fb031400000000",13,1 "0.902106","2022-10","25.040539","87.868710","dcid:s2CellId/0x39faf2dc00000000",13,1 "0.902106","2022-10","25.040539","87.877693","dcid:s2CellId/0x39faf2e400000000",13,1 @@ -905,23 +905,23 @@ "0.902171","2022-10","25.031555","88.219052","dcid:s2CellId/0x39fb03a400000000",13,1 "0.902300","2022-10","25.013589","85.506140","dcid:s2CellId/0x39f2fa1400000000",13,1 "0.902365","2022-10","25.004606","85.092915","dcid:s2CellId/0x39f2d01c00000000",13,1 -"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",26,2 +"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,1 "0.902558","2022-10","24.977656","87.976507","dcid:s2CellId/0x39faf72c00000000",13,1 "0.902623","2022-10","24.968673","87.958541","dcid:s2CellId/0x39faf6c400000000",13,1 -"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",26,2 +"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,1 "0.902687","2022-10","24.959690","87.949558","dcid:s2CellId/0x39faf69400000000",13,1 "0.902752","2022-10","24.950707","86.817681","dcid:s2CellId/0x39f1a95c00000000",13,1 "0.902880","2022-10","24.932741","87.922608","dcid:s2CellId/0x39faf5cc00000000",13,1 "0.902880","2022-10","24.932741","87.931592","dcid:s2CellId/0x39faf5d400000000",13,1 -"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",26,2 +"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,1 "0.903009","2022-10","24.914774","88.263968","dcid:s2CellId/0x39fb074400000000",13,1 "0.903073","2022-10","24.905791","87.922608","dcid:s2CellId/0x39faf5ec00000000",13,1 "0.903073","2022-10","24.905791","87.931592","dcid:s2CellId/0x39faf5e400000000",13,1 "0.903138","2022-10","24.896808","87.922608","dcid:s2CellId/0x39faf5f400000000",13,1 "0.903138","2022-10","24.896808","87.931592","dcid:s2CellId/0x39faf5fc00000000",13,1 -"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",26,2 -"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",26,2 -"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",26,2 +"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,1 +"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,1 +"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,1 "0.903330","2022-10","24.869859","87.922608","dcid:s2CellId/0x39fa5f4400000000",13,1 "0.903330","2022-10","24.869859","87.931592","dcid:s2CellId/0x39fa5f4c00000000",13,1 "0.903330","2022-10","24.869859","87.940575","dcid:s2CellId/0x39fa58b400000000",13,1 diff --git a/scripts/earthengine/test_data/sample_floods_output_filtered.csv b/scripts/earthengine/test_data/sample_floods_output_filtered.csv index 7c20e7fac5..882185bb8f 100644 --- a/scripts/earthengine/test_data/sample_floods_output_filtered.csv +++ b/scripts/earthengine/test_data/sample_floods_output_filtered.csv @@ -1,126 +1,90 @@ "area","date","latitude","longitude","s2CellId","s2Level","water" -"1.792270","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",13,2 -"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,2 -"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,2 -"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,2 -"3.588394","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,4 -"1.794264","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",13,2 -"1.794264","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",13,2 -"1.794264","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",13,2 -"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,2 -"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,2 -"1.794926","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",13,2 -"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,2 -"1.795190","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",13,2 -"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,2 -"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,2 -"1.795323","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",13,2 -"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,2 -"1.795587","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",13,2 -"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,2 -"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,2 -"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,2 -"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,2 -"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,2 -"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,2 -"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,2 -"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,3 -"1.797696","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",13,2 -"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,2 -"1.797827","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",13,2 -"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,2 -"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,2 -"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,2 -"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,2 -"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,2 -"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,2 -"1.798877","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",13,2 -"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,2 -"1.799008","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",13,2 -"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,2 -"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,2 -"1.799401","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",13,2 -"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,2 -"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,2 -"1.799532","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",13,2 -"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,2 -"1.799924","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",13,2 -"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,2 -"1.800185","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",13,2 -"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,2 -"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,2 -"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,2 -"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,2 -"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,2 -"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,2 -"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,2 -"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,3 -"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,2 -"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,2 -"1.800316","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",13,2 -"2.700539","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,3 -"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,2 -"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,2 -"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,2 -"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,2 -"1.800577","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",13,2 -"1.800577","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",13,2 -"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,2 -"1.800577","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",13,2 -"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,2 -"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,2 -"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,2 -"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,2 -"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,2 -"1.800707","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",13,2 -"1.800707","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",13,2 -"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,2 -"1.800838","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",13,2 -"3.601806","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,4 -"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,2 -"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,2 -"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,2 -"1.800838","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",13,2 -"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,2 -"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,2 -"1.800838","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",13,2 -"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,2 -"1.800838","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",13,2 -"3.602066","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,4 -"1.800968","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",13,2 -"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,2 -"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,2 -"1.800968","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",13,2 -"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,2 -"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,2 -"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,2 -"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,2 -"1.801098","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",13,2 -"1.801489","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",13,2 -"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,2 -"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,2 -"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,2 -"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,2 -"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,2 -"1.801619","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",13,2 -"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,2 -"1.801749","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",13,2 -"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,2 -"1.801879","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",13,2 -"1.801879","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",13,2 -"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,2 -"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,2 -"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,2 -"1.802009","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",13,2 -"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,2 -"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,2 -"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,2 -"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,2 -"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,2 -"1.804084","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",13,2 -"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,2 -"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,2 -"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,2 -"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,2 -"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,2 -"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,2 +"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,1 +"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,1 +"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,1 +"2.691329","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,1 +"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,1 +"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,1 +"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,1 +"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,1 +"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,1 +"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,1 +"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,1 +"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,1 +"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,1 +"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,1 +"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,1 +"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,1 +"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,1 +"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,1 +"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,1 +"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,1 +"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,1 +"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,1 +"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,1 +"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,1 +"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,1 +"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,1 +"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,1 +"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,1 +"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,1 +"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,1 +"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,1 +"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,1 +"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,1 +"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,1 +"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,1 +"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,1 +"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,1 +"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,1 +"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,1 +"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,1 +"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,1 +"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,1 +"1.800381","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,1 +"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,1 +"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,1 +"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,1 +"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,1 +"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,1 +"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,1 +"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,1 +"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,1 +"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,1 +"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,1 +"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,1 +"2.701387","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,1 +"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,1 +"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,1 +"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,1 +"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,1 +"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,1 +"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,1 +"2.701582","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,1 +"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,1 +"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,1 +"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,1 +"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,1 +"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,1 +"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,1 +"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,1 +"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,1 +"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,1 +"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,1 +"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,1 +"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,1 +"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,1 +"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,1 +"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,1 +"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,1 +"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,1 +"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,1 +"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,1 +"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,1 +"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,1 +"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,1 +"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,1 +"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,1 +"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,1 +"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,1 +"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,1 diff --git a/scripts/earthengine/test_data/sample_floods_place_svobs.csv b/scripts/earthengine/test_data/sample_floods_place_svobs.csv index fcdb8d3b1e..f68e4a0e2f 100644 --- a/scripts/earthengine/test_data/sample_floods_place_svobs.csv +++ b/scripts/earthengine/test_data/sample_floods_place_svobs.csv @@ -1,25 +1,26 @@ "observationAbout","observationDate","observationPeriod","area","count" -"s2CellId/0x39fb030000000000","2022-10","P1M",2.706,1 -"s2CellId/0x39fb070000000000","2022-10","P1M",0.903,1 "s2CellId/0x39e5410000000000","2022-10","P1M",0.896,1 "s2CellId/0x39e5490000000000","2022-10","P1M",2.69,1 "s2CellId/0x39e54f0000000000","2022-10","P1M",0.897,1 -"s2CellId/0x39f3cd0000000000","2022-10","P1M",0.904,1 +"s2CellId/0x39f2cf0000000000","2022-10","P1M",0.902,1 +"s2CellId/0x39f2d10000000000","2022-10","P1M",0.902,1 +"s2CellId/0x39fb030000000000","2022-10","P1M",2.706,1 +"s2CellId/0x39fb070000000000","2022-10","P1M",0.903,1 "s2CellId/0x39925b0000000000","2022-10","P1M",5.369,1 "s2CellId/0x3992590000000000","2022-10","P1M",0.895,1 "s2CellId/0x39925f0000000000","2022-10","P1M",4.476,1 "s2CellId/0x39928d0000000000","2022-10","P1M",3.583,1 "s2CellId/0x39928b0000000000","2022-10","P1M",3.583,1 -"s2CellId/0x3992670000000000","2022-10","P1M",1.792,1 +"s2CellId/0x3992670000000000","2022-10","P1M",0.896,1 "s2CellId/0x3992930000000000","2022-10","P1M",0.896,1 "s2CellId/0x3992910000000000","2022-10","P1M",2.689,1 "s2CellId/0x3992970000000000","2022-10","P1M",2.689,1 "s2CellId/0x3992bd0000000000","2022-10","P1M",3.587,1 "s2CellId/0x39928f0000000000","2022-10","P1M",3.587,1 "s2CellId/0x3992890000000000","2022-10","P1M",0.897,1 -"s2CellId/0x3992a30000000000","2022-10","P1M",10.765,1 -"s2CellId/0x3992850000000000","2022-10","P1M",17.949,1 -"s2CellId/0x39927b0000000000","2022-10","P1M",8.074,1 +"s2CellId/0x3992a30000000000","2022-10","P1M",9.868,1 +"s2CellId/0x3992850000000000","2022-10","P1M",17.051,1 +"s2CellId/0x39927b0000000000","2022-10","P1M",7.177,1 "s2CellId/0x3992990000000000","2022-10","P1M",6.281,1 "s2CellId/0x39ed330000000000","2022-10","P1M",0.895,1 "s2CellId/0x39ed350000000000","2022-10","P1M",4.474,1 @@ -28,11 +29,11 @@ "s2CellId/0x39ed450000000000","2022-10","P1M",0.897,1 "s2CellId/0x39ed4f0000000000","2022-10","P1M",0.897,1 "s2CellId/0x39ed510000000000","2022-10","P1M",1.794,1 -"s2CellId/0x39ed5b0000000000","2022-10","P1M",2.692,1 -"s2CellId/0x3992a50000000000","2022-10","P1M",8.971,1 +"s2CellId/0x39ed5b0000000000","2022-10","P1M",1.794,1 +"s2CellId/0x3992a50000000000","2022-10","P1M",8.074,1 "s2CellId/0x39927d0000000000","2022-10","P1M",1.794,1 "s2CellId/0x3992870000000000","2022-10","P1M",8.076,1 -"s2CellId/0x3992af0000000000","2022-10","P1M",5.383,1 +"s2CellId/0x3992af0000000000","2022-10","P1M",4.486,1 "s2CellId/0x3992ad0000000000","2022-10","P1M",5.384,1 "s2CellId/0x3992710000000000","2022-10","P1M",8.975,1 "s2CellId/0x39929b0000000000","2022-10","P1M",8.974,1 @@ -43,9 +44,9 @@ "s2CellId/0x3992ab0000000000","2022-10","P1M",0.898,1 "s2CellId/0x39ed570000000000","2022-10","P1M",6.283,1 "s2CellId/0x3992830000000000","2022-10","P1M",0.898,1 -"s2CellId/0x3992a10000000000","2022-10","P1M",1.795,1 +"s2CellId/0x3992a10000000000","2022-10","P1M",0.898,1 "s2CellId/0x3992a90000000000","2022-10","P1M",8.081,1 -"s2CellId/0x3992770000000000","2022-10","P1M",7.183,1 +"s2CellId/0x3992770000000000","2022-10","P1M",6.285,1 "s2CellId/0x39ed590000000000","2022-10","P1M",3.591,1 "s2CellId/0x39ed610000000000","2022-10","P1M",2.694,1 "s2CellId/0x39ed630000000000","2022-10","P1M",0.898,1 @@ -65,7 +66,7 @@ "s2CellId/0x39f2730000000000","2022-10","P1M",8.989,1 "s2CellId/0x39f2870000000000","2022-10","P1M",2.697,1 "s2CellId/0x39f27d0000000000","2022-10","P1M",5.393,1 -"s2CellId/0x39f27b0000000000","2022-10","P1M",3.596,1 +"s2CellId/0x39f27b0000000000","2022-10","P1M",1.798,1 "s2CellId/0x398d510000000000","2022-10","P1M",0.899,1 "s2CellId/0x39f20d0000000000","2022-10","P1M",6.295,1 "s2CellId/0x398d5b0000000000","2022-10","P1M",2.698,1 @@ -89,60 +90,60 @@ "s2CellId/0x39f0170000000000","2022-10","P1M",20.69,1 "s2CellId/0x39f1f90000000000","2022-10","P1M",0.899,1 "s2CellId/0x39f1e50000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39f0110000000000","2022-10","P1M",15.292,1 +"s2CellId/0x39f0110000000000","2022-10","P1M",14.392,1 "s2CellId/0x39f1e90000000000","2022-10","P1M",10.794,1 "s2CellId/0x39f1c30000000000","2022-10","P1M",5.396,1 "s2CellId/0x39fab10000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39faa70000000000","2022-10","P1M",15.293,1 +"s2CellId/0x39faa70000000000","2022-10","P1M",14.393,1 "s2CellId/0x39f0310000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39f00f0000000000","2022-10","P1M",6.296,1 -"s2CellId/0x39f0090000000000","2022-10","P1M",8.995,1 +"s2CellId/0x39f00f0000000000","2022-10","P1M",5.397,1 +"s2CellId/0x39f0090000000000","2022-10","P1M",8.096,1 "s2CellId/0x39f1ef0000000000","2022-10","P1M",1.799,1 "s2CellId/0x39fabb0000000000","2022-10","P1M",1.799,1 -"s2CellId/0x39f1f70000000000","2022-10","P1M",6.299,1 +"s2CellId/0x39f1f70000000000","2022-10","P1M",5.399,1 "s2CellId/0x39f1cd0000000000","2022-10","P1M",5.398,1 "s2CellId/0x39f1f10000000000","2022-10","P1M",3.599,1 "s2CellId/0x39f1cf0000000000","2022-10","P1M",0.9,1 "s2CellId/0x39f0330000000000","2022-10","P1M",2.699,1 "s2CellId/0x39f21b0000000000","2022-10","P1M",7.199,1 -"s2CellId/0x39f00b0000000000","2022-10","P1M",9.001,1 +"s2CellId/0x39f00b0000000000","2022-10","P1M",8.101,1 "s2CellId/0x39faa10000000000","2022-10","P1M",18.001,1 "s2CellId/0x39f21d0000000000","2022-10","P1M",6.3,1 -"s2CellId/0x39f1cb0000000000","2022-10","P1M",17.104,1 -"s2CellId/0x39f0350000000000","2022-10","P1M",18.005,1 +"s2CellId/0x39f1cb0000000000","2022-10","P1M",16.204,1 +"s2CellId/0x39f0350000000000","2022-10","P1M",16.204,1 "s2CellId/0x39fabd0000000000","2022-10","P1M",2.7,1 "s2CellId/0x39f0150000000000","2022-10","P1M",4.501,1 "s2CellId/0x39f2190000000000","2022-10","P1M",9.001,1 "s2CellId/0x39f21f0000000000","2022-10","P1M",14.405,1 "s2CellId/0x39f1f50000000000","2022-10","P1M",11.704,1 -"s2CellId/0x39f1f30000000000","2022-10","P1M",31.511,1 -"s2CellId/0x39f1ed0000000000","2022-10","P1M",17.105,1 -"s2CellId/0x39f03f0000000000","2022-10","P1M",18.906,1 +"s2CellId/0x39f1f30000000000","2022-10","P1M",28.81,1 +"s2CellId/0x39f1ed0000000000","2022-10","P1M",16.205,1 +"s2CellId/0x39f03f0000000000","2022-10","P1M",17.105,1 "s2CellId/0x39f26b0000000000","2022-10","P1M",6.302,1 -"s2CellId/0x39f2150000000000","2022-10","P1M",24.306,1 +"s2CellId/0x39f2150000000000","2022-10","P1M",23.406,1 "s2CellId/0x39f2170000000000","2022-10","P1M",4.501,1 "s2CellId/0x39f1eb0000000000","2022-10","P1M",6.302,1 "s2CellId/0x39f1c10000000000","2022-10","P1M",20.709,1 "s2CellId/0x39f1c90000000000","2022-10","P1M",6.302,1 "s2CellId/0x39f0370000000000","2022-10","P1M",12.605,1 -"s2CellId/0x39f1c70000000000","2022-10","P1M",5.402,1 -"s2CellId/0x39f0390000000000","2022-10","P1M",12.606,1 +"s2CellId/0x39f1c70000000000","2022-10","P1M",4.502,1 +"s2CellId/0x39f0390000000000","2022-10","P1M",10.805,1 "s2CellId/0x39faa30000000000","2022-10","P1M",4.502,1 -"s2CellId/0x39fabf0000000000","2022-10","P1M",9.904,1 +"s2CellId/0x39fabf0000000000","2022-10","P1M",9.004,1 "s2CellId/0x39fa990000000000","2022-10","P1M",8.105,1 -"s2CellId/0x39fa970000000000","2022-10","P1M",3.602,1 -"s2CellId/0x39fa950000000000","2022-10","P1M",17.114,1 +"s2CellId/0x39fa970000000000","2022-10","P1M",2.702,1 +"s2CellId/0x39fa950000000000","2022-10","P1M",16.213,1 "s2CellId/0x39f0410000000000","2022-10","P1M",14.412,1 "s2CellId/0x39faeb0000000000","2022-10","P1M",3.603,1 "s2CellId/0x39f0490000000000","2022-10","P1M",9.009,1 -"s2CellId/0x39f0470000000000","2022-10","P1M",30.63,1 +"s2CellId/0x39f0470000000000","2022-10","P1M",28.828,1 "s2CellId/0x39f06b0000000000","2022-10","P1M",4.504,1 -"s2CellId/0x39f1bf0000000000","2022-10","P1M",12.611,1 +"s2CellId/0x39f1bf0000000000","2022-10","P1M",11.71,1 "s2CellId/0x398d6b0000000000","2022-10","P1M",0.901,1 "s2CellId/0x39f2230000000000","2022-10","P1M",0.901,1 "s2CellId/0x39f1b90000000000","2022-10","P1M",5.405,1 "s2CellId/0x39f1b70000000000","2022-10","P1M",1.801,1 -"s2CellId/0x39f1b50000000000","2022-10","P1M",21.621,1 +"s2CellId/0x39f1b50000000000","2022-10","P1M",18.918,1 "s2CellId/0x398d6d0000000000","2022-10","P1M",1.802,1 "s2CellId/0x39f2210000000000","2022-10","P1M",1.802,1 "s2CellId/0x398d130000000000","2022-10","P1M",1.803,1 @@ -150,7 +151,7 @@ "s2CellId/0x39f04f0000000000","2022-10","P1M",1.803,1 "s2CellId/0x39faed0000000000","2022-10","P1M",1.803,1 "s2CellId/0x39fa8d0000000000","2022-10","P1M",6.313,1 -"s2CellId/0x39faf30000000000","2022-10","P1M",8.119,1 +"s2CellId/0x39faf30000000000","2022-10","P1M",7.217,1 "s2CellId/0x39faf10000000000","2022-10","P1M",3.609,1 "s2CellId/0x39faf70000000000","2022-10","P1M",4.513,1 "s2CellId/0x39faf50000000000","2022-10","P1M",7.224,1 @@ -159,33 +160,33 @@ "s2CellId/0x39fa5b0000000000","2022-10","P1M",2.713,1 "s2CellId/0x39ee6d0000000000","2022-10","P1M",0.895,1 "s2CellId/0x39ee110000000000","2022-10","P1M",0.896,1 -"s2CellId/0x39f2cf0000000000","2022-10","P1M",0.902,1 -"s2CellId/0x39f2d10000000000","2022-10","P1M",0.902,1 -"s2CellId/0x398dad0000000000","2022-10","P1M",1.807,1 "s2CellId/0x39f2fb0000000000","2022-10","P1M",0.902,1 "s2CellId/0x39f1a90000000000","2022-10","P1M",0.903,1 "s2CellId/0x39f1070000000000","2022-10","P1M",0.904,1 -"s2CellId/0x39fb030000000000","2022","P1Y",2.706,1 -"s2CellId/0x39fb070000000000","2022","P1Y",0.903,1 +"s2CellId/0x39f3cd0000000000","2022-10","P1M",0.904,1 +"s2CellId/0x398dad0000000000","2022-10","P1M",1.807,1 "s2CellId/0x39e5410000000000","2022","P1Y",0.896,1 "s2CellId/0x39e5490000000000","2022","P1Y",2.69,1 "s2CellId/0x39e54f0000000000","2022","P1Y",0.897,1 -"s2CellId/0x39f3cd0000000000","2022","P1Y",0.904,1 +"s2CellId/0x39f2cf0000000000","2022","P1Y",0.902,1 +"s2CellId/0x39f2d10000000000","2022","P1Y",0.902,1 +"s2CellId/0x39fb030000000000","2022","P1Y",2.706,1 +"s2CellId/0x39fb070000000000","2022","P1Y",0.903,1 "s2CellId/0x39925b0000000000","2022","P1Y",5.369,1 "s2CellId/0x3992590000000000","2022","P1Y",0.895,1 "s2CellId/0x39925f0000000000","2022","P1Y",4.476,1 "s2CellId/0x39928d0000000000","2022","P1Y",3.583,1 "s2CellId/0x39928b0000000000","2022","P1Y",3.583,1 -"s2CellId/0x3992670000000000","2022","P1Y",1.792,1 +"s2CellId/0x3992670000000000","2022","P1Y",0.896,1 "s2CellId/0x3992930000000000","2022","P1Y",0.896,1 "s2CellId/0x3992910000000000","2022","P1Y",2.689,1 "s2CellId/0x3992970000000000","2022","P1Y",2.689,1 "s2CellId/0x3992bd0000000000","2022","P1Y",3.587,1 "s2CellId/0x39928f0000000000","2022","P1Y",3.587,1 "s2CellId/0x3992890000000000","2022","P1Y",0.897,1 -"s2CellId/0x3992a30000000000","2022","P1Y",10.765,1 -"s2CellId/0x3992850000000000","2022","P1Y",17.949,1 -"s2CellId/0x39927b0000000000","2022","P1Y",8.074,1 +"s2CellId/0x3992a30000000000","2022","P1Y",9.868,1 +"s2CellId/0x3992850000000000","2022","P1Y",17.051,1 +"s2CellId/0x39927b0000000000","2022","P1Y",7.177,1 "s2CellId/0x3992990000000000","2022","P1Y",6.281,1 "s2CellId/0x39ed330000000000","2022","P1Y",0.895,1 "s2CellId/0x39ed350000000000","2022","P1Y",4.474,1 @@ -194,11 +195,11 @@ "s2CellId/0x39ed450000000000","2022","P1Y",0.897,1 "s2CellId/0x39ed4f0000000000","2022","P1Y",0.897,1 "s2CellId/0x39ed510000000000","2022","P1Y",1.794,1 -"s2CellId/0x39ed5b0000000000","2022","P1Y",2.692,1 -"s2CellId/0x3992a50000000000","2022","P1Y",8.971,1 +"s2CellId/0x39ed5b0000000000","2022","P1Y",1.794,1 +"s2CellId/0x3992a50000000000","2022","P1Y",8.074,1 "s2CellId/0x39927d0000000000","2022","P1Y",1.794,1 "s2CellId/0x3992870000000000","2022","P1Y",8.076,1 -"s2CellId/0x3992af0000000000","2022","P1Y",5.383,1 +"s2CellId/0x3992af0000000000","2022","P1Y",4.486,1 "s2CellId/0x3992ad0000000000","2022","P1Y",5.384,1 "s2CellId/0x3992710000000000","2022","P1Y",8.975,1 "s2CellId/0x39929b0000000000","2022","P1Y",8.974,1 @@ -209,9 +210,9 @@ "s2CellId/0x3992ab0000000000","2022","P1Y",0.898,1 "s2CellId/0x39ed570000000000","2022","P1Y",6.283,1 "s2CellId/0x3992830000000000","2022","P1Y",0.898,1 -"s2CellId/0x3992a10000000000","2022","P1Y",1.795,1 +"s2CellId/0x3992a10000000000","2022","P1Y",0.898,1 "s2CellId/0x3992a90000000000","2022","P1Y",8.081,1 -"s2CellId/0x3992770000000000","2022","P1Y",7.183,1 +"s2CellId/0x3992770000000000","2022","P1Y",6.285,1 "s2CellId/0x39ed590000000000","2022","P1Y",3.591,1 "s2CellId/0x39ed610000000000","2022","P1Y",2.694,1 "s2CellId/0x39ed630000000000","2022","P1Y",0.898,1 @@ -231,7 +232,7 @@ "s2CellId/0x39f2730000000000","2022","P1Y",8.989,1 "s2CellId/0x39f2870000000000","2022","P1Y",2.697,1 "s2CellId/0x39f27d0000000000","2022","P1Y",5.393,1 -"s2CellId/0x39f27b0000000000","2022","P1Y",3.596,1 +"s2CellId/0x39f27b0000000000","2022","P1Y",1.798,1 "s2CellId/0x398d510000000000","2022","P1Y",0.899,1 "s2CellId/0x39f20d0000000000","2022","P1Y",6.295,1 "s2CellId/0x398d5b0000000000","2022","P1Y",2.698,1 @@ -255,60 +256,60 @@ "s2CellId/0x39f0170000000000","2022","P1Y",20.69,1 "s2CellId/0x39f1f90000000000","2022","P1Y",0.899,1 "s2CellId/0x39f1e50000000000","2022","P1Y",0.899,1 -"s2CellId/0x39f0110000000000","2022","P1Y",15.292,1 +"s2CellId/0x39f0110000000000","2022","P1Y",14.392,1 "s2CellId/0x39f1e90000000000","2022","P1Y",10.794,1 "s2CellId/0x39f1c30000000000","2022","P1Y",5.396,1 "s2CellId/0x39fab10000000000","2022","P1Y",0.899,1 -"s2CellId/0x39faa70000000000","2022","P1Y",15.293,1 +"s2CellId/0x39faa70000000000","2022","P1Y",14.393,1 "s2CellId/0x39f0310000000000","2022","P1Y",0.899,1 -"s2CellId/0x39f00f0000000000","2022","P1Y",6.296,1 -"s2CellId/0x39f0090000000000","2022","P1Y",8.995,1 +"s2CellId/0x39f00f0000000000","2022","P1Y",5.397,1 +"s2CellId/0x39f0090000000000","2022","P1Y",8.096,1 "s2CellId/0x39f1ef0000000000","2022","P1Y",1.799,1 "s2CellId/0x39fabb0000000000","2022","P1Y",1.799,1 -"s2CellId/0x39f1f70000000000","2022","P1Y",6.299,1 +"s2CellId/0x39f1f70000000000","2022","P1Y",5.399,1 "s2CellId/0x39f1cd0000000000","2022","P1Y",5.398,1 "s2CellId/0x39f1f10000000000","2022","P1Y",3.599,1 "s2CellId/0x39f1cf0000000000","2022","P1Y",0.9,1 "s2CellId/0x39f0330000000000","2022","P1Y",2.699,1 "s2CellId/0x39f21b0000000000","2022","P1Y",7.199,1 -"s2CellId/0x39f00b0000000000","2022","P1Y",9.001,1 +"s2CellId/0x39f00b0000000000","2022","P1Y",8.101,1 "s2CellId/0x39faa10000000000","2022","P1Y",18.001,1 "s2CellId/0x39f21d0000000000","2022","P1Y",6.3,1 -"s2CellId/0x39f1cb0000000000","2022","P1Y",17.104,1 -"s2CellId/0x39f0350000000000","2022","P1Y",18.005,1 +"s2CellId/0x39f1cb0000000000","2022","P1Y",16.204,1 +"s2CellId/0x39f0350000000000","2022","P1Y",16.204,1 "s2CellId/0x39fabd0000000000","2022","P1Y",2.7,1 "s2CellId/0x39f0150000000000","2022","P1Y",4.501,1 "s2CellId/0x39f2190000000000","2022","P1Y",9.001,1 "s2CellId/0x39f21f0000000000","2022","P1Y",14.405,1 "s2CellId/0x39f1f50000000000","2022","P1Y",11.704,1 -"s2CellId/0x39f1f30000000000","2022","P1Y",31.511,1 -"s2CellId/0x39f1ed0000000000","2022","P1Y",17.105,1 -"s2CellId/0x39f03f0000000000","2022","P1Y",18.906,1 +"s2CellId/0x39f1f30000000000","2022","P1Y",28.81,1 +"s2CellId/0x39f1ed0000000000","2022","P1Y",16.205,1 +"s2CellId/0x39f03f0000000000","2022","P1Y",17.105,1 "s2CellId/0x39f26b0000000000","2022","P1Y",6.302,1 -"s2CellId/0x39f2150000000000","2022","P1Y",24.306,1 +"s2CellId/0x39f2150000000000","2022","P1Y",23.406,1 "s2CellId/0x39f2170000000000","2022","P1Y",4.501,1 "s2CellId/0x39f1eb0000000000","2022","P1Y",6.302,1 "s2CellId/0x39f1c10000000000","2022","P1Y",20.709,1 "s2CellId/0x39f1c90000000000","2022","P1Y",6.302,1 "s2CellId/0x39f0370000000000","2022","P1Y",12.605,1 -"s2CellId/0x39f1c70000000000","2022","P1Y",5.402,1 -"s2CellId/0x39f0390000000000","2022","P1Y",12.606,1 +"s2CellId/0x39f1c70000000000","2022","P1Y",4.502,1 +"s2CellId/0x39f0390000000000","2022","P1Y",10.805,1 "s2CellId/0x39faa30000000000","2022","P1Y",4.502,1 -"s2CellId/0x39fabf0000000000","2022","P1Y",9.904,1 +"s2CellId/0x39fabf0000000000","2022","P1Y",9.004,1 "s2CellId/0x39fa990000000000","2022","P1Y",8.105,1 -"s2CellId/0x39fa970000000000","2022","P1Y",3.602,1 -"s2CellId/0x39fa950000000000","2022","P1Y",17.114,1 +"s2CellId/0x39fa970000000000","2022","P1Y",2.702,1 +"s2CellId/0x39fa950000000000","2022","P1Y",16.213,1 "s2CellId/0x39f0410000000000","2022","P1Y",14.412,1 "s2CellId/0x39faeb0000000000","2022","P1Y",3.603,1 "s2CellId/0x39f0490000000000","2022","P1Y",9.009,1 -"s2CellId/0x39f0470000000000","2022","P1Y",30.63,1 +"s2CellId/0x39f0470000000000","2022","P1Y",28.828,1 "s2CellId/0x39f06b0000000000","2022","P1Y",4.504,1 -"s2CellId/0x39f1bf0000000000","2022","P1Y",12.611,1 +"s2CellId/0x39f1bf0000000000","2022","P1Y",11.71,1 "s2CellId/0x398d6b0000000000","2022","P1Y",0.901,1 "s2CellId/0x39f2230000000000","2022","P1Y",0.901,1 "s2CellId/0x39f1b90000000000","2022","P1Y",5.405,1 "s2CellId/0x39f1b70000000000","2022","P1Y",1.801,1 -"s2CellId/0x39f1b50000000000","2022","P1Y",21.621,1 +"s2CellId/0x39f1b50000000000","2022","P1Y",18.918,1 "s2CellId/0x398d6d0000000000","2022","P1Y",1.802,1 "s2CellId/0x39f2210000000000","2022","P1Y",1.802,1 "s2CellId/0x398d130000000000","2022","P1Y",1.803,1 @@ -316,7 +317,7 @@ "s2CellId/0x39f04f0000000000","2022","P1Y",1.803,1 "s2CellId/0x39faed0000000000","2022","P1Y",1.803,1 "s2CellId/0x39fa8d0000000000","2022","P1Y",6.313,1 -"s2CellId/0x39faf30000000000","2022","P1Y",8.119,1 +"s2CellId/0x39faf30000000000","2022","P1Y",7.217,1 "s2CellId/0x39faf10000000000","2022","P1Y",3.609,1 "s2CellId/0x39faf70000000000","2022","P1Y",4.513,1 "s2CellId/0x39faf50000000000","2022","P1Y",7.224,1 @@ -325,9 +326,8 @@ "s2CellId/0x39fa5b0000000000","2022","P1Y",2.713,1 "s2CellId/0x39ee6d0000000000","2022","P1Y",0.895,1 "s2CellId/0x39ee110000000000","2022","P1Y",0.896,1 -"s2CellId/0x39f2cf0000000000","2022","P1Y",0.902,1 -"s2CellId/0x39f2d10000000000","2022","P1Y",0.902,1 -"s2CellId/0x398dad0000000000","2022","P1Y",1.807,1 "s2CellId/0x39f2fb0000000000","2022","P1Y",0.902,1 "s2CellId/0x39f1a90000000000","2022","P1Y",0.903,1 "s2CellId/0x39f1070000000000","2022","P1Y",0.904,1 +"s2CellId/0x39f3cd0000000000","2022","P1Y",0.904,1 +"s2CellId/0x398dad0000000000","2022","P1Y",1.807,1 diff --git a/scripts/earthengine/test_data/sample_floods_svobs.csv b/scripts/earthengine/test_data/sample_floods_svobs.csv index 7c363ba8d4..af401e61c1 100644 --- a/scripts/earthengine/test_data/sample_floods_svobs.csv +++ b/scripts/earthengine/test_data/sample_floods_svobs.csv @@ -1,10 +1,10 @@ -"dcid","observationDate","affectedPlace","area","observationDate" -"floodEvent/2022-10_0x39e5410000000000","2022-10","s2CellId/0x39e5413400000000,s2CellId/0x39e5489400000000,s2CellId/0x39e5493400000000,s2CellId/0x39e5495400000000,s2CellId/0x39e54ed400000000",4.482403,"2022-10" -"floodEvent/2022-10_0x39f1a90000000000","2022-10","s2CellId/0x39f1072400000000,s2CellId/0x39f1a95c00000000",1.806339,"2022-10" -"floodEvent/2022-10_0x39f2fb0000000000","2022-10","s2CellId/0x39f2fa1400000000",0.9023,"2022-10" -"floodEvent/2022-10_0x39f3cd0000000000","2022-10","s2CellId/0x39f3cdac00000000",0.903843,"2022-10" -"floodEvent/2022-10_0x39ee6d0000000000","2022-10","s2CellId/0x39ee11bc00000000,s2CellId/0x39ee6d2c00000000",1.791068,"2022-10" -"floodEvent/2022-10_0x39925b0000000000","2022-10","s2CellId/0x398d127c00000000,s2CellId/0x398d12dc00000000,s2CellId/0x398d451c00000000,s2CellId/0x398d453c00000000,s2CellId/0x398d50a400000000,s2CellId/0x398d583400000000,s2CellId/0x398d5a8c00000000,s2CellId/0x398d5ac400000000,s2CellId/0x398d5af400000000,s2CellId/0x398d6afc00000000,s2CellId/0x398d6c9400000000,s2CellId/0x398d6cc400000000,s2CellId/0x39920abc00000000,s2CellId/0x3992595400000000,s2CellId/0x39925b1c00000000,s2CellId/0x39925b7400000000,s2CellId/0x39925b8c00000000,s2CellId/0x39925b9c00000000,s2CellId/0x39925bf400000000,s2CellId/0x39925bfc00000000,s2CellId/0x39925e9400000000,s2CellId/0x39925eec00000000,s2CellId/0x39925ef400000000,s2CellId/0x39925fb400000000,s2CellId/0x39925fbc00000000,s2CellId/0x399266cc00000000,s2CellId/0x3992705c00000000,s2CellId/0x3992706400000000,s2CellId/0x3992706c00000000,s2CellId/0x399270c400000000,s2CellId/0x399270e400000000,s2CellId/0x399270ec00000000,s2CellId/0x3992714400000000,s2CellId/0x3992714c00000000,s2CellId/0x3992716c00000000,s2CellId/0x399271b400000000,s2CellId/0x3992750400000000,s2CellId/0x3992751400000000,s2CellId/0x399276a400000000,s2CellId/0x399276ac00000000,s2CellId/0x399276b400000000,s2CellId/0x399276bc00000000,s2CellId/0x399276c400000000,s2CellId/0x399276dc00000000,s2CellId/0x3992772c00000000,s2CellId/0x39927aac00000000,s2CellId/0x39927acc00000000,s2CellId/0x39927ad400000000,s2CellId/0x39927b1c00000000,s2CellId/0x39927b2c00000000,s2CellId/0x39927b3400000000,s2CellId/0x39927b3c00000000,s2CellId/0x39927b5c00000000,s2CellId/0x39927ca400000000,s2CellId/0x39927cbc00000000,s2CellId/0x3992835400000000,s2CellId/0x3992843c00000000,s2CellId/0x3992844400000000,s2CellId/0x3992844c00000000,s2CellId/0x3992845400000000,s2CellId/0x3992846400000000,s2CellId/0x3992846c00000000,s2CellId/0x3992847400000000,s2CellId/0x3992847c00000000,s2CellId/0x3992848400000000,s2CellId/0x3992849c00000000,s2CellId/0x399284a400000000,s2CellId/0x399284ac00000000,s2CellId/0x399284fc00000000,s2CellId/0x3992852c00000000,s2CellId/0x3992854400000000,s2CellId/0x3992855c00000000,s2CellId/0x399285fc00000000,s2CellId/0x3992860c00000000,s2CellId/0x3992865400000000,s2CellId/0x3992866c00000000,s2CellId/0x399286ec00000000,s2CellId/0x399286f400000000,s2CellId/0x3992871c00000000,s2CellId/0x3992878c00000000,s2CellId/0x3992879400000000,s2CellId/0x399287ac00000000,s2CellId/0x399288b400000000,s2CellId/0x39928ad400000000,s2CellId/0x39928b2400000000,s2CellId/0x39928b4400000000,s2CellId/0x39928b5400000000,s2CellId/0x39928cac00000000,s2CellId/0x39928ccc00000000,s2CellId/0x39928d5c00000000,s2CellId/0x39928d8400000000,s2CellId/0x39928f0c00000000,s2CellId/0x39928f1400000000,s2CellId/0x39928fec00000000,s2CellId/0x39928ff400000000,s2CellId/0x3992914400000000,s2CellId/0x3992916400000000,s2CellId/0x3992916c00000000,s2CellId/0x399293dc00000000,s2CellId/0x3992968c00000000,s2CellId/0x3992969400000000,s2CellId/0x399296bc00000000,s2CellId/0x3992980c00000000,s2CellId/0x3992981400000000,s2CellId/0x3992987c00000000,s2CellId/0x3992988400000000,s2CellId/0x3992988c00000000,s2CellId/0x3992993c00000000,s2CellId/0x3992995c00000000,s2CellId/0x39929ad400000000,s2CellId/0x39929afc00000000,s2CellId/0x39929b1c00000000,s2CellId/0x39929b2400000000,s2CellId/0x39929b2c00000000,s2CellId/0x39929b5400000000,s2CellId/0x39929b8400000000,s2CellId/0x39929b8c00000000,s2CellId/0x39929bac00000000,s2CellId/0x39929be400000000,s2CellId/0x3992a15400000000,s2CellId/0x3992a27c00000000,s2CellId/0x3992a29400000000,s2CellId/0x3992a2bc00000000,s2CellId/0x3992a2d400000000,s2CellId/0x3992a2dc00000000,s2CellId/0x3992a30c00000000,s2CellId/0x3992a32400000000,s2CellId/0x3992a33c00000000,s2CellId/0x3992a35c00000000,s2CellId/0x3992a39c00000000,s2CellId/0x3992a45400000000,s2CellId/0x3992a45c00000000,s2CellId/0x3992a49400000000,s2CellId/0x3992a49c00000000,s2CellId/0x3992a51400000000,s2CellId/0x3992a56c00000000,s2CellId/0x3992a5ac00000000,s2CellId/0x3992a69c00000000,s2CellId/0x3992a6a400000000,s2CellId/0x3992a6ac00000000,s2CellId/0x3992a82400000000,s2CellId/0x3992a84c00000000,s2CellId/0x3992a85400000000,s2CellId/0x3992a8fc00000000,s2CellId/0x3992a91400000000,s2CellId/0x3992a92400000000,s2CellId/0x3992a93c00000000,s2CellId/0x3992a9cc00000000,s2CellId/0x3992ab5400000000,s2CellId/0x3992ac1400000000,s2CellId/0x3992ac2c00000000,s2CellId/0x3992ac3400000000,s2CellId/0x3992ac4c00000000,s2CellId/0x3992ac5400000000,s2CellId/0x3992ae5400000000,s2CellId/0x3992aecc00000000,s2CellId/0x3992af8400000000,s2CellId/0x3992af9c00000000,s2CellId/0x3992afac00000000,s2CellId/0x3992b28c00000000,s2CellId/0x3992b29400000000,s2CellId/0x3992bcd400000000,s2CellId/0x3992bd3400000000,s2CellId/0x3992bd6c00000000,s2CellId/0x3992bd8400000000,s2CellId/0x39ed336400000000,s2CellId/0x39ed349400000000,s2CellId/0x39ed349c00000000,s2CellId/0x39ed34a400000000,s2CellId/0x39ed34ec00000000,s2CellId/0x39ed34fc00000000,s2CellId/0x39ed366400000000,s2CellId/0x39ed44bc00000000,s2CellId/0x39ed4ffc00000000,s2CellId/0x39ed509400000000,s2CellId/0x39ed51b400000000,s2CellId/0x39ed538c00000000,s2CellId/0x39ed539400000000,s2CellId/0x39ed53a400000000,s2CellId/0x39ed53bc00000000,s2CellId/0x39ed569400000000,s2CellId/0x39ed56a400000000,s2CellId/0x39ed56bc00000000,s2CellId/0x39ed56c400000000,s2CellId/0x39ed56dc00000000,s2CellId/0x39ed572400000000,s2CellId/0x39ed58d400000000,s2CellId/0x39ed58e400000000,s2CellId/0x39ed590400000000,s2CellId/0x39ed592c00000000,s2CellId/0x39ed5a2c00000000,s2CellId/0x39ed5b6c00000000,s2CellId/0x39ed5c7400000000,s2CellId/0x39ed5eac00000000,s2CellId/0x39ed5eb400000000,s2CellId/0x39ed5ec400000000,s2CellId/0x39ed5edc00000000,s2CellId/0x39ed5fe400000000,s2CellId/0x39ed5ff400000000,s2CellId/0x39ed606400000000,s2CellId/0x39ed607c00000000,s2CellId/0x39ed61b400000000,s2CellId/0x39ed629c00000000,s2CellId/0x39ed7d5c00000000,s2CellId/0x39effc6c00000000,s2CellId/0x39f0054c00000000,s2CellId/0x39f0055400000000,s2CellId/0x39f0055c00000000,s2CellId/0x39f0084c00000000,s2CellId/0x39f0085400000000,s2CellId/0x39f0085c00000000,s2CellId/0x39f008ec00000000,s2CellId/0x39f0090c00000000,s2CellId/0x39f0092c00000000,s2CellId/0x39f0098400000000,s2CellId/0x39f009a400000000,s2CellId/0x39f009e400000000,s2CellId/0x39f00a2c00000000,s2CellId/0x39f00a5400000000,s2CellId/0x39f00a8400000000,s2CellId/0x39f00a8c00000000,s2CellId/0x39f00af400000000,s2CellId/0x39f00afc00000000,s2CellId/0x39f00e4c00000000,s2CellId/0x39f00ed400000000,s2CellId/0x39f00f3400000000,s2CellId/0x39f00fb400000000,s2CellId/0x39f00fbc00000000,s2CellId/0x39f00fc400000000,s2CellId/0x39f0101400000000,s2CellId/0x39f0102c00000000,s2CellId/0x39f0106c00000000,s2CellId/0x39f0108c00000000,s2CellId/0x39f0109400000000,s2CellId/0x39f010cc00000000,s2CellId/0x39f010d400000000,s2CellId/0x39f0111c00000000,s2CellId/0x39f0112400000000,s2CellId/0x39f0114400000000,s2CellId/0x39f0114c00000000,s2CellId/0x39f0115400000000,s2CellId/0x39f0115c00000000,s2CellId/0x39f011b400000000,s2CellId/0x39f011cc00000000,s2CellId/0x39f0156c00000000,s2CellId/0x39f015a400000000,s2CellId/0x39f015c400000000,s2CellId/0x39f015ec00000000,s2CellId/0x39f0162c00000000,s2CellId/0x39f0163400000000,s2CellId/0x39f0163c00000000,s2CellId/0x39f0164c00000000,s2CellId/0x39f0168400000000,s2CellId/0x39f0168c00000000,s2CellId/0x39f0169400000000,s2CellId/0x39f0169c00000000,s2CellId/0x39f016a400000000,s2CellId/0x39f016ac00000000,s2CellId/0x39f016b400000000,s2CellId/0x39f016bc00000000,s2CellId/0x39f016f400000000,s2CellId/0x39f0174400000000,s2CellId/0x39f0175c00000000,s2CellId/0x39f0176400000000,s2CellId/0x39f0176c00000000,s2CellId/0x39f0177400000000,s2CellId/0x39f017a400000000,s2CellId/0x39f017bc00000000,s2CellId/0x39f017e400000000,s2CellId/0x39f019dc00000000,s2CellId/0x39f019e400000000,s2CellId/0x39f019f400000000,s2CellId/0x39f01a1c00000000,s2CellId/0x39f0229400000000,s2CellId/0x39f022ac00000000,s2CellId/0x39f022bc00000000,s2CellId/0x39f022cc00000000,s2CellId/0x39f022dc00000000,s2CellId/0x39f022ec00000000,s2CellId/0x39f0231c00000000,s2CellId/0x39f0234c00000000,s2CellId/0x39f0236400000000,s2CellId/0x39f024ac00000000,s2CellId/0x39f024b400000000,s2CellId/0x39f02e5400000000,s2CellId/0x39f0304400000000,s2CellId/0x39f0333400000000,s2CellId/0x39f0334400000000,s2CellId/0x39f0335400000000,s2CellId/0x39f0342c00000000,s2CellId/0x39f0343400000000,s2CellId/0x39f0344c00000000,s2CellId/0x39f034a400000000,s2CellId/0x39f034ac00000000,s2CellId/0x39f034d400000000,s2CellId/0x39f034ec00000000,s2CellId/0x39f0350c00000000,s2CellId/0x39f0351400000000,s2CellId/0x39f0352400000000,s2CellId/0x39f0352c00000000,s2CellId/0x39f035a400000000,s2CellId/0x39f035b400000000,s2CellId/0x39f035bc00000000,s2CellId/0x39f035e400000000,s2CellId/0x39f035ec00000000,s2CellId/0x39f0361400000000,s2CellId/0x39f0363c00000000,s2CellId/0x39f0365400000000,s2CellId/0x39f0368400000000,s2CellId/0x39f0368c00000000,s2CellId/0x39f0369c00000000,s2CellId/0x39f037a400000000,s2CellId/0x39f037ac00000000,s2CellId/0x39f037b400000000,s2CellId/0x39f037bc00000000,s2CellId/0x39f037c400000000,s2CellId/0x39f037e400000000,s2CellId/0x39f037ec00000000,s2CellId/0x39f037fc00000000,s2CellId/0x39f0380400000000,s2CellId/0x39f0383c00000000,s2CellId/0x39f0384c00000000,s2CellId/0x39f0385400000000,s2CellId/0x39f038a400000000,s2CellId/0x39f038ac00000000,s2CellId/0x39f038b400000000,s2CellId/0x39f038bc00000000,s2CellId/0x39f038c400000000,s2CellId/0x39f038cc00000000,s2CellId/0x39f03b2400000000,s2CellId/0x39f03b3c00000000,s2CellId/0x39f03b4c00000000,s2CellId/0x39f03c8400000000,s2CellId/0x39f03c8c00000000,s2CellId/0x39f03d0400000000,s2CellId/0x39f03d5400000000,s2CellId/0x39f03d7c00000000,s2CellId/0x39f03e2400000000,s2CellId/0x39f03e2c00000000,s2CellId/0x39f03edc00000000,s2CellId/0x39f03ee400000000,s2CellId/0x39f03f2400000000,s2CellId/0x39f03f2c00000000,s2CellId/0x39f03f7c00000000,s2CellId/0x39f03fa400000000,s2CellId/0x39f03fac00000000,s2CellId/0x39f03fbc00000000,s2CellId/0x39f03fc400000000,s2CellId/0x39f03fd400000000,s2CellId/0x39f03fdc00000000,s2CellId/0x39f03fe400000000,s2CellId/0x39f03fec00000000,s2CellId/0x39f03ffc00000000,s2CellId/0x39f0400400000000,s2CellId/0x39f0400c00000000,s2CellId/0x39f0401400000000,s2CellId/0x39f0404400000000,s2CellId/0x39f0405c00000000,s2CellId/0x39f0406400000000,s2CellId/0x39f0406c00000000,s2CellId/0x39f0407400000000,s2CellId/0x39f0408400000000,s2CellId/0x39f0408c00000000,s2CellId/0x39f0409400000000,s2CellId/0x39f040f400000000,s2CellId/0x39f0415400000000,s2CellId/0x39f041c400000000,s2CellId/0x39f041cc00000000,s2CellId/0x39f041dc00000000,s2CellId/0x39f0460400000000,s2CellId/0x39f0461400000000,s2CellId/0x39f0461c00000000,s2CellId/0x39f0462400000000,s2CellId/0x39f0462c00000000,s2CellId/0x39f0463400000000,s2CellId/0x39f0463c00000000,s2CellId/0x39f0469400000000,s2CellId/0x39f046bc00000000,s2CellId/0x39f046c400000000,s2CellId/0x39f046cc00000000,s2CellId/0x39f046dc00000000,s2CellId/0x39f046e400000000,s2CellId/0x39f046ec00000000,s2CellId/0x39f046f400000000,s2CellId/0x39f0475c00000000,s2CellId/0x39f0476400000000,s2CellId/0x39f0476c00000000,s2CellId/0x39f0477400000000,s2CellId/0x39f0478400000000,s2CellId/0x39f0479400000000,s2CellId/0x39f0479c00000000,s2CellId/0x39f047c400000000,s2CellId/0x39f047cc00000000,s2CellId/0x39f047d400000000,s2CellId/0x39f047dc00000000,s2CellId/0x39f047ec00000000,s2CellId/0x39f047f400000000,s2CellId/0x39f047fc00000000,s2CellId/0x39f0480400000000,s2CellId/0x39f0484400000000,s2CellId/0x39f0486400000000,s2CellId/0x39f0487c00000000,s2CellId/0x39f0488400000000,s2CellId/0x39f0488c00000000,s2CellId/0x39f0489c00000000,s2CellId/0x39f048a400000000,s2CellId/0x39f048ac00000000,s2CellId/0x39f04f5400000000,s2CellId/0x39f06a0c00000000,s2CellId/0x39f06a1400000000,s2CellId/0x39f06a7400000000,s2CellId/0x39f06aa400000000,s2CellId/0x39f06aac00000000,s2CellId/0x39f1b42c00000000,s2CellId/0x39f1b43400000000,s2CellId/0x39f1b44c00000000,s2CellId/0x39f1b45400000000,s2CellId/0x39f1b4fc00000000,s2CellId/0x39f1b50400000000,s2CellId/0x39f1b50c00000000,s2CellId/0x39f1b51400000000,s2CellId/0x39f1b51c00000000,s2CellId/0x39f1b52400000000,s2CellId/0x39f1b53c00000000,s2CellId/0x39f1b57400000000,s2CellId/0x39f1b5a400000000,s2CellId/0x39f1b5ac00000000,s2CellId/0x39f1b5b400000000,s2CellId/0x39f1b5bc00000000,s2CellId/0x39f1b5c400000000,s2CellId/0x39f1b5cc00000000,s2CellId/0x39f1b5d400000000,s2CellId/0x39f1b5dc00000000,s2CellId/0x39f1b63400000000,s2CellId/0x39f1b63c00000000,s2CellId/0x39f1b8b400000000,s2CellId/0x39f1b8bc00000000,s2CellId/0x39f1b8c400000000,s2CellId/0x39f1b8cc00000000,s2CellId/0x39f1bf1400000000,s2CellId/0x39f1bf3400000000,s2CellId/0x39f1bf3c00000000,s2CellId/0x39f1bf4c00000000,s2CellId/0x39f1bf7400000000,s2CellId/0x39f1bf8400000000,s2CellId/0x39f1bf8c00000000,s2CellId/0x39f1bf9400000000,s2CellId/0x39f1bf9c00000000,s2CellId/0x39f1bff400000000,s2CellId/0x39f1c00400000000,s2CellId/0x39f1c00c00000000,s2CellId/0x39f1c01c00000000,s2CellId/0x39f1c03400000000,s2CellId/0x39f1c05400000000,s2CellId/0x39f1c07400000000,s2CellId/0x39f1c07c00000000,s2CellId/0x39f1c08c00000000,s2CellId/0x39f1c09400000000,s2CellId/0x39f1c09c00000000,s2CellId/0x39f1c0a400000000,s2CellId/0x39f1c0f400000000,s2CellId/0x39f1c0fc00000000,s2CellId/0x39f1c10400000000,s2CellId/0x39f1c12c00000000,s2CellId/0x39f1c13400000000,s2CellId/0x39f1c1a400000000,s2CellId/0x39f1c1ac00000000,s2CellId/0x39f1c1bc00000000,s2CellId/0x39f1c1ec00000000,s2CellId/0x39f1c27c00000000,s2CellId/0x39f1c28400000000,s2CellId/0x39f1c2ac00000000,s2CellId/0x39f1c2b400000000,s2CellId/0x39f1c2bc00000000,s2CellId/0x39f1c2cc00000000,s2CellId/0x39f1c6cc00000000,s2CellId/0x39f1c6ec00000000,s2CellId/0x39f1c70c00000000,s2CellId/0x39f1c75c00000000,s2CellId/0x39f1c7ac00000000,s2CellId/0x39f1c84c00000000,s2CellId/0x39f1c85400000000,s2CellId/0x39f1c90c00000000,s2CellId/0x39f1c96400000000,s2CellId/0x39f1c96c00000000,s2CellId/0x39f1c97c00000000,s2CellId/0x39f1c9ac00000000,s2CellId/0x39f1ca6400000000,s2CellId/0x39f1ca8c00000000,s2CellId/0x39f1ca9400000000,s2CellId/0x39f1cab400000000,s2CellId/0x39f1cabc00000000,s2CellId/0x39f1cad400000000,s2CellId/0x39f1caec00000000,s2CellId/0x39f1caf400000000,s2CellId/0x39f1cb0c00000000,s2CellId/0x39f1cb1400000000,s2CellId/0x39f1cb5400000000,s2CellId/0x39f1cb7400000000,s2CellId/0x39f1cb8400000000,s2CellId/0x39f1cb8c00000000,s2CellId/0x39f1cbe400000000,s2CellId/0x39f1cbf400000000,s2CellId/0x39f1cce400000000,s2CellId/0x39f1ccec00000000,s2CellId/0x39f1ccf400000000,s2CellId/0x39f1ccfc00000000,s2CellId/0x39f1ce9c00000000,s2CellId/0x39f1d2ec00000000,s2CellId/0x39f1d8dc00000000,s2CellId/0x39f1d94c00000000,s2CellId/0x39f1d96c00000000,s2CellId/0x39f1dd4c00000000,s2CellId/0x39f1dd5400000000,s2CellId/0x39f1dd6400000000,s2CellId/0x39f1dd7c00000000,s2CellId/0x39f1e5f400000000,s2CellId/0x39f1e60400000000,s2CellId/0x39f1e61c00000000,s2CellId/0x39f1e62400000000,s2CellId/0x39f1e6e400000000,s2CellId/0x39f1e77c00000000,s2CellId/0x39f1e78c00000000,s2CellId/0x39f1e7e400000000,s2CellId/0x39f1e7f400000000,s2CellId/0x39f1e7fc00000000,s2CellId/0x39f1e80400000000,s2CellId/0x39f1e80c00000000,s2CellId/0x39f1e82400000000,s2CellId/0x39f1e83c00000000,s2CellId/0x39f1e87400000000,s2CellId/0x39f1e88c00000000,s2CellId/0x39f1e89c00000000,s2CellId/0x39f1e8f400000000,s2CellId/0x39f1e90400000000,s2CellId/0x39f1e9ac00000000,s2CellId/0x39f1e9ec00000000,s2CellId/0x39f1ea0c00000000,s2CellId/0x39f1ea5c00000000,s2CellId/0x39f1ea8c00000000,s2CellId/0x39f1ea9c00000000,s2CellId/0x39f1eaa400000000,s2CellId/0x39f1eaec00000000,s2CellId/0x39f1eaf400000000,s2CellId/0x39f1ed0400000000,s2CellId/0x39f1ed0c00000000,s2CellId/0x39f1ed6400000000,s2CellId/0x39f1ed6c00000000,s2CellId/0x39f1ed7400000000,s2CellId/0x39f1ed7c00000000,s2CellId/0x39f1ed9400000000,s2CellId/0x39f1ed9c00000000,s2CellId/0x39f1eda400000000,s2CellId/0x39f1edac00000000,s2CellId/0x39f1edb400000000,s2CellId/0x39f1edbc00000000,s2CellId/0x39f1edd400000000,s2CellId/0x39f1edec00000000,s2CellId/0x39f1edf400000000,s2CellId/0x39f1ee6c00000000,s2CellId/0x39f1efdc00000000,s2CellId/0x39f1f0d400000000,s2CellId/0x39f1f0e400000000,s2CellId/0x39f1f15400000000,s2CellId/0x39f1f15c00000000,s2CellId/0x39f1f24400000000,s2CellId/0x39f1f24c00000000,s2CellId/0x39f1f25400000000,s2CellId/0x39f1f25c00000000,s2CellId/0x39f1f26c00000000,s2CellId/0x39f1f27400000000,s2CellId/0x39f1f27c00000000,s2CellId/0x39f1f28400000000,s2CellId/0x39f1f29400000000,s2CellId/0x39f1f29c00000000,s2CellId/0x39f1f2e400000000,s2CellId/0x39f1f2ec00000000,s2CellId/0x39f1f2f400000000,s2CellId/0x39f1f2fc00000000,s2CellId/0x39f1f30400000000,s2CellId/0x39f1f30c00000000,s2CellId/0x39f1f31400000000,s2CellId/0x39f1f31c00000000,s2CellId/0x39f1f34400000000,s2CellId/0x39f1f36400000000,s2CellId/0x39f1f36c00000000,s2CellId/0x39f1f3ac00000000,s2CellId/0x39f1f3b400000000,s2CellId/0x39f1f3c400000000,s2CellId/0x39f1f3dc00000000,s2CellId/0x39f1f3e400000000,s2CellId/0x39f1f3fc00000000,s2CellId/0x39f1f40400000000,s2CellId/0x39f1f45400000000,s2CellId/0x39f1f45c00000000,s2CellId/0x39f1f46400000000,s2CellId/0x39f1f48c00000000,s2CellId/0x39f1f49400000000,s2CellId/0x39f1f4a400000000,s2CellId/0x39f1f4bc00000000,s2CellId/0x39f1f4ec00000000,s2CellId/0x39f1f57400000000,s2CellId/0x39f1f57c00000000,s2CellId/0x39f1f5ac00000000,s2CellId/0x39f1f5e400000000,s2CellId/0x39f1f67c00000000,s2CellId/0x39f1f68400000000,s2CellId/0x39f1f6ac00000000,s2CellId/0x39f1f6bc00000000,s2CellId/0x39f1f71c00000000,s2CellId/0x39f1f72c00000000,s2CellId/0x39f1f94c00000000,s2CellId/0x39f20d2c00000000,s2CellId/0x39f20d4400000000,s2CellId/0x39f20d4c00000000,s2CellId/0x39f20d5400000000,s2CellId/0x39f20d5c00000000,s2CellId/0x39f2108400000000,s2CellId/0x39f2109c00000000,s2CellId/0x39f210d400000000,s2CellId/0x39f210ec00000000,s2CellId/0x39f210fc00000000,s2CellId/0x39f2112c00000000,s2CellId/0x39f2121400000000,s2CellId/0x39f2123c00000000,s2CellId/0x39f2124400000000,s2CellId/0x39f2125c00000000,s2CellId/0x39f2126400000000,s2CellId/0x39f2128c00000000,s2CellId/0x39f2129c00000000,s2CellId/0x39f212d400000000,s2CellId/0x39f2132c00000000,s2CellId/0x39f2133400000000,s2CellId/0x39f2134c00000000,s2CellId/0x39f2137400000000,s2CellId/0x39f2138400000000,s2CellId/0x39f2144400000000,s2CellId/0x39f2144c00000000,s2CellId/0x39f2145400000000,s2CellId/0x39f2145c00000000,s2CellId/0x39f2146400000000,s2CellId/0x39f2146c00000000,s2CellId/0x39f2147400000000,s2CellId/0x39f2147c00000000,s2CellId/0x39f2148400000000,s2CellId/0x39f2148c00000000,s2CellId/0x39f2149400000000,s2CellId/0x39f2149c00000000,s2CellId/0x39f214ac00000000,s2CellId/0x39f214b400000000,s2CellId/0x39f214bc00000000,s2CellId/0x39f214ec00000000,s2CellId/0x39f2151c00000000,s2CellId/0x39f2152400000000,s2CellId/0x39f215b400000000,s2CellId/0x39f215cc00000000,s2CellId/0x39f2172400000000,s2CellId/0x39f2172c00000000,s2CellId/0x39f2175400000000,s2CellId/0x39f2175c00000000,s2CellId/0x39f2178400000000,s2CellId/0x39f2190400000000,s2CellId/0x39f2194400000000,s2CellId/0x39f2194c00000000,s2CellId/0x39f2195c00000000,s2CellId/0x39f2197c00000000,s2CellId/0x39f2198400000000,s2CellId/0x39f2199400000000,s2CellId/0x39f219ec00000000,s2CellId/0x39f219f400000000,s2CellId/0x39f219fc00000000,s2CellId/0x39f21a0400000000,s2CellId/0x39f21a0c00000000,s2CellId/0x39f21a1c00000000,s2CellId/0x39f21a4400000000,s2CellId/0x39f21bc400000000,s2CellId/0x39f21bd400000000,s2CellId/0x39f21bec00000000,s2CellId/0x39f21bf400000000,s2CellId/0x39f21c0400000000,s2CellId/0x39f21c0c00000000,s2CellId/0x39f21c1400000000,s2CellId/0x39f21c1c00000000,s2CellId/0x39f21c2400000000,s2CellId/0x39f21c2c00000000,s2CellId/0x39f21dfc00000000,s2CellId/0x39f21e1c00000000,s2CellId/0x39f21e7400000000,s2CellId/0x39f21e7c00000000,s2CellId/0x39f21e8400000000,s2CellId/0x39f21e9c00000000,s2CellId/0x39f21f0c00000000,s2CellId/0x39f21f3c00000000,s2CellId/0x39f21f7400000000,s2CellId/0x39f21fa400000000,s2CellId/0x39f21fac00000000,s2CellId/0x39f21fb400000000,s2CellId/0x39f21fcc00000000,s2CellId/0x39f21fd400000000,s2CellId/0x39f221bc00000000,s2CellId/0x39f221ec00000000,s2CellId/0x39f2227c00000000,s2CellId/0x39f26acc00000000,s2CellId/0x39f26adc00000000,s2CellId/0x39f26b2400000000,s2CellId/0x39f26b3c00000000,s2CellId/0x39f26b5400000000,s2CellId/0x39f26b5c00000000,s2CellId/0x39f26ca400000000,s2CellId/0x39f26cac00000000,s2CellId/0x39f26cb400000000,s2CellId/0x39f26cc400000000,s2CellId/0x39f26ccc00000000,s2CellId/0x39f2712c00000000,s2CellId/0x39f2713400000000,s2CellId/0x39f2714c00000000,s2CellId/0x39f2717c00000000,s2CellId/0x39f2726400000000,s2CellId/0x39f2727c00000000,s2CellId/0x39f2734400000000,s2CellId/0x39f2736400000000,s2CellId/0x39f2736c00000000,s2CellId/0x39f2737400000000,s2CellId/0x39f2738400000000,s2CellId/0x39f273bc00000000,s2CellId/0x39f273d400000000,s2CellId/0x39f273f400000000,s2CellId/0x39f2743400000000,s2CellId/0x39f2744c00000000,s2CellId/0x39f2745400000000,s2CellId/0x39f2748400000000,s2CellId/0x39f2748c00000000,s2CellId/0x39f274f400000000,s2CellId/0x39f276bc00000000,s2CellId/0x39f2770c00000000,s2CellId/0x39f2771400000000,s2CellId/0x39f2773c00000000,s2CellId/0x39f2774400000000,s2CellId/0x39f2775c00000000,s2CellId/0x39f2776c00000000,s2CellId/0x39f2777400000000,s2CellId/0x39f2777c00000000,s2CellId/0x39f2788c00000000,s2CellId/0x39f2793400000000,s2CellId/0x39f2793c00000000,s2CellId/0x39f2799400000000,s2CellId/0x39f279cc00000000,s2CellId/0x39f279d400000000,s2CellId/0x39f279e400000000,s2CellId/0x39f27b8c00000000,s2CellId/0x39f27bf400000000,s2CellId/0x39f27c1400000000,s2CellId/0x39f27c7400000000,s2CellId/0x39f27dec00000000,s2CellId/0x39f27df400000000,s2CellId/0x39f2804c00000000,s2CellId/0x39f280bc00000000,s2CellId/0x39f2827400000000,s2CellId/0x39f2829c00000000,s2CellId/0x39f282a400000000,s2CellId/0x39f2836c00000000,s2CellId/0x39f2837400000000,s2CellId/0x39f283a400000000,s2CellId/0x39f283ac00000000,s2CellId/0x39f283b400000000,s2CellId/0x39f283f400000000,s2CellId/0x39f283fc00000000,s2CellId/0x39f286d400000000,s2CellId/0x39f286e400000000,s2CellId/0x39f29d0400000000,s2CellId/0x39f29d2400000000,s2CellId/0x39f29e9c00000000,s2CellId/0x39f29f2400000000,s2CellId/0x39f29f8c00000000,s2CellId/0x39f2a00400000000,s2CellId/0x39fa58ac00000000,s2CellId/0x39fa58b400000000,s2CellId/0x39fa5b5c00000000,s2CellId/0x39fa5b6400000000,s2CellId/0x39fa5b9c00000000,s2CellId/0x39fa5ebc00000000,s2CellId/0x39fa5ec400000000,s2CellId/0x39fa5f2400000000,s2CellId/0x39fa5f3c00000000,s2CellId/0x39fa5f4400000000,s2CellId/0x39fa5f4c00000000,s2CellId/0x39fa5f5400000000,s2CellId/0x39fa5f5c00000000,s2CellId/0x39fa8d5400000000,s2CellId/0x39fa8d5c00000000,s2CellId/0x39fa8d6400000000,s2CellId/0x39fa8d7c00000000,s2CellId/0x39fa8d8400000000,s2CellId/0x39fa922c00000000,s2CellId/0x39fa923400000000,s2CellId/0x39fa923c00000000,s2CellId/0x39fa924400000000,s2CellId/0x39fa924c00000000,s2CellId/0x39fa926c00000000,s2CellId/0x39fa927400000000,s2CellId/0x39fa927c00000000,s2CellId/0x39fa928400000000,s2CellId/0x39fa92a400000000,s2CellId/0x39fa93b400000000,s2CellId/0x39fa93c400000000,s2CellId/0x39fa93cc00000000,s2CellId/0x39fa93d400000000,s2CellId/0x39fa93dc00000000,s2CellId/0x39fa93ec00000000,s2CellId/0x39fa93fc00000000,s2CellId/0x39fa945c00000000,s2CellId/0x39fa946400000000,s2CellId/0x39fa946c00000000,s2CellId/0x39fa947400000000,s2CellId/0x39fa94e400000000,s2CellId/0x39fa94fc00000000,s2CellId/0x39fa950400000000,s2CellId/0x39fa951400000000,s2CellId/0x39fa951c00000000,s2CellId/0x39fa956400000000,s2CellId/0x39fa956c00000000,s2CellId/0x39fa957400000000,s2CellId/0x39fa957c00000000,s2CellId/0x39fa958400000000,s2CellId/0x39fa958c00000000,s2CellId/0x39fa962400000000,s2CellId/0x39fa97e400000000,s2CellId/0x39fa97fc00000000,s2CellId/0x39fa980400000000,s2CellId/0x39fa980c00000000,s2CellId/0x39fa987400000000,s2CellId/0x39fa987c00000000,s2CellId/0x39fa988400000000,s2CellId/0x39fa988c00000000,s2CellId/0x39fa989c00000000,s2CellId/0x39faa05c00000000,s2CellId/0x39faa06400000000,s2CellId/0x39faa06c00000000,s2CellId/0x39faa07c00000000,s2CellId/0x39faa08400000000,s2CellId/0x39faa09c00000000,s2CellId/0x39faa0cc00000000,s2CellId/0x39faa0d400000000,s2CellId/0x39faa10c00000000,s2CellId/0x39faa11c00000000,s2CellId/0x39faa12400000000,s2CellId/0x39faa13400000000,s2CellId/0x39faa13c00000000,s2CellId/0x39faa14400000000,s2CellId/0x39faa14c00000000,s2CellId/0x39faa18400000000,s2CellId/0x39faa19c00000000,s2CellId/0x39faa1dc00000000,s2CellId/0x39faa1e400000000,s2CellId/0x39faa27400000000,s2CellId/0x39faa27c00000000,s2CellId/0x39faa2ac00000000,s2CellId/0x39faa2f400000000,s2CellId/0x39faa65400000000,s2CellId/0x39faa6b400000000,s2CellId/0x39faa6bc00000000,s2CellId/0x39faa6c400000000,s2CellId/0x39faa70400000000,s2CellId/0x39faa71400000000,s2CellId/0x39faa71c00000000,s2CellId/0x39faa72400000000,s2CellId/0x39faa74c00000000,s2CellId/0x39faa75400000000,s2CellId/0x39faa75c00000000,s2CellId/0x39faa78c00000000,s2CellId/0x39faa79400000000,s2CellId/0x39faa7a400000000,s2CellId/0x39faa7ac00000000,s2CellId/0x39faa7bc00000000,s2CellId/0x39fab12400000000,s2CellId/0x39fabbc400000000,s2CellId/0x39fabbcc00000000,s2CellId/0x39fabc3c00000000,s2CellId/0x39fabc8c00000000,s2CellId/0x39fabde400000000,s2CellId/0x39fabe0400000000,s2CellId/0x39fabe1c00000000,s2CellId/0x39fabe2400000000,s2CellId/0x39fabe2c00000000,s2CellId/0x39fabe3400000000,s2CellId/0x39fabe3c00000000,s2CellId/0x39fabe4c00000000,s2CellId/0x39fabfcc00000000,s2CellId/0x39fabfd400000000,s2CellId/0x39fabfdc00000000,s2CellId/0x39faea5400000000,s2CellId/0x39faeabc00000000,s2CellId/0x39faeafc00000000,s2CellId/0x39faebac00000000,s2CellId/0x39faec5c00000000,s2CellId/0x39faec8c00000000,s2CellId/0x39faf12c00000000,s2CellId/0x39faf17400000000,s2CellId/0x39faf18400000000,s2CellId/0x39faf22c00000000,s2CellId/0x39faf23400000000,s2CellId/0x39faf24400000000,s2CellId/0x39faf24c00000000,s2CellId/0x39faf25400000000,s2CellId/0x39faf2dc00000000,s2CellId/0x39faf2e400000000,s2CellId/0x39faf2fc00000000,s2CellId/0x39faf5c400000000,s2CellId/0x39faf5cc00000000,s2CellId/0x39faf5d400000000,s2CellId/0x39faf5e400000000,s2CellId/0x39faf5ec00000000,s2CellId/0x39faf5f400000000,s2CellId/0x39faf5fc00000000,s2CellId/0x39faf69400000000,s2CellId/0x39faf69c00000000,s2CellId/0x39faf6c400000000,s2CellId/0x39faf72c00000000",946.3396849999998,"2022-10" -"floodEvent/2022-10_0x398dad0000000000","2022-10","s2CellId/0x398dad0c00000000,s2CellId/0x398dad1400000000",1.807302,"2022-10" -"floodEvent/2022-10_0x39fb030000000000","2022-10","s2CellId/0x39fb030400000000,s2CellId/0x39fb031400000000,s2CellId/0x39fb03a400000000,s2CellId/0x39fb074400000000",3.609328,"2022-10" -"floodEvent/2022-10_0x39f2cf0000000000","2022-10","s2CellId/0x39f2ce6400000000,s2CellId/0x39f2d01c00000000",1.8044069999999999,"2022-10" +"dcid","observationDate","affectedPlace","area" +"floodEvent/2022-10_0x39fb030000000000","2022-10","dcid:s2CellId/0x39fb030000000000,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb03a400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb074400000000",3.609 +"floodEvent/2022-10_0x39f2fb0000000000","2022-10","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000",0.902 +"floodEvent/2022-10_0x39f3cd0000000000","2022-10","dcid:s2CellId/0x39f3cdac00000000,dcid:s2CellId/0x39f3cd0000000000",0.904 +"floodEvent/2022-10_0x39925b0000000000","2022-10","dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f1dd6400000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f2145c00000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39faa65400000000,dcid:s2CellId/0x39faa6b400000000,dcid:s2CellId/0x39faa6bc00000000,dcid:s2CellId/0x39faa6c400000000,dcid:s2CellId/0x39faa70000000000,dcid:s2CellId/0x39faa70400000000,dcid:s2CellId/0x39faa71400000000,dcid:s2CellId/0x39faa71c00000000,dcid:s2CellId/0x39faa72400000000,dcid:s2CellId/0x39faa74c00000000,dcid:s2CellId/0x39faa75400000000,dcid:s2CellId/0x39faa75c00000000,dcid:s2CellId/0x39faa78c00000000,dcid:s2CellId/0x39faa79400000000,dcid:s2CellId/0x39faa7a400000000,dcid:s2CellId/0x39faa7ac00000000,dcid:s2CellId/0x39faa7bc00000000,dcid:s2CellId/0x39fab10000000000,dcid:s2CellId/0x39fab12400000000,dcid:s2CellId/0x39fabb0000000000,dcid:s2CellId/0x39fabbc400000000,dcid:s2CellId/0x39fabbcc00000000,dcid:s2CellId/0x39fabc3c00000000,dcid:s2CellId/0x39fabc8c00000000,dcid:s2CellId/0x39fabd0000000000,dcid:s2CellId/0x39fabde400000000,dcid:s2CellId/0x39fabe0400000000,dcid:s2CellId/0x39fabe1c00000000,dcid:s2CellId/0x39fabe2400000000,dcid:s2CellId/0x39fabe2c00000000,dcid:s2CellId/0x39fabe3400000000,dcid:s2CellId/0x39fabe3c00000000,dcid:s2CellId/0x39fabe4c00000000,dcid:s2CellId/0x39fabf0000000000,dcid:s2CellId/0x39fabfcc00000000,dcid:s2CellId/0x39fabfd400000000,dcid:s2CellId/0x39fabfdc00000000,dcid:s2CellId/0x39faea5400000000,dcid:s2CellId/0x39faeabc00000000,dcid:s2CellId/0x39faeafc00000000,dcid:s2CellId/0x39faeb0000000000,dcid:s2CellId/0x39faebac00000000,dcid:s2CellId/0x39faec5c00000000,dcid:s2CellId/0x39faec8c00000000,dcid:s2CellId/0x39faed0000000000,dcid:s2CellId/0x39faf10000000000,dcid:s2CellId/0x39faf12c00000000,dcid:s2CellId/0x39faf17400000000,dcid:s2CellId/0x39faf18400000000,dcid:s2CellId/0x39faf22c00000000,dcid:s2CellId/0x39faf23400000000,dcid:s2CellId/0x39faf24400000000,dcid:s2CellId/0x39faf24c00000000,dcid:s2CellId/0x39faf25400000000,dcid:s2CellId/0x39faf2dc00000000,dcid:s2CellId/0x39faf2e400000000,dcid:s2CellId/0x39faf2fc00000000,dcid:s2CellId/0x39faf30000000000,dcid:s2CellId/0x39faf50000000000,dcid:s2CellId/0x39faf5c400000000,dcid:s2CellId/0x39faf5cc00000000,dcid:s2CellId/0x39faf5d400000000,dcid:s2CellId/0x39faf5e400000000,dcid:s2CellId/0x39faf5ec00000000,dcid:s2CellId/0x39faf5f400000000,dcid:s2CellId/0x39faf5fc00000000,dcid:s2CellId/0x39faf69400000000,dcid:s2CellId/0x39faf69c00000000,dcid:s2CellId/0x39faf6c400000000,dcid:s2CellId/0x39faf70000000000,dcid:s2CellId/0x39faf72c00000000",910.355 +"floodEvent/2022-10_0x39ee6d0000000000","2022-10","dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee6d2c00000000",1.791 +"floodEvent/2022-10_0x398dad0000000000","2022-10","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad0c00000000,dcid:s2CellId/0x398dad1400000000",1.807 +"floodEvent/2022-10_0x39f2cf0000000000","2022-10","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",1.804 +"floodEvent/2022-10_0x39e5410000000000","2022-10","dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5413400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5495400000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e54f0000000000",4.482 +"floodEvent/2022-10_0x39f1a90000000000","2022-10","dcid:s2CellId/0x39f1070000000000,dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1a90000000000,dcid:s2CellId/0x39f1a95c00000000",1.806 diff --git a/scripts/earthengine/test_data/sample_floods_svobs.tmcf b/scripts/earthengine/test_data/sample_floods_svobs.tmcf index d49575dbff..8ec4fd7abe 100644 --- a/scripts/earthengine/test_data/sample_floods_svobs.tmcf +++ b/scripts/earthengine/test_data/sample_floods_svobs.tmcf @@ -3,5 +3,4 @@ typeOf: C:SVObs->dcid:StatVarObservation dcid: C:SVObs->dcid observationDate: C:SVObs->observationDate affectedPlace: C:SVObs->affectedPlace -area: C:SVObs->area -observationDate: C:SVObs->observationDate \ No newline at end of file +area: C:SVObs->area \ No newline at end of file diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 67fa3de8be..2c1673a780 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -14,24 +14,24 @@ """Utility functions""" import csv -import datacommons as dc import datetime +from datetime import date +from datetime import datetime import glob import os import pickle import re -import s2sphere import sys import tempfile +from typing import Union from absl import logging -from datetime import date -from datetime import datetime +import datacommons as dc from dateutil.relativedelta import relativedelta from geopy import distance -from s2sphere import LatLng, Cell, CellId +import s2sphere +from s2sphere import Cell, CellId, LatLng from shapely.geometry import Polygon -from typing import Union _SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) @@ -43,25 +43,26 @@ from config_map import ConfigMap, read_py_dict_from_file, write_py_dict_to_file from dc_api_wrapper import dc_api_wrapper +# Constants +_MAX_LATITUDE = 90.0 +_MAX_LONGITUDE = 180.0 +_DC_API_ROOT = 'http://autopush.api.datacommons.org' + # Utilities for dicts. def dict_filter_values(pvs: dict, config: dict = {}) -> bool: - '''Returns true if the property values are allowed by the config. + """Returns true if the property values are allowed by the config. + removes the properties not allowed by the config from the dict. Args: pvs: dictionary with property values to be filtered. - config: dictionary with a per property filter settings: - { - : { - 'min': ', - 'max': ', - 'regex': ', - }, - } + config: dictionary with a per property filter settings: { : { 'min': + ', 'max': ', 'regex': ', }, } + Returns: True if the key:values in pvs meet all config criteria. - ''' + """ props = list(pvs.keys()) is_allowed = True for p in props: @@ -79,9 +80,17 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: if value > prop_config['max']: allow_value = False if 'regex' in prop_config: + if not isinstance(value, str): + value = str(value) matches = re.search(prop_config['regex'], value) if not matches: allow_value = False + if 'ignore' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['ignore'], value) + if matches: + allow_value = False if not allow_value: pvs.pop(p) is_allowed = False @@ -92,22 +101,22 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: def is_s2_cell_id(dcid: str) -> bool: - '''Returns true if the dcid is an s2 cell id.''' + """Returns true if the dcid is an s2 cell id.""" return strip_namespace(dcid).startswith('s2CellId/') def s2_cell_from_latlng(lat: float, lng: float, level: int) -> CellId: - '''Returns an S2 CellId object of level for the given location lat/lng. + """Returns an S2 CellId object of level for the given location lat/lng. - Args: - lat: Latitude in degrees - lng: Longitude in degrees - level: desired S2 level for cell id. - Should be <30, the max s2 level supported. + Args: + lat: Latitude in degrees + lng: Longitude in degrees + level: desired S2 level for cell id. Should be <30, the max s2 level + supported. - Returns: - CellId object oof the desired level that contains the lat/lng point. - ''' + Returns: + CellId object oof the desired level that contains the lat/lng point. + """ assert level >= 0 and level <= 30 ll = s2sphere.LatLng.from_degrees(lat, lng) cell = s2sphere.CellId.from_lat_lng(ll) @@ -117,21 +126,21 @@ def s2_cell_from_latlng(lat: float, lng: float, level: int) -> CellId: def s2_cell_to_hex_str(s2cell_id: Union[int, CellId]) -> str: - '''Returns the s2 cell id in hex.''' + """Returns the s2 cell id in hex.""" if isinstance(s2cell_id, CellId): s2cell_id = s2cell_id.id() return f'{s2cell_id:#018x}' def s2_cell_to_dcid(s2cell_id: Union[int, CellId]) -> str: - '''Returns the dcid for the s2 cell of the form s2CellId/0x1234.''' + """Returns the dcid for the s2 cell of the form s2CellId/0x1234.""" if isinstance(s2cell_id, CellId): s2cell_id = s2cell_id.id() return 'dcid:s2CellId/' + s2_cell_to_hex_str(s2cell_id) def s2_cell_from_dcid(s2_dcid: Union[str, int, CellId]) -> CellId: - '''Returns the s2 CellId object for the s2 cell.''' + """Returns the s2 CellId object for the s2 cell.""" if isinstance(s2_dcid, str): return s2sphere.CellId(int(s2_dcid[s2_dcid.find('/') + 1:], 16)) if isinstance(s2_dcid, int): @@ -142,12 +151,12 @@ def s2_cell_from_dcid(s2_dcid: Union[str, int, CellId]) -> CellId: def s2_cell_latlng_dcid(lat: float, lng: float, level: int) -> str: - '''Returns dcid of the s2 cell of given level containing the point lat/lng.''' + """Returns dcid of the s2 cell of given level containing the point lat/lng.""" return s2_cell_to_dcid(s2_cell_from_latlng(lat, lng, level).id()) def s2_cells_distance(cell_id1: int, cell_id2: int) -> float: - '''Returns the distance between the centroid of two S2 cells in kilometers.''' + """Returns the distance between the centroid of two S2 cells in kilometers.""" p1 = CellId(cell_id1).to_lat_lng() p2 = CellId(cell_id2).to_lat_lng() return distance.distance((p1.lat().degrees, p1.lng().degrees), @@ -155,26 +164,27 @@ def s2_cells_distance(cell_id1: int, cell_id2: int) -> float: def s2_cell_area(cell_id: s2sphere.CellId) -> float: - '''Returns the area of the S2 cell in sqkm + """Returns the area of the S2 cell in sqkm - Converts the are of the S2 cell into sqkm using a fixed radius of 6371 km. + Converts the are of the S2 cell into sqkm using a fixed radius of 6371 km. - Args: - cell_id: S2 CellId + Args: + cell_id: S2 CellId - Returns: - Area of the cell in sq km. - ''' + Returns: + Area of the cell in sq km. + """ _EARTH_RADIUS = 6371 # Radius of Earth in Km. s2_cell = s2_cell_from_dcid(cell_id) return s2sphere.Cell(s2_cell).exact_area() * _EARTH_RADIUS * _EARTH_RADIUS def s2_cell_get_neighbor_ids(s2_cell_id: str) -> list: - '''Returns a list of neighbouring cell dcids for a given s2 cell dcid. - An interior cell will have 8 neighbours: 3 above, 1 left, 1 right and 3 below. - A cell near the edge may have a subset of these. - ''' + """Returns a list of neighbouring cell dcids for a given s2 cell dcid. + + An interior cell will have 8 neighbours: 3 above, 1 left, 1 right and 3 below. + A cell near the edge may have a subset of these. + """ s2_cell = s2_cell_from_dcid(s2_cell_id) return [ s2_cell_to_dcid(cell) @@ -183,7 +193,7 @@ def s2_cell_get_neighbor_ids(s2_cell_id: str) -> list: def s2_cell_to_polygon(s2_cell_id: str) -> Polygon: - '''Returns the polygon with 4 vertices for an s2 cell.''' + """Returns the polygon with 4 vertices for an s2 cell.""" s2_cell = Cell(s2_cell_from_dcid(s2_cell_id)) if not s2_cell: return None @@ -200,14 +210,17 @@ def s2_cell_to_polygon(s2_cell_id: str) -> Polygon: def latlng_cell_area(lat: float, lng: float, height: float, width: float) -> float: - '''Returns the area of the rectangular region in sqkm. - Args: - lat: latitude of a corner in degrees - lng: Longitude of a corner in degrees - width: width in degrees - height: height in degrees - Returns: - area in square kilometers.''' + """Returns the area of the rectangular region in sqkm. + + Args: + lat: latitude of a corner in degrees + lng: Longitude of a corner in degrees + width: width in degrees + height: height in degrees + + Returns: + area in square kilometers. + """ try: bottom_left = (lat, lng) top_left = (min(90, lat + height), lng) @@ -224,33 +237,41 @@ def latlng_cell_area(lat: float, lng: float, height: float, def is_grid_id(dcid: str) -> bool: - '''Returns true if the dcid is a grid id.''' + """Returns true if the dcid is a grid id.""" return strip_namespace(dcid).startswith('grid_') def is_ipcc_id(dcid: str) -> bool: - '''Returns true if the dcid is an ipcc grid id.''' + """Returns true if the dcid is an ipcc grid id.""" return strip_namespace(dcid).startswith('ipcc_') -def grid_id_from_lat_lng(degrees: float, - lat: float, - lng: float, - prefix: str = 'grid_', - suffix: str = '') -> str: - '''Returns the dcid for grid of given degrees for the lat/lng.''' +def grid_id_from_lat_lng( + degrees: float, + lat: float, + lng: float, + prefix: str = 'grid_', + suffix: str = '', + lat_offset: float = 0, + lng_offset: float = 0, +) -> str: + """Returns the dcid for grid of given degrees for the lat/lng.""" # Get lat/lng rounded to the grid degrees degree_str = str_from_number(degrees) if prefix == 'ipcc_': + # Get the dcid prefix with the grid degree, + # such as ipcc_50 for 0.5 deg grids. degree_str = str_from_number(int(degrees * 100)) - lat_str = str_from_number(lat, 2) - lng_str = str_from_number(lng, 2) + lat_rounded = int(lat / degrees) * degrees + lat_offset + lng_rounded = int(lng / degrees) * degrees + lng_offset + lat_str = str_from_number(number=lat_rounded, precision_digits=2) + lng_str = str_from_number(number=lng_rounded, precision_digits=2) return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' def grid_id_to_deg_lat_lng( grid_id: str, default_deg: float = 1) -> (float, float, float, str): - '''Returns a tuple of degree, latitude longitude, suffix for the grid id.''' + """Returns a tuple of degree, latitude longitude, suffix for the grid id.""" grid = strip_namespace(grid_id) deg, lat_lng = grid.split('/', 1) if deg is not None: @@ -265,57 +286,75 @@ def grid_id_to_deg_lat_lng( latlngs = lat_lng.split('_') lat = float(latlngs[0]) lng = float(latlngs[1]) + lat_offset = lat - int(lat / deg) * deg + lng_offset = lng - int(lng / deg) * deg suffix = '' if len(latlngs) > 2 and latlngs[2]: suffix = '_' + latlngs[2] - return (deg, lat, lng, suffix) + return (deg, lat, lng, lat_offset, lng_offset, suffix) def grid_get_neighbor_ids(grid_id: str) -> list: - '''Returns all the 8 neighbour ids of the grid.''' + """Returns all the 8 neighbour ids of the grid.""" grid_id = strip_namespace(grid_id) prefix = grid_id[:grid_id.find('_') + 1] - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid_id) + deg, lat, lng, lat_deg_offset, lng_deg_offset, suffix = ( + grid_id_to_deg_lat_lng(grid_id)) neighbours = [] for lat_offset in [-1, 0, 1]: for lng_offset in [-1, 0, 1]: if lat_offset != 0 or lng_offset != 0: neighbour_lat = lat + lat_offset * deg neighbour_lng = lng + lng_offset * deg - if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: + if abs(neighbour_lat) < _MAX_LATITUDE and abs( + neighbour_lng) < _MAX_LONGITUDE: neighbours.append( - grid_id_from_lat_lng(deg, neighbour_lat, neighbour_lng, - prefix, suffix)) + grid_id_from_lat_lng( + deg, + neighbour_lat, + neighbour_lng, + prefix, + suffix, + lat_deg_offset, + lng_deg_offset, + )) return neighbours def grid_ids_distance(grid1: str, grid2: str) -> float: - '''Returns the distance between grid points.''' - deg1, lat1, lng1, suffix1 = grid_id_to_deg_lat_lng(grid1) - deg2, lat2, lng2, suffix2 = grid_id_to_deg_lat_lng(grid2) + """Returns the distance between grid points.""" + deg1, lat1, lng1, lat1_offset, lng1_offset, suffix1 = grid_id_to_deg_lat_lng( + grid1) + deg2, lat2, lng2, lat2_offset, lng2_offset, suffix2 = grid_id_to_deg_lat_lng( + grid2) return distance.distance((lat1, lng1), (lat2, lng2)).km def grid_area(grid: str) -> float: - '''Returns the area for the grid.''' - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid) + """Returns the area for the grid.""" + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) return latlng_cell_area(lat, lng, deg, deg) def grid_to_polygon(grid: str) -> Polygon: - '''Returns the rectangular polygon for the grid. - Assumes the lat/lng from the dcid is the center.''' - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid) + """Returns the rectangular polygon for the grid. + + Assumes the lat/lng from the dcid is the center. + """ + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) bottom_left_lat = max(lat - deg / 2, -90) bottom_left_lng = max(lng - deg / 2, -180) - return Polygon.from_bounds(bottom_left_lng, bottom_left_lat, - min(bottom_left_lng + deg, 180), - min(bottom_left_lat + deg, 90)) + return Polygon.from_bounds( + bottom_left_lng, + bottom_left_lat, + min(bottom_left_lng + deg, 180), + min(bottom_left_lat + deg, 90), + ) def place_id_to_lat_lng(placeid: str, dc_api_lookup: bool = True) -> (float, float): - '''Returns the lat/lng degrees for the place.''' + """Returns the lat/lng degrees for the place.""" lat = None lng = None if is_s2_cell_id(placeid): @@ -323,7 +362,8 @@ def place_id_to_lat_lng(placeid: str, point = s2_cell.to_lat_lng() return (point.lat().degrees, point.lng().degrees) if is_grid_id(placeid) or is_ipcc_id(placeid): - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(placeid) + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng( + placeid) elif dc_api_lookup: # Get the lat/lng from the DC API latlng = [] @@ -337,7 +377,8 @@ def place_id_to_lat_lng(placeid: str, 'prop': prop, }, use_cache=True, - api_root='http://autopush.api.datacommons.org') + api_root=_DC_API_ROOT, + ) if not resp or placeid not in resp: return (0, 0) values = resp[placeid] @@ -350,14 +391,14 @@ def place_id_to_lat_lng(placeid: str, def place_distance(place1: str, place2: str) -> float: - '''Returns the distance between two places.''' + """Returns the distance between two places.""" lat1, lng1 = place_id_to_lat_lng(place1) lat2, lng2 = place_id_to_lat_lng(place2) return distance.distance((lat1, lng1), (lat2, lng2)).km def place_area(place: str) -> float: - '''Returns the area for the place in sqkm.''' + """Returns the area for the place in sqkm.""" if is_s2_cell_id(place): s2_cell = s2_cell_from_dcid(place) return s2_cell_area(s2_cell) @@ -368,7 +409,7 @@ def place_area(place: str) -> float: def place_to_polygon(place_id: str) -> Polygon: - '''Returns the polygon for the place.''' + """Returns the polygon for the place.""" if is_s2_cell_id(place_id): return s2_cell_to_polygon(place_id) if is_grid_id(place_id) or is_ipcc_id(place_id): @@ -380,18 +421,18 @@ def place_to_polygon(place_id: str) -> Polygon: def strip_namespace(dcid: str) -> str: - '''Returns the id without the namespace prefix.''' + """Returns the id without the namespace prefix.""" return dcid[dcid.find(':') + 1:] def add_namespace(dcid: str, prefix: str = 'dcid:') -> str: - '''Returns the dcid with the namespace set to prefix.''' + """Returns the dcid with the namespace set to prefix.""" return f'{prefix}{strip_namespace(dcid)}' def str_get_numeric_value( value: Union[str, list, int, float]) -> Union[int, float, None]: - '''Returns the numeric value from input string or None.''' + """Returns the numeric value from input string or None.""" if isinstance(value, list): value = value[0] if isinstance(value, int) or isinstance(value, float): @@ -422,9 +463,11 @@ def str_get_numeric_value( def str_from_number(number: Union[int, float], precision_digits: int = None) -> str: - '''Returns the number converted to string. - Ints and floats with 0 decimal parts get int strings. - Floats get precision digits.''' + """Returns the number converted to string. + + Ints and floats with 0 decimal parts get int strings. Floats get precision + digits. + """ # Check if number is an integer or float without any decimals. if int(number) == number: number_int = int(number) @@ -445,21 +488,23 @@ def str_format_float(data: float, precision_digits: int = 6): def date_today(date_format: str = '%Y-%m-%d') -> str: - '''Returns today's date in the given format.''' + """Returns today's date in the given format.""" return date.today().strftime(date_format) def date_yesterday(date_format: str = '%Y-%m-%d') -> str: - '''Returns today's date in the given format.''' + """Returns yesterday's date in the given format.""" return date_advance_by_period(date_today(date_format), '-1d', date_format) def date_parse_time_period(time_period: str) -> (int, str): - '''Parse time period into a tuple of (number, unit), - for eg: for 'P1M' returns (1, month). - Time period is assumed to be of the form: P - where duration is a letter: D: days, M; months, Y: years. - .''' + """Parse time period into a tuple of (number, unit), + + for eg: for 'P1M' returns (1, month). + Time period is assumed to be of the form: P + where duration is a letter: D: days, M; months, Y: years. + . + """ # Extract the number and duration letter from the time period. re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' m = re.search(re_pat, time_period.upper()) @@ -477,7 +522,7 @@ def date_parse_time_period(time_period: str) -> (int, str): def date_advance_by_period(date_str: str, time_period: str, date_format: str = '%Y-%m-%d') -> str: - '''Returns the date string advanced by the time period.''' + """Returns the date string advanced by the time period.""" if not date_str: return '' dt = datetime.strptime(date_str, date_format) @@ -491,10 +536,11 @@ def date_advance_by_period(date_str: str, def date_format_by_time_period(date_str: str, time_period: str) -> str: - '''Returns date in the format of the time_period: P - If the last letter in the time_period is Y, returns date in YYYY, - for 'M', returns date as YYYY-MM, for D returns date as YYYY-MM-DD. - ''' + """Returns date in the format of the time_period: P + + If the last letter in the time_period is Y, returns date in YYYY, + for 'M', returns date as YYYY-MM, for D returns date as YYYY-MM-DD. + """ if not time_period: return date_str (delta, unit) = date_parse_time_period(time_period) diff --git a/scripts/earthengine/utils_test.py b/scripts/earthengine/utils_test.py index 92c6b841b8..1847cf2d31 100644 --- a/scripts/earthengine/utils_test.py +++ b/scripts/earthengine/utils_test.py @@ -15,13 +15,13 @@ import math import os -import s2sphere -import shapely import sys import tempfile import unittest from absl import logging +import s2sphere +import shapely # Allows the following module imports to work when running as a script _SCRIPTS_DIR = os.path.dirname(os.path.dirname(__file__)) @@ -35,7 +35,6 @@ class DictUtilsTest(unittest.TestCase): - dict1 = { 'int_key1': 10, 'int_key2': 20, @@ -47,6 +46,9 @@ class DictUtilsTest(unittest.TestCase): 'string_key2': 'Value1', } + def setUp(self): + self.maxDiff = None + def test_dict_filter_values(self): filter_config = { 'int_key1': { @@ -65,6 +67,9 @@ def test_dict_filter_values(self): 'string_key2': { 'regex': r'^[^ ]*$' }, + 'param1': { + 'ignore': 'drop' + }, } filter_dict = dict(self.dict1) utils.dict_filter_values(filter_dict, filter_config) @@ -73,6 +78,17 @@ def test_dict_filter_values(self): expected_dict.pop('string_key1') self.assertEqual(expected_dict, filter_dict) + # Test ignore + self.assertFalse( + utils.dict_filter_values({'param1': ['value1', 'drop this']}, + filter_config)) + self.assertTrue( + utils.dict_filter_values( + { + 'param1': 'allowed', + 'param2': 'do not drop this' + }, filter_config)) + class S2CellUtilsTest(unittest.TestCase): @@ -83,29 +99,38 @@ def test_is_s2_cell_id(self): self.assertFalse(utils.is_s2_cell_id('0x0000010000000000')) def test_s2_cell_from_latlng(self): - self.assertEqual(s2sphere.CellId(0x11282f0000000000), - utils.s2_cell_from_latlng(10.1, 20.2, 10)) + self.assertEqual( + s2sphere.CellId(0x11282F0000000000), + utils.s2_cell_from_latlng(10.1, 20.2, 10), + ) def test_s2_cell_to_dcid(self): self.assertEqual( 'dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000))) - self.assertEqual('dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(0x0000050000000000)) + utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000)), + ) + self.assertEqual( + 'dcid:s2CellId/0x0000050000000000', + utils.s2_cell_to_dcid(0x0000050000000000), + ) def test_s2_cell_from_dcid(self): self.assertEqual( s2sphere.CellId(0x0000050000000000), - utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000')) - self.assertEqual(s2sphere.CellId(0x0000070000000000), - utils.s2_cell_from_dcid('s2CellId/0x0000070000000000')) + utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000'), + ) + self.assertEqual( + s2sphere.CellId(0x0000070000000000), + utils.s2_cell_from_dcid('s2CellId/0x0000070000000000'), + ) def test_s2_cell_distance(self): self.assertTrue( - math.isclose(7.84, - utils.s2_cells_distance(0x0000050000000000, - 0x0000070000000000), - rel_tol=1e-2)) + math.isclose( + 7.84, + utils.s2_cells_distance(0x0000050000000000, 0x0000070000000000), + rel_tol=1e-2, + )) def test_s2_cell_area(self): self.assertTrue( @@ -113,15 +138,17 @@ def test_s2_cell_area(self): utils.s2_cell_area(0x0000050000000000), rel_tol=1e-2)) self.assertTrue( - math.isclose(68.95, - utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, - 10)), - rel_tol=1e-2)) + math.isclose( + 68.95, + utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, 10)), + rel_tol=1e-2, + )) self.assertTrue( - math.isclose(81.37, - utils.s2_cell_area( - utils.s2_cell_from_latlng(80, 90, 10)), - rel_tol=1e-2)) + math.isclose( + 81.37, + utils.s2_cell_area(utils.s2_cell_from_latlng(80, 90, 10)), + rel_tol=1e-2, + )) def test_s2_cell_get_neighbor_ids(self): s2_cell = utils.s2_cell_from_latlng(10, 20, 10) @@ -134,7 +161,7 @@ def test_s2_cell_get_neighbor_ids(self): 'dcid:s2CellId/0x11281f0000000000', 'dcid:s2CellId/0x1128270000000000', 'dcid:s2CellId/0x1128190000000000', - 'dcid:s2CellId/0x1128250000000000' + 'dcid:s2CellId/0x1128250000000000', ] self.assertEqual(expected_neighbors, neighbors) for n in neighbors: @@ -143,11 +170,14 @@ def test_s2_cell_get_neighbor_ids(self): def test_latlng_cell_area(self): self.assertEqual(12309, int(utils.latlng_cell_area(0, 0, 1, 1))) - self.assertEqual(21, int(utils.latlng_cell_area(80, -80, .1, .1))) + self.assertEqual(21, int(utils.latlng_cell_area(80, -80, 0.1, 0.1))) class GridCellUtilsTest(unittest.TestCase): + def setUp(self): + self.maxDiff = None + def test_is_grid_id(self): self.assertFalse(utils.is_grid_id('')) self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) @@ -162,16 +192,21 @@ def test_grid_id_from_latlng(self): def test_grid_ids_distance(self): self.assertTrue( - math.isclose(1541.85, - utils.grid_ids_distance( - utils.grid_id_from_lat_lng(1, 10, 20), - utils.grid_id_from_lat_lng(1, 20, 30)), - rel_tol=1e-2)) + math.isclose( + 1541.85, + utils.grid_ids_distance( + utils.grid_id_from_lat_lng(1, 10, 20), + utils.grid_id_from_lat_lng(1, 20, 30), + ), + rel_tol=1e-2, + )) self.assertTrue( - math.isclose(143.84, - utils.grid_ids_distance('ipcc_50/34.25_-85.25_USA', - 'ipcc_50/35.25_-84.25_USA'), - rel_tol=1e-2)) + math.isclose( + 143.84, + utils.grid_ids_distance('ipcc_50/34.25_-85.25_USA', + 'ipcc_50/35.25_-84.25_USA'), + rel_tol=1e-2, + )) def test_grid_area(self): self.assertTrue( @@ -187,10 +222,14 @@ def test_grid_get_neighbor_ids(self): grid_id = 'dcid:ipcc_50/26.25_81.75_IND' neighbors = utils.grid_get_neighbor_ids(grid_id) expected_neighbors = [ - 'dcid:ipcc_50/25.75_81.25_IND', 'dcid:ipcc_50/25.75_81.75_IND', - 'dcid:ipcc_50/25.75_82.25_IND', 'dcid:ipcc_50/26.25_81.25_IND', - 'dcid:ipcc_50/26.25_82.25_IND', 'dcid:ipcc_50/26.75_81.25_IND', - 'dcid:ipcc_50/26.75_81.75_IND', 'dcid:ipcc_50/26.75_82.25_IND' + 'dcid:ipcc_50/25.75_81.25_IND', + 'dcid:ipcc_50/25.75_81.75_IND', + 'dcid:ipcc_50/25.75_82.25_IND', + 'dcid:ipcc_50/26.25_81.25_IND', + 'dcid:ipcc_50/26.25_82.25_IND', + 'dcid:ipcc_50/26.75_81.25_IND', + 'dcid:ipcc_50/26.75_81.75_IND', + 'dcid:ipcc_50/26.75_82.25_IND', ] self.assertEqual(expected_neighbors, neighbors) for n in neighbors: @@ -199,9 +238,14 @@ def test_grid_get_neighbor_ids(self): grid_id = 'dcid:grid_1/10_-65' neighbors = utils.grid_get_neighbor_ids(grid_id) expected_neighbors = [ - 'dcid:grid_1/9_-66', 'dcid:grid_1/9_-65', 'dcid:grid_1/9_-64', - 'dcid:grid_1/10_-66', 'dcid:grid_1/10_-64', 'dcid:grid_1/11_-66', - 'dcid:grid_1/11_-65', 'dcid:grid_1/11_-64' + 'dcid:grid_1/9_-66', + 'dcid:grid_1/9_-65', + 'dcid:grid_1/9_-64', + 'dcid:grid_1/10_-66', + 'dcid:grid_1/10_-64', + 'dcid:grid_1/11_-66', + 'dcid:grid_1/11_-65', + 'dcid:grid_1/11_-64', ] self.assertEqual(expected_neighbors, neighbors) for n in neighbors: @@ -211,32 +255,47 @@ def test_grid_get_neighbor_ids(self): def test_grid_to_polygon(self): self.assertEqual( { - 'coordinates': (((81.5, 26.0), (81.5, 26.5), (82.0, 26.5), - (82.0, 26.0), (81.5, 26.0)),), - 'type': 'Polygon' + 'coordinates': (( + (81.5, 26.0), + (81.5, 26.5), + (82.0, 26.5), + (82.0, 26.0), + (81.5, 26.0), + ),), + 'type': 'Polygon', }, shapely.geometry.mapping( - utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND'))) + utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND')), + ) # Polygon at edge doesn't go over max lat/lng. self.assertEqual( { - 'coordinates': (((179.5, 89.5), (179.5, 90.0), (180.0, 90.0), - (180.0, 89.5), (179.5, 89.5)),), - 'type': 'Polygon' + 'coordinates': (( + (179.5, 89.5), + (179.5, 90.0), + (180.0, 90.0), + (180.0, 89.5), + (179.5, 89.5), + ),), + 'type': 'Polygon', }, - shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180'))) + shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180')), + ) self.assertEqual( { - 'coordinates': (((20.04496617551588, 10.074733389893098), - (20.140259352250975, 10.068731256770613), - (20.140259352250975, 10.153784179458425), - (20.04496617551588, 10.159834880513182), - (20.04496617551588, 10.074733389893098)),), - 'type': 'Polygon' + 'coordinates': (( + (20.04496617551588, 10.074733389893098), + (20.140259352250975, 10.068731256770613), + (20.140259352250975, 10.153784179458425), + (20.04496617551588, 10.159834880513182), + (20.04496617551588, 10.074733389893098), + ),), + 'type': 'Polygon', }, shapely.geometry.mapping( - utils.place_to_polygon('s2CellId/0x1128250000000000'))) + utils.place_to_polygon('s2CellId/0x1128250000000000')), + ) class StrUtilsTest(unittest.TestCase): @@ -244,17 +303,25 @@ class StrUtilsTest(unittest.TestCase): def test_strip_namespace(self): self.assertEqual('country/IND', utils.strip_namespace('dcid:country/IND')) - self.assertEqual('ipcc_50/26.25_81.75_IND', - utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND')) - self.assertEqual('s2CellId/0x1128250000000000', - utils.strip_namespace('s2CellId/0x1128250000000000')) + self.assertEqual( + 'ipcc_50/26.25_81.75_IND', + utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 's2CellId/0x1128250000000000', + utils.strip_namespace('s2CellId/0x1128250000000000'), + ) def test_add_namespace(self): self.assertEqual('dcid:country/IND', utils.add_namespace('country/IND')) - self.assertEqual('dcid:ipcc_50/26.25_81.75_IND', - utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND')) - self.assertEqual('dcid:s2CellId/0x1128250000000000', - utils.add_namespace('s2CellId/0x1128250000000000')) + self.assertEqual( + 'dcid:ipcc_50/26.25_81.75_IND', + utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 'dcid:s2CellId/0x1128250000000000', + utils.add_namespace('s2CellId/0x1128250000000000'), + ) def test_str_get_numeric_vlaue(self): self.assertEqual(10.1, utils.str_get_numeric_value('10.1')) @@ -288,7 +355,8 @@ def test_date_parse_time_period(self): def test_date_advance_by_time_period(self): self.assertEqual( utils.date_today(), - utils.date_advance_by_period(utils.date_yesterday(), 'P1D')) + utils.date_advance_by_period(utils.date_yesterday(), 'P1D'), + ) self.assertEqual('2023-04-10', utils.date_advance_by_period('2023-04-20', 'P-10D')) self.assertEqual( diff --git a/scripts/floods/README.md b/scripts/floods/README.md new file mode 100644 index 0000000000..9046c33360 --- /dev/null +++ b/scripts/floods/README.md @@ -0,0 +1,31 @@ +# Flood events using Earth Engine + +This folder contains scripts to generate global flood events using raster data sets +from Earth Engine. The [Dynamic +World](https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1) +dataset from Earth Engine is used to find all places classified as water. +The places that are permanently covered in water such as lakes and rivers are +removed using the [land data +set](https://developers.google.com/earth-engine/datasets/catalog/UMD_hansen_global_forest_change_2021_v1_9). + +The locations with non-permanent water over a period of a month are considered as flooded regions. The flooded pixels are aggregated into S2 cells of level 10 (roughly 10kmx10km). A flood event is generated combining neighbouring flooded S2 cells over successive months. + +The scripts output flooded events starting from Jan of the current year along +with the area and count of floods per S2 cell. +These are aggregated to higher levels to generate flood counts and area for a country. + + +To generate new flooded events, run the script: +``` +python generate_floods_events.py +``` + +This uses the events pipeline script +[earthengine/events_pipeline.py](https://github.com/datacommonsorg/data/blob/master/scripts/earthengine/events_pipeline.py) +along with the config +[flood_events_pipeline_config.py](https://github.com/datacommonsorg/data/blob/master/scripts/floods/flood_events_pipeline_config.py) for event generation and aggregation to generate the following outputs: + - flood_events.{csv,tmcf}: Data for flood events + - flood_event_svobs.{csv,tmcf}: Area and count of floods by flood event + - flood_place_svobs.{csv,tmcf}: Area and count of flood events by places + + diff --git a/scripts/floods/flood_event_svobs.tmcf b/scripts/floods/flood_event_svobs.tmcf new file mode 100644 index 0000000000..8ec4fd7abe --- /dev/null +++ b/scripts/floods/flood_event_svobs.tmcf @@ -0,0 +1,6 @@ +Node: E:SVObs->E0 +typeOf: C:SVObs->dcid:StatVarObservation +dcid: C:SVObs->dcid +observationDate: C:SVObs->observationDate +affectedPlace: C:SVObs->affectedPlace +area: C:SVObs->area \ No newline at end of file diff --git a/scripts/floods/flood_events.tmcf b/scripts/floods/flood_events.tmcf new file mode 100644 index 0000000000..50e8f981c4 --- /dev/null +++ b/scripts/floods/flood_events.tmcf @@ -0,0 +1,12 @@ +Node: E:Events->E0 +dcid: C:Events->dcid +typeOf: C:Events->typeOf +name: C:Events->name +startDate: C:Events->startDate +endDate: C:Events->endDate +observationPeriod: C:Events->observationPeriod +startLocation: C:Events->startLocation +affectedPlace: C:Events->affectedPlace +area: C:Events->area +observationDate: C:Events->observationDate +geoJsonCoordinates: C:Events->geoJsonCoordinates diff --git a/scripts/floods/flood_events_pipeline_config.py b/scripts/floods/flood_events_pipeline_config.py new file mode 100644 index 0000000000..81e54b18dc --- /dev/null +++ b/scripts/floods/flood_events_pipeline_config.py @@ -0,0 +1,157 @@ +# Config to generate FloodEvent through the script: events_pipeline.py +{ + 'defaults': { + 'import_name': 'DynamicWorldFloods', + # Set start_date to start of year to be processed. + # Defaults to Jan 1 of current year if left empty. + 'start_date': '', + 'time_period': 'P1M', + + # GCS settings + 'gcs_project': 'datcom', + 'gcs_bucket': 'datcom-prod-imports', + 'gcs_folder': 'scripts/floods', + }, + # State of previous run of the pipeline with input/output for each stage. + 'pipeline_state_file': + 'gs://datcom-prod-imports/scripts/floods/flood_event_pipeline_state_{year}.py', + + # Pipeline stages to generate flood events. + 'stages': [ + # Generate geoTiff from EarthEngine Dynamic World data set. + { + 'stage': 'earthengine', + + # Image loading settings. + 'ee_dataset': 'dynamic_world', + # Image processing settings. + 'ee_reducer': 'max', + 'band': 'water', + + # Filter by band value and remove permanent water + 'band_min': 0.7, + 'ee_mask': 'land', + + # Output image settings + 'scale': 1000, + 'gcs_folder': 'scripts/floods/{stage}', + 'ee_export_image': True, + # Generate monthly images for a year at a time. + # Events are processed annually from Jan-Dec. + 'ee_image_count': 12, + 'skip_existing_output': True, + }, + + # Convert geoTiff to CSV with S2 cells. + { + 'stage': + 'raster_csv', + 's2_level': + 13, + 'aggregate': + None, + 'input_data_filter': { + 'area': { + # pick max area for s2 cell. + # each fire in input is a fixed region. + 'aggregate': 'max' + }, + }, + + # use output from download stage as input + 'input_files': + 'gs://{gcs_bucket}/{gcs_folder}/earthengine/*{year}*.tif', + 'output_dir': + 'gs://{gcs_bucket}/{gcs_folder}/{stage}', + 'skip_existing_output': + True, + }, + + # Generate events from the CSV with flooded S2 cells per month. + { + 'stage': + 'events', + + # Process all data files for the whole year. + 'input_files': + 'gs://{gcs_bucket}/{gcs_folder}/raster_csv/*{year}*raster_csv.csv', + 'output_dir': + 'gs://{gcs_bucket}/{gcs_folder}/{stage}/{import_name}-{stage}-{year}-', + 'event_type': + 'FloodEvent', + + # Input settings. + # Columms of input_csv that are added as event properties + 'data_columns': ['area'], + 'input_rename_columns': { + 'date': 'observationDate', + }, + # Input column for date. + 'date_column': + 'observationDate', + # Columns of input_csv that contains the s2 cell id. + 'place_column': + 's2CellId', + + # Processing settings + # Maximum distance within which 2 events are merged. + 'max_overlap_distance_km': + 0, + # Maximum number of cells of same level in between 2 events to be merged. + 'max_overlap_place_hop': + 2, + # S2 level to which data is aggregated. + 's2_level': + 10, # Events are at resolution of level-10 S2 cells. + 'aggregate': + 'sum', # default aggregation for all properties + # Per property settings + 'property_config': { + 'area': { + 'aggregate': 'sum', + 'unit': 'SquareKilometer', + }, + 'affectedPlace': { + 'aggregate': 'list', + }, + }, + # Treat events at the same location more than 45 days apart as separate events. + 'max_event_interval_days': + 45, + + # Enable DC API lookup for place properties + 'dc_api_enabled': + False, + 'dc_api_batch_size': + 200, + # Cache file for place properties like name, location, typeOf + # Cache is updated with new places looked up. + 'place_property_cache_file': + 'gs://datcom-prod-imports/place_cache/place_properties_cache_with_s2_10.pkl', + + # Output settings. + #'output_delimiter': ';', + 'output_delimiter': + ',', + 'output_svobs': + True, + 'output_affected_place_polygon': + 'geoJsonCoordinates', + 'polygon_simplification_factor': + None, + 'output_geojon_string': + False, + + # Output svobs per place + 'output_place_svobs': + True, + 'output_place_svobs_properties': ['area', 'count'], + 'output_place_svobs_dates': ['YYYY-MM-DD', 'YYYY-MM', 'YYYY'], + # Generate stats for all containedInPlaces for the event. + # Uses the containedInPlace property in the + # place_property_cache_file. + 'aggregate_by_contained_in_place': + True, + }, + ], +} diff --git a/scripts/floods/flood_place_svobs.tmcf b/scripts/floods/flood_place_svobs.tmcf new file mode 100644 index 0000000000..9f9e301e70 --- /dev/null +++ b/scripts/floods/flood_place_svobs.tmcf @@ -0,0 +1,16 @@ +Node: E:EventPlaces->E0 +typeOf: dcs:StatVarObservation +variableMeasured: dcs:Area_FloodEvent +observationAbout: C:EventPlaces->observationAbout +observationDate: C:EventPlaces->observationDate +observationPeriod: C:EventPlaces->observationPeriod +value: C:EventPlaces->area +unit: SquareKilometer + +Node: E:EventPlaces->E1 +typeOf: dcs:StatVarObservation +variableMeasured: dcs:Count_FloodEvent +observationAbout: C:EventPlaces->observationAbout +observationDate: C:EventPlaces->observationDate +observationPeriod: C:EventPlaces->observationPeriod +value: C:EventPlaces->count \ No newline at end of file diff --git a/scripts/floods/generate_floods_events.py b/scripts/floods/generate_floods_events.py new file mode 100644 index 0000000000..42a4ed48b6 --- /dev/null +++ b/scripts/floods/generate_floods_events.py @@ -0,0 +1,87 @@ +# Copyright 2023 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the 'License'); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Script to generate Flood events using the events pipeline. + +The events pipeline is setup with the following stages: + 1. earthengine: + It uses the DynamicWorld data set from EarthEngine to get regions + with water. These are filtered with a land mask to remove permanent + water bodies like lakes. The regions with non-permanent water is + downloaded as a geoTif with 1 sqkm pixels. + + 2. raster_csv + The geoTif is converted into a CSV with each pixel wiht water converted + into an S2 cell of level 13 using the raster_to_csv.py utilities. + + 3. events + The resulting CSV with s2 cells with water is aggregated into events using + the process_events.py. Neighbouring s2 cells with water are collated into + a single event. s2 cells with water in successive time periods are also + added into the same event. + + Once the regions with water are collated into events, the process_events.py + utilities also generate a CSV with StatVar Observations for Area_FloodEvent and + Count_FloodEvent for each events s2 cells at level 10, and places it is + contained in, such as AdministrativeArea, Country, Continent and Earth. + + The generated files including the geoTif, CSVs with S2 cells and events are saved + in GCS. + + The script runs once a month to update flood events for the current year. +""" + +import os +import re +import sys +import time + +from absl import app +from absl import flags +from absl import logging + +_SCRIPTS_DIR = os.path.dirname(__file__) +sys.path.append(_SCRIPTS_DIR) +sys.path.append(os.path.dirname(_SCRIPTS_DIR)) +sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) +sys.path.append(os.path.join(os.path.dirname(_SCRIPTS_DIR), 'earthengine')) +sys.path.append( + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) + +flags.DEFINE_string( + 'flood_pipeline_config', + os.path.join(_SCRIPTS_DIR, 'flood_events_pipeline_config.py'), + 'Config for the pipeline as a py dictionary of json') + +flags.DEFINE_list( + 'flood_pipeline_stages', [], + 'List of stages in the flood events pipeline config to be run.') + +_FLAGS = flags.FLAGS + +import file_util + +from config_map import ConfigMap +from events_pipeline import EventPipeline + + +def main(_): + config = ConfigMap(filename=_FLAGS.flood_pipeline_config) + if _FLAGS.start_date: + config.get('defaults', {})['start_date'] = _FLAGS.start_date + pipeline = EventPipeline(config=config) + pipeline.run(run_stages=_FLAGS.flood_pipeline_stages) + + +if __name__ == '__main__': + app.run(main) diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json new file mode 100644 index 0000000000..292190d046 --- /dev/null +++ b/scripts/floods/manifest.json @@ -0,0 +1,18 @@ +{ + "import_specifications": [{ + "import_name": + "DynamicWorld_FloodEvents", + "curator_emails": ["ajaits@google.com"], + "provenance_url": + "https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1", + "provenance_description": + "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", + "scripts": ["generate_flood_events.py"], + "import_inputs": [{ + "template_mcf": "", + "cleaned_csv": "" + }], + "cron_schedule": + "0 5 * * *" + }] +} diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt new file mode 100644 index 0000000000..548a8288df --- /dev/null +++ b/scripts/floods/requirements.txt @@ -0,0 +1,17 @@ +# Requirements for Python code in this directory. +dataclasses +datacommons +earthengine-api +geojson +geopandas +googleapi +google-cloud-logging +lxml +openpyxl +rdp +requests +retry +s2sphere +shapely +urllib3 +xlrd From a4a9c3c8f67f958b4ee76e199e94868433d56080 Mon Sep 17 00:00:00 2001 From: Ajai Date: Wed, 21 Feb 2024 19:23:30 +0000 Subject: [PATCH 05/11] Fix autorefresh manifest for floods script (#986) * autorefresh script for flood events * udpate pipeline config * update floods configs * fix unit tests * add readme * add requirements.txt for ee scripts * fix review comments * address review comments * fix floods manifest * resolve sync conflict --- scripts/floods/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json index 292190d046..5113b94741 100644 --- a/scripts/floods/manifest.json +++ b/scripts/floods/manifest.json @@ -1,13 +1,13 @@ { "import_specifications": [{ "import_name": - "DynamicWorld_FloodEvents", + "DynamicWorld_FloodEvents_AutoRefresh", "curator_emails": ["ajaits@google.com"], "provenance_url": "https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1", "provenance_description": "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", - "scripts": ["generate_flood_events.py"], + "scripts": ["generate_floods_events.py"], "import_inputs": [{ "template_mcf": "", "cleaned_csv": "" From 7021b6c416fceaf7540ecfb715b0931e13a681a8 Mon Sep 17 00:00:00 2001 From: Jehangir Amjad <1021616+jehangiramjad@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:04:57 +0500 Subject: [PATCH 06/11] re-instate the API rate limited (#988) --- scripts/us_usda/quickstats/process.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/us_usda/quickstats/process.py b/scripts/us_usda/quickstats/process.py index e8312452ca..72f1902503 100644 --- a/scripts/us_usda/quickstats/process.py +++ b/scripts/us_usda/quickstats/process.py @@ -35,7 +35,7 @@ from absl import app from absl import flags from google.cloud import storage -from ratelimit import limits +from ratelimit import limits, sleep_and_retry import requests API_BASE = 'https://quickstats.nass.usda.gov/api' @@ -203,8 +203,8 @@ def get_survey_county_data(year, county, out_dir, usda_api_key): return response -# TODO: determine if the rate limiter needs to be re-enabled. -# @limits(calls=10, period=60) +@sleep_and_retry +@limits(calls=10, period=60) def get_data(params): return requests.get(f'{API_BASE}/api_GET', params=params).json() From 8d57cb898cd660ce5f3aafbaa7b042599e29cf33 Mon Sep 17 00:00:00 2001 From: Ajai Date: Thu, 22 Feb 2024 16:28:18 +0000 Subject: [PATCH 07/11] add modules to local requirements.txt (#989) * add modules to local requirements.txt * add bigquery --- scripts/earthengine/earthengine_image.py | 1 + scripts/earthengine/requirements.txt | 4 ++++ scripts/floods/requirements.txt | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/scripts/earthengine/earthengine_image.py b/scripts/earthengine/earthengine_image.py index a0d7a1185c..6cbfa263c6 100644 --- a/scripts/earthengine/earthengine_image.py +++ b/scripts/earthengine/earthengine_image.py @@ -605,6 +605,7 @@ def ee_process(config) -> list: if config['ee_wait_task'] is True, else a list of tasks launched. ''' ee_tasks = [] + ee.Authenticate() ee.Initialize() config['ee_image_count'] = config.get('ee_image_count', 1) time_period = config.get('time_period', 'P1M') diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt index 548a8288df..eeb30941f7 100644 --- a/scripts/earthengine/requirements.txt +++ b/scripts/earthengine/requirements.txt @@ -1,15 +1,19 @@ # Requirements for Python code in this directory. +bigquery dataclasses datacommons earthengine-api geojson geopandas +geopy googleapi google-cloud-logging lxml openpyxl +rasterio rdp requests +requests_cache retry s2sphere shapely diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt index 548a8288df..eeb30941f7 100644 --- a/scripts/floods/requirements.txt +++ b/scripts/floods/requirements.txt @@ -1,15 +1,19 @@ # Requirements for Python code in this directory. +bigquery dataclasses datacommons earthengine-api geojson geopandas +geopy googleapi google-cloud-logging lxml openpyxl +rasterio rdp requests +requests_cache retry s2sphere shapely From 4a354f0de4b052e19c6689c1fa366248f7b93a60 Mon Sep 17 00:00:00 2001 From: Ajai Date: Thu, 22 Feb 2024 18:07:29 +0000 Subject: [PATCH 08/11] Add project for ee auth (#990) * add modules to local requirements.txt * add bigquery * prune requirements --- scripts/earthengine/earthengine_image.py | 6 +++++- scripts/earthengine/requirements.txt | 4 ---- scripts/floods/requirements.txt | 4 ---- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/scripts/earthengine/earthengine_image.py b/scripts/earthengine/earthengine_image.py index 6cbfa263c6..3b5d60859b 100644 --- a/scripts/earthengine/earthengine_image.py +++ b/scripts/earthengine/earthengine_image.py @@ -69,6 +69,8 @@ from counters import Counters +flags.DEFINE_string('ee_gcloud_project', 'datcom-import-automation-prod', + 'Gcloud project with Earth Engine API enabled.') flags.DEFINE_string('ee_dataset', '', 'Load earth engine data set define in config datasets.') flags.DEFINE_string('gcs_output', '', 'Prefix for output file names on GCS.') @@ -169,6 +171,8 @@ } EE_DEFAULT_CONFIG = { + # GCloud project + 'ee_gcloud_project': _FLAGS.ee_gcloud_project, # Image loading settings. 'datasets': _DEFAULT_DATASETS, # Predefined assets 'ee_dataset': _FLAGS.ee_dataset, # Reference to an asset in 'datasets' @@ -606,7 +610,7 @@ def ee_process(config) -> list: ''' ee_tasks = [] ee.Authenticate() - ee.Initialize() + ee.Initialize(project=config.get('ee_gcloud_project')) config['ee_image_count'] = config.get('ee_image_count', 1) time_period = config.get('time_period', 'P1M') cur_date = utils.date_format_by_time_period(utils.date_today(), time_period) diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt index eeb30941f7..23f7d8b613 100644 --- a/scripts/earthengine/requirements.txt +++ b/scripts/earthengine/requirements.txt @@ -4,18 +4,14 @@ dataclasses datacommons earthengine-api geojson -geopandas geopy -googleapi google-cloud-logging lxml openpyxl rasterio -rdp requests requests_cache retry s2sphere shapely urllib3 -xlrd diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt index eeb30941f7..23f7d8b613 100644 --- a/scripts/floods/requirements.txt +++ b/scripts/floods/requirements.txt @@ -4,18 +4,14 @@ dataclasses datacommons earthengine-api geojson -geopandas geopy -googleapi google-cloud-logging lxml openpyxl rasterio -rdp requests requests_cache retry s2sphere shapely urllib3 -xlrd From 7819bbd57d5c73b41434c81050205836180ad724 Mon Sep 17 00:00:00 2001 From: Ajai Date: Fri, 23 Feb 2024 12:14:54 +0000 Subject: [PATCH 09/11] Add autorefresh manifest for nasa fires frims import (#991) * add modules to local requirements.txt * add bigquery * prune requirements * Add manifest for fires import * update events script to support invocation from automation from a different folder * fix path * fix lint --- .../executor/app/executor/import_executor.py | 6 +- .../executor/app/executor/validation.py | 4 +- scripts/earthengine/earthengine_image.py | 38 +++- scripts/earthengine/events_pipeline.py | 2 +- .../earthengine/pipeline_stage_bigquery.py | 2 +- .../earthengine/pipeline_stage_download.py | 2 +- .../earthengine/pipeline_stage_earthengine.py | 2 +- scripts/earthengine/pipeline_stage_events.py | 2 +- .../earthengine/pipeline_stage_raster_csv.py | 2 +- scripts/earthengine/pipeline_stage_runner.py | 2 +- scripts/earthengine/process_events.py | 2 +- scripts/earthengine/raster_to_csv.py | 2 +- scripts/earthengine/utils.py | 2 +- scripts/fires/firms/README.md | 34 +++ scripts/fires/firms/fire_event_svobs.tmcf | 7 + scripts/fires/firms/fire_events.tmcf | 12 ++ .../firms/fire_events_pipeline_config.py | 193 ++++++++++++++++++ scripts/fires/firms/manifest.json | 18 ++ scripts/fires/firms/requirements.txt | 17 ++ 19 files changed, 331 insertions(+), 18 deletions(-) create mode 100644 scripts/fires/firms/README.md create mode 100644 scripts/fires/firms/fire_event_svobs.tmcf create mode 100644 scripts/fires/firms/fire_events.tmcf create mode 100644 scripts/fires/firms/fire_events_pipeline_config.py create mode 100644 scripts/fires/firms/manifest.json create mode 100644 scripts/fires/firms/requirements.txt diff --git a/import-automation/executor/app/executor/import_executor.py b/import-automation/executor/app/executor/import_executor.py index e9323bd983..952d4b471b 100644 --- a/import-automation/executor/app/executor/import_executor.py +++ b/import-automation/executor/app/executor/import_executor.py @@ -664,12 +664,12 @@ def _run_with_timeout_async(args: List[str], ) # Log output continuously until the command completes. - for line in process.stdout: - stdout.append(line) - logging.info(f'Process stdout: {line}') for line in process.stderr: stderr.append(line) logging.info(f'Process stderr: {line}') + for line in process.stdout: + stdout.append(line) + logging.info(f'Process stdout: {line}') end_time = time.time() diff --git a/import-automation/executor/app/executor/validation.py b/import-automation/executor/app/executor/validation.py index a16f0f8dcf..2b5ce54e72 100644 --- a/import-automation/executor/app/executor/validation.py +++ b/import-automation/executor/app/executor/validation.py @@ -196,8 +196,10 @@ def _is_import_spec_valid(import_spec, repo_dir, import_dir): f'import specification ({import_spec})') absolute_script_paths = [ - os.path.join(repo_dir, import_dir, path) + os.path.join(repo_dir, import_dir, + path.split(' ')[0]) for path in import_spec.get('scripts', []) + if path ] missing_paths = _filter_missing_paths(absolute_script_paths) if missing_paths: diff --git a/scripts/earthengine/earthengine_image.py b/scripts/earthengine/earthengine_image.py index 3b5d60859b..05782a1f85 100644 --- a/scripts/earthengine/earthengine_image.py +++ b/scripts/earthengine/earthengine_image.py @@ -48,6 +48,12 @@ import sys import time +# Workaround for collection.Callable needed for ee.Initialize() +import collections +import collections.abc + +collections.Callable = collections.abc.Callable + from absl import app from absl import flags from absl import logging @@ -55,8 +61,9 @@ from datetime import datetime from datetime import timedelta from dateutil.relativedelta import relativedelta +from google.auth import compute_engine -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) @@ -69,6 +76,9 @@ from counters import Counters +flags.DEFINE_bool( + 'ee_remote', False, + 'Set to True to use service account auth when running remotely') flags.DEFINE_string('ee_gcloud_project', 'datcom-import-automation-prod', 'Gcloud project with Earth Engine API enabled.') flags.DEFINE_string('ee_dataset', '', @@ -171,6 +181,8 @@ } EE_DEFAULT_CONFIG = { + # Auth mode + 'ee_remote': _FLAGS.ee_remote, # GCloud project 'ee_gcloud_project': _FLAGS.ee_gcloud_project, # Image loading settings. @@ -596,7 +608,26 @@ def export_ee_image_to_gcs(ee_image: ee.Image, config: dict = {}) -> str: return task -def ee_process(config) -> list: +def ee_init(config: dict): + '''Initialize Earth Engine APIs. + Args: + config: dict with the following parameters + ee_remote: bool if True uses EE service account auth. + ee_gcloud_project: Project to use with EE API. + ''' + ee.Authenticate() + # By default use local credentials + credentials = 'persistent' + if config.get('ee_remote'): + # Use the service account scope + scopes = ["https://www.googleapis.com/auth/earthengine"] + credentials = compute_engine.Credentials(scopes=scopes) + + ee.Initialize(credentials=credentials, + project=config.get('ee_gcloud_project')) + + +def ee_process(config: dict) -> list: '''Generate earth engine images and export to GCS. Called should wait for the task to complete. Args: @@ -609,8 +640,7 @@ def ee_process(config) -> list: if config['ee_wait_task'] is True, else a list of tasks launched. ''' ee_tasks = [] - ee.Authenticate() - ee.Initialize(project=config.get('ee_gcloud_project')) + ee_init(config) config['ee_image_count'] = config.get('ee_image_count', 1) time_period = config.get('time_period', 'P1M') cur_date = utils.date_format_by_time_period(utils.date_today(), time_period) diff --git a/scripts/earthengine/events_pipeline.py b/scripts/earthengine/events_pipeline.py index f654f87329..f071d3bab1 100644 --- a/scripts/earthengine/events_pipeline.py +++ b/scripts/earthengine/events_pipeline.py @@ -101,7 +101,7 @@ _FLAGS = flags.FLAGS -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_bigquery.py b/scripts/earthengine/pipeline_stage_bigquery.py index afdf1c25ec..b97fdb72ad 100644 --- a/scripts/earthengine/pipeline_stage_bigquery.py +++ b/scripts/earthengine/pipeline_stage_bigquery.py @@ -20,7 +20,7 @@ from absl import logging from google.cloud import bigquery -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_download.py b/scripts/earthengine/pipeline_stage_download.py index 59c48fc468..7d11191a96 100644 --- a/scripts/earthengine/pipeline_stage_download.py +++ b/scripts/earthengine/pipeline_stage_download.py @@ -20,7 +20,7 @@ from absl import logging -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_earthengine.py b/scripts/earthengine/pipeline_stage_earthengine.py index 9844bbc436..7f1bcfa09c 100644 --- a/scripts/earthengine/pipeline_stage_earthengine.py +++ b/scripts/earthengine/pipeline_stage_earthengine.py @@ -19,7 +19,7 @@ from absl import logging -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_events.py b/scripts/earthengine/pipeline_stage_events.py index 4b28162726..5d19712f2f 100644 --- a/scripts/earthengine/pipeline_stage_events.py +++ b/scripts/earthengine/pipeline_stage_events.py @@ -19,7 +19,7 @@ from absl import logging -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_raster_csv.py b/scripts/earthengine/pipeline_stage_raster_csv.py index 76dc1b89ca..804ee03d2f 100644 --- a/scripts/earthengine/pipeline_stage_raster_csv.py +++ b/scripts/earthengine/pipeline_stage_raster_csv.py @@ -21,7 +21,7 @@ from absl import logging -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/pipeline_stage_runner.py b/scripts/earthengine/pipeline_stage_runner.py index 43a8b0ef28..d27d33eac7 100644 --- a/scripts/earthengine/pipeline_stage_runner.py +++ b/scripts/earthengine/pipeline_stage_runner.py @@ -23,7 +23,7 @@ from absl import logging -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index 16810def14..0991f82995 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -58,7 +58,7 @@ _FLAGS = flags.FLAGS -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/raster_to_csv.py b/scripts/earthengine/raster_to_csv.py index 26b2acef5e..631918295e 100644 --- a/scripts/earthengine/raster_to_csv.py +++ b/scripts/earthengine/raster_to_csv.py @@ -66,7 +66,7 @@ import rasterio import s2sphere -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 2c1673a780..2f014c7dd2 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -33,7 +33,7 @@ from s2sphere import Cell, CellId, LatLng from shapely.geometry import Polygon -_SCRIPTS_DIR = os.path.dirname(__file__) +_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) diff --git a/scripts/fires/firms/README.md b/scripts/fires/firms/README.md new file mode 100644 index 0000000000..6eb05eaac0 --- /dev/null +++ b/scripts/fires/firms/README.md @@ -0,0 +1,34 @@ +# Global fire events using NASA FIRMS dataset +This folder contains configs to generate global fire events using the fire data +from [NASA Fire Information for Resource Management System +(FIRMS)](https://firms.modaps.eosdis.nasa.gov/). + +The active and historical fires can be viewed on the [FIRMS Fire +Map](https://firms.modaps.eosdis.nasa.gov/). + +The [NASA API](https://firms.modaps.eosdis.nasa.gov/api/area/) provides the +fires data as a CSV with the location and area of each fire. This is used to +generate fire events by merging regions with fire that are next to each other +within time window. + +The [events +pipeline](https://github.com/datacommonsorg/data/blob/master/scripts/earthengine/events_pipeline.py) +script is used with the `fire_events_pipeline_config.py` that downloads the +latest data form source incrementally and generates fire events for the current +year. + +To run the script, get an API key from +[NASA](https://firms.modaps.eosdis.nasa.gov/api/area/), add it to the config +`fire_events_pipeline_config.py`, update the GCS project and buckets in the +config or set the `output_file` to a local foldea. +Then run the pipeline with the command: +``` +pip install -r requirements.txt +python3 ../../earthengine/events_pipeline.config --pipeline_config=fire_events_pipeline_config.py +``` + +This generates the following output files: + - events.{csv,tmcf}: Data for each fire event + - events-svobs.{csv,tmcf}: StatVarObservations for area of each fire event + - place-svobs.{csv,tmcf}: StatVarObservations for area and count of fires + across places diff --git a/scripts/fires/firms/fire_event_svobs.tmcf b/scripts/fires/firms/fire_event_svobs.tmcf new file mode 100644 index 0000000000..2bb2ae164f --- /dev/null +++ b/scripts/fires/firms/fire_event_svobs.tmcf @@ -0,0 +1,7 @@ +Node: E:Events->E0 +typeOf: dcs:StatVarObservation +observationAbout: C:Events->dcid +observationDate: C:Events->observationDate +variableMeasured: dcs:Area_FireEvent +value: C:Events->area +unit: dcs:SquareKilometer diff --git a/scripts/fires/firms/fire_events.tmcf b/scripts/fires/firms/fire_events.tmcf new file mode 100644 index 0000000000..50e8f981c4 --- /dev/null +++ b/scripts/fires/firms/fire_events.tmcf @@ -0,0 +1,12 @@ +Node: E:Events->E0 +dcid: C:Events->dcid +typeOf: C:Events->typeOf +name: C:Events->name +startDate: C:Events->startDate +endDate: C:Events->endDate +observationPeriod: C:Events->observationPeriod +startLocation: C:Events->startLocation +affectedPlace: C:Events->affectedPlace +area: C:Events->area +observationDate: C:Events->observationDate +geoJsonCoordinates: C:Events->geoJsonCoordinates diff --git a/scripts/fires/firms/fire_events_pipeline_config.py b/scripts/fires/firms/fire_events_pipeline_config.py new file mode 100644 index 0000000000..6eb6ce1be7 --- /dev/null +++ b/scripts/fires/firms/fire_events_pipeline_config.py @@ -0,0 +1,193 @@ +# Config to generate FireEvent through the script: events_pipeline.py +{ + "defaults": { + "import_name": "FIRMSFires", + # Set start_date to start of year to be processed. + # Defaults to Jan 1 of current year if left empty. + "start_date": "", + # Aggregate events upto the end of the year from per-day source files. + "end_date": "{year}-12-31", + "batch_days": 1, + "time_period": "P{batch_days}D", + + # GCS settings + "gcs_project": "datcom", + "gcs_bucket": "datcom-prod-imports", + "gcs_folder": "scripts/fires/firms", + }, + # State of previous run of the pipeline with input/output for each stage. + "pipeline_state_file": + "gs://datcom-prod-imports/scripts/fires/firms/flood_event_pipeline_state_{year}.py", + + # Pipeline stages to generate flood events. + "stages": [ + # Download NASA FIRMS fires data using the API + { + "stage": + "download", + + # API key for NASA FIRMS data download + # Get a MAPS_KEY from https://firms.modaps.eosdis.nasa.gov/api/area/ + "nasa_firms_api_key": + "", + "nasa_data_source": + "VIIRS_SNPP_NRT", # upto last 60 days + # Use this if processing data older than 60 days + #"nasa_data_source": "VIIRS_SNPP_SP", + "batch_days": + 1, + "url": + "https://firms.modaps.eosdis.nasa.gov/api/area/csv/{nasa_firms_api_key}/{nasa_data_source}/world/{batch_days}/{start_date}", + # API rate limits downloads. + # retry downloads after 200 secs until a CSV with date is downloaded. + "successful_response_regex": + "{year}", + "retry_interval": + 200, + "retry_count": + 10, + "output_file": + "gs://{gcs_bucket}/{gcs_folder}/download/{year}/{import_name}-download-{start_date}-{time_period}.csv", + "skip_existing_output": + True, + }, + + # Add S2 cells to the downloaded CSV files. + { + "stage": + "raster_csv", + "time_period": + "P{batch_days}D", + "s2_level": + 10, + "aggregate": + None, + "input_data_filter": { + "area": { + # pick max area for s2 cell. + # each fire in input is a fixed region. + "aggregate": "max" + }, + }, + "input_files": + "gs://{gcs_bucket}/{gcs_folder}/download/{year}/{import_name}-download-{year}*.csv", + "output_dir": + "gs://{gcs_bucket}/{gcs_folder}/{stage}/{year}", + "skip_existing_output": + True, + }, + + # Generate events from the CSV with fires in S2 cells + { + "stage": + "events", + + # Process all data files for the whole year. + "input_files": + "gs://{gcs_bucket}/{gcs_folder}/raster_csv/{year}/*{year}*.csv", + # Output events csv into a common folder with a year in filename, + # as the import automation can copy all files in a single folder. + "output_dir": + "gs://{gcs_bucket}/{gcs_folder}/{stage}/{import_name}-{stage}-{year}-without-usa-", + "event_type": + "FireEvent", + + # Input settings. + # Columns of input_csv that are added as event properties + "data_columns": [ + "area", "frp", "bright_ti4", "bright_ti5", "confidence" + ], + # Columns of input_csv that contains the s2 cell id. + "place_column": + "s2CellId", + # Input column for date. + "date_column": + "acq_date", + + # Processing settings + # Maximum distance within which 2 events are merged. + "max_overlap_distance_km": + 0, + # Maximum number of cells of same level in between 2 events to be merged. + "max_overlap_place_hop": + 1, + # S2 level to which data is aggregated. + "s2_level": + 10, # Events are at resolution of level-10 S2 cells. + "aggregate": + "sum", # default aggregation for all properties + # Per property settings + "property_config": { + "area": { + "aggregate": "sum", + "unit": "SquareKilometer", + }, + "affectedPlace": { + "aggregate": "list", + }, + }, + # Per property filter params for input data. + "input_filter_config": { + "confidence": { + "regex": "[nh]", + } + }, + "output_events_filter_config": { + "AreaSqKm": { + # Only allow fire events with atleast 4sqkm (10%) of events. + "min": 4.0, + }, + "affectedPlace": { + # Ignore fires in USA also generated by a different import + "ignore": "country/USA" + } + }, + # Per property settings + "property_config": { + "aggregate": "max", + "area": { + "aggregate": "sum", + "unit": "SquareKilometer", + }, + }, + # Treat events at the same location beyond 3 days as separate events. + "max_event_interval_days": + 3, + # Limit time range for an event to 3 months, roughly a season + "max_event_duration_days": + 90, + # Limit event affected region to 1000 L10 s2 cells, roughly 100K sqkm. + "max_event_places": + 1000, + + # Enable DC API lookup for place properties + "dc_api_enabled": + False, + "dc_api_batch_size": + 200, + # Cache file for place properties like name, location, typeOf + # Cache is updated with new places looked up. + "place_property_cache_file": + "gs://datcom-prod-imports/place_cache/place_properties_cache_with_s2_10.pkl", + + # Output settings. + "output_svobs": + True, + "output_delimiter": + ",", + "output_affected_place_polygon": + "geoJsonCoordinates", + "polygon_simplification_factor": + None, + "output_geojson_string": + False, + + # Output svobs per place + # Place svobs generated by entity aggregation pipeline + "output_place_svobs": + False, + "output_place_svobs_properties": ["area", "count"], + "output_place_svobs_dates": ["YYYY-MM-DD", "YYYY-MM", "YYYY"], + }, + ], +} diff --git a/scripts/fires/firms/manifest.json b/scripts/fires/firms/manifest.json new file mode 100644 index 0000000000..f59e527d6e --- /dev/null +++ b/scripts/fires/firms/manifest.json @@ -0,0 +1,18 @@ +{ + "import_specifications": [{ + "import_name": + "NASA_VIIRSActiveFiresEvents", + "curator_emails": ["ajaits@google.com"], + "provenance_url": + "https://www.earthdata.nasa.gov/learn/find-data/near-real-time/firms/vnp14imgtdlnrt", + "provenance_description": + "Active fire data across the world as detected by VIIRS onboard the Suomi NPP satellite at 375m resolution.", + "scripts": ["../../earthengine/events_pipeline.py --pipeline_config=gs://datcom-prod-imports/scripts/fires/firms/fire_events_pipeline_config.py"], + "import_inputs": [{ + "template_mcf": "", + "cleaned_csv": "" + }], + "cron_schedule": + "0 5 * * *" + }] +} diff --git a/scripts/fires/firms/requirements.txt b/scripts/fires/firms/requirements.txt new file mode 100644 index 0000000000..23f7d8b613 --- /dev/null +++ b/scripts/fires/firms/requirements.txt @@ -0,0 +1,17 @@ +# Requirements for Python code in this directory. +bigquery +dataclasses +datacommons +earthengine-api +geojson +geopy +google-cloud-logging +lxml +openpyxl +rasterio +requests +requests_cache +retry +s2sphere +shapely +urllib3 From 5aedbdbb3f6692fd07d3e783a384b38aa676d340 Mon Sep 17 00:00:00 2001 From: Ajai Date: Fri, 23 Feb 2024 14:44:27 +0000 Subject: [PATCH 10/11] Disable gunicorn timeout for automation scripts (#992) * add modules to local requirements.txt * add bigquery * prune requirements * Add manifest for fires import * update events script to support invocation from automation from a different folder * fix path * fix lint * disable timeout for gunicorn --- import-automation/executor/Dockerfile | 2 +- import-automation/executor/app.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/import-automation/executor/Dockerfile b/import-automation/executor/Dockerfile index 1bba3650c7..ecb75719a3 100644 --- a/import-automation/executor/Dockerfile +++ b/import-automation/executor/Dockerfile @@ -27,4 +27,4 @@ RUN pip install -r /workspace/requirements.txt COPY app/. /workspace/app/ -CMD gunicorn --timeout 1800 --workers 5 -b :$PORT app.main:FLASK_APP +CMD gunicorn --timeout 0 --workers 5 -b :$PORT app.main:FLASK_APP diff --git a/import-automation/executor/app.yaml b/import-automation/executor/app.yaml index 2169ce2150..fc52629491 100644 --- a/import-automation/executor/app.yaml +++ b/import-automation/executor/app.yaml @@ -1,5 +1,5 @@ runtime: python37 -entrypoint: gunicorn --timeout 1800 -b :$PORT app.main:FLASK_APP +entrypoint: gunicorn --timeout 0 -b :$PORT app.main:FLASK_APP env_variables: EXECUTOR_PRODUCTION: "True" TMPDIR: "/tmp" From b249c31c58820bcbd3265ab37ae208e3f44d88b9 Mon Sep 17 00:00:00 2001 From: Jehangir Amjad <1021616+jehangiramjad@users.noreply.github.com> Date: Sun, 25 Feb 2024 04:54:04 +0500 Subject: [PATCH 11/11] [Import Automation] Code Cleanups (#993) * removing dashboard * deprecating the dashboard config field instead of removing it * fixing a bug * lint fix * remove script email addresses * lint fix --- import-automation/README.md | 9 +- .../cloudbuild/cloudbuild.gke.yaml | 1 - import-automation/cloudbuild/cloudbuild.yaml | 1 - import-automation/executor/README.md | 7 - import-automation/executor/app/configs.py | 1 + .../executor/app/executor/import_executor.py | 359 +- import-automation/executor/app/main.py | 32 +- .../executor/app/service/dashboard_api.py | 239 - .../executor/schedule_update_import.py | 6 + .../executor/test/dashboard_api_test.py | 110 - .../executor/test/import_executor_test.py | 12 +- .../executor/test/integration_test.py | 6 +- .../import-progress-dashboard-api/.gitignore | 141 - .../import-progress-dashboard-api/README.md | 139 - .../import-progress-dashboard-api/app.yaml | 4 - .../app/__init__.py | 0 .../app/__main__.py | 22 - .../app/configs.py | 23 - .../import-progress-dashboard-api/app/main.py | 68 - .../app/model/import_attempt_model.py | 71 - .../app/model/progress_log_model.py | 56 - .../app/model/system_run_model.py | 70 - .../app/resource/base_resource.py | 44 - .../app/resource/import_attempt.py | 123 - .../app/resource/import_attempt_list.py | 94 - .../app/resource/progress_log.py | 147 - .../app/resource/progress_log_list.py | 113 - .../app/resource/system_run.py | 126 - .../app/resource/system_run_list.py | 93 - .../app/service/base_database.py | 140 - .../app/service/import_attempt_database.py | 38 - .../app/service/log_message_manager.py | 61 - .../app/service/progress_log_database.py | 110 - .../app/service/system_run_database.py | 38 - .../app/service/validation.py | 288 - .../app/utils.py | 111 - .../requirements.txt | 8 - .../import-progress-dashboard-api/run_test.sh | 23 - .../test/__init__.py | 0 .../test/base_database_test.py | 105 - .../test/import_attempt_list_test.py | 90 - .../test/import_attempt_test.py | 96 - .../test/progress_log_database_test.py | 97 - .../test/progress_log_list_test.py | 205 - .../test/progress_log_test.py | 133 - .../test/system_run_list_test.py | 102 - .../test/system_run_test.py | 95 - .../test/utils.py | 129 - .../test/utils_test.py | 131 - .../test/validation_test.py | 256 - .../.gcloudignore | 21 - .../.gitignore | 166 - .../README.md | 17 - .../app.yaml | 6 - .../client/.eslintrc.json | 30 - .../client/.prettierrc.js | 3 - .../client/package-lock.json | 17069 ---------------- .../client/package.json | 50 - .../client/public/favicon.ico | Bin 3150 -> 0 bytes .../client/public/index.html | 20 - .../client/public/logo192.png | Bin 5347 -> 0 bytes .../client/public/logo512.png | Bin 9664 -> 0 bytes .../client/public/manifest.json | 25 - .../client/public/robots.txt | 3 - .../client/src/App.js | 12 - .../client/src/import-table.css | 4 - .../client/src/import-table.tsx | 432 - .../client/src/index.js | 10 - .../client/src/logo.svg | 7 - .../client/src/react-app-env.d.ts | 1 - .../client/tsconfig.json | 25 - .../requirements.txt | 5 - .../server/.gitignore | 142 - .../server/__main__.py | 21 - .../server/app/__main__.py | 21 - .../server/app/configs.py | 39 - .../server/app/main.py | 86 - .../server/app/service/dashboard_api.py | 76 - .../server/app/service/iap_request.py | 80 - 79 files changed, 68 insertions(+), 22676 deletions(-) delete mode 100644 import-automation/executor/app/service/dashboard_api.py delete mode 100644 import-automation/executor/test/dashboard_api_test.py delete mode 100644 import-automation/import-progress-dashboard-api/.gitignore delete mode 100644 import-automation/import-progress-dashboard-api/README.md delete mode 100644 import-automation/import-progress-dashboard-api/app.yaml delete mode 100644 import-automation/import-progress-dashboard-api/app/__init__.py delete mode 100644 import-automation/import-progress-dashboard-api/app/__main__.py delete mode 100644 import-automation/import-progress-dashboard-api/app/configs.py delete mode 100644 import-automation/import-progress-dashboard-api/app/main.py delete mode 100644 import-automation/import-progress-dashboard-api/app/model/import_attempt_model.py delete mode 100644 import-automation/import-progress-dashboard-api/app/model/progress_log_model.py delete mode 100644 import-automation/import-progress-dashboard-api/app/model/system_run_model.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/base_resource.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/import_attempt.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/import_attempt_list.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/progress_log.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/progress_log_list.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/system_run.py delete mode 100644 import-automation/import-progress-dashboard-api/app/resource/system_run_list.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/base_database.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/import_attempt_database.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/log_message_manager.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/progress_log_database.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/system_run_database.py delete mode 100644 import-automation/import-progress-dashboard-api/app/service/validation.py delete mode 100644 import-automation/import-progress-dashboard-api/app/utils.py delete mode 100644 import-automation/import-progress-dashboard-api/requirements.txt delete mode 100644 import-automation/import-progress-dashboard-api/run_test.sh delete mode 100644 import-automation/import-progress-dashboard-api/test/__init__.py delete mode 100644 import-automation/import-progress-dashboard-api/test/base_database_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/import_attempt_list_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/import_attempt_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/progress_log_database_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/progress_log_list_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/progress_log_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/system_run_list_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/system_run_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/utils.py delete mode 100644 import-automation/import-progress-dashboard-api/test/utils_test.py delete mode 100644 import-automation/import-progress-dashboard-api/test/validation_test.py delete mode 100644 import-automation/import-progress-dashboard-frontend/.gcloudignore delete mode 100644 import-automation/import-progress-dashboard-frontend/.gitignore delete mode 100644 import-automation/import-progress-dashboard-frontend/README.md delete mode 100644 import-automation/import-progress-dashboard-frontend/app.yaml delete mode 100644 import-automation/import-progress-dashboard-frontend/client/.eslintrc.json delete mode 100644 import-automation/import-progress-dashboard-frontend/client/.prettierrc.js delete mode 100644 import-automation/import-progress-dashboard-frontend/client/package-lock.json delete mode 100644 import-automation/import-progress-dashboard-frontend/client/package.json delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/favicon.ico delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/index.html delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/logo192.png delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/logo512.png delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/manifest.json delete mode 100644 import-automation/import-progress-dashboard-frontend/client/public/robots.txt delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/App.js delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/import-table.css delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/import-table.tsx delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/index.js delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/logo.svg delete mode 100644 import-automation/import-progress-dashboard-frontend/client/src/react-app-env.d.ts delete mode 100644 import-automation/import-progress-dashboard-frontend/client/tsconfig.json delete mode 100644 import-automation/import-progress-dashboard-frontend/requirements.txt delete mode 100644 import-automation/import-progress-dashboard-frontend/server/.gitignore delete mode 100644 import-automation/import-progress-dashboard-frontend/server/__main__.py delete mode 100644 import-automation/import-progress-dashboard-frontend/server/app/__main__.py delete mode 100644 import-automation/import-progress-dashboard-frontend/server/app/configs.py delete mode 100644 import-automation/import-progress-dashboard-frontend/server/app/main.py delete mode 100644 import-automation/import-progress-dashboard-frontend/server/app/service/dashboard_api.py delete mode 100644 import-automation/import-progress-dashboard-frontend/server/app/service/iap_request.py diff --git a/import-automation/README.md b/import-automation/README.md index 35bb6daaba..95b222a365 100644 --- a/import-automation/README.md +++ b/import-automation/README.md @@ -3,9 +3,6 @@ The import automation system has three components: 1. [Cloud Build configuration file](cloudbuild/README.md) 2. [Executor](executor/README.md) -3. Import Progress Dashboard - - [Import Progress Dashboard API](import-progress-dashboard-api/README.md) - - [Import Progress Dashboard Frontend](import-progress-dashboard-frontend/README.md) ## User Manual @@ -120,7 +117,6 @@ directories: specify the import targets in the commit message (see [Specifying Import Targets](#specifying-import-targets)). If no tag is found, no imports will be executed. -5. Check the [Import Progress Dashboard](https://dashboard-frontend-dot-datcom-data.uc.r.appspot.com/) ### Scheduling Updates @@ -134,8 +130,6 @@ directories: 1. Check in the `import-automation` directory to the repository. 2. [Configure](executor/README.md#configuring-the-executor) and [deploy](executor/README.md#deploying-on-app-engine) the executor -3. [Deploy the import progress dashboard API](import-progress-dashboard-api/README.md#deploying-to-app-engine) -4. [Deploy the import progress dashboard frontend](import-progress-dashboard-frontend/README.md#deploying-to-app-engine) 5. [Create a Cloud Tasks queue](#creating-cloud-task-queue) 6. [Connect the repository to Cloud Build and set up Cloud Build triggers](#setting-up-cloud-build) @@ -162,7 +156,6 @@ directories: - **File type**: `Cloud Build configuration file (yaml or json)` - **Cloud Build configuration file location**: `/import-automation/cloudbuild/cloudbuild.yaml` - **Substitution variables** - - **_DASHBOARD_OAUTH_CLIENT_ID**: `` (This can be found by going to the Identity-Aware Proxy of the Google Cloud project that hosts the dashboard and clicking 'Edit OAuth Client.) - **_EMAIL_ACCOUNT**: ``; - **_EMAIL_TOKEN**: `` - **_GITHUB_AUTH_USERNAME**: `` @@ -171,7 +164,7 @@ directories: - **_GITHUB_REPO_OWNER_USERNAME**: `` - **_HANDLER_SERVICE**: `` - **_HANDLER_URI**: `` - - **_IMPORTER_OAUTH_CLIENT_ID**: `` (This can be found similarly as **_DASHBOARD_OAUTH_CLIENT_ID**) + - **_IMPORTER_OAUTH_CLIENT_ID**: `` - **_TASK_LOCATION_ID**: `` (This can be found by going to the Cloud Tasks control panel and look at the "Location" column.) - **_TASK_PROJECT_ID**: `` - **_TASK_QUEUE_NAME**: `` diff --git a/import-automation/cloudbuild/cloudbuild.gke.yaml b/import-automation/cloudbuild/cloudbuild.gke.yaml index 0c0fd8d9eb..85e5d97d69 100644 --- a/import-automation/cloudbuild/cloudbuild.gke.yaml +++ b/import-automation/cloudbuild/cloudbuild.gke.yaml @@ -24,7 +24,6 @@ steps: "PR_NUMBER": "$_PR_NUMBER", "configs": { "gcp_project_id": "$_GCP_PROJECT_ID", - "dashboard_oauth_client_id": "$_DASHBOARD_OAUTH_CLIENT_ID", "importer_oauth_client_id": "$_IMPORTER_OAUTH_CLIENT_ID", "github_auth_username": "$_GITHUB_AUTH_USERNAME", "github_auth_access_token": "$_GITHUB_AUTH_ACCESS_TOKEN", diff --git a/import-automation/cloudbuild/cloudbuild.yaml b/import-automation/cloudbuild/cloudbuild.yaml index 9cd7e6f574..44c263ac9d 100644 --- a/import-automation/cloudbuild/cloudbuild.yaml +++ b/import-automation/cloudbuild/cloudbuild.yaml @@ -20,7 +20,6 @@ steps: "BASE_BRANCH": "$_BASE_BRANCH", "PR_NUMBER": "$_PR_NUMBER", "configs": { - "dashboard_oauth_client_id": "$_DASHBOARD_OAUTH_CLIENT_ID", "importer_oauth_client_id": "$_IMPORTER_OAUTH_CLIENT_ID", "github_auth_username": "$_GITHUB_AUTH_USERNAME", "github_auth_access_token": "$_GITHUB_AUTH_ACCESS_TOKEN", diff --git a/import-automation/executor/README.md b/import-automation/executor/README.md index a96e6a4dbe..4a35731d34 100644 --- a/import-automation/executor/README.md +++ b/import-automation/executor/README.md @@ -12,14 +12,9 @@ Commons knowledge graph using the importer. - Required Arguments - `COMMIT_SHA`: Commit sha of the commit that specifies the targets in its commit message - - Optional Arguments (Used only for logging to the Import Progress Dashboard) - - `REPO_NAME`: Name of the repository from which the pull request is sent - - `BRANCH_NAME`: Name of the branch from which the pull request is sent - - `PR_NUMBER`: Number of the pull request - Required Configurations (See [app/configs.py](app/configs.py) for descriptions and [Configuring the Executor](#configuring-the-executor) for how to pass these configurations) - - `dashboard_oauth_client_id` - `importer_oauth_client_id` - `github_auth_username` - `github_auth_access_token` @@ -30,7 +25,6 @@ Commons knowledge graph using the importer. - Required Arguments - `absolute_import_name`: Absolute import name of the import to update - Required Configurations - - `dashboard_oauth_client_id` - `github_auth_username` - `github_auth_access_token` - `email_account` @@ -41,7 +35,6 @@ Commons knowledge graph using the importer. - `COMMIT_SHA`: Commit sha of the commit that specifies the targets in its commit message - Required Configurations - - `dashboard_oauth_client_id` - `github_auth_username` - `github_auth_access_token` diff --git a/import-automation/executor/app/configs.py b/import-automation/executor/app/configs.py index 8e76654428..0df79f0c66 100644 --- a/import-automation/executor/app/configs.py +++ b/import-automation/executor/app/configs.py @@ -73,6 +73,7 @@ class ExecutorConfig: # Types of inputs accepted by the Data Commons importer. These are # also the accepted fields of an import_inputs value in the manifest. import_input_types: List[str] = ('template_mcf', 'cleaned_csv', 'node_mcf') + # DEPRECATED # Oauth Client ID used to authenticate with the import progress dashboard. # which is protected by Identity-Aware Proxy. This can be found by going # to the Identity-Aware Proxy of the Google Cloud project that hosts diff --git a/import-automation/executor/app/executor/import_executor.py b/import-automation/executor/app/executor/import_executor.py index 952d4b471b..27a49dae6a 100644 --- a/import-automation/executor/app/executor/import_executor.py +++ b/import-automation/executor/app/executor/import_executor.py @@ -29,18 +29,16 @@ from app import configs from app import utils from app.executor import import_target -from app.service import dashboard_api from app.service import email_notifier from app.service import file_uploader from app.service import github_api from app.service import import_service -_SYSTEM_RUN_INIT_FAILED_MESSAGE = ( - 'Failed to initialize the system run with the import progress dashboard') +# Email address for status messages. +_SUCCESS_EMAIL_ADDR = "datacommons+release@google.com" +_FAILURE_EMAIL_ADDR = "datacommons-alerts+importautomation@google.com" -_SEE_DASHBOARD_MESSAGE = ( - 'See dashboard for logs: ' - 'https://dashboard-frontend-dot-datcom-data.uc.r.appspot.com/') +_SEE_LOGS_MESSAGE = "Please find logs in the Logs Explorer of the GCP project associated with Import Automation." @dataclasses.dataclass @@ -79,9 +77,6 @@ class ImportExecutor: some place. github: GitHubRepoAPI object for communicating with GitHUB API. config: ExecutorConfig object containing configurations for the execution. - dashboard: DashboardAPI object for communicating with the import progress - dashboard. If not provided, the executor will not communicate with the - dashboard. notifier: EmailNotifier object for sending notificaiton emails. importer: ImportServiceClient object for invoking the Data Commons importer. @@ -96,60 +91,28 @@ def __init__(self, uploader: file_uploader.FileUploader, github: github_api.GitHubRepoAPI, config: configs.ExecutorConfig, - dashboard: dashboard_api.DashboardAPI = None, notifier: email_notifier.EmailNotifier = None, importer: import_service.ImportServiceClient = None, local_repo_dir: str = ""): self.uploader = uploader self.github = github self.config = config - self.dashboard = dashboard self.notifier = notifier self.importer = importer self.local_repo_dir: str = local_repo_dir - def execute_imports_on_commit( - self, - commit_sha: str, - repo_name: str = None, - branch_name: str = None, - pr_number: str = None, - ) -> ExecutionResult: + def execute_imports_on_commit(self, commit_sha: str) -> ExecutionResult: """Executes imports upon a GitHub commit. - repo_name, branch_name, and pr_number are used only for logging to - the import progress dashboard. - Args: commit_sha: ID of the commit as a string. - repo_name: Name of the repository the commit is for as a string. - branch_name: Name of the branch the commit is for as a string. - pr_number: If the commit is a part of a pull request, the number of the - pull request as an int. Returns: ExecutionResult object describing the results of the imports. """ - run_id = None - try: - if self.dashboard: - run_id = _init_run_helper( - dashboard=self.dashboard, - commit_sha=commit_sha, - repo_name=repo_name, - branch_name=branch_name, - pr_number=pr_number, - )['run_id'] - except Exception: - logging.exception(_SYSTEM_RUN_INIT_FAILED_MESSAGE) - return _create_system_run_init_failed_result(traceback.format_exc()) - return run_and_handle_exception( - run_id, - self.dashboard, self._execute_imports_on_commit_helper, commit_sha, - run_id, ) def execute_imports_on_update(self, @@ -165,32 +128,17 @@ def execute_imports_on_update(self, Returns: ExecutionResult object describing the results of the imports. """ - run_id = None - try: - if self.dashboard: - run_id = _init_run_helper(self.dashboard)['run_id'] - except Exception: - logging.exception(_SYSTEM_RUN_INIT_FAILED_MESSAGE) - return _create_system_run_init_failed_result(traceback.format_exc()) - return run_and_handle_exception( - run_id, - self.dashboard, self._execute_imports_on_update_helper, absolute_import_name, - run_id, ) def _execute_imports_on_update_helper( - self, - absolute_import_name: str, - run_id: str = None) -> ExecutionResult: + self, absolute_import_name: str) -> ExecutionResult: """Helper for execute_imports_on_update. Args: absolute_import_name: See execute_imports_on_update. - run_id: ID of the system run as a string. This is only used to - communicate with the import progress dashboard. Returns: ExecutionResult object describing the results of the executions. @@ -215,10 +163,6 @@ def _execute_imports_on_update_helper( logging.info('%s: downloaded repo %s', absolute_import_name, repo_dir) - if self.dashboard: - self.dashboard.info(f'Downloaded/Local repo: {repo_dir}', - run_id=run_id) - executed_imports = [] # An example import_dir is 'scripts/us_fed/treasury' @@ -239,9 +183,7 @@ def _execute_imports_on_update_helper( repo_dir=repo_dir, relative_import_dir=import_dir, absolute_import_dir=absolute_import_dir, - import_spec=spec, - run_id=run_id, - ) + import_spec=spec) except Exception: raise ExecutionError( ExecutionResult('failed', executed_imports, @@ -253,15 +195,13 @@ def _execute_imports_on_update_helper( logging.info('%s: END', absolute_import_name) return ExecutionResult('succeeded', executed_imports, 'No issues') - def _execute_imports_on_commit_helper(self, - commit_sha: str, - run_id: str = None - ) -> ExecutionResult: + def _execute_imports_on_commit_helper( + self, + commit_sha: str, + ) -> ExecutionResult: """Helper for execute_imports_on_commit. Args: See execute_imports_on_commit. - run_id: ID of the system run as a string. This is only used to - communicate with the import progress dashboard. Returns: ExecutionResult object describing the results of the executions. @@ -285,9 +225,8 @@ def _execute_imports_on_commit_helper(self, with tempfile.TemporaryDirectory() as tmpdir: repo_dir = self.github.download_repo( tmpdir, commit_sha, self.config.repo_download_timeout) - if self.dashboard: - self.dashboard.info(f'Downloaded repo: {repo_dir}', - run_id=run_id) + + logging.info(f'Downloaded repo: {repo_dir}') imports_to_execute = import_target.find_imports_to_execute( targets=targets, @@ -299,14 +238,11 @@ def _execute_imports_on_commit_helper(self, executed_imports = [] for relative_dir, spec in imports_to_execute: try: - self._import_one( - repo_dir=repo_dir, - relative_import_dir=relative_dir, - absolute_import_dir=os.path.join( - repo_dir, relative_dir), - import_spec=spec, - run_id=run_id, - ) + self._import_one(repo_dir=repo_dir, + relative_import_dir=relative_dir, + absolute_import_dir=os.path.join( + repo_dir, relative_dir), + import_spec=spec) except Exception: raise ExecutionError( @@ -316,13 +252,6 @@ def _execute_imports_on_commit_helper(self, relative_dir, spec['import_name']) executed_imports.append(absolute_name) - if self.dashboard: - self.dashboard.update_run( - { - 'status': 'succeeded', - 'time_completed': utils.utctime() - }, run_id) - return ExecutionResult('succeeded', executed_imports, 'No issues') def _import_one( @@ -331,7 +260,6 @@ def _import_one( relative_import_dir: str, absolute_import_dir: str, import_spec: dict, - run_id: str = None, ) -> None: """Executes an import. @@ -342,82 +270,52 @@ def _import_one( absolute_import_dir: Absolute path to the directory containing the manifest as a string. import_spec: Specification of the import as a dict. - run_id: ID of the system run that executes the import. This is only used - to communicate with the import progress dashboard. """ import_name = import_spec['import_name'] absolute_import_name = import_target.get_absolute_import_name( relative_import_dir, import_name) - curator_emails = import_spec['curator_emails'] - attempt_id = None - if self.dashboard: - attempt = _init_attempt_helper( - dashboard=self.dashboard, - run_id=run_id, - import_name=import_name, - absolute_import_name=absolute_import_name, - provenance_url=import_spec['provenance_url'], - provenance_description=import_spec['provenance_description'], - ) - attempt_id = attempt['attempt_id'] + time_start = time.time() try: self._import_one_helper( repo_dir=repo_dir, relative_import_dir=relative_import_dir, absolute_import_dir=absolute_import_dir, import_spec=import_spec, - run_id=run_id, - attempt_id=attempt_id, ) + time_taken = '{0:.2f}'.format(time.time() - time_start) if self.notifier: + msg = f'Successful Import: {import_name} ({absolute_import_name})\nn' + msg += f'Script execution time taken = {time_taken}s' self.notifier.send( - subject= - f'Import Automation - {absolute_import_name} - Succeeded', - body=_SEE_DASHBOARD_MESSAGE, - receiver_addresses=curator_emails, + subject=f'Import Automation Success - {import_name}', + body=msg, + receiver_addresses=[_SUCCESS_EMAIL_ADDR], ) except Exception as exc: - if self.dashboard: - _mark_import_attempt_failed( - attempt_id=attempt_id, - message=traceback.format_exc(), - dashboard=self.dashboard, - ) if self.notifier: + msg = f'Failed Import: {import_name} ({absolute_import_name})\n\n' + msg += f'{_SEE_LOGS_MESSAGE}\n\n' + msg += f'Stack Trace: \n' + msg += f'{exc}' self.notifier.send( - subject= - f'Import Automation - {absolute_import_name} - Failed', - body=_SEE_DASHBOARD_MESSAGE, - receiver_addresses=curator_emails, + subject=f'Import Automation Failure - {import_name}', + body=msg, + receiver_addresses=[_FAILURE_EMAIL_ADDR], ) raise exc - def _import_one_helper( - self, - repo_dir: str, - relative_import_dir: str, - absolute_import_dir: str, - import_spec: dict, - run_id: str = None, - attempt_id: str = None, - ) -> None: + def _import_one_helper(self, repo_dir: str, relative_import_dir: str, + absolute_import_dir: str, import_spec: dict) -> None: """Helper for _import_one. Args: See _import_one. - attempt_id: ID of the import attempt executed by the system run with the - run_id, as a string. This is only used to communicate with the import - progress dashboard. """ urls = import_spec.get('data_download_url') if urls: for url in urls: utils.download_file(url, absolute_import_dir, self.config.file_download_timeout) - if self.dashboard: - self.dashboard.info(f'Downloaded: {url}', - attempt_id=attempt_id, - run_id=run_id) with tempfile.TemporaryDirectory() as tmpdir: requirements_path = os.path.join(absolute_import_dir, @@ -430,12 +328,7 @@ def _import_one_helper( timeout=self.config.venv_create_timeout, ) - _log_process( - process=process, - dashboard=self.dashboard, - attempt_id=attempt_id, - run_id=run_id, - ) + _log_process(process=process) process.check_returncode() script_paths = import_spec.get('scripts') @@ -448,31 +341,17 @@ def _import_one_helper( cwd=absolute_import_dir, env=self.config.user_script_env, ) - _log_process( - process=process, - dashboard=self.dashboard, - attempt_id=attempt_id, - run_id=run_id, - ) + _log_process(process=process) process.check_returncode() inputs = self._upload_import_inputs( import_dir=absolute_import_dir, output_dir=f'{relative_import_dir}/{import_spec["import_name"]}', - import_inputs=import_spec.get('import_inputs', []), - attempt_id=attempt_id, - ) + import_inputs=import_spec.get('import_inputs', [])) if self.importer: self.importer.delete_previous_output(relative_import_dir, import_spec) - - if self.dashboard: - self.dashboard.info( - f'Submitting job to delete the previous import', - attempt_id=attempt_id, - run_id=run_id, - ) try: self.importer.delete_import( relative_import_dir, @@ -484,15 +363,7 @@ def _import_one_helper( # If this is the first time executing this import, # there will be no previous import logging.warning(str(exc)) - if self.dashboard: - self.dashboard.info(f'Deleted previous import', - attempt_id=attempt_id, - run_id=run_id) - self.dashboard.info( - f'Submitting job to perform the import', - attempt_id=attempt_id, - run_id=run_id, - ) + self.importer.smart_import( relative_import_dir, inputs, @@ -500,25 +371,13 @@ def _import_one_helper( block=True, timeout=self.config.importer_import_timeout, ) - if self.dashboard: - self.dashboard.info(f'Import succeeded', - attempt_id=attempt_id, - run_id=run_id) - - if self.dashboard: - self.dashboard.update_attempt( - { - 'status': 'succeeded', - 'time_completed': utils.utctime() - }, attempt_id) def _upload_import_inputs( self, import_dir: str, output_dir: str, import_inputs: List[Dict[str, str]], - attempt_id: str = None, - ) -> 'import_service.ImportInputs': + ) -> import_service.ImportInputs: """Uploads the generated import data files. Data files are uploaded to //, where is a @@ -532,9 +391,6 @@ def _upload_import_inputs( import_inputs: List of import inputs each as a dict mapping import types to relative paths within the repository. This is parsed from the 'import_inputs' field in the manifest. - attempt_id: ID of the import attempt executed by the system run with the - run_id, as a string. This is only used to communicate with the import - progress dashboard. Returns: ImportInputs object containing the paths to the uploaded inputs. @@ -549,7 +405,6 @@ def _upload_import_inputs( self._upload_file_helper( src=os.path.join(import_dir, path), dest=dest, - attempt_id=attempt_id, ) setattr(uploaded, input_type, dest) self.uploader.upload_string( @@ -557,24 +412,13 @@ def _upload_import_inputs( os.path.join(output_dir, self.config.storage_version_filename)) return uploaded - def _upload_file_helper(self, - src: str, - dest: str, - attempt_id: str = None) -> None: + def _upload_file_helper(self, src: str, dest: str) -> None: """Uploads a file from src to dest. Args: src: Path to the file to upload, as a string. dest: Path to where the file is to be uploaded to, as a string. - attempt_id: ID of the import attempt executed by the system run with the - run_id, as a string. This is only used to communicate with the import - progress dashboard. """ - if self.dashboard: - with open(src) as file: - self.dashboard.info( - f'Uploaded {src}: {file.readline().strip()}', - attempt_id=attempt_id) self.uploader.upload_file(src, dest) @@ -596,19 +440,12 @@ def parse_manifest(path: str) -> dict: def run_and_handle_exception( - run_id: Optional[str], - dashboard: Optional[dashboard_api.DashboardAPI], exec_func: Callable, *args, ) -> ExecutionResult: """Runs a method that executes imports and handles its exceptions. - run_id and dashboard are for logging to the import progress dashboard. - They can be None to not perform such logging. - Args: - run_id: ID of the system run as a string. - dashboard: DashboardAPI for logging to the import progress dashboard. exec_func: The method to execute. args: List of arguments sent to exec_func. @@ -620,14 +457,10 @@ def run_and_handle_exception( except ExecutionError as exc: logging.exception('ExecutionError was thrown') result = exc.result - if dashboard: - _mark_system_run_failed(run_id, str(result), dashboard) return result except Exception: logging.exception('An unexpected exception was thrown') message = traceback.format_exc() - if dashboard: - _mark_system_run_failed(run_id, message, dashboard) return ExecutionResult('failed', [], message) @@ -809,96 +642,6 @@ def _run_user_script( return _run_with_timeout_async(script_args, timeout, cwd, env) -def _init_run_helper( - dashboard: dashboard_api.DashboardAPI, - commit_sha: str = None, - repo_name: str = None, - branch_name: str = None, - pr_number: str = None, -) -> Dict: - """Initializes a system run with the import progress dashboard.""" - run = {} - if commit_sha: - run['commit_sha'] = commit_sha - if repo_name: - run['repo_name'] = repo_name - if branch_name: - run['branch_name'] = branch_name - if pr_number: - run['pr_number'] = pr_number - return dashboard.init_run(run) - - -def _init_attempt_helper( - dashboard: dashboard_api.DashboardAPI, - run_id: str, - import_name: str, - absolute_import_name: str, - provenance_url: str, - provenance_description: str, -) -> Dict: - """Initializes an import attempt with the import progress dashboard.""" - return dashboard.init_attempt({ - 'run_id': run_id, - 'import_name': import_name, - 'absolute_import_name': absolute_import_name, - 'provenance_url': provenance_url, - 'provenance_description': provenance_description, - }) - - -def _mark_system_run_failed(run_id: str, message: str, - dashboard: dashboard_api.DashboardAPI) -> Dict: - """Communicates with the import progress dashboard that a system run - - has failed. - - Args: - run_id: ID of the system run. - message: An additional message to log to the dashboard with level - critical. - dashboard: DashboardAPI object for the communicaiton. - - Returns: - Updated system run returned from the dashboard. - """ - dashboard.critical(message, run_id=run_id) - return dashboard.update_run( - { - 'status': 'failed', - 'time_completed': utils.utctime() - }, run_id=run_id) - - -def _mark_import_attempt_failed(attempt_id: str, message: str, - dashboard: dashboard_api.DashboardAPI) -> Dict: - """Communicates with the import progress dashboard that an import attempt - - has failed. - - Args: - attempt_id: ID of the import attempt. - message: An additional message to log to the dashboard with level - critical. - dashboard: DashboardAPI object for the communicaiton. - - Returns: - Updated import attempt returned from the dashboard. - """ - dashboard.critical(message, attempt_id=attempt_id) - return dashboard.update_attempt( - { - 'status': 'failed', - 'time_completed': utils.utctime() - }, attempt_id) - - -def _create_system_run_init_failed_result(trace): - """Creates an ExecutionResult indicating failures.""" - return ExecutionResult('failed', [], - f'{_SYSTEM_RUN_INIT_FAILED_MESSAGE}\n{trace}') - - def _clean_time( time: str, chars_to_replace: Tuple[str] = (':', '-', '.', '+')) -> str: """Replaces some characters with underscores. @@ -937,33 +680,15 @@ def _construct_process_message(message: str, return message -def _log_process( - process: subprocess.CompletedProcess, - dashboard: dashboard_api.DashboardAPI = None, - attempt_id: str = None, - run_id: str = None, -) -> None: +def _log_process(process: subprocess.CompletedProcess,) -> None: """Logs the result of a subprocess. - dashboard, attempt_id, and run_id are only for logging to the import - progress dashboard. They can be None to not perform such logging. - Args: process: subprocess.CompletedProcess object whose arguments, return code, stdout, and stderr are to be logged. - dashboard: DashboardAPI object to communicate with the import progress - dashboard. - attempt_id: ID of the import attempt as a string. - run_id: ID of the system run as a string. """ message = 'Subprocess succeeded' if process.returncode: message = 'Subprocess failed' message = _construct_process_message(message, process) - if process.returncode: - if dashboard: - dashboard.critical(message, attempt_id=attempt_id, run_id=run_id) - else: - logging.info(message) - if dashboard: - dashboard.info(message, attempt_id=attempt_id, run_id=run_id) + logging.info(message) diff --git a/import-automation/executor/app/main.py b/import-automation/executor/app/main.py index 28b6e3230f..fa255e9151 100644 --- a/import-automation/executor/app/main.py +++ b/import-automation/executor/app/main.py @@ -22,6 +22,7 @@ """ import dataclasses +import logging import flask from google.cloud import scheduler @@ -31,10 +32,10 @@ from app.executor.scheduler_job_manager import schedule_on_commit from app.executor import import_executor from app.service import file_uploader -from app.service import dashboard_api from app.service import github_api from app.service import email_notifier from app.service import import_service +from app.service import email_notifier def create_app(): @@ -52,9 +53,6 @@ def execute_imports(): if 'COMMIT_SHA' not in task_info: return {'error': 'COMMIT_SHA not found'} commit_sha = task_info['COMMIT_SHA'] - repo_name = task_info.get('REPO_NAME') - branch_name = task_info.get('BRANCH_NAME') - pr_number = task_info.get('PR_NUMBER') task_configs = task_info.get('configs', {}) config = configs.ExecutorConfig(**task_configs) @@ -69,7 +67,6 @@ def execute_imports(): auth_username=config.github_auth_username, auth_access_token=config.github_auth_access_token), config=config, - dashboard=dashboard_api.DashboardAPI(config.dashboard_oauth_client_id), notifier=email_notifier.EmailNotifier(config.email_account, config.email_token), importer=import_service.ImportServiceClient( @@ -79,10 +76,9 @@ def execute_imports(): unresolved_mcf_bucket_name=config.storage_dev_bucket_name, resolved_mcf_bucket_name=config.storage_importer_bucket_name, client_id=config.importer_oauth_client_id)) - result = executor.execute_imports_on_commit(commit_sha=commit_sha, - repo_name=repo_name, - branch_name=branch_name, - pr_number=pr_number) + result = executor.execute_imports_on_commit(commit_sha=commit_sha) + logging.info(result) + logging.info("END: Returning from REST endopoint.") return dataclasses.asdict(result) @@ -103,9 +99,13 @@ def scheduled_updates(): repo_name=config.github_repo_name, auth_username=config.github_auth_username, auth_access_token=config.github_auth_access_token), - config=config) + config=config, + notifier=email_notifier.EmailNotifier(config.email_account, + config.email_token)) result = executor.execute_imports_on_update( task_info['absolute_import_name']) + logging.info(result) + logging.info("END: Returning from REST endopoint.") return dataclasses.asdict(result) @@ -132,13 +132,11 @@ def schedule_data_refresh_cron_jobs(): auth_username=config.github_auth_username, auth_access_token=config.github_auth_access_token) - res = import_executor.run_and_handle_exception( - None, # run_id - None, # dashboard - schedule_on_commit, - github, - config, - task_info['COMMIT_SHA']) + res = import_executor.run_and_handle_exception(schedule_on_commit, github, + config, + task_info['COMMIT_SHA']) + logging.info(res) + logging.info("END: Returning from REST endopoint.") return dataclasses.asdict(res) diff --git a/import-automation/executor/app/service/dashboard_api.py b/import-automation/executor/app/service/dashboard_api.py deleted file mode 100644 index 28b4bdaba1..0000000000 --- a/import-automation/executor/app/service/dashboard_api.py +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Import progress dashboard API client. -""" - -import logging -from typing import Dict - -from app import utils -from app.service import iap_request - -_DASHBOARD_API_HOST = 'https://datcom-data.uc.r.appspot.com' - -_DASHBOARD_RUN_LIST = _DASHBOARD_API_HOST + '/system_runs' -_DASHBOARD_RUN_BY_ID = _DASHBOARD_RUN_LIST + '/{run_id}' - -_DASHBOARD_ATTEMPT_LIST = _DASHBOARD_API_HOST + '/import_attempts' -_DASHBOARD_ATTEMPT_BY_ID = _DASHBOARD_ATTEMPT_LIST + '/{attempt_id}' - -_DASHBOARD_LOG_LIST = _DASHBOARD_API_HOST + '/logs' -_DASHBOARD_LOG_BY_ID = _DASHBOARD_LOG_LIST + '/{log_id}' - - -class LogLevel: - """Allowed log levels of a log. - The level of a log can only be one of these. - """ - CRITICAL: str = 'critical' - ERROR: str = 'error' - WARNING: str = 'warning' - INFO: str = 'info' - DEBUG: str = 'debug' - - -class DashboardAPI: - """Import progress dashboard API client. - - The methods check for the response status code and throw - requests.exceptions.HTTPError if the code is larger than or equal to 400. - - Attributes: - iap: IAPRequest object for making HTTP requests to - Identity-Aware Proxy protected resources. - """ - - def __init__(self, client_id: str): - """Constructs a DashboardAPI. - - Args: - client_id: Oauth2 client id for authentication. - """ - self.iap = iap_request.IAPRequest(client_id) - logging.info('DashboardAPI.__init__: Initialized') - - def critical(self, - message: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Logs a message with level CRITICAL. See _log_helper.""" - return self._log_helper(message, LogLevel.CRITICAL, attempt_id, run_id, - time_logged) - - def error(self, - message: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Logs a message with level ERROR. See _log_helper.""" - return self._log_helper(message, LogLevel.ERROR, attempt_id, run_id, - time_logged) - - def warning(self, - message: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Logs a message with level WARNING. See _log_helper.""" - return self._log_helper(message, LogLevel.WARNING, attempt_id, run_id, - time_logged) - - def info(self, - message: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Logs a message with level INFO. See _log_helper.""" - return self._log_helper(message, LogLevel.INFO, attempt_id, run_id, - time_logged) - - def debug(self, - message: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Logs a message with level DEBUG. See _log_helper.""" - return self._log_helper(message, LogLevel.DEBUG, attempt_id, run_id, - time_logged) - - def init_run(self, system_run: Dict) -> Dict: - """Initializes an system run. - - Args: - system_run: System run as a dict. - - Returns: - Initialized system run returned from the dashboard as a dict. - - Raises: - requests.HTTPError: The importer returns a status code that is - larger than or equal to 400. - """ - logging.info('DashboardAPI.init_run: Posting %s to %s', system_run, - _DASHBOARD_RUN_LIST) - response = self.iap.post(_DASHBOARD_RUN_LIST, json=system_run) - response.raise_for_status() - logging.info('DashboardAPI.init_run: Received %s from %s', - response.text, _DASHBOARD_ATTEMPT_LIST) - return response.json() - - def init_attempt(self, import_attempt: Dict) -> Dict: - """Initializes an import attempt. - - Args: - import_attempt: Import attempt as a dict. - - Returns: - Initialized import attempt returned from the dashboard as a dict. - - Raises: - requests.HTTPError: The importer returns a status code that is - larger than or equal to 400. - """ - logging.info('DashboardAPI.init_attempt: Posting %s to %s', - import_attempt, _DASHBOARD_ATTEMPT_LIST) - response = self.iap.post(_DASHBOARD_ATTEMPT_LIST, json=import_attempt) - response.raise_for_status() - logging.info('DashboardAPI.init_attempt: Received %s from %s', - response.text, _DASHBOARD_ATTEMPT_LIST) - return response.json() - - def update_attempt(self, import_attempt: Dict, attempt_id: str) -> Dict: - """Updates some fields of an import attempt. - - Args: - import_attempt: Import attempt with the fields to update, as a dict. - attempt_id: ID of the import attempt, as a string. - - Returns: - Updated import attempt returned from the dashboard, as a dict. - - Raises: - requests.HTTPError: The importer returns a status code that is - larger than or equal to 400. - """ - query = _DASHBOARD_ATTEMPT_BY_ID.format_map({'attempt_id': attempt_id}) - logging.info('DashboardAPI.update_attempt: Patching %s to %s', - import_attempt, query) - response = self.iap.patch(query, json=import_attempt) - response.raise_for_status() - logging.info('DashboardAPI.update_attempt: Received %s from %s', - response.text, query) - return response.json() - - def update_run(self, system_run: Dict, run_id: str) -> Dict: - """Updates some fields of a system run. - - Args: - system_run: System run with the fields to update, as a dict. - run_id: ID of the system run, as a string. - - Returns: - Updated system run returned from the dashboard, as a dict. - - Raises: - requests.HTTPError: The importer returns a status code that is - larger than or equal to 400. - """ - query = _DASHBOARD_RUN_BY_ID.format_map({'run_id': run_id}) - logging.info('DashboardAPI.update_run: Patching %s to %s', system_run, - query) - response = self.iap.patch(query, json=system_run) - response.raise_for_status() - logging.info('DashboardAPI.update_run: Received %s from %s', - response.text, query) - return response.json() - - def _log_helper(self, - message: str, - level: str, - attempt_id: str = None, - run_id: str = None, - time_logged: str = None) -> Dict: - """Posts a progress log to the import progress dashboard. - - Args: - message: Log message as a string. - level: Log level as a string. - run_id: ID of the system run to link to as a string. - attempt_id: ID of the import attempt to link to as a string. - time_logged: Time logged in ISO 8601 format with UTC timezone - as a string. - - Returns: - The posted progress log as a dict. - - Raises: - ValueError: Neither run_id nor attempt_id is specified. - requests.HTTPError: The importer returns a status code that is - larger than or equal to 400. - """ - if not run_id and not attempt_id: - raise ValueError('Neither run_id nor attempt_id is specified') - if not time_logged: - time_logged = utils.utctime() - log = {'message': message, 'level': level, 'time_logged': time_logged} - if run_id: - log['run_id'] = run_id - if attempt_id: - log['attempt_id'] = attempt_id - logging.info('DashboardAPI._log_helper: Logging %s to %s', log, - _DASHBOARD_LOG_LIST) - response = self.iap.post(_DASHBOARD_LOG_LIST, json=log) - response.raise_for_status() - logging.info('DashboardAPI._log_helper: Received %s from %s', - response.text, _DASHBOARD_LOG_LIST) - return response.json() diff --git a/import-automation/executor/schedule_update_import.py b/import-automation/executor/schedule_update_import.py index b6b8a62737..ee90e053e8 100644 --- a/import-automation/executor/schedule_update_import.py +++ b/import-automation/executor/schedule_update_import.py @@ -26,6 +26,7 @@ from app.executor import import_executor from app.executor import cloud_scheduler from app.executor import validation +from app.service import email_notifier from app.service import file_uploader from app.service import github_api from google.cloud import storage @@ -229,6 +230,11 @@ def update(cfg: configs.ExecutorConfig, config=cfg, local_repo_dir=local_repo_dir) + # Also set the email motifier if possible. + if cfg.email_account and cfg.email_token: + executor.notifier = email_notifier.EmailNotifier( + cfg.email_account, cfg.email_token) + return executor.execute_imports_on_update(absolute_import_path) diff --git a/import-automation/executor/test/dashboard_api_test.py b/import-automation/executor/test/dashboard_api_test.py deleted file mode 100644 index 35eaebc4fe..0000000000 --- a/import-automation/executor/test/dashboard_api_test.py +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for dashboard_api.py. -""" - -import unittest -from unittest import mock - -from requests import exceptions - -from test import utils -from app.service import dashboard_api - - -@mock.patch('app.utils.utctime', lambda: '2020-07-15T12:07:17.365264+00:00') -class DashboardAPITest(unittest.TestCase): - - def setUp(self): - self.dashboard = dashboard_api.DashboardAPI('client-id') - - @mock.patch('app.service.iap_request.IAPRequest.post') - def test_log_helper(self, post): - args = { - 'message': 'message', - 'level': 'level', - 'run_id': 'run', - 'attempt_id': 'attempt', - 'time_logged': 'time' - } - expected = { - 'message': 'message', - 'level': 'level', - 'run_id': 'run', - 'attempt_id': 'attempt', - 'time_logged': 'time', - 'log_id': 'random-id' - } - post.return_value = utils.ResponseMock(200, expected) - self.assertEqual(expected, self.dashboard._log_helper(**args)) - post.assert_called_once_with( - 'https://datcom-data.uc.r.appspot.com/logs', json=args) - - @mock.patch('app.service.iap_request.IAPRequest.post') - def test_log_helper_time(self, post): - """Tests that time_logged is generated if not supplied.""" - args = {'message': 'message', 'level': 'level', 'run_id': 'run'} - expected = { - 'message': 'message', - 'level': 'level', - 'run_id': 'run', - 'time_logged': '2020-07-15T12:07:17.365264+00:00', - 'log_id': 'random-id' - } - post.return_value = utils.ResponseMock(200, expected) - self.assertEqual(expected, self.dashboard._log_helper(**args)) - - def test_log_helper_id(self): - """Tests that at least one of run_id and attempt_id - need to be specified.""" - self.assertRaises(ValueError, self.dashboard._log_helper, 'message', - 'level') - - @mock.patch('app.service.iap_request.IAPRequest.post') - def test_log_helper_http(self, post): - """Tests that an exception is thrown is the HTTP request fails.""" - post.return_value = utils.ResponseMock(400) - self.assertRaises(exceptions.HTTPError, self.dashboard._log_helper, - 'message', 'level', 'attempt') - - @mock.patch('app.service.iap_request.IAPRequest.patch') - def test_update_attempt(self, patch): - attempt = {'import_name': 'treasury'} - patch.return_value = utils.ResponseMock(200, {}) - self.assertEqual({}, self.dashboard.update_attempt(attempt, 'id')) - patch.assert_called_with( - 'https://datcom-data.uc.r.appspot.com/import_attempts/id', - json=attempt) - - @mock.patch('app.service.iap_request.IAPRequest.patch') - def test_update_run(self, patch): - run = {'commit_sha': 'commit-sha'} - patch.return_value = utils.ResponseMock(200, {}) - self.assertEqual({}, self.dashboard.update_run(run, 'id')) - patch.assert_called_with( - 'https://datcom-data.uc.r.appspot.com/system_runs/id', json=run) - - @mock.patch('app.service.iap_request.IAPRequest.post', - lambda self, url, json=None: utils.ResponseMock(200, json)) - def test_levels(self): - """Tests that the convenient logging functions set the right - logging levels. """ - args = {'message': 'message', 'time_logged': 'time', 'run_id': 'run'} - funcs = [(self.dashboard.critical, 'critical'), - (self.dashboard.error, 'error'), - (self.dashboard.warning, 'warning'), - (self.dashboard.info, 'info'), (self.dashboard.debug, 'debug')] - for func, level in funcs: - self.assertEqual(level, func(**args)['level']) diff --git a/import-automation/executor/test/import_executor_test.py b/import-automation/executor/test/import_executor_test.py index 34c93ef37f..0ceab3fd8c 100644 --- a/import-automation/executor/test/import_executor_test.py +++ b/import-automation/executor/test/import_executor_test.py @@ -57,25 +57,17 @@ def test_create_venv(self): self.assertEqual('123\n', proc.stdout) @mock.patch('app.utils.utctime', lambda: '2020-07-28T20:22:18.311294+00:00') - @mock.patch('app.service.dashboard_api.DashboardAPI') - def test_run_and_handle_exception(self, dashboard): + def test_run_and_handle_exception(self): def raise_exception(): raise Exception result = import_executor.run_and_handle_exception( - 'run', dashboard, raise_exception) + 'run', raise_exception) self.assertEqual('failed', result.status) self.assertEqual([], result.imports_executed) self.assertIn('Exception', result.message) self.assertIn('Traceback', result.message) - dashboard.critical.assert_called_once() - dashboard.update_run.assert_called_once_with( - { - 'status': 'failed', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - }, - run_id='run') def test_construct_process_message(self): process = subprocess.run('printf "out" & >&2 printf "err" & exit 1', diff --git a/import-automation/executor/test/integration_test.py b/import-automation/executor/test/integration_test.py index ea10db4c0d..7fd562f53f 100644 --- a/import-automation/executor/test/integration_test.py +++ b/import-automation/executor/test/integration_test.py @@ -58,13 +58,11 @@ def upload_string(self, string: str, dest: str): # TODO: change CONFIGs to main repo and fix integration test. @SkipTest @mock.patch('app.service.email_notifier.EmailNotifier', mock.MagicMock()) -@mock.patch('app.service.dashboard_api.DashboardAPI', mock.MagicMock()) @mock.patch('app.service.file_uploader.GCSFileUploader', GCSFileUploaderMock) @mock.patch('app.utils.pacific_time', lambda: '2020-07-15T12:07:17.365264-07:00') class StandaloneUpdateTest(unittest.TestCase): - """Tests for updating imports in standalone mode (without interaction - with the dashboard). + """Tests for updating imports in standalone mode. To add a test case: 1) Add a manifest.json to the import directory in the master branch of @@ -125,7 +123,6 @@ def test_covid_state_update(self): @SkipTest @mock.patch('app.service.import_service.ImportServiceClient', mock.MagicMock()) @mock.patch('app.service.email_notifier.EmailNotifier', mock.MagicMock()) -@mock.patch('app.service.dashboard_api.DashboardAPI', mock.MagicMock) @mock.patch('app.utils.pacific_time', lambda: '2020-07-15T12:07:17.365264-07:00') @mock.patch('app.service.file_uploader.GCSFileUploader', GCSFileUploaderMock) @@ -171,7 +168,6 @@ def test_jolts(self): @SkipTest @mock.patch('app.utils.utctime', lambda: '2020-07-24T16:27:22.609304+00:00') @mock.patch('app.service.email_notifier.EmailNotifier', mock.MagicMock()) -@mock.patch('app.service.dashboard_api.DashboardAPI', mock.MagicMock()) @mock.patch('google.cloud.scheduler.CloudSchedulerClient', utils.SchedulerClientMock) @mock.patch('google.protobuf.json_format.MessageToDict', diff --git a/import-automation/import-progress-dashboard-api/.gitignore b/import-automation/import-progress-dashboard-api/.gitignore deleted file mode 100644 index fb0324c7b9..0000000000 --- a/import-automation/import-progress-dashboard-api/.gitignore +++ /dev/null @@ -1,141 +0,0 @@ -.DS_Store -.idea - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ diff --git a/import-automation/import-progress-dashboard-api/README.md b/import-automation/import-progress-dashboard-api/README.md deleted file mode 100644 index 4121446754..0000000000 --- a/import-automation/import-progress-dashboard-api/README.md +++ /dev/null @@ -1,139 +0,0 @@ -# Import Progress Dashboard API - -This directory contains code of a REST API that manages information -about import progress and logs. - -# Data Model - -There are three types of resources: -1. System Run - - Describes a run of the executor - - A system run can execute multiple import attempts each corresponding to - an import specification in the manifest - - See [app/model/system_run_model.py](app/model/system_run_model.py) - for fields. -2. Import Attempt - - An attempt to import a dataset executed by a system run - - See [app/model/import_attempt_model.py](app/model/import_attempt_model.py) - for fields. -3. Progress Log - - A log generated by a system run and optionally an import attempt - - See [app/model/progress_log_model.py](app/model/progress_log_model.py) - for fields. - -# Storage - -The three types of entities are stored in Google Cloud Datastore. The message -bodies of progress logs are stored in Google Cloud Storage and loaded -dynamically when queried. - -# Endpoints - -1. `/system_runs` (See `SystemRunList` in - [app/resource/system_run_list.py](app/resource/system_run_list.py)) - - Method: GET - - Purpose: Filters system runs - - Arguments - - Any fields of a system run - - URL parameters - - `order`: List of field names to order the returned - system runs by. Prepend "-" to a field name to sort it in - descending order. The list is specified by repeated keys, - e.g., `?order=status&order=-time_created` - - `limit`: Maximum number of system runs to return, as an integer - - Returns - - List of system runs that pass the filter -2. `/system_runs` - - Method: POST - - Purpose: Creates a new system run - - Arguments - - Any fields of a system run except `run_id`, `import_attempts`, and `logs` - - Returns - - Created system run -3. `/system_runs/{run_id}` (See `SystemRunByID` in - [app/resource/system_run.py](app/resource/system_run.py)) - - Method: GET - - Purpose: Retrieves a system run by `run_id` - - URL path variables - - `run_id`: ID of the system run, as a string - - Returns - - System run with the `run_id` -4. `/system_runs/{run_id}` (See `SystemRunByID` in - [app/resource/system_run.py](app/resource/system_run.py)) - - Method: PATCH - - Purpose: Modifies an existing system run - - Arguments: - - Any fields of a system run except `run_id`, `import_attempts`, and `logs` - - URL path variables - - `run_id`: ID of the system run, as a string - - Returns - - Modified system run -5. `/system_runs/{run_id}/logs` (See `ProgressLogByRunID` in - [app/resource/progress_log.py](app/resource/progress_log.py)) - - Method: GET - - Purpose: Retrieves all the logs attached to a system run - - URL path variables - - `run_id`: ID of the system run, as a string - - Returns - - List of progress logs -6. `/import_attempts/{attempt_id}` (See `ImportAttemptByID` in - [app/resource/import_attempt.py](app/resource/import_attempt.py)) - - Method: GET - - Purpose: Retrieves an import attempt by `attempt_id` - - URL path variables - - `attempt_id`: ID of the import attempt, as a string - - Returns - - Import attempt with the `attempt_id` -7. `/import_attempts/{attempt_id}` - - Method: PATCH - - Purpose: Modifies an existing import attempt - - Arguments: - - Any fields of an import attempt except `attempt_id`, `run_id`, and `logs` - - URL path variables - - `attempt_id`: ID of the import attempt, as a string - - Returns - - Modified import attempt -8. `/import_attempts/{attempt_id}/logs` (See `ProgressLogByAttemptID` in - [app/resource/progress_log.py](app/resource/progress_log.py)) - - Method: GET - - Purpose: Retrieves all the logs attached to an import attempt - - URL path variables - - `attempt_id`: ID of the import attempt, as a string - - Returns - - List of progress logs -9. `/logs` (See `ProgressLogList` in [app/resource/progress_log_list.py](app/resource/progress_log_list.py)) - - Method: POST - - Purpose: Creates a new progress log - - Arguments - - Any fields of a progress log except `log_id` - - `message`, `level`, `run_id` are required - - `attempt_id` can be optionally supplied to also attach the log to an - import attempt - - If `time_logged` is missing, the time at which the API receives the - the request is used - - Returns - - Created progress log -10. `/logs/{log_id}` (See `ProgressLogByID` in [app/resource/progress_log.py](app/resource/progress_log.py)) - - Method: GET - - Purpose: Retrieves a progress log by `log_id` - - URL path variables - - log_id: ID of the progress log, as a string - - Returns - - Progress log with the `log_id` - - -# Deploying to App Engine - -1. Change [app/configs.py](app/configs.py) as appropriate -2. `gcloud app deploy` - - -# Running Tests - -``` -. run_test.sh -``` - -The Datastore emulator must be installed for the tests to run. -See https://cloud.google.com/datastore/docs/tools/datastore-emulator. -Running run_test.sh will attempt to install the emulator. diff --git a/import-automation/import-progress-dashboard-api/app.yaml b/import-automation/import-progress-dashboard-api/app.yaml deleted file mode 100644 index b71cafe598..0000000000 --- a/import-automation/import-progress-dashboard-api/app.yaml +++ /dev/null @@ -1,4 +0,0 @@ -runtime: python37 -entrypoint: gunicorn -b :$PORT app.main:FLASK_APP -env_variables: - DASHBOARD_PRODUCTION: "True" diff --git a/import-automation/import-progress-dashboard-api/app/__init__.py b/import-automation/import-progress-dashboard-api/app/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/import-automation/import-progress-dashboard-api/app/__main__.py b/import-automation/import-progress-dashboard-api/app/__main__.py deleted file mode 100644 index 1ec7ebf2d1..0000000000 --- a/import-automation/import-progress-dashboard-api/app/__main__.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Entry point of the app module. -To run the app locally, run "python3 -m app" in the -progress-dashboard-rest directory -""" - -from app import main - -main.main() diff --git a/import-automation/import-progress-dashboard-api/app/configs.py b/import-automation/import-progress-dashboard-api/app/configs.py deleted file mode 100644 index 7da6e5b6c1..0000000000 --- a/import-automation/import-progress-dashboard-api/app/configs.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Configurations for the dashboard API. -""" - -# ID of the Google Cloud project that enables Datastore -PROJECT_ID = 'datcom-data' -# Google Cloud Datastore namespace in which entities are stored -DASHBOARD_NAMESPACE = 'import-progress-dashboard' -# Google Cloud Storage bucket in which log messages are be stored -LOG_BUCKET_NAME = 'dashboard-progress-logs' diff --git a/import-automation/import-progress-dashboard-api/app/main.py b/import-automation/import-progress-dashboard-api/app/main.py deleted file mode 100644 index 6c10f8a5d2..0000000000 --- a/import-automation/import-progress-dashboard-api/app/main.py +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Entry point of the API. -When deployed on App Engine, gunicorn will serve the FLASK_APP variable, -which is a Flask object. -""" - -import os - -import flask -import flask_restful - -from app import utils -from app.resource import import_attempt_list -from app.resource import system_run_list -from app.resource import import_attempt -from app.resource import progress_log -from app.resource import progress_log_list -from app.resource import system_run - - -def create_app(logging=True): - """Creates the Flask app. - - Args: - logging: Whether to set up Google Cloud Logging. - """ - if logging: - utils.setup_logging() - return flask.Flask(__name__) - - -def create_api(app): - """Creates the REST API on top of the Flask app.""" - api = flask_restful.Api(app) - api.add_resource(import_attempt.ImportAttemptByID, - '/import_attempts/') - api.add_resource(import_attempt_list.ImportAttemptList, '/import_attempts') - api.add_resource(progress_log.ProgressLogByAttemptID, - '/import_attempts//logs') - api.add_resource(system_run_list.SystemRunList, '/system_runs') - api.add_resource(system_run.SystemRunByID, '/system_runs/') - api.add_resource(progress_log.ProgressLogByRunID, - '/system_runs//logs') - api.add_resource(progress_log_list.ProgressLogList, '/logs') - api.add_resource(progress_log.ProgressLog, '/logs/') - return api - - -def main(): - """Runs the Flask app locally.""" - FLASK_APP.run(debug=True, port=8080) - - -FLASK_APP = create_app('DASHBOARD_PRODUCTION' in os.environ) -FLASK_API = create_api(FLASK_APP) diff --git a/import-automation/import-progress-dashboard-api/app/model/import_attempt_model.py b/import-automation/import-progress-dashboard-api/app/model/import_attempt_model.py deleted file mode 100644 index 43e2fa425d..0000000000 --- a/import-automation/import-progress-dashboard-api/app/model/import_attempt_model.py +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Data model of an import attempt. -""" -import enum - - -class ImportAttempt: - """Data model of an import attempt. - - This class is not a data class. The class variables below are the fields - of an import attempt and their values are the field names. They are used - to index import attempt entities. - """ - # ID of the import attempt as a string. This is a UUID hex string. - attempt_id = 'attempt_id' - # ID of the system run as a string. This is a UUID hex string. - run_id = 'run_id' - # Relative import name as a string parsed from the manifest. - import_name = 'import_name' - # Absolute import name as a string of the form - # :, e.g., - # scripts/us_fed/treasury:US_FED_constant_maturity_rates - absolute_import_name = 'absolute_import_name' - # Provenance URL parsed from the manifest. - provenance_url = 'provenance_url' - # Provenance description parsed from the manifest. - provenance_description = 'provenance_description' - # Status of the import attempt, as a string. - # Must be one of the defined values by ImportAttemptStatus. - status = 'status' - # Creation time as a string of the import attempt. - # Must be in ISO 8601 format with UTC timezone of the form - # 'YYYY-MM-DDTHH:MM:SS.ffffff+00:00', e.g., - # '2020-06-30T04:28:53.717569+00:00'. - time_created = 'time_created' - # Completion time as a string of the import attempt. See time_created for - # format. - time_completed = 'time_completed' - # List of IDs of progress logs attached to this import attempt, each - # as a string. - logs = 'logs' - # List of import inputs. Each import input is a dict with three fields: - # import_input_url, node_mcf_url, and csv_url. - import_inputs = 'import_inputs' - - -class ImportAttemptStatus(enum.Enum): - """Allowed status of an import attempt. - - The status of an import attempt can only be one of these. - """ - CREATED = 'created' - SUCCEEDED = 'succeeded' - FAILED = 'failed' - - -IMPORT_ATTEMPT_STATUS = frozenset( - status.value for status in ImportAttemptStatus) diff --git a/import-automation/import-progress-dashboard-api/app/model/progress_log_model.py b/import-automation/import-progress-dashboard-api/app/model/progress_log_model.py deleted file mode 100644 index f7851f9253..0000000000 --- a/import-automation/import-progress-dashboard-api/app/model/progress_log_model.py +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Data model of a progress log. -""" -import enum - - -class ProgressLog: - """Data model of a progress log. - - This class is not a data class. The class variables below are the fields - of a progress log and their values are the field names. They are used - to index progress log entities. - """ - # ID of the progress log as a string. This is a UUID hex string. - log_id = 'log_id' - # Log level as a string. Must be one of the values defined by LogLevel. - level = 'level' - # Log message as a string. The API stores the actual message in Google - # Cloud Storage and converts it to an identifier. When the user queries the - # log, the identifier is converted back to the actual message. - message = 'message' - # Time at which the log is created, as a string. - # See import_attempt_model.ImportAttempt.time_created for format. - time_logged = 'time_logged' - # ID of the system run this progress log is attached to. - run_id = 'run_id' - # ID of the import attempt this progress log is attached to. - attempt_id = 'attempt_id' - - -class LogLevel(enum.Enum): - """Allowed log levels of a log. - - The level of a log can only be one of these. - """ - CRITICAL = 'critical' - ERROR = 'error' - WARNING = 'warning' - INFO = 'info' - DEBUG = 'debug' - - -LOG_LEVELS = frozenset(level.value for level in LogLevel) diff --git a/import-automation/import-progress-dashboard-api/app/model/system_run_model.py b/import-automation/import-progress-dashboard-api/app/model/system_run_model.py deleted file mode 100644 index c661ae3c5c..0000000000 --- a/import-automation/import-progress-dashboard-api/app/model/system_run_model.py +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Data model of a system run. -""" -import enum - - -class SystemRun: - """Data model of a system run. - - This class is not a data class. The class variables below are the fields - of a system run and their values are the field names. They are used - to index system run entities. - """ - # ID of the system run as a string. This is a UUID hex string. - run_id = 'run_id' - # Name of the repository from which the pull request is created, - # if applicable, as a string. - repo_name = 'repo_name' - # Name of the branch from which the pull request is created, - # if applicable, as a string. - branch_name = 'branch_name' - # Number of the pull request, is applicable, as an int. - pr_number = 'pr_number' - # ID of the commit as a string, if applicable. - commit_sha = 'commit_sha' - # Time at which the system run is created, as a string. - # See import_attempt_model.ImportAttempt.time_created for format. - time_created = 'time_created' - # Time at which the system run is completed, as a string. - # See import_attempt_model.ImportAttempt.time_created for format. - time_completed = 'time_completed' - # List of IDs of the import attempts executed by this system run, each - # as a string. - import_attempts = 'import_attempts' - # List of IDs of progress logs attached to this system run, each - # as a string. - logs = 'logs' - # Status of the system run, as a string. - # Must be one of the defined values by SystemRunStatus. - status = 'status' - - -FIELDS = frozenset( - name for name in vars(SystemRun) if not name.startswith('__')) - - -class SystemRunStatus(enum.Enum): - """Allowed status of a system run. - - The status of a system run can only be one of these. - """ - CREATED = 'created' - SUCCEEDED = 'succeeded' - FAILED = 'failed' - - -SYSTEM_RUN_STATUS = frozenset(status.value for status in SystemRunStatus) diff --git a/import-automation/import-progress-dashboard-api/app/resource/base_resource.py b/import-automation/import-progress-dashboard-api/app/resource/base_resource.py deleted file mode 100644 index 564a43a96d..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/base_resource.py +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Base class for system run, import attempt, and progress log resources. -""" - -import flask_restful - -from app.service import validation - - -class BaseResource(flask_restful.Resource): - """Base class for system run, import attempt, and progress log resources.""" - - @classmethod - def _get_helper(cls, database, id_field, entity_id): - """Retrieves an entity specified by its entity_id from the database. - - Args: - database: Instance of one of SystemRunDatabase, - ImportAttemptDatabase, and ProgressLogDatabase. - id_field: Name of the ID field of the entity as a string. - entity_id: ID of the entity as a string. - - Returns: - The entity with the entity_id if successful as a datastore Entity - object. Otherwise, (error message, error code), where the error - message is a string and the error code is an int. - """ - entity = database.get(entity_id) - if not entity: - return validation.get_not_found_error(id_field, entity_id) - return entity diff --git a/import-automation/import-progress-dashboard-api/app/resource/import_attempt.py b/import-automation/import-progress-dashboard-api/app/resource/import_attempt.py deleted file mode 100644 index b5e366f5cb..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/import_attempt.py +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Import attempt resource associated with the endpoint -'/import_attempts/'. -""" - -from flask_restful import reqparse - -from app import utils -from app.service import import_attempt_database -from app.service import validation -from app.model import import_attempt_model -from app.resource import base_resource - -_MODEL = import_attempt_model.ImportAttempt - - -def set_import_attempt_default_values(import_attempt): - """Sets default values for some fields of the import attempt and returns it. - - status is set to 'created'. - time_created is set to the current time. - logs is set to an empty list. - """ - import_attempt.setdefault( - _MODEL.status, import_attempt_model.ImportAttemptStatus.CREATED.value) - import_attempt.setdefault(_MODEL.time_created, utils.utctime()) - import_attempt.setdefault(_MODEL.logs, []) - return import_attempt - - -class ImportAttempt(base_resource.BaseResource): - """Base class for an import attempt resource. - - Attributes: - client: datastore Client object used to communicate with Datastore - database: ImportAttemptDatabase object for querying and storing - import attempts using the client - """ - parser = reqparse.RequestParser() - # The parser looks for these fields in the request body. - # The Content-Type of the request must be application/json. - optional_fields = ((_MODEL.attempt_id, str), (_MODEL.run_id, - str), (_MODEL.import_name,), - (_MODEL.absolute_import_name,), (_MODEL.provenance_url,), - (_MODEL.provenance_description,), (_MODEL.status,), - (_MODEL.time_created,), (_MODEL.time_completed,), - (_MODEL.logs, str, 'append'), (_MODEL.import_inputs, - dict, 'append')) - utils.add_fields(parser, optional_fields, required=False) - - def __init__(self, client=None): - """Constructs an ImportAttempt.""" - if not client: - client = utils.create_datastore_client() - self.client = client - self.database = import_attempt_database.ImportAttemptDatabase( - self.client) - - -class ImportAttemptByID(ImportAttempt): - """API for managing import attempts by attempt_id associated with - '/import/'. - - See ImportAttempt. - """ - - def get(self, attempt_id): - """Retrieves an import attempt by its attempt_id. - - Args: - attempt_id: ID of the import attempt as a string - - Returns: - The import attempt with the attempt_id if successful as a - datastore Entity object. Otherwise, (error message, error code), - where the error message is a string and the error code is an int. - """ - return self._get_helper(self.database, _MODEL.attempt_id, attempt_id) - - def patch(self, attempt_id): - """Modifies the value of a field of an existing import attempt. - - The attempt_id and run_id of an existing import attempt resource are - forbidden to be patched. - - Args: - attempt_id: ID of the import attempt as a string - - Returns: - The import attempt with the attempt_id if successful as a - datastore Entity object. Otherwise, (error message, error code), - where the error message is a string and the error code is an int. - """ - args = ImportAttempt.parser.parse_args() - if (_MODEL.attempt_id in args or _MODEL.run_id in args or - _MODEL.logs in args): - return validation.get_patch_forbidden_error( - (_MODEL.attempt_id, _MODEL.run_id, _MODEL.logs)) - valid, err, code = validation.is_import_attempt_valid( - args, attempt_id=attempt_id) - if not valid: - return err, code - - with self.client.transaction(): - import_attempt = self.database.get(attempt_id) - if not import_attempt: - return validation.get_not_found_error(_MODEL.attempt_id, - attempt_id) - import_attempt.update(args) - return self.database.save(import_attempt) diff --git a/import-automation/import-progress-dashboard-api/app/resource/import_attempt_list.py b/import-automation/import-progress-dashboard-api/app/resource/import_attempt_list.py deleted file mode 100644 index fddbbb0fc3..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/import_attempt_list.py +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Import attempt list resource associated with the endpoint '/import_attempts'. -""" - -from app.resource import import_attempt -from app.service import system_run_database -from app.service import validation -from app.model import import_attempt_model -from app.model import system_run_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun - - -class ImportAttemptList(import_attempt.ImportAttempt): - """API for querying a list of import attempts based on some criteria - and creating new import attempts. - - For methods that require a request body, the content type of the request - must be 'application/json'. - - Attributes: - See ImportAttempt. - run_database: SystemRunDatabase object for querying system runs - using the client. - """ - - def __init__(self, client=None): - """Constructs an ImportAttemptList.""" - super().__init__(client) - self.run_database = system_run_database.SystemRunDatabase(self.client) - - def get(self): - """Retrieves a list of import attempts that pass the filter defined by - the key-value mappings in the request body.""" - args = import_attempt.ImportAttempt.parser.parse_args() - return self.database.filter(args) - - def post(self): - """Creates a new import attempt with the fields provided in the - request body. - - run_id must be present in the request body to link the import attempt - to a system run. - - Returns: - The created import attempt as a datastore Entity object with - attempt_id set. Otherwise, (error message, error code), where - the error message is a string and the error code is an int. - """ - args = import_attempt.ImportAttempt.parser.parse_args() - valid, err, code = validation.is_import_attempt_valid(args) - if not valid: - return err, code - present, err, code = validation.required_fields_present( - (_ATTEMPT.run_id,), args) - if not present: - return err, code - - # Only the API can modify these fields - args.pop(_ATTEMPT.attempt_id, None) - args.pop(_ATTEMPT.logs, None) - import_attempt.set_import_attempt_default_values(args) - - with self.client.transaction(): - # The system run pointed to by this import attempt needs to - # point back at the import attempt. - run_id = args[_ATTEMPT.run_id] - run = self.run_database.get(run_id) - if not run: - return validation.get_not_found_error(_ATTEMPT.run_id, run_id) - - attempt = self.database.get(make_new=True) - attempt.update(args) - self.database.save(attempt) - - attempts = run.setdefault(_RUN.import_attempts, []) - attempts.append(attempt.key.name) - self.run_database.save(run) - - return attempt diff --git a/import-automation/import-progress-dashboard-api/app/resource/progress_log.py b/import-automation/import-progress-dashboard-api/app/resource/progress_log.py deleted file mode 100644 index 9df3cde308..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/progress_log.py +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Import log resources associated with the endpoints -'/import_attempts//logs', -'/system_runs//logs', and '/logs/'. -""" - -import flask_restful -from flask_restful import reqparse - -from app import utils -from app.service import validation -from app.service import import_attempt_database -from app.service import system_run_database -from app.service import progress_log_database -from app.model import import_attempt_model -from app.model import system_run_model -from app.model import progress_log_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun -_LOG = progress_log_model.ProgressLog - - -class ProgressLog(flask_restful.Resource): - """Base class for a progress log resource. - - Attributes: - client: datastore Client object used to communicate with Datastore. - run_database: SystemRunDatabase object for querying and storing - system runs using the client. - log_database: ProgressLogDatabase object for querying and storing - progress logs using the client. - attempt_database: ImportAttemptDatabase object for querying and storing - import attempts using the client. - """ - parser = reqparse.RequestParser() - required_fields = [(_LOG.level,), (_LOG.message,)] - optional_fields = [(_LOG.time_logged,), (_LOG.run_id,), (_LOG.attempt_id,)] - utils.add_fields(parser, required_fields, required=True) - utils.add_fields(parser, optional_fields, required=False) - - def __init__(self, client=None, message_manager=None): - """Constructs a ProgressLog. - - Args: - client: datastore Client object used to communicate with Datastore. - message_manager: LogMessageManager object used to store and retreive - log messages. - """ - if not client: - client = utils.create_datastore_client() - self.client = client - self.run_database = system_run_database.SystemRunDatabase(self.client) - self.log_database = progress_log_database.ProgressLogDatabase( - self.client, message_manager) - self.attempt_database = import_attempt_database.ImportAttemptDatabase( - self.client) - - -class ProgressLogByID(ProgressLog): - """API associated with the endpoint '/logs/' for querying - a progress log by its log_id. - - Attributes: - See ImportLog. - """ - - def get(self, log_id): - """Queries the progress logs by its log_id. - - Args: - log_id: ID of the progress log as a string. - - Returns: - A list of progress logs with messages loaded of the - system run if successful. Otherwise, (error message, error code). - """ - log = self.log_database.get(log_id, load_content=True) - if not log: - return validation.get_not_found_error(_LOG.log_id, log_id) - return log - - -class ProgressLogByRunID(ProgressLog): - """API associated with the endpoint '/import//logs' for - querying the progress logs of an import attempt specified by its attempt_id. - - Attributes: - See ImportLog. - """ - - def get(self, run_id): - """Queries the progress logs of a system run. - - Args: - run_id: ID of the system run as a string. - - Returns: - A list of progress logs each as a datastore Entity object with - messages loaded of the system run if successful. Otherwise, - (error message, error code). - """ - run = self.run_database.get(run_id) - if not run: - return validation.get_not_found_error(_RUN.run_id, run_id) - log_ids = run.get(_RUN.logs, []) - return self.log_database.load_logs(log_ids) - - -class ProgressLogByAttemptID(ProgressLog): - """API associated with the endpoint '/import//logs' for - querying the progress logs of an import attempt specified by its attempt_id. - - Attributes: - See ImportLog. - """ - - def get(self, attempt_id): - """Queries the progress logs of an import attempt. - - Args: - attempt_id: ID of the import attempt as a string. - - Returns: - A list of progress logs each as a datastore Entity object with - messages loaded of the import attempt if successful. Otherwise, - (error message, error code). - """ - attempt = self.attempt_database.get(attempt_id) - if not attempt: - return validation.get_not_found_error(_ATTEMPT.attempt_id, - attempt_id) - log_ids = attempt.get(_ATTEMPT.logs, []) - return self.log_database.load_logs(log_ids) diff --git a/import-automation/import-progress-dashboard-api/app/resource/progress_log_list.py b/import-automation/import-progress-dashboard-api/app/resource/progress_log_list.py deleted file mode 100644 index 99abcdfe15..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/progress_log_list.py +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Progress log list resource associated with the endpoint '/logs'. -See app/model/progress_log_model.py and app/resource/progress_log.py for what -a progress log is. -""" - -import http - -from app import utils -from app.resource import progress_log -from app.model import import_attempt_model -from app.model import system_run_model -from app.model import progress_log_model -from app.service import validation - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun -_LOG = progress_log_model.ProgressLog - - -def add_log_to_entity(log_id, entity): - """Adds a progress log pointer to an entity. - - Args: - log_id: ID of the progress log as a string. - entity: An import attempt or system run datastore Entity object. - - Returns: - The same input entity with one log added, as a datastore Entity object. - """ - log_ids = entity.setdefault(_ATTEMPT.logs, []) - log_ids.append(log_id) - return entity - - -class ProgressLogList(progress_log.ProgressLog): - """API associated with the endpoint '/logs' for creating new progress logs. - - Attributes: - See ProgressLog. - """ - - def post(self): - """Creates a new progress log with the fields provided in the - request body. - - Log level can only be one of the levels defined by LogLevel. - A progress log must be at least linked to a system run and can - optionally be linked to an import attempt. - - Returns: - The created progress log as a datastore Entity object with - log_id set. Otherwise, (error message, error code), where - the error message is a string and the error code is an int. - """ - args = progress_log.ProgressLog.parser.parse_args() - args.pop(_LOG.log_id, None) - args.setdefault('time_logged', utils.utctime()) - - valid, err, code = validation.is_progress_log_valid(args) - if not valid: - return err, code - - valid, err, code = validation.required_fields_present( - (_LOG.run_id, _LOG.level, _LOG.message), args) - if not valid: - return err, code - - run_id = args.get('run_id') - attempt_id = args.get('attempt_id') - run = None - attempt = None - - with self.client.transaction(): - if run_id: - run = self.run_database.get(run_id) - if not run: - return validation.get_not_found_error(_RUN.run_id, run_id) - if attempt_id: - attempt = self.attempt_database.get(attempt_id) - if not attempt: - return validation.get_not_found_error( - _ATTEMPT.attempt_id, attempt_id) - if run and attempt: - if attempt_id not in run[_RUN.import_attempts]: - return ('The import attempt specified by the attempt_id ' - f'{attempt_id} in the request body is not ' - 'executed by the system run specified by the ' - f'run_id {run_id} in the request body', - http.HTTPStatus.CONFLICT) - - log = self.log_database.get(make_new=True) - log.update(args) - log = self.log_database.save(log, save_content=True) - if run: - self.run_database.save(add_log_to_entity(log.key.name, run)) - if attempt: - self.attempt_database.save( - add_log_to_entity(log.key.name, attempt)) - return log diff --git a/import-automation/import-progress-dashboard-api/app/resource/system_run.py b/import-automation/import-progress-dashboard-api/app/resource/system_run.py deleted file mode 100644 index 08824492d5..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/system_run.py +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -System run resource associated with the endpoint -'/system_runs/'. -""" - -import flask_restful -from flask_restful import reqparse - -from app import utils -from app.model import system_run_model -from app.service import system_run_database -from app.service import validation -from app.resource import base_resource - -_MODEL = system_run_model.SystemRun - - -def set_system_run_default_values(system_run): - """Sets default values for some fields of a system run. - - import_attempts is set to an empty list. - status is set to 'created'. - time_created is set to the current time. - logs is set to an empty list. - - Args: - system_run: System run as a dict. - - Returns: - The same system run with the fields set, as a dict. - """ - system_run.setdefault(_MODEL.import_attempts, []) - system_run.setdefault(_MODEL.status, - system_run_model.SystemRunStatus.CREATED.value) - system_run.setdefault(_MODEL.time_created, utils.utctime()) - system_run.setdefault(_MODEL.logs, []) - return system_run - - -class SystemRun(base_resource.BaseResource): - """Base class for a system run resource. - - Attributes: - client: datastore Client object used to communicate with Datastore - database: SystemRunDatabase object for querying and storing - system runs using the client - """ - parser = reqparse.RequestParser() - optional_fields = ((_MODEL.run_id, str), (_MODEL.repo_name,), - (_MODEL.branch_name,), (_MODEL.pr_number, int), - (_MODEL.commit_sha,), (_MODEL.time_created,), - (_MODEL.time_completed,), (_MODEL.import_attempts, str, - 'append'), - (_MODEL.logs, str, 'append'), (_MODEL.status,)) - utils.add_fields(parser, optional_fields, required=False) - - def __init__(self, client=None): - """Constructs a SystemRun.""" - if not client: - client = utils.create_datastore_client() - self.client = client - self.database = system_run_database.SystemRunDatabase(self.client) - - -class SystemRunByID(SystemRun): - """API for managing system runs by run_id associated with the endpoint - '/system_runs/'. - - See SystemRun. - """ - - def get(self, run_id): - """Retrieves a system run by its run_id. - - Args: - run_id: ID of the system run as a string - - Returns: - The system run with the run_id if successful as a - datastore Entity object. Otherwise, (error message, error code), - where the error message is a string and the error code is an int. - """ - return self._get_helper(self.database, _MODEL.run_id, run_id) - - def patch(self, run_id): - """Modifies the value of a field of an existing system run. - - The run_id and import_attempts of an existing system run are - forbidden to be patched. - - Args: - run_id: ID of the system run as a string - - Returns: - The system run with the run_id if successful as a - datastore Entity object. Otherwise, (error message, error code), - where the error message is a string and the error code is an int. - """ - args = SystemRunByID.parser.parse_args() - if (_MODEL.run_id in args or _MODEL.import_attempts in args or - _MODEL.logs in args): - return validation.get_patch_forbidden_error( - (_MODEL.run_id, _MODEL.import_attempts, _MODEL.logs)) - valid, err, code = validation.is_system_run_valid(args, run_id=run_id) - if not valid: - return err, code - - with self.client.transaction(): - run = self.database.get(run_id) - if not run: - return validation.get_not_found_error(_MODEL.run_id, run_id) - run.update(args) - return self.database.save(run) diff --git a/import-automation/import-progress-dashboard-api/app/resource/system_run_list.py b/import-automation/import-progress-dashboard-api/app/resource/system_run_list.py deleted file mode 100644 index 38829ec8f3..0000000000 --- a/import-automation/import-progress-dashboard-api/app/resource/system_run_list.py +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -System run lists, the resource associated with the endpoint '/system_runs'. -""" - -import http - -import flask -from werkzeug import exceptions - -from app import utils -from app.resource import system_run -from app.service import validation -from app.model import system_run_model - - -class SystemRunList(system_run.SystemRun): - """API for querying a list of system runs based on some criteria and - for creating new system runs. - - See SystemRun. - """ - _parser = system_run.SystemRun.parser.copy() - utils.add_fields(_parser, (('limit', int), ('order', str, 'append')), - required=False) - - def get(self): - """Retrieves a list of system runs that pass the filter defined by - the key-value mappings in the request body. - - The filter can only contain fields defined by SystemRun. - - This endpoint accepts two url arguments: limit and order. - limit is an integer that specifies the maximum number of system runs - returned and order is a list of field names to order the returned - system runs by. Prepend "-" to a field name to sort it in - descending order. The list can be specified by repeated keys. E.g., - ?order=status&order=-time_created. - - Returns: - A list of system runs each as a datastore Entity object - if successful. Otherwise, (error message, error code), where - the error message is a string and the error code is an int. - """ - args = None - try: - args = SystemRunList._parser.parse_args(strict=True) - except exceptions.BadRequest as exc: - return exc.description, exc.code - order = args.pop('order', ()) - limit = args.pop('limit', None) - for field in args: - if field not in system_run_model.FIELDS: - return (f'Field {field} is not a valid field for a system run', - http.HTTPStatus.BAD_REQUEST) - return self.database.filter(args, order=order, limit=limit) - - def post(self): - """Creates a new system run with the fields provided in the - request body. - - Returns: - The created system run as a datastore Entity object with - run_id set. Otherwise, (error message, error code), where - the error message is a string and the error code is an int. - """ - args = system_run.SystemRunByID.parser.parse_args() - valid, err, code = validation.is_system_run_valid(args) - if not valid: - return err, code - - # Only the API can modify these fields - args.pop('run_id', None) - args.pop('import_attempts', None) - args.pop('logs', None) - system_run.set_system_run_default_values(args) - - with self.client.transaction(): - run = self.database.get(make_new=True) - run.update(args) - return self.database.save(run) diff --git a/import-automation/import-progress-dashboard-api/app/service/base_database.py b/import-automation/import-progress-dashboard-api/app/service/base_database.py deleted file mode 100644 index a3b456fd0d..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/base_database.py +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Base class for a Database service that stores some kind of entities using -Google Cloud Datastore for storage. -""" - -from google.cloud import datastore - -from app import utils - - -class BaseDatabase: - """Base class for a Database service that stores some kind of entities using - Google Cloud Datastore for storage. - - New datastore Entity objects must be created using get(make_new=True). - - The datastore Client will attempt to infer credentials based on - host environment. See - https://cloud.google.com/docs/authentication/production#finding_credentials_automatically. - - Attributes: - kind: Kind of entities to store as a string - client: datastore Client object to communicate with Datastore - """ - - def __init__(self, kind, client=None, id_field=None): - """Constructs an BaseDatabase. - - Args: - kind: Kind of entities stored - client: Client to communicate with Datastore. - id_field: Name of the ID field of an entity as a string. - Every operation checks if id_field is not already a field in the - entity. If not, it will be added to the entity with the value of - the key name. - """ - if not client: - client = utils.create_datastore_client() - self.kind = kind - self.client = client - self.id_field = id_field - - def get(self, entity_id=None, make_new=False): - """Retrieves an entity from Datastore given its entity_id. - - Args: - entity_id: ID of the entity as a string. - make_new: Whether to return a new entity if the entity_id does - not exist, as a boolean. If entity_id is None, make_new must - be True. - - Returns: - The entity with the entity_id, as a datastore Entity. None, - if the entity_id does not exist and make_new is False. - - Raises: - ValueError: entity_id is None and make_new is False - """ - if not entity_id and not make_new: - raise ValueError('entity_id is None and make_new is False') - if not entity_id: - entity = datastore.Entity(self._get_key(utils.get_id())) - else: - entity = self.client.get(self._get_key(entity_id)) - if not entity: - if make_new: - entity = datastore.Entity(self._get_key(utils.get_id())) - else: - return None - entity[self.id_field] = entity.key.name - return entity - - def _get_key(self, entity_id): - """Creates a datastore Key for an entity that has the entity_id. - - Args: - entity_id: ID of the entity as a string. - - Returns: - A datastore Key object composed of the entity kind and - the entity_id. - """ - if entity_id: - return self.client.key(self.kind, entity_id) - return self.client.key(self.kind) - - def filter(self, kv_dict, order=(), limit=None): - """Retrieves a list of entities based on some criteria. - - Only equality is supported. For example, - filter(kv_dict={'foo': 'bar'}) retrieves all entities whose - foo field is 'bar'. - - Args: - kv_dict: Key-value mappings used for filtering as a dict. - order: Tuple or list of field names each as a string to order - the returned entities. Prepend "-" to a field name to sort it - in descending order. - limit: Maximum number of entities returned, as an int. - - Returns: - A list of entities that pass the filter each as a datastore Entity. - """ - query = self.client.query(kind=self.kind, order=order) - for key, value in kv_dict.items(): - query.add_filter(key, '=', value) - return list(query.fetch(limit=limit)) - - def save(self, entity): - """Saves the entity to Datastore. - - Args: - entity: Entity to save to Datastore as a datastore Entity. The - entity must have a complete key. - - Returns: - The saved entity as a datastore Entity. - - Raises: - ValueError: Key of the entity is not set or is partial. - """ - if not entity.key or not entity.key.name: - raise ValueError('Key of the entity is not set or is partial.') - if self.id_field and self.id_field not in entity: - entity[self.id_field] = entity.key.name - self.client.put(entity) - return entity diff --git a/import-automation/import-progress-dashboard-api/app/service/import_attempt_database.py b/import-automation/import-progress-dashboard-api/app/service/import_attempt_database.py deleted file mode 100644 index a87bf6dc17..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/import_attempt_database.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Database service for storing import attempts using Google Cloud Datastore for -storage. -""" - -from app.service import base_database -from app.model import import_attempt_model - -_MODEL = import_attempt_model.ImportAttempt - - -class ImportAttemptDatabase(base_database.BaseDatabase): - """Database service for storing import attempts using Google Cloud Datastore - for storage. - - See BaseDatabase. - """ - kind = 'import-attempt' - - def __init__(self, client=None): - """Constructs an ImportAttemptDatabase. - - See BaseDatabase. - """ - super().__init__(ImportAttemptDatabase.kind, client, _MODEL.attempt_id) diff --git a/import-automation/import-progress-dashboard-api/app/service/log_message_manager.py b/import-automation/import-progress-dashboard-api/app/service/log_message_manager.py deleted file mode 100644 index 82cf0eab66..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/log_message_manager.py +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Storage service for storing progress log messages in -a Google Cloud Storage bucket. -""" - -from app import utils - - -class LogMessageManager: - """Storage service for storing progress log messages in a - Google Cloud Storage bucket. - - Attributes: - bucket: storage bucket object in which log messages are stored. - """ - - def __init__(self): - """Constructs a LogMessageManager.""" - self.bucket = utils.create_storage_bucket() - - def load_message(self, log_id): - """Loads the message of a progress log from the bucket. - - Args: - log_id: ID of the progress log as a string - - Returns: - The log message as a string. - - Raises: - google.cloud.NotFound: The message of the progress log was not - found in the bucket. This indicates that the message has never - been saved. - """ - return self.bucket.blob(log_id).download_as_string().decode('UTF-8') - - def save_message(self, message, log_id): - """Saves the message of a progress log to the bucket. - - Args: - message: The log message to save as a string. - log_id: ID of the progress log with the message, as a string. - - Returns: - URI of where the message is stored in the bucket as a string. - """ - self.bucket.blob(log_id).upload_from_string(message) - return log_id diff --git a/import-automation/import-progress-dashboard-api/app/service/progress_log_database.py b/import-automation/import-progress-dashboard-api/app/service/progress_log_database.py deleted file mode 100644 index 2c74564eb6..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/progress_log_database.py +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Database service for storing progress logs using Google Cloud Datastore -for storage. Log messages are optionally stored in a Google Cloud Storage -bucket using LogMessageManager. -""" - -from app.service import base_database -from app.service import log_message_manager - - -class ProgressLogDatabase(base_database.BaseDatabase): - """Database service for storing progress logs using Google Cloud Datastore - for storage. Log messages are optionally stored in a Google Cloud Storage - bucket using LogMessageManager. - - Attributes: - See BaseDatabase. - message_manager: LogMessageManager object to store log messages - """ - kind = 'progress-log' - - def __init__(self, client=None, message_manager=None): - """Constructs a LogDatabase. - - Args: - client: datastore Client object to communicate with Datastore. - message_manager: LogMessageManager object to store log messages. - """ - super().__init__(ProgressLogDatabase.kind, client, 'log_id') - if not message_manager: - message_manager = log_message_manager.LogMessageManager() - self.message_manager = message_manager - - def get(self, entity_id=None, make_new=False, load_content=False): - """Retrieves a progress log from Datastore given its ID. - - Args: - entity_id: See BaseDatabase.get. - make_new: See BaseDatabase.get. - load_content: Whether to load the message of the log from the - bucket, as a boolean. - - Returns: - See BaseDatabase.get. If load_content=True, the value of - the message field of the returned entity will be loaded - from the bucket. Otherwise, the value will be the URI of the - message in the bucket. - - Raises: - ValueError: See BaseDatabase.get. - google.cloud.NotFound: See LogMessageManager.load_message. - """ - log = super().get(entity_id, make_new) - if log and not make_new and load_content: - log['message'] = self.message_manager.load_message(log.key.name) - return log - - def save(self, entity, save_content=False): - """Saves a progress log to Datastore. - - Args: - entity: See BaseDatabase.save. - save_content: Whether to store the message of the log to a bucket, - as a boolean. - - Returns: - See BaseDatabase.save. If save_content=True, the value of - the message field of the returned entity will be the URI of where - the message is stored in the bucket. Otherwise, the value is not - modified. - """ - if save_content: - entity['message'] = self.message_manager.save_message( - entity['message'], entity.key.name) - return super().save(entity) - - def load_logs(self, log_ids): - """Loads the log messages of a set of logs from the bucket. - - The messages of the logs must have been previously saved - using save(log, save_content=True). - - Args: - log_ids: A set of log_id's specifying the progress logs whose - messages are to be loaded, or any iterable container. - - Returns: - A list of progress logs whose messages are loaded from the bucket - each as a datastore Entity object. - - Raises: - google.cloud.NotFound: See get. - """ - logs = [] - for log_id in log_ids: - logs.append(self.get(entity_id=log_id, load_content=True)) - return logs diff --git a/import-automation/import-progress-dashboard-api/app/service/system_run_database.py b/import-automation/import-progress-dashboard-api/app/service/system_run_database.py deleted file mode 100644 index 72cc340fd3..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/system_run_database.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Database service for storing system runs using Google Cloud Datastore for -storage. -""" - -from app.service import base_database -from app.model import system_run_model - -_MODEL = system_run_model.SystemRun - - -class SystemRunDatabase(base_database.BaseDatabase): - """Database service for storing system runs using Google Cloud Datastore - for storage. - - See BaseDatabase. - """ - _KIND = 'system-run' - - def __init__(self, client=None): - """Constructs an SystemRunDatabase. - - See BaseDatabase. - """ - super().__init__(SystemRunDatabase._KIND, client, _MODEL.run_id) diff --git a/import-automation/import-progress-dashboard-api/app/service/validation.py b/import-automation/import-progress-dashboard-api/app/service/validation.py deleted file mode 100644 index b0e8bfab3e..0000000000 --- a/import-automation/import-progress-dashboard-api/app/service/validation.py +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Functions for validating system runs, import attempts, and progress logs -without querying the database. - -is_import_attempt_valid, is_system_run_valid, is_progress_log_valid, and -required_fields_present, _is_value_defined, _id_matches, _is_field_iso_utc -return a tuple consisting of: -1) a boolean indicating whether the import attempt is valid; -2) an error message, as a string, explaining the error; -3) the appropriate HTTP status code, as an int, for the error. - If the first element is True, the other two are None. - -get_not_found_error and get_patch_forbidden_error return a tuple consisting of: -1) an error message, as a string, explaining the error; -2) the appropriate HTTP status code, as an int, for the error. -""" - -import datetime -import http - -import app.model.system_run_model -from app import utils -from app.resource import system_run -from app.model import import_attempt_model -from app.model import progress_log_model - - -def is_import_attempt_valid(attempt, attempt_id=None): - """Validates an import attempt. - - Checks that: - 1) If attempt_id is provided, the attempt_id field, if present, of the - import attempt agrees with it. - 2) The status field, if present, of the import attempt has a value - defined by IMPORT_ATTEMPT_STATUS. - 3) The time_created field, if present, is in ISO 8601 format with - UTC timezone. - 4) The time_completed field, if present, is in ISO 8601 format with - UTC timezone. - - Args: - attempt: Import attempt to validate as a dict. - attempt_id: The expected ID of the import attempt specified as a - path variable in the URL, as a string. - - Returns: - See module docstring. - """ - valid, err, code = _id_matches(attempt, 'attempt_id', attempt_id) - if not valid: - return valid, err, code - - valid, err, code = _is_value_defined( - attempt, 'status', import_attempt_model.IMPORT_ATTEMPT_STATUS) - if not valid: - return valid, err, code - - valid, err, code = _is_field_iso_utc(attempt, 'time_created') - if not valid: - return valid, err, code - - valid, err, code = _is_field_iso_utc(attempt, 'time_completed') - if not valid: - return valid, err, code - - return True, None, None - - -def is_system_run_valid(run, run_id=None): - """Validates a system run. - - Checks that: - 1) If run_id is provided, the run_id field, if present, of the - system run agrees with it. - 2) The status field, if present, of the system run has a value - defined by SYSTEM_RUN_STATUS. - 3) The time_created field, if present, is in ISO 8601 format with - UTC timezone. - 4) The time_completed field, if present, is in ISO 8601 format - with UTC timezone. - - Args: - run: System run to validate as a dict. - run_id: The expected ID of the system run specified as a - path variable in the URL, as a string.. - - Returns: - See module docstring. - """ - valid, err, code = _id_matches(run, 'run_id', run_id) - if not valid: - return valid, err, code - - valid, err, code = _is_value_defined( - run, 'status', app.model.system_run_model.SYSTEM_RUN_STATUS) - if not valid: - return valid, err, code - - valid, err, code = _is_field_iso_utc(run, 'time_created') - if not valid: - return valid, err, code - - valid, err, code = _is_field_iso_utc(run, 'time_completed') - if not valid: - return valid, err, code - - return True, None, None - - -def is_progress_log_valid(log, log_id=None): - """Validates a progress log. - - Checks that: - 1) If log_id is provided, the log_id field, if present, of the - progress log agrees with it. - 2) The level field, if present, of the progress log has a value - defined by LOG_LEVELS. - 3) The time_logged field, if present, is in ISO 8601 format with - UTC timezone. - - Args: - log: Progress log to validate as a dict. - log_id: The expected ID of the progress log specified as a - path variable in the URL, as a string. - - Returns: - See module docstring. - """ - valid, err, code = _id_matches(log, 'log_id', log_id) - if not valid: - return valid, err, code - - valid, err, code = _is_value_defined(log, 'level', - progress_log_model.LOG_LEVELS) - if not valid: - return valid, err, code - - valid, err, code = _is_field_iso_utc(log, 'time_logged') - if not valid: - return valid, err, code - - return True, None, None - - -def required_fields_present(fields, entity, all_present=True): - """Checks if required fields are present in an entity. - - Args: - fields: List of the required fields each as a string. - entity: Entity supposed to contained the fields, as a dict. - all_present: Whether all fields need to be present, as a boolean. If - False, the function returns True as long as some of the fields - are present. - - Returns: - See module docstring. - """ - absent = [field for field in fields if field not in entity] - if ((all_present and absent) or - (not all_present and len(absent) == len(fields))): - return (False, - f'missing {utils.list_to_str(absent)} in the request body', - http.HTTPStatus.FORBIDDEN) - return True, None, None - - -def get_not_found_error(id_field, entity_id): - """Returns an error message and HTTP status code for a NOT FOUND error. - - Args: - id_field: Name of the ID field whose value does not exist, as a string. - entity_id: ID that does not exist, as a string. - - Returns: - See module docstring. - """ - return f'{id_field} {entity_id} not found', http.HTTPStatus.NOT_FOUND - - -def get_patch_forbidden_error(fields): - """Returns an error message and HTTP status code for an error of attempting - to patch fields not allowed to be patched. - - Args: - fields: List of names of the fields being patched, each as a string. - - Returns: - See module docstring. - """ - return (f'It is not allowed to patch {utils.list_to_str(fields)}', - http.HTTPStatus.FORBIDDEN) - - -def _id_matches(entity, id_field, path_id): - """Checks if the ID field of an entity agrees with the ID specified in the - URL as a path variable. - - Args: - entity: Entity as a dict. - id_field: Name of the ID field as a string. - path_id: ID specified as a path variable in the URL, as a string. This - is optional. If None, the function does not perform the check. - - Returns: - See module docstring. - """ - entity_id = entity.get(id_field, path_id) - if path_id and path_id != entity_id: - return (False, f'{id_field} {path_id} in path variable does not match ' - f'{id_field} {entity_id} in request body ', - http.HTTPStatus.CONFLICT) - return True, None, None - - -def _is_value_defined(entity, field_name, defined_values): - """Checks if a value of a field of an entity is defined. - - Args: - entity: Entity as a dict. - field_name: Name of the field as a string. If this field does not exist - in the entity, the function does not perform the check. - defined_values: Collection of defined values. Each of the elements - should be of the same type as the value of the field. - - Returns: - See module docstring. - """ - status = entity.get(field_name) - if status and status not in defined_values: - return (False, f'{field_name} {status} is not allowed', - http.HTTPStatus.FORBIDDEN) - return True, None, None - - -def _is_field_iso_utc(entity, field_name): - """Checks if a field that holds a time string of an entity is valid - if present. - - Args: - entity: Entity that has the field, as a dict. - field_name: Name of the field that holds the time string, as a string. - If this field does not exist in the entity, the function does not - perform the check. - - Returns: - See module doc string. - """ - time = entity.get(field_name) - if time and not _is_iso_utc(time): - return (False, f'{field_name} {time} is not in ISO 8601 format with ' - f'UTC timezone', http.HTTPStatus.FORBIDDEN) - return True, None, None - - -def _is_iso_utc(time): - """Checks if a time string is in ISO 8601 format with UTC timezone. - - Not every ISO 8601 format is accepted. This function primarily only accepts - time strings of the form 'YYYY-MM-DDTHH:MM:SS.ffffff+00:00', e.g., - '2020-06-30T04:28:53.717569+00:00'. See - https://docs.python.org/3/library/datetime.html#datetime.datetime.fromisoformat. - - Args: - time: Time string to check. - - Returns: - True, if the time string is valid. False, otherwise. - """ - try: - time = datetime.datetime.fromisoformat(time) - if time.tzname() != 'UTC': - return False - except ValueError: - return False - return True diff --git a/import-automation/import-progress-dashboard-api/app/utils.py b/import-automation/import-progress-dashboard-api/app/utils.py deleted file mode 100644 index d92990add3..0000000000 --- a/import-automation/import-progress-dashboard-api/app/utils.py +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Utility functions. -""" - -import datetime -import uuid - -from google.cloud import logging -from google.cloud import datastore -from google.cloud import storage - -from app import configs - - -def utctime(): - """Returns the current time string in ISO 8601 with timezone UTC+0, e.g. - '2020-06-30T04:28:53.717569+00:00'.""" - return datetime.datetime.now(datetime.timezone.utc).isoformat() - - -def add_fields(parser, fields, required=True): - """Adds a set of fields to the parser. - - Args: - parser: A reqparse RequestParser. - fields: A set of fields to add as a list, tuple, or anything iterable. - Each field is represented as a tuple. The first element is the name - of field as a string. The second element, if present, is the data - type of the string. If absent, str is used. The third element, if - present, is the action the parser should take when encountering - the field. If absent, 'store' is used. See - https://flask-restful.readthedocs.io/en/latest/api.html?highlight=RequestParser#reqparse.Argument. - required: Whether the fields are required, as a boolean. - """ - for field in fields: - field_name = field[0] - data_type = field[1] if len(field) > 1 else str - action = field[2] if len(field) > 2 else 'store' - parser.add_argument(field_name, - type=data_type, - action=action, - store_missing=False, - required=required, - nullable=False) - - -def setup_logging(): - """Connects the default logger to Google Cloud Logging. - - Only logs at INFO level or higher will be captured. - """ - client = logging.Client() - client.get_default_handler() - client.setup_logging() - - -def create_storage_bucket(project=configs.PROJECT_ID, - bucket_name=configs.LOG_BUCKET_NAME): - """Creates a Google Cloud Storage bucket. - - Args: - project: ID of the Google Cloud project as a string. - bucket_name: Name of the bucket as a string. - """ - return storage.Client(project).bucket(bucket_name) - - -def create_datastore_client(project=configs.PROJECT_ID, - namespace=configs.DASHBOARD_NAMESPACE, - credentials=None): - """ - Args: - project: ID of the Google Cloud project as a string. - namespace: Namespace in which the import attempts will be stored - as a string. - credentials: Credentials to authenticate with Datastore. - """ - return datastore.Client(project=project, - namespace=namespace, - credentials=credentials) - - -def get_id(): - """Returns a random UUID as a hex string.""" - return uuid.uuid4().hex - - -def list_to_str(a_list, sep=', '): - """Converts a list to string. - - Args: - a_list: The list to convert to string. - sep: Separator between elements. - - Returns: - String representation of the list. - """ - return sep.join(a_list) diff --git a/import-automation/import-progress-dashboard-api/requirements.txt b/import-automation/import-progress-dashboard-api/requirements.txt deleted file mode 100644 index 5acd3a19df..0000000000 --- a/import-automation/import-progress-dashboard-api/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -flask -flask_restful -google-cloud-datastore -google-cloud-logging -google-cloud-storage -google-auth -gunicorn -psutil diff --git a/import-automation/import-progress-dashboard-api/run_test.sh b/import-automation/import-progress-dashboard-api/run_test.sh deleted file mode 100644 index bb34357400..0000000000 --- a/import-automation/import-progress-dashboard-api/run_test.sh +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -gcloud components install cloud-datastore-emulator --quiet - -python3 -m venv .env -. .env/bin/activate -pip3 install --disable-pip-version-check -q -r requirements.txt - -python3 -m unittest discover -v -p "*_test.py" - -deactivate diff --git a/import-automation/import-progress-dashboard-api/test/__init__.py b/import-automation/import-progress-dashboard-api/test/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/import-automation/import-progress-dashboard-api/test/base_database_test.py b/import-automation/import-progress-dashboard-api/test/base_database_test.py deleted file mode 100644 index e7407d9787..0000000000 --- a/import-automation/import-progress-dashboard-api/test/base_database_test.py +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for base_database.py. -""" - -import unittest -from unittest import mock - -from google.cloud import datastore - -from app.service import base_database -from test import utils - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class BaseDatabaseTest(unittest.TestCase): - """Tests for BaseDatabase.""" - - @mock.patch('app.utils.create_datastore_client', - utils.create_test_datastore_client) - def setUp(self): - """Test setup that runs before every test.""" - self.id_field = 'entity_id' - self.database = base_database.BaseDatabase(kind='kind', - id_field=self.id_field) - - def test_make_new(self): - """Tests that get returns a new import attempt when - make_new is True.""" - entity_id = 'does-not-exist' - new_entity = self.database.get(entity_id, True) - self.assertIn('entity_id', new_entity) - self.assertNotEqual(entity_id, new_entity[self.id_field]) - self.assertEqual(1, len(new_entity)) - - def test_save_then_get(self): - """Tests that a new entity can be saved and then retrieved.""" - entity = self.database.get(make_new=True) - entity['foo'] = 'bar' - self.database.save(entity) - self.assertIn(self.id_field, entity) - self.assertEqual('bar', entity['foo']) - self.assertEqual(2, len(entity)) - - def test_save_partial_key(self): - """Tests that attempting to save an entity with a partial key throws - an exeception.""" - key = datastore.Key('namespace', project='project') - entity = datastore.Entity(key) - self.assertRaises(ValueError, self.database.save, entity) - - def test_filter(self): - """Tests that filtering by fields works.""" - entity_0 = self.database.get(make_new=True) - entity_1 = self.database.get(make_new=True) - entity_2 = self.database.get(make_new=True) - entity_3 = self.database.get(make_new=True) - - entity_0.update({ - 'import_name': 'name', - 'provenance_url': 'google.com', - 'pr_number': 0 - }) - entity_1.update({ - 'attempt_id': '1', - 'import_name': 'name', - 'provenance_url': 'google.com', - 'pr_number': 1 - }) - entity_2.update({ - 'attempt_id': '2', - 'import_name': 'name', - 'provenance_url': 'apple.com', - 'pr_number': 1 - }) - entity_3.update({ - 'attempt_id': '3', - 'import_name': 'name', - 'pr_number': 2 - }) - entities = [entity_0, entity_1, entity_2, entity_3] - for entity in entities: - self.database.save(entity) - - filters = {'import_name': 'name', 'pr_number': 1} - - retrieved = self.database.filter(filters) - self.assertIn(entity_1, retrieved) - self.assertIn(entity_2, retrieved) - self.assertEqual(2, len(retrieved)) diff --git a/import-automation/import-progress-dashboard-api/test/import_attempt_list_test.py b/import-automation/import-progress-dashboard-api/test/import_attempt_list_test.py deleted file mode 100644 index 3b394e97e4..0000000000 --- a/import-automation/import-progress-dashboard-api/test/import_attempt_list_test.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for import_attempt_list.py. -""" - -import unittest -from unittest import mock - -from test import utils -from app.resource import import_attempt_list -from app.resource import system_run_list -from app.model import system_run_model -from app.model import import_attempt_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class ImportAttemptListTest(unittest.TestCase): - """Tests for ImportAttemptList.""" - - def setUp(self): - """Injects a system run and several import attempts to the database.""" - client = utils.create_test_datastore_client() - self.resource = import_attempt_list.ImportAttemptList(client) - run_list_resource = system_run_list.SystemRunList(client) - - attempts = [{ - _ATTEMPT.import_name: 'cpi-u' - }, { - _ATTEMPT.import_name: 'cpi-w' - }, { - _ATTEMPT.import_name: 'cpi-w' - }, { - _ATTEMPT.import_name: 'c-cpi-u' - }] - self.attempts = utils.ingest_import_attempts(run_list_resource, - self.resource, attempts) - - @mock.patch(utils.PARSE_ARGS, lambda self: {_ATTEMPT.import_name: 'ppi'}) - def test_post_run_id_not_set(self): - """Tests that POSTing an import attempt without run_id - returns FORBIDDEN.""" - _, code = self.resource.post() - self.assertEqual(403, code) - - @mock.patch(utils.PARSE_ARGS, lambda self: {_ATTEMPT.run_id: 'not-exist'}) - def test_post_run_id_not_exist(self): - """Tests that POSTing an import attempt with a run_id that - does not exist returns NOT FOUND.""" - _, code = self.resource.post() - self.assertEqual(404, code) - - @mock.patch(utils.PARSE_ARGS) - def test_post_logs_not_saved(self, parse_args): - """Tests that POSTing an import attempt with logs set does not actually - save the logs.""" - parse_args.return_value = { - _ATTEMPT.run_id: self.attempts[0][_ATTEMPT.run_id], - _ATTEMPT.logs: ['log-id-0'] - } - attempt = self.resource.post() - self.assertIn(_ATTEMPT.attempt_id, attempt) - self.assertEqual([], attempt[_ATTEMPT.logs]) - - @mock.patch(utils.PARSE_ARGS) - def test_post_attempt_id_not_saved(self, parse_args): - """Tests that POSTing an import attempt with attempt_id set still - generates a new attempt_id.""" - to_post = self.attempts[0] - parse_args.return_value = dict(to_post) - posted = self.resource.post() - self.assertNotEqual(to_post[_ATTEMPT.attempt_id], - posted[_ATTEMPT.attempt_id]) diff --git a/import-automation/import-progress-dashboard-api/test/import_attempt_test.py b/import-automation/import-progress-dashboard-api/test/import_attempt_test.py deleted file mode 100644 index 634d756649..0000000000 --- a/import-automation/import-progress-dashboard-api/test/import_attempt_test.py +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for import_attempt.py. -""" - -import unittest -from unittest import mock - -from app.model import import_attempt_model -from app.resource import import_attempt -from app.resource import import_attempt_list -from app.resource import system_run_list -from test import utils - -_ATTEMPT = import_attempt_model.ImportAttempt - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class ImportAttemptByIDTest(unittest.TestCase): - """Tests for ImportAttemptByID.""" - - def setUp(self): - """Injects a system run and several import attempts to the database.""" - client = utils.create_test_datastore_client() - self.resource = import_attempt.ImportAttemptByID(client) - list_resource = import_attempt_list.ImportAttemptList(client) - run_list_resource = system_run_list.SystemRunList(client) - attempts = [{ - _ATTEMPT.provenance_url: 'google.com' - }, { - _ATTEMPT.provenance_url: 'facebook.com' - }, { - _ATTEMPT.provenance_url: 'bing.com' - }] - self.attempts = utils.ingest_import_attempts(run_list_resource, - list_resource, attempts) - - def test_get(self): - """Tests that querying by attempt_id returns the correct - import attempt.""" - self.assertEqual( - self.attempts[0], - self.resource.get(self.attempts[0][_ATTEMPT.attempt_id])) - - def test_default_values_set(self): - """Tests that default values for certain fields of newly created - import attempts are set.""" - for attempt in self.attempts: - retrieved = self.resource.get(attempt[_ATTEMPT.attempt_id]) - self.assertIn(_ATTEMPT.logs, retrieved) - self.assertIn(_ATTEMPT.time_created, retrieved) - self.assertIn(_ATTEMPT.status, retrieved) - - def test_get_not_exist(self): - """Tests that GET returns NOT FOUND if the attempt_id does not exist.""" - attempt_id = 9999 - _, err = self.resource.get(attempt_id) - self.assertEqual(404, err) - - @mock.patch(utils.PARSE_ARGS, - lambda self: {_ATTEMPT.provenance_url: 'facebook.com'}) - def test_patch(self): - """Tests that patching a field succeeds.""" - attempt_id = self.attempts[0][_ATTEMPT.attempt_id] - before = self.resource.get(attempt_id) - self.assertEqual('google.com', before[_ATTEMPT.provenance_url]) - self.resource.patch(attempt_id) - after = self.resource.get(attempt_id) - self.assertEqual('facebook.com', after[_ATTEMPT.provenance_url]) - - @mock.patch(utils.PARSE_ARGS) - def test_patch_not_allowed(self, parse_args): - """Tests that patching attempt_id or run_id fails and - returns FORBIDDEN.""" - parse_args.side_effect = [{ - _ATTEMPT.attempt_id: 'forbidden' - }, { - _ATTEMPT.run_id: 'forbidden' - }] - _, err = self.resource.patch(self.attempts[1][_ATTEMPT.attempt_id]) - self.assertEqual(403, err) diff --git a/import-automation/import-progress-dashboard-api/test/progress_log_database_test.py b/import-automation/import-progress-dashboard-api/test/progress_log_database_test.py deleted file mode 100644 index e642fbf582..0000000000 --- a/import-automation/import-progress-dashboard-api/test/progress_log_database_test.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for progress_log_database.py. -""" - -import unittest -from unittest import mock - -from google.cloud import exceptions - -from test import utils -from app.model import progress_log_model -from app.service import progress_log_database - -_MODEL = progress_log_model.ProgressLog - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class ProgressLogDatabaseTest(unittest.TestCase): - """Tests for BaseDatabase.""" - - @mock.patch('app.utils.create_datastore_client', - utils.create_test_datastore_client) - @mock.patch('app.service.log_message_manager.LogMessageManager', - utils.LogMessageManagerMock) - def setUp(self): - """Ingests several logs before every test.""" - self.database = progress_log_database.ProgressLogDatabase() - logs = [self.database.get(make_new=True) for _ in range(4)] - logs[0].update({_MODEL.level: 'info', _MODEL.message: 'first'}) - logs[1].update({_MODEL.level: 'warning', _MODEL.message: 'second'}) - logs[2].update({_MODEL.level: 'warning', _MODEL.message: 'third'}) - logs[3].update({_MODEL.level: 'severe', _MODEL.message: 'fourth'}) - self.logs_save_content = [logs[0], logs[1]] - self.logs_not_save_content = [logs[2], logs[3]] - for i, log in enumerate(self.logs_save_content): - self.logs_save_content[i] = self.database.save(log, - save_content=True) - for i, log in enumerate(self.logs_not_save_content): - self.logs_not_save_content[i] = self.database.save( - log, save_content=False) - - def test_load_content(self): - """Tests that get with load_content=True loads the message.""" - expected = ['first', 'second'] - for i, message in enumerate(expected): - log = self.logs_save_content[i] - retrieved = self.database.get(entity_id=log[_MODEL.log_id], - load_content=True) - self.assertEqual(message, retrieved[_MODEL.message]) - - def test_not_load_content(self): - """Tests that get with load_content=False does not load the message.""" - for log in self.logs_save_content: - log_id = log[_MODEL.log_id] - retrieved = self.database.get(entity_id=log_id, load_content=False) - self.assertEqual(log_id, retrieved[_MODEL.message]) - - def test_not_save_content(self): - """Tests that save with save_content=False does not save the message to - a bucket.""" - expected = ['third', 'fourth'] - for i, message in enumerate(expected): - log_id = self.logs_not_save_content[i][_MODEL.log_id] - retrieved = self.database.get(entity_id=log_id, load_content=False) - self.assertEqual(message, retrieved[_MODEL.message]) - self.assertRaises(exceptions.NotFound, - self.database.get, - entity_id=log_id, - load_content=True) - - def test_load_logs(self): - """Tests that load_logs correctly loads log messages and throws - an exception when the messages have not been saved.""" - loaded = self.database.load_logs( - [log[_MODEL.log_id] for log in self.logs_save_content]) - messages = [log[_MODEL.message] for log in loaded] - self.assertEqual(['first', 'second'], messages) - - self.assertRaises( - exceptions.NotFound, self.database.load_logs, - [log[_MODEL.log_id] for log in self.logs_not_save_content]) diff --git a/import-automation/import-progress-dashboard-api/test/progress_log_list_test.py b/import-automation/import-progress-dashboard-api/test/progress_log_list_test.py deleted file mode 100644 index 8f8eae4298..0000000000 --- a/import-automation/import-progress-dashboard-api/test/progress_log_list_test.py +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for progress_log_list.py. -""" - -import unittest -from unittest import mock - -from test import utils -from app.resource import system_run_list -from app.resource import progress_log_list -from app.resource import import_attempt_list -from app.model import system_run_model -from app.model import import_attempt_model -from app.model import progress_log_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun -_LOG = progress_log_model.ProgressLog - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class ProgressLogListTest(unittest.TestCase): - """Tests for ProgressLogList.""" - - @mock.patch('app.service.log_message_manager.LogMessageManager', - utils.LogMessageManagerMock) - def setUp(self): - """Injects several system runs and import attempts to the database - before every test. New progress logs will be linked to these entities. - """ - client = utils.create_test_datastore_client() - self.resource = progress_log_list.ProgressLogList(client) - run_list_resource = system_run_list.SystemRunList(client) - attempt_list_resource = import_attempt_list.ImportAttemptList(client) - - runs = [{ - _RUN.branch_name: 'test-branch', - _RUN.pr_number: 0 - }, { - _RUN.branch_name: 'prod-branch', - _RUN.pr_number: 1 - }] - self.runs = utils.ingest_system_runs(run_list_resource, runs) - - # Linked to the first run - attempts = [ - { - _ATTEMPT.import_name: 'cpi-u' - }, - { - _ATTEMPT.import_name: 'cpi-w' - }, - ] - self.attempts = utils.ingest_import_attempts(run_list_resource, - attempt_list_resource, - attempts, - system_run=self.runs[0]) - - @mock.patch(utils.PARSE_ARGS) - def test_level_not_allowed(self, parse_args): - """Tests that POSTing a progress log with an undefined log level returns - FORBIDDEN.""" - parse_args.return_value = { - _LOG.level: 'not-exist', - _LOG.message: 'hello', - _LOG.run_id: self.runs[0][_RUN.run_id] - } - message, code = self.resource.post() - self.assertEqual(403, code) - self.assertIn('level', message) - - @mock.patch(utils.PARSE_ARGS) - def test_time_logged_not_iso_utc(self, parse_args): - """Tests that POSTing a progress log with time logged not following - ISO format with UTC timezone returns FORBIDDEN.""" - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.time_logged: '02/14/2104 14:30', - _LOG.run_id: self.runs[0][_RUN.run_id] - } - message, code = self.resource.post() - self.assertEqual(403, code) - self.assertIn('time_logged', message) - - @mock.patch(utils.PARSE_ARGS, lambda self: { - _LOG.level: 'info', - _LOG.message: 'hello' - }) - def test_run_id_not_exist(self): - """Tests that POSTing a progress log without run_id set - returns FORBIDDEN.""" - message, code = self.resource.post() - self.assertEqual(403, code) - self.assertIn('run_id', message) - - @mock.patch(utils.PARSE_ARGS) - def test_attempt_not_linked_to_run(self, parse_args): - """Tests that POSTing a progress log with unrelated attempt_id and - run_id returns FORBIDDEN. That is, the import attempt specified by - attempt_id is not executed by the system run specified by run_id.""" - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.run_id: self.runs[1][_RUN.run_id], - _LOG.attempt_id: self.attempts[0][_ATTEMPT.attempt_id] - } - message, code = self.resource.post() - self.assertEqual(409, code) - self.assertIn('run_id', message) - self.assertIn('attempt_id', message) - - @mock.patch(utils.PARSE_ARGS) - def test_attempt_id_not_exist(self, parse_args): - """Tests that POSTing a progress log with an attempt_id that does - not exist returns NOT FOUND.""" - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.attempt_id: 'not-exist', - _LOG.run_id: self.runs[0][_RUN.run_id] - } - message, code = self.resource.post() - self.assertEqual(404, code) - self.assertIn(_LOG.attempt_id, message) - - @mock.patch(utils.PARSE_ARGS) - def test_run_id_not_exist(self, parse_args): - """Tests that POSTing a progress log with a run_id that does - not exist returns NOT FOUND.""" - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.run_id: 'not-exist' - } - message, code = self.resource.post() - self.assertEqual(404, code) - self.assertIn(_LOG.run_id, message) - - @mock.patch(utils.PARSE_ARGS) - def test_post_attempt_id(self, parse_args): - """Tests POSTing a progress log linked to an import attempt.""" - attempt_id = self.attempts[0][_ATTEMPT.attempt_id] - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.attempt_id: attempt_id, - _LOG.run_id: self.runs[0][_RUN.run_id] - } - posted = self.resource.post() - self.assertEqual('info', posted[_LOG.level]) - self.assertEqual(posted[_LOG.log_id], posted[_LOG.message]) - self.assertEqual(posted[_LOG.attempt_id], attempt_id) - self.assertIn(_LOG.time_logged, posted) - - @mock.patch(utils.PARSE_ARGS) - def test_post_run_id(self, parse_args): - """Tests POSTing a progress log linked to a system run.""" - run_id = self.runs[0][_RUN.run_id] - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.run_id: run_id - } - posted = self.resource.post() - self.assertEqual('info', posted[_LOG.level]) - self.assertEqual(posted[_LOG.log_id], posted[_LOG.message]) - self.assertEqual(posted[_LOG.run_id], run_id) - self.assertIn(_LOG.time_logged, posted) - - @mock.patch(utils.PARSE_ARGS) - def test_post_attempt_and_run_id(self, parse_args): - """Tests POSTing a progress log linked to both an import attempt and - a system run.""" - run_id = self.runs[0][_RUN.run_id] - for attempt in self.attempts: - attempt_id = attempt[_ATTEMPT.attempt_id] - parse_args.return_value = { - _LOG.level: 'info', - _LOG.message: 'hello', - _LOG.run_id: run_id, - _ATTEMPT.attempt_id: attempt_id - } - posted = self.resource.post() - self.assertEqual('info', posted[_LOG.level]) - self.assertEqual(posted[_LOG.log_id], posted[_LOG.message]) - self.assertEqual(posted[_LOG.run_id], run_id) - self.assertEqual(posted[_LOG.attempt_id], attempt_id) - self.assertIn(_LOG.time_logged, posted) diff --git a/import-automation/import-progress-dashboard-api/test/progress_log_test.py b/import-automation/import-progress-dashboard-api/test/progress_log_test.py deleted file mode 100644 index ba3589122f..0000000000 --- a/import-automation/import-progress-dashboard-api/test/progress_log_test.py +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for progress_log.py. -""" - -import unittest -from unittest import mock - -from test import utils -from app.resource import system_run_list -from app.resource import progress_log -from app.resource import progress_log_list -from app.resource import import_attempt_list -from app.model import system_run_model -from app.model import import_attempt_model -from app.model import progress_log_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun -_LOG = progress_log_model.ProgressLog - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class ProgressLogTest(unittest.TestCase): - """Tests for ProgressLogList.""" - - @mock.patch('app.utils.create_datastore_client', - utils.create_test_datastore_client) - @mock.patch('app.service.log_message_manager.LogMessageManager', - utils.LogMessageManagerMock) - def setUp(self): - """Injects several system runs, import attempts, and progress logs - to the database before every test. - """ - client = utils.create_test_datastore_client() - manager = utils.LogMessageManagerMock() - self.by_log_id = progress_log.ProgressLogByID(client, manager) - self.by_run_id = progress_log.ProgressLogByRunID(client, manager) - self.by_attempt_id = progress_log.ProgressLogByAttemptID( - client, manager) - log_list_resource = progress_log_list.ProgressLogList(client, manager) - run_list_resource = system_run_list.SystemRunList(client) - attempt_list_resource = import_attempt_list.ImportAttemptList(client) - - runs = [{ - _RUN.branch_name: 'test-branch', - _RUN.pr_number: 0 - }, { - _RUN.branch_name: 'prod-branch', - _RUN.pr_number: 1 - }] - self.runs = utils.ingest_system_runs(run_list_resource, runs) - - # Linked to the first run - attempts = [ - { - _ATTEMPT.import_name: 'cpi-u' - }, - { - _ATTEMPT.import_name: 'cpi-w' - }, - ] - self.attempts = utils.ingest_import_attempts(run_list_resource, - attempt_list_resource, - attempts, - system_run=self.runs[0]) - - self.logs = [ - # Linked to the first attempt and first run - { - _LOG.level: 'info', - _LOG.message: 'first', - _LOG.attempt_id: self.attempts[0][_ATTEMPT.attempt_id], - _LOG.run_id: self.runs[0][_RUN.run_id] - }, - # Linked to the first attempt and first run - { - _LOG.level: 'critical', - _LOG.message: 'second', - _LOG.attempt_id: self.attempts[0][_ATTEMPT.attempt_id], - _LOG.run_id: self.runs[0][_RUN.run_id] - }, - # Linked to the first run - { - _LOG.level: 'debug', - _LOG.message: 'third', - _LOG.run_id: self.runs[0][_RUN.run_id] - } - ] - with mock.patch(utils.PARSE_ARGS) as parse_args: - parse_args.side_effect = self.logs - for i, _ in enumerate(self.logs): - self.logs[i] = log_list_resource.post() - - def test_progress_log_by_id(self): - """Tests querying a progress log by its log_id.""" - for log in self.logs: - retrieved = self.by_log_id.get(log[_LOG.log_id]) - self.assertEqual(log[_LOG.log_id], retrieved[_LOG.log_id]) - self.assertNotEqual(log[_LOG.log_id], retrieved[_LOG.message]) - - def test_progress_log_by_run_id(self): - """Tests querying the progress logs of a system run by its run_id.""" - expected = self.logs - retrieved = self.by_run_id.get(self.runs[0][_RUN.run_id]) - self.assertEqual(len(expected), len(retrieved)) - for i, log in enumerate(expected): - self.assertEqual(log[_LOG.log_id], retrieved[i][_LOG.log_id]) - - def test_progress_log_by_attempt_id(self): - """Tests querying the progress logs of an import attempt by - its attempt_id.""" - expected = [self.logs[0], self.logs[1]] - retrieved = self.by_attempt_id.get( - self.attempts[0][_ATTEMPT.attempt_id]) - self.assertEqual(len(expected), len(retrieved)) - for i, log in enumerate(expected): - self.assertEqual(log[_LOG.log_id], retrieved[i][_LOG.log_id]) diff --git a/import-automation/import-progress-dashboard-api/test/system_run_list_test.py b/import-automation/import-progress-dashboard-api/test/system_run_list_test.py deleted file mode 100644 index 74be594f45..0000000000 --- a/import-automation/import-progress-dashboard-api/test/system_run_list_test.py +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for system_run_list.py. -""" - -import unittest -from unittest import mock - -from app import main -from app.model import system_run_model -from app.resource import system_run_list -from test import utils - -_MODEL = system_run_model.SystemRun -_ENDPOINT = '/system_runs' - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class SystemRunListTest(unittest.TestCase): - """Tests for SystemRunList.""" - - @mock.patch('app.utils.create_datastore_client', - utils.create_test_datastore_client) - def setUp(self): - """Injects several system runs to the database before every test.""" - self.resource = system_run_list.SystemRunList() - runs = [{ - _MODEL.repo_name: 'dddd', - _MODEL.pr_number: 0 - }, { - _MODEL.repo_name: 'data', - _MODEL.pr_number: 1 - }, { - _MODEL.repo_name: 'data', - _MODEL.pr_number: 3 - }, { - _MODEL.repo_name: 'aaaa', - _MODEL.pr_number: 2 - }] - self.runs = utils.ingest_system_runs(self.resource, runs) - - def test_get_all(self): - """Tests that empty filter returns all the runs.""" - with main.FLASK_APP.test_request_context(_ENDPOINT, json={}): - self.assertCountEqual(self.runs, self.resource.get()) - - def test_get_by_repo_name(self): - """Tests that filtering by repo_name returns the correct runs.""" - with main.FLASK_APP.test_request_context( - _ENDPOINT, json={_MODEL.repo_name: 'data'}): - self.assertCountEqual([self.runs[1], self.runs[2]], - self.resource.get()) - - def test_get_by_repo_name_and_pr_number(self): - """Tests that filtering by repo_name and pr_number returns - the correct runs.""" - with main.FLASK_APP.test_request_context(_ENDPOINT, - json={ - 'repo_name': 'dddd', - 'pr_number': 0 - }): - self.assertCountEqual([self.runs[0]], self.resource.get()) - - def test_get_field_not_exist(self): - """Tests that filtering by a field that does not exist - returns BAD REQUEST.""" - with main.FLASK_APP.test_request_context( - _ENDPOINT, json={'does-not-exist': 'data'}): - _, code = self.resource.get() - self.assertEqual(400, code) - - def test_get_value_not_exist(self): - """Tests that filtering by a value that does not exist - returns empty result.""" - with main.FLASK_APP.test_request_context( - _ENDPOINT, json={'repo_name': 'does-not-exist'}): - self.assertEqual([], self.resource.get()) - - def test_limit_order(self): - with main.FLASK_APP.test_request_context( - f'{_ENDPOINT}?limit=3&order=repo_name&order=-pr_number', - json={}): - runs = self.resource.get() - self.assertEqual(['aaaa', 'data', 'data'], - list(run[_MODEL.repo_name] for run in runs)) - self.assertEqual([2, 3, 1], - list(run[_MODEL.pr_number] for run in runs)) diff --git a/import-automation/import-progress-dashboard-api/test/system_run_test.py b/import-automation/import-progress-dashboard-api/test/system_run_test.py deleted file mode 100644 index c4ff3662f4..0000000000 --- a/import-automation/import-progress-dashboard-api/test/system_run_test.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for system_run.py. -""" - -import unittest -from unittest import mock - -from app.model import system_run_model -from app.resource import system_run -from app.resource import system_run_list -from test import utils - -_MODEL = system_run_model.SystemRun - - -def setUpModule(): - utils.EMULATOR.start_emulator() - - -class SystemRunByIDTest(unittest.TestCase): - """Tests for SystemRunByID.""" - - def setUp(self): - """Creates the endpoints before every test.""" - client = utils.create_test_datastore_client() - # Used for querying system runs by run_id - self.resource = system_run.SystemRunByID(client) - # Used for creating system runs - list_resource = system_run_list.SystemRunList(client) - runs = [{}, {_MODEL.commit_sha: 'commit-sha'}] - self.runs = utils.ingest_system_runs(list_resource, runs) - - def test_get(self): - """Tests that GET returns the correct system run.""" - for run in self.runs: - self.assertEqual(run, self.resource.get(run[_MODEL.run_id])) - - def test_get_not_exist(self): - """Tests that GET returns NOT FOUND if the run_id does not exist.""" - _, err = self.resource.get('does-not-exist') - self.assertEqual(404, err) - - @mock.patch(utils.PARSE_ARGS, lambda self: {_MODEL.pr_number: 1}) - def test_patch_creates_field(self): - """Tests that PATCHing a field that does not exist creates the field.""" - run_id = self.runs[0][_MODEL.run_id] - self.resource.patch(run_id) - self.assertEqual(1, self.resource.get(run_id)[_MODEL.pr_number]) - - @mock.patch(utils.PARSE_ARGS) - def test_patch(self, parse_args): - """Tests that PATCHing a field succeeds.""" - parse_args.side_effect = [ - { - _MODEL.commit_sha: 'patched' - }, - { - _MODEL.commit_sha: 'commit_sha' - }, - ] - run_id = self.runs[1][_MODEL.run_id] - self.resource.patch(run_id) - patched = self.resource.get(run_id) - self.assertEqual('patched', patched[_MODEL.commit_sha]) - self.resource.patch(run_id) - patched = self.resource.get(run_id) - self.assertEqual('commit_sha', patched[_MODEL.commit_sha]) - - @mock.patch(utils.PARSE_ARGS) - def test_patch_run_id_not_allowed(self, parse_args): - """Tests that patching run_id and import_attempts fails and - returns FORBIDDEN.""" - parse_args.side_effect = [{ - 'run_id': 'not-allowed' - }, { - 'import_attempts': 'not-allowed' - }] - run_id = self.runs[0][_MODEL.run_id] - _, err = self.resource.patch(run_id) - self.assertEqual(403, err) - _, err = self.resource.patch(run_id) - self.assertEqual(403, err) diff --git a/import-automation/import-progress-dashboard-api/test/utils.py b/import-automation/import-progress-dashboard-api/test/utils.py deleted file mode 100644 index 5033f3c3f8..0000000000 --- a/import-automation/import-progress-dashboard-api/test/utils.py +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Testing utilities. -""" - -import os -import subprocess -from unittest import mock -import atexit - -import psutil -from google.cloud import datastore -from google.cloud import exceptions - -from app import utils -from app.model import import_attempt_model -from app.model import system_run_model - -_ATTEMPT = import_attempt_model.ImportAttempt -_RUN = system_run_model.SystemRun - -PARSE_ARGS = 'flask_restful.reqparse.RequestParser.parse_args' - - -class LogMessageManagerMock: - - def __init__(self): - self.data = {} - - def load_message(self, log_id): - message = self.data.get(log_id) - if not message: - raise exceptions.NotFound( - f'message of log {log_id} has never been saved.') - return message - - def save_message(self, message, log_id): - self.data[log_id] = message - return log_id - - -class DatastoreEmulator: - - def __init__(self): - self.process = None - - def start_emulator(self): - if self.process is not None: - return - - # bufsize=1 means that stderr will be line buffered - self.process = subprocess.Popen( - 'gcloud beta emulators datastore start --no-store-on-disk'.split(), - stderr=subprocess.PIPE, - text=True, - bufsize=1) - - # Wait for the emulator to fully start up - while True: - line = self.process.stderr.readline() - if 'Dev App Server is now running' in line: - break - env_process = subprocess.run( - 'gcloud beta emulators datastore env-init'.split(), - capture_output=True, - text=True) - - # Set environmental variables for the emulator - for line in env_process.stdout.splitlines(): - prefix = 'export ' - if line.startswith(prefix): - line = line.strip(prefix) - name, val = line.split('=') - os.environ[name] = val - - def terminate_emulator(self): - assert self.process is not None - parent = psutil.Process(self.process.pid) - for child in parent.children(recursive=True): - child.terminate() - self.process.stderr.close() - self.process.terminate() - self.process.wait() - - self.process = None - - -EMULATOR = DatastoreEmulator() -atexit.register(EMULATOR.terminate_emulator) - - -def create_test_datastore_client(): - return datastore.Client(project=utils.get_id(), namespace=utils.get_id()) - - -def ingest_import_attempts(run_list_resource, - attempt_list_resource, - attempts, - system_run=None): - with mock.patch(PARSE_ARGS) as parse_args: - if system_run: - parse_args.side_effect = [system_run] + attempts - run_id = system_run[_RUN.run_id] - else: - parse_args.side_effect = [{}] + attempts - run_id = run_list_resource.post()[_RUN.run_id] - for i, attempt in enumerate(attempts): - attempt[_ATTEMPT.run_id] = run_id - attempts[i] = attempt_list_resource.post() - return attempts - - -def ingest_system_runs(list_resource, runs): - with mock.patch(PARSE_ARGS) as parse_args: - parse_args.side_effect = runs - runs = [list_resource.post() for _ in runs] - return runs diff --git a/import-automation/import-progress-dashboard-api/test/utils_test.py b/import-automation/import-progress-dashboard-api/test/utils_test.py deleted file mode 100644 index 2d6fc23b37..0000000000 --- a/import-automation/import-progress-dashboard-api/test/utils_test.py +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for utils.py. -""" - -from datetime import datetime -import unittest - -from flask_restful import reqparse -from werkzeug import exceptions - -from app import utils -from app import main - -IMPORT_ATTEMPT_DATABASE = ('app.resource.import_attempt' - '.import_attempt_database.ImportAttemptDatabase') - - -class UCTTest(unittest.TestCase): - """Tests for utctime function.""" - - def test_to_datetime(self): - """Tests that the string returned by utctime can be converted to - a datetime object and the timezone component is correct.""" - time_iso = utils.utctime() - time_datetime = datetime.fromisoformat(time_iso) - self.assertEqual(0, time_datetime.utcoffset().total_seconds()) - self.assertEqual('UTC', time_datetime.tzname()) - - def test_to_datetime_then_back(self): - """Tests that the string returned by utctime can be converted to - a datetime object and remains the same when converted back.""" - time_iso = utils.utctime() - time_datetime = datetime.fromisoformat(time_iso) - self.assertEqual(time_iso, time_datetime.isoformat()) - - -class RequestParserAddFieldsTest(unittest.TestCase): - """Tests for utility functions that deal with RequestParser.""" - - def test_optional_fields(self): - """Tests that add_fields correctly adds optional fields - to the parser.""" - parser = reqparse.RequestParser() - optional_fields = [('attempt_id', str), ('import_name', str, 'store')] - utils.add_fields(parser, optional_fields, required=False) - - with main.FLASK_APP.test_request_context(json={'pr_number': 1}): - args = parser.parse_args() - self.assertEqual({}, args) - - only_attempt_id = {'attempt_id': "0"} - with main.FLASK_APP.test_request_context(json=only_attempt_id): - args = parser.parse_args() - self.assertEqual(only_attempt_id, args) - - both = {'attempt_id': '0', 'import_name': 'name'} - with main.FLASK_APP.test_request_context(json=both): - args = parser.parse_args() - self.assertEqual(both, args) - - def test_required_fields(self): - """Tests that add_fields correctly adds required fields - to the parser.""" - parser = reqparse.RequestParser() - required_fields = [('pr_number', int)] - utils.add_fields(parser, required_fields, required=True) - - with_pr = {'pr_number': 1, 'import_name': 'name'} - with main.FLASK_APP.test_request_context(json=with_pr): - args = parser.parse_args() - self.assertEqual({'pr_number': 1}, args) - - without_pr = {'import_name': 'name'} - with main.FLASK_APP.test_request_context(json=without_pr): - with self.assertRaises(Exception) as context: - parser.parse_args() - self.assertEqual(400, context.exception.code) - - def test_combined(self): - """Tests that add_fields correctly adds both required and - optional fields to a parser.""" - parser = reqparse.RequestParser() - required_fields = [('pr_number', int)] - optional_fields = [('logs', dict, 'append')] - utils.add_fields(parser, required_fields, required=True) - utils.add_fields(parser, optional_fields, required=False) - - log_1 = {'level': 'info', 'message': 'ahhhhh'} - log_2 = {'level': 'error', 'message': 'noooo'} - with_pr_and_logs = {'pr_number': 1, 'logs': [log_1, log_2]} - - with main.FLASK_APP.test_request_context(json=with_pr_and_logs): - args = parser.parse_args() - self.assertEqual(with_pr_and_logs, args) - - def test_dict(self): - """Tests parsing dicts.""" - parser = reqparse.RequestParser() - utils.add_fields(parser, [('field', dict, 'append')], required=True) - - body = {'field': [{'abc': '1'}, {'def': '2', 'ghi': '3'}, {}]} - with main.FLASK_APP.test_request_context(json=body): - self.assertEqual(body, parser.parse_args()) - - # Empty list throws exception if field required - parser = reqparse.RequestParser() - utils.add_fields(parser, [('field', dict, 'append')], required=True) - body = {'field': []} - with self.assertRaises(exceptions.BadRequest): - with main.FLASK_APP.test_request_context(json=body): - parser.parse_args() - - # Empty list accepted if field not required - parser = reqparse.RequestParser() - utils.add_fields(parser, [('field', dict, 'append')], required=False) - body = {'field': []} - with main.FLASK_APP.test_request_context(json=body): - self.assertEqual({}, parser.parse_args()) diff --git a/import-automation/import-progress-dashboard-api/test/validation_test.py b/import-automation/import-progress-dashboard-api/test/validation_test.py deleted file mode 100644 index f460dc5ecd..0000000000 --- a/import-automation/import-progress-dashboard-api/test/validation_test.py +++ /dev/null @@ -1,256 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Tests for validation.py. -""" - -import unittest - -from app.service import validation - - -class ValidationTest(unittest.TestCase): - """Tests for validation.py.""" - - def test_is_import_attempt_valid(self): - """Tests is_import_attempt_valid.""" - attempt = { - 'attempt_id': 'attempt', - 'status': 'created', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_import_attempt_valid(attempt, 'attempt') - self.assertTrue(valid) - - # Not UTC - attempt = { - 'attempt_id': 'attempt', - 'status': 'created', - 'time_created': '2020-07-28T13:21:50.665294-07:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_import_attempt_valid(attempt, 'attempt') - self.assertFalse(valid) - - # status not defined - attempt = { - 'attempt_id': 'attempt', - 'status': 'not-defined', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_import_attempt_valid(attempt, 'attempt') - self.assertFalse(valid) - - # attempt_id not match - attempt = { - 'attempt_id': 'attempt', - 'status': 'created', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_import_attempt_valid(attempt, 'not-match') - self.assertFalse(valid) - - def test_is_system_run_valid(self): - """Tests is_system_run_valid.""" - run = { - 'run_id': 'run', - 'status': 'created', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_system_run_valid(run, 'run') - self.assertTrue(valid) - - # Not UTC - run = { - 'run_id': 'run', - 'status': 'created', - 'time_created': '2020-07-28T13:21:50.665294-07:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_system_run_valid(run, 'run') - self.assertFalse(valid) - - # status not defined - run = { - 'run_id': 'run', - 'status': 'not-defined', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_system_run_valid(run, 'run') - self.assertFalse(valid) - - # run_id not match - run = { - 'run_id': 'run', - 'status': 'created', - 'time_created': '2020-07-28T20:22:18.311294+00:00', - 'time_completed': '2020-07-28T20:22:18.311294+00:00' - } - valid, _, _ = validation.is_system_run_valid(run, 'not-match') - self.assertFalse(valid) - - def test_is_progress_log_valid(self): - log = { - 'log_id': 'log', - 'time_logged': '2020-07-28T20:22:18.311294+00:00', - 'level': 'info' - } - valid, _, _ = validation.is_progress_log_valid(log, 'log') - self.assertTrue(valid) - - # log_id not match - log = { - 'log_id': 'log', - 'time_logged': '2020-07-28T20:22:18.311294+00:00', - 'level': 'info' - } - valid, _, _ = validation.is_progress_log_valid(log, 'not-match') - self.assertFalse(valid) - - # Level not defined - log = { - 'log_id': 'log', - 'time_logged': '2020-07-28T20:22:18.311294+00:00', - 'level': 'infoooooo' - } - valid, _, _ = validation.is_progress_log_valid(log, 'log') - self.assertFalse(valid) - - # Not UTC - log = { - 'log_id': 'log', - 'time_logged': '2020-07-28T20:22:18.311294-07:00', - 'level': 'info' - } - valid, _, _ = validation.is_progress_log_valid(log, 'log') - self.assertFalse(valid) - - def test_required_fields_present(self): - """Tests required_fields_present.""" - fields = ('field1', 'field2', 'field3') - entity = {'field1': '1', 'field2': '2', 'field3': '3'} - valid, _, _ = validation.required_fields_present(fields, entity) - self.assertTrue(valid) - - # Some not present - fields = ('field1', 'field2', 'field3') - entity = {'field1': '1'} - valid, err, code = validation.required_fields_present(fields, entity) - self.assertFalse(valid) - self.assertIn('field2, field3', err) - self.assertEqual(403, code) - - # Some not present but allowed - fields = ('field1', 'field2', 'field3') - entity = {'field1': '1'} - valid, _, _ = validation.required_fields_present(fields, - entity, - all_present=False) - self.assertTrue(valid) - - # None present - fields = ('field1', 'field2', 'field3') - entity = {'field4': '1'} - valid, _, _ = validation.required_fields_present(fields, - entity, - all_present=False) - valid, err, code = validation.required_fields_present(fields, entity) - self.assertFalse(valid) - self.assertIn('field1, field2, field3', err) - self.assertEqual(403, code) - - def test_get_not_found_error(self): - """Tests get_not_found_error.""" - err, code = validation.get_not_found_error('fielddd', 'idddd') - self.assertEqual('fielddd idddd not found', err) - self.assertEqual(404, code) - - def test_get_patch_forbidden_error(self): - """Tests _get_patch_forbidden_error.""" - err, code = validation.get_patch_forbidden_error(('field1', 'field2')) - self.assertEqual(err, f'It is not allowed to patch field1, field2') - self.assertEqual(403, code) - - def test_id_matches(self): - """Tests _id_matches.""" - entity = {'id-field': 'some-id'} - valid, _, _ = validation._id_matches(entity, 'id-field', 'some-id') - self.assertTrue(valid) - - # Vacuously true - entity = {'id-field': 'some-id'} - valid, _, _ = validation._id_matches(entity, 'id-field', None) - self.assertTrue(valid) - - entity = {'id-field': 'some-id'} - valid, err, code = validation._id_matches(entity, 'id-field', - 'not-match') - self.assertFalse(valid) - self.assertIn('not match', err) - self.assertEqual(409, code) - - def test_is_value_defined(self): - """Tests _is_value_defined.""" - # Not defined - entity = {'cba': 'not-defined'} - valid, err, code = validation._is_value_defined(entity, 'cba', - ('defined', 'definedd')) - self.assertFalse(valid) - self.assertIn('not-defined', err) - self.assertEqual(403, code) - - entity = {'cba': 'defined'} - valid, _, _ = validation._is_value_defined(entity, 'cba', - ('defined', 'definedd')) - self.assertTrue(valid) - - # Vacuously true - entity = {'cba': 'not-defined'} - valid, _, _ = validation._is_value_defined(entity, 'not-exist', - ('defined', 'definedd')) - self.assertTrue(valid) - - def test_is_field_iso_utc(self): - """Tests _is_field_iso_utc.""" - entity = {'abc': '2020-07-28T20:22:18.311294+00:00'} - valid, _, _ = validation._is_field_iso_utc(entity, 'abc') - self.assertTrue(valid) - - # Field does not exist. Vacuously true. - entity = {} - valid, _, _ = validation._is_field_iso_utc(entity, 'not-exist') - self.assertTrue(valid) - - # Not UTC - entity = {'abc': '2020-07-28T13:21:50.665294-07:00'} - valid, err, code = validation._is_field_iso_utc(entity, 'abc') - self.assertFalse(valid) - self.assertIn('ISO', err) - self.assertEqual(403, code) - - def test_is_iso_utc(self): - """Tests _is_iso_utc.""" - # Not UTC - self.assertFalse( - validation._is_iso_utc('2020-07-28T13:21:50.665294-07:00')) - # Without timezone info - self.assertFalse(validation._is_iso_utc('2020-07-28T13:21:50.665294')) - - self.assertTrue( - validation._is_iso_utc('2020-07-28T20:22:18.311294+00:00')) diff --git a/import-automation/import-progress-dashboard-frontend/.gcloudignore b/import-automation/import-progress-dashboard-frontend/.gcloudignore deleted file mode 100644 index 7986a7f442..0000000000 --- a/import-automation/import-progress-dashboard-frontend/.gcloudignore +++ /dev/null @@ -1,21 +0,0 @@ -# This file specifies files that are *not* uploaded to Google Cloud Platform -# using gcloud. It follows the same syntax as .gitignore, with the addition of -# "#!include" directives (which insert the entries of the given .gitignore-style -# file at that point). -# -# For more information, run: -# $ gcloud topic gcloudignore -# -.gcloudignore -# If you would like to upload your .git directory, .gitignore file or files -# from your .gitignore file, remove the corresponding line -# below: -.git -.gitignore - -# Python pycache: -__pycache__/ -# Ignore by the build system -/setup.cfg - -node_modules diff --git a/import-automation/import-progress-dashboard-frontend/.gitignore b/import-automation/import-progress-dashboard-frontend/.gitignore deleted file mode 100644 index f70d0bdc80..0000000000 --- a/import-automation/import-progress-dashboard-frontend/.gitignore +++ /dev/null @@ -1,166 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -node_modules -.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -.vscode -.idea -.DS_Store - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ diff --git a/import-automation/import-progress-dashboard-frontend/README.md b/import-automation/import-progress-dashboard-frontend/README.md deleted file mode 100644 index 119cd0d050..0000000000 --- a/import-automation/import-progress-dashboard-frontend/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Import Progress Dashboard Frontend - -This directory contains code for the frontend for the Import Progress Dashboard. -The frontend has two components: a server and a client. The client is a single -page application that displays a table of system runs and the server serves the -web page and retrieves data from the Import Progress Dashboard API for the -client. - -## Deploying to App Engine - -``` -cd client -npm install -npm run-script build -cd .. -gcloud app deploy -``` diff --git a/import-automation/import-progress-dashboard-frontend/app.yaml b/import-automation/import-progress-dashboard-frontend/app.yaml deleted file mode 100644 index 80f777625f..0000000000 --- a/import-automation/import-progress-dashboard-frontend/app.yaml +++ /dev/null @@ -1,6 +0,0 @@ -runtime: python37 -entrypoint: gunicorn -b :$PORT server.app.main:FLASK_APP -env_variables: - DASHBOARD_FRONTEND_PRODUCTION: "True" - DASHBOARD_OAUTH_CLIENT_ID: "TODO" -service: dashboard-frontend diff --git a/import-automation/import-progress-dashboard-frontend/client/.eslintrc.json b/import-automation/import-progress-dashboard-frontend/client/.eslintrc.json deleted file mode 100644 index c493957c46..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/.eslintrc.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "env": { - "browser": true, - "es2020": true - }, - "extends": [ - "plugin:react/recommended", - "google" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 11, - "sourceType": "module" - }, - "plugins": [ - "react", - "@typescript-eslint" - ], - "rules": { - "max-len": [ - "error", - { - "code": 80 - } - ] - } -} \ No newline at end of file diff --git a/import-automation/import-progress-dashboard-frontend/client/.prettierrc.js b/import-automation/import-progress-dashboard-frontend/client/.prettierrc.js deleted file mode 100644 index c634ea7294..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/.prettierrc.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - ...require('gts/.prettierrc.json') -} \ No newline at end of file diff --git a/import-automation/import-progress-dashboard-frontend/client/package-lock.json b/import-automation/import-progress-dashboard-frontend/client/package-lock.json deleted file mode 100644 index 5b3e443ee2..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/package-lock.json +++ /dev/null @@ -1,17069 +0,0 @@ -{ - "name": "import-progress-dashboard-frontend", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" - }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "requires": { - "@babel/highlight": "^7.22.10", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==" - }, - "@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", - "requires": { - "@babel/types": "^7.22.10", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", - "requires": { - "@babel/types": "^7.22.10" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", - "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.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" - }, - "@babel/helper-wrap-function": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" - } - }, - "@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" - } - }, - "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "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.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", - "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/plugin-syntax-decorators": "^7.22.10" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", - "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.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==", - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", - "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", - "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@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.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@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.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.10", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.10", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.10", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.10", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.22.10", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.5.tgz", - "integrity": "sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - } - }, - "@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "@babel/runtime": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", - "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", - "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", - "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.10", - "@babel/types": "^7.22.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==" - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==" - }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "requires": { - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - } - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==" - }, - "@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", - "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": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==" - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "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": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@material-ui/core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.11.0.tgz", - "integrity": "sha512-bYo9uIub8wGhZySHqLQ833zi4ZML+XCBE1XwJ8EuUVSpTWWG57Pm+YugQToJNFsEyiKFhPh8DPD0bgupz8n01g==", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.10.0", - "@material-ui/system": "^4.9.14", - "@material-ui/types": "^5.1.0", - "@material-ui/utils": "^4.10.2", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0", - "react-transition-group": "^4.4.0" - } - }, - "@material-ui/icons": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.9.1.tgz", - "integrity": "sha512-GBitL3oBWO0hzBhvA9KxqcowRUsA0qzwKkURyC8nppnC3fw54KPKZ+d4V1Eeg/UnDRSzDaI9nGCdel/eh9AQMg==", - "requires": { - "@babel/runtime": "^7.4.4" - } - }, - "@material-ui/styles": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.10.0.tgz", - "integrity": "sha512-XPwiVTpd3rlnbfrgtEJ1eJJdFCXZkHxy8TrdieaTvwxNYj42VnnCyFzxYeNW9Lhj4V1oD8YtQ6S5Gie7bZDf7Q==", - "requires": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "^5.1.0", - "@material-ui/utils": "^4.9.6", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.0.3", - "jss-plugin-camel-case": "^10.0.3", - "jss-plugin-default-unit": "^10.0.3", - "jss-plugin-global": "^10.0.3", - "jss-plugin-nested": "^10.0.3", - "jss-plugin-props-sort": "^10.0.3", - "jss-plugin-rule-value-function": "^10.0.3", - "jss-plugin-vendor-prefixer": "^10.0.3", - "prop-types": "^15.7.2" - } - }, - "@material-ui/system": { - "version": "4.9.14", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.9.14.tgz", - "integrity": "sha512-oQbaqfSnNlEkXEziDcJDDIy8pbvwUmZXWNqlmIwDqr/ZdCK8FuV3f4nxikUh7hvClKV2gnQ9djh5CZFTHkZj3w==", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.9.6", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - } - }, - "@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==" - }, - "@material-ui/utils": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.10.2.tgz", - "integrity": "sha512-eg29v74P7W5r6a4tWWDAAfZldXIzfyO1am2fIsC39hdUUHm/33k6pGOKPbgDjg/U/4ifmgAePy/1OjkKN6rFRw==", - "requires": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0" - } - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "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": { - "core-js-pure": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.0.tgz", - "integrity": "sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz", - "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==" - }, - "@sheerun/mutationobserver-shim": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", - "integrity": "sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-6.16.0.tgz", - "integrity": "sha512-lBD88ssxqEfz0wFL6MeUyyWZfV/2cjEZZV3YRpb2IoJRej/4f1jB0TzqIOznTpfR1r34CNesrubxwIlAQ8zgPA==", - "requires": { - "@babel/runtime": "^7.8.4", - "@sheerun/mutationobserver-shim": "^0.3.2", - "@types/testing-library__dom": "^6.12.1", - "aria-query": "^4.0.2", - "dom-accessibility-api": "^0.3.0", - "pretty-format": "^25.1.0", - "wait-for-expect": "^3.0.2" - }, - "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-4.2.4.tgz", - "integrity": "sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In/YP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg==", - "requires": { - "@babel/runtime": "^7.5.1", - "chalk": "^2.4.1", - "css": "^2.2.3", - "css.escape": "^1.5.1", - "jest-diff": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "lodash": "^4.17.11", - "pretty-format": "^24.0.0", - "redent": "^3.0.0" - } - }, - "@testing-library/react": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-9.5.0.tgz", - "integrity": "sha512-di1b+D0p+rfeboHO5W7gTVeZDIK5+maEgstrZbWZSSvxDyfDRkkyBE1AJR5Psd6doNldluXlCWqXriUfqu/9Qg==", - "requires": { - "@babel/runtime": "^7.8.4", - "@testing-library/dom": "^6.15.0", - "@types/testing-library__react": "^9.1.2" - } - }, - "@testing-library/user-event": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-7.2.1.tgz", - "integrity": "sha512-oZ0Ib5I4Z2pUEcoo95cT1cr6slco9WY7yiPpG+RGNkj8YcYgJnM7pXmYmorNOReh8MIGcKSqXyeGjxnr8YiZbA==" - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "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.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "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.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==" - }, - "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.10", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.10.tgz", - "integrity": "sha512-i2m0oyh8w/Lum7wWK/YOZJakYF8Mx08UaKA1CtbmFeDquVhAEdA7znacsVSf2hJ1OQ/OfVMGN90pw/AtzF8s/Q==", - "requires": { - "jest-diff": "^25.2.1", - "pretty-format": "^25.2.1" - }, - "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - }, - "@types/node": { - "version": "14.0.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.27.tgz", - "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" - }, - "@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "16.9.46", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", - "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", - "requires": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.2.tgz", - "integrity": "sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==" - } - } - }, - "@types/react-dom": { - "version": "16.9.8", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz", - "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz", - "integrity": "sha512-/QfLHGpu+2fQOqQaXh8MG9q03bFENooTb/it4jr5kKaZlDQfWvjqWZg48AwzPVMBHlRuTRAY7hRHCEOXz5kV6w==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" - }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/testing-library__dom": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/testing-library__dom/-/testing-library__dom-6.14.0.tgz", - "integrity": "sha512-sMl7OSv0AvMOqn1UJ6j1unPMIHRXen0Ita1ujnMX912rrOcawe4f7wu0Zt9GIQhBhJvH2BaibqFgQ3lP+Pj2hA==", - "requires": { - "pretty-format": "^24.3.0" - } - }, - "@types/testing-library__react": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-9.1.3.tgz", - "integrity": "sha512-iCdNPKU3IsYwRK9JieSYAiX0+aYDXOGAmrC/3/M7AqqSDKnWWVv07X+Zk1uFSL7cMTUYzv4lQRfohucEocn5/w==", - "requires": { - "@types/react-dom": "*", - "@types/testing-library__dom": "*", - "pretty-format": "^25.1.0" - }, - "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "13.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.10.tgz", - "integrity": "sha512-MU10TSgzNABgdzKvQVW1nuuT+sgBMWeXNc3XOs5YXV5SDAK+PPja2eUuBNB9iqElu03xyEDqlnGw0jgl4nbqGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.0.tgz", - "integrity": "sha512-UD6b4p0/hSe1xdTvRCENSx7iQ+KR6ourlZFfYuPC7FlXEzdHuLPrEmuxZ23b2zW96KJX9Z3w05GE/wNOiEzrVg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "3.9.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.0.tgz", - "integrity": "sha512-/vSHUDYizSOhrOJdjYxPNGfb4a3ibO8zd4nUKo/QBFOmxosT3cVUV7KIg8Dwi6TXlr667G7YPqFK9+VSZOorNA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.9.0", - "@typescript-eslint/typescript-estree": "3.9.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz", - "integrity": "sha512-N+158NKgN4rOmWVfvKOMoMFV5n8XxAliaKkArm/sOypzQ0bUL8MSnOEBW3VFIeffb/K5ce/cAV0yYhR7U4ALAA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "3.9.0", - "@typescript-eslint/visitor-keys": "3.9.0", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", - "requires": { - "@typescript-eslint/utils": "5.62.0" - } - }, - "@typescript-eslint/parser": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.9.0.tgz", - "integrity": "sha512-rDHOKb6uW2jZkHQniUQVZkixQrfsZGUCNWWbKWep4A5hGhN5dLHMUCNAWnC4tXRlHedXkTDptIpxs6e4Pz8UfA==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.9.0", - "@typescript-eslint/types": "3.9.0", - "@typescript-eslint/typescript-estree": "3.9.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.0.tgz", - "integrity": "sha512-/vSHUDYizSOhrOJdjYxPNGfb4a3ibO8zd4nUKo/QBFOmxosT3cVUV7KIg8Dwi6TXlr667G7YPqFK9+VSZOorNA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.9.0", - "@typescript-eslint/typescript-estree": "3.9.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz", - "integrity": "sha512-N+158NKgN4rOmWVfvKOMoMFV5n8XxAliaKkArm/sOypzQ0bUL8MSnOEBW3VFIeffb/K5ce/cAV0yYhR7U4ALAA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "3.9.0", - "@typescript-eslint/visitor-keys": "3.9.0", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - } - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "@typescript-eslint/types": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.9.0.tgz", - "integrity": "sha512-rb6LDr+dk9RVVXO/NJE8dT1pGlso3voNdEIN8ugm4CWM5w5GimbThCMiMl4da1t5u3YwPWEwOnKAULCZgBtBHg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.0.tgz", - "integrity": "sha512-O1qeoGqDbu0EZUC/MZ6F1WHTIzcBVhGqDj3LhTnj65WUA548RXVxUHbYhAW9bZWfb2rnX9QsbbP5nmeJ5Z4+ng==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "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.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@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.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@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.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@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/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@webassemblyjs/ast": "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/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@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.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@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==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", - "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "array.prototype.flatmap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", - "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - } - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "requires": { - "dequal": "^2.0.3" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "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" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - } - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "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": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "bignumber.js": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "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.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "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==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "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==", - "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.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "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", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==" - }, - "core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", - "requires": { - "browserslist": "^4.21.9" - } - }, - "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "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" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==" - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==" - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "requires": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" - }, - "cssdb": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.7.0.tgz", - "integrity": "sha512-1hN+I3r4VqSNQ+OmMXxYexnumbOONkSil0TWMebVXHtzYW4tRRPovUNHPHj2d4nrgOuYJ8Vs3XwvywsuwwXNNA==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.13.tgz", - "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.3.0.tgz", - "integrity": "sha512-PzwHEmsRP3IGY4gv/Ug+rMeaTIyTJvadCb+ujYXYeIylbHJezIyNToe8KfEgHTCEYyC+/bUghYOGg8yMGlZ6vA==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", - "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.2.tgz", - "integrity": "sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==" - } - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.489", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.489.tgz", - "integrity": "sha512-QNx+cirm4ENixfdSk9rp/3HKpjlxHFsmDoHtU1IiXdkJcpkKrd/o20LT5h1f3Qz+yfTMb4Ji3YDT/IvJkNfEkA==" - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.2", - "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": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-google": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", - "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", - "dev": true - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - }, - "dependencies": { - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "dependencies": { - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "requires": { - "dequal": "^2.0.3" - } - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "eslint-plugin-react": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz", - "integrity": "sha512-kidMTE5HAEBSLu23CUDvj8dc3LdBU0ri1scwHBZjI41oDv4tjsWZKU7MQccFzH1QYPYhsnTF2ovh7JlcIcmxgg==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.17.0", - "string.prototype.matchall": "^4.0.2" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==" - }, - "eslint-plugin-testing-library": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", - "requires": { - "@typescript-eslint/utils": "^5.58.0" - } - }, - "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.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": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fast-text-encoding": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", - "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.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==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "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", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - } - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - } - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - } - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - } - } - } - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gaxios": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-3.1.0.tgz", - "integrity": "sha512-DDTn3KXVJJigtz+g0J3vhcfbDbKtAroSTxauWsdnP57sM5KZ3d2c/3D9RKFJ86s43hfw6WULg6TXYw/AYiBlpA==", - "requires": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.3.0" - } - }, - "gcp-metadata": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.1.4.tgz", - "integrity": "sha512-5J/GIH0yWt/56R3dNaNWPGQ/zXsZOddYECfJaqxFWgrZ9HC2Kvc5vl9upOgUUHKzURjAVf2N+f6tEJiojqXUuA==", - "requires": { - "gaxios": "^3.0.0", - "json-bigint": "^1.0.0" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - } - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - }, - "dependencies": { - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "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" - } - }, - "google-auth-library": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.6.tgz", - "integrity": "sha512-fWYdRdg55HSJoRq9k568jJA1lrhg9i2xgfhVIMJbskUmbDpJGHsbv9l41DGhCDXM21F9Kn4kUwdysgxSYBYJUw==", - "requires": { - "arrify": "^2.0.0", - "base64-js": "^1.3.0", - "ecdsa-sig-formatter": "^1.0.11", - "fast-text-encoding": "^1.0.0", - "gaxios": "^3.0.0", - "gcp-metadata": "^4.1.0", - "gtoken": "^5.0.0", - "jws": "^4.0.0", - "lru-cache": "^6.0.0" - } - }, - "google-p12-pem": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.2.tgz", - "integrity": "sha512-tbjzndQvSIHGBLzHnhDs3cL4RBjLbLXc2pYvGH+imGVu5b4RMAttUTdnmW2UH0t11QeBTXZ7wlXPS7hrypO/tg==", - "requires": { - "node-forge": "^0.9.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "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", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "gtoken": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.0.3.tgz", - "integrity": "sha512-Nyd1wZCMRc2dj/mAD0LlfQLcAO06uKdpKJXvK85SGrF5+5+Bpfil9u/2aw35ltvEHjvl0h5FMKN5knEU+9JrOg==", - "requires": { - "gaxios": "^3.0.0", - "google-p12-pem": "^3.0.0", - "jws": "^4.0.0", - "mime": "^2.2.0" - } - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - } - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - } - } - }, - "html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "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.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "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" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", - "dev": true, - "requires": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - } - }, - "ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "requires": { - "semver": "^7.5.3" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - } - } - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - } - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "requires": { - "bignumber.js": "^9.0.0" - } - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "jss": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.4.0.tgz", - "integrity": "sha512-l7EwdwhsDishXzqTc3lbsbyZ83tlUl5L/Hb16pHCvZliA9lRDdNBZmHzeJHP0sxqD0t1mrMmMR8XroR12JBYzw==", - "requires": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.2.tgz", - "integrity": "sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==" - } - } - }, - "jss-plugin-camel-case": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.4.0.tgz", - "integrity": "sha512-9oDjsQ/AgdBbMyRjc06Kl3P8lDCSEts2vYZiPZfGAxbGCegqE4RnMob3mDaBby5H9vL9gWmyyImhLRWqIkRUCw==", - "requires": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.4.0" - } - }, - "jss-plugin-default-unit": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.4.0.tgz", - "integrity": "sha512-BYJ+Y3RUYiMEgmlcYMLqwbA49DcSWsGgHpVmEEllTC8MK5iJ7++pT9TnKkKBnNZZxTV75ycyFCR5xeLSOzVm4A==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.4.0" - } - }, - "jss-plugin-global": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.4.0.tgz", - "integrity": "sha512-b8IHMJUmv29cidt3nI4bUI1+Mo5RZE37kqthaFpmxf5K7r2aAegGliAw4hXvA70ca6ckAoXMUl4SN/zxiRcRag==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.4.0" - } - }, - "jss-plugin-nested": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.4.0.tgz", - "integrity": "sha512-cKgpeHIxAP0ygeWh+drpLbrxFiak6zzJ2toVRi/NmHbpkNaLjTLgePmOz5+67ln3qzJiPdXXJB1tbOyYKAP4Pw==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.4.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-props-sort": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.4.0.tgz", - "integrity": "sha512-j/t0R40/2fp+Nzt6GgHeUFnHVY2kPGF5drUVlgkcwYoHCgtBDOhTTsOfdaQFW6sHWfoQYgnGV4CXdjlPiRrzwA==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.4.0" - } - }, - "jss-plugin-rule-value-function": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.4.0.tgz", - "integrity": "sha512-w8504Cdfu66+0SJoLkr6GUQlEb8keHg8ymtJXdVHWh0YvFxDG2l/nS93SI5Gfx0fV29dO6yUugXnKzDFJxrdFQ==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.4.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-vendor-prefixer": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.4.0.tgz", - "integrity": "sha512-DpF+/a+GU8hMh/948sBGnKSNfKkoHg2p9aRFUmyoyxgKjOeH9n74Ht3Yt8lOgdZsuWNJbPrvaa3U4PXKwxVpTQ==", - "requires": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.4.0" - } - }, - "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", - "requires": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "jwa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", - "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", - "requires": { - "jwa": "^2.0.0", - "safe-buffer": "^5.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "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==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "node-forge": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", - "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "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" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "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" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - } - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" - }, - "postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==" - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==" - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==" - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==" - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==" - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "dependencies": { - "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" - } - } - }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==" - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==" - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "requires": { - "postcss-selector-parser": "^6.0.11" - } - }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==" - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==" - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==" - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - }, - "dependencies": { - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - } - } - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "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", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - } - } - }, - "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - } - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - } - }, - "react-transition-group": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", - "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "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", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "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", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - } - } - }, - "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "dependencies": { - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - } - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - }, - "dependencies": { - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - } - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "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", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "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", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - }, - "side-channel": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", - "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", - "dev": true, - "requires": { - "es-abstract": "^1.17.0-next.1", - "object-inspect": "^1.7.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "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", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "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" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "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", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "dependencies": { - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==" - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "dependencies": { - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "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", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "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", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "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==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - } - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "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", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "wait-for-expect": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/wait-for-expect/-/wait-for-expect-3.0.2.tgz", - "integrity": "sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag==" - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.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", - "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.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "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.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "dependencies": { - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==" - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "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-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" - }, - "workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" - } - }, - "workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", - "requires": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", - "requires": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" - } - }, - "workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "requires": { - "workbox-core": "6.6.0" - } - }, - "workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "requires": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" - } - }, - "workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" - }, - "workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" - }, - "dependencies": { - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } - } -} diff --git a/import-automation/import-progress-dashboard-frontend/client/package.json b/import-automation/import-progress-dashboard-frontend/client/package.json deleted file mode 100644 index bf04c4e0f7..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "import-progress-dashboard-frontend", - "version": "0.1.0", - "private": true, - "dependencies": { - "@material-ui/core": "^4.11.0", - "@material-ui/icons": "^4.9.1", - "@testing-library/jest-dom": "^4.2.4", - "@testing-library/react": "^9.5.0", - "@testing-library/user-event": "^7.2.1", - "@types/jest": "^26.0.9", - "@types/node": "^14.0.27", - "@types/react": "^16.9.46", - "@types/react-dom": "^16.9.8", - "google-auth-library": "^6.0.6", - "react": "^16.13.1", - "react-dom": "^16.13.1", - "react-scripts": "^5.0.1", - "typescript": "^3.9.7" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "@types/node": "^13.11.1", - "@typescript-eslint/eslint-plugin": "^3.9.0", - "@typescript-eslint/parser": "^3.9.0", - "eslint-config-google": "^0.14.0", - "eslint-plugin-react": "^7.20.6", - "typescript": "^3.8.3" - } -} diff --git a/import-automation/import-progress-dashboard-frontend/client/public/favicon.ico b/import-automation/import-progress-dashboard-frontend/client/public/favicon.ico deleted file mode 100644 index bcd5dfd67cd0361b78123e95c2dd96031f27f743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3150 zcmaKtc{Ei0AIGn;MZ^<@lHD*OV;K7~W1q3jSjJcqNywTkMOhP*k~Oj?GO|6{m(*C2 zC7JA+hN%%Bp7T4;J@?%2_x=5zbI<2~->=X60stMr0B~{wzpi9D0MG|# zyuANt7z6;uz%?PEfAnimLl^)6h5ARwGXemG2>?hqQv-I^Gpyh$JH}Ag92}3{$a#z& zd`il2Sb#$U&e&4#^4R|GTgk!Qs+x*PCL{2+`uB5mqtnqLaaw`*H2oqJ?XF(zUACc2 zSibBrdQzcidqv*TK}rpEv1ie&;Famq2IK5%4c}1Jt2b1x_{y1C!?EU)@`_F)yN*NK z)(u03@%g%uDawwXGAMm%EnP9FgoucUedioDwL~{6RVO@A-Q$+pwVRR%WYR>{K3E&Q zzqzT!EEZ$_NHGYM6&PK#CGUV$pTWsiI5#~m>htoJ!vbc0=gm3H8sz8KzIiVN5xdCT z%;}`UH2Pc8))1VS-unh?v4*H*NIy5On{MRKw7BTmOO9oE2UApwkCl9Z?^dod9M^#w z51tEZhf+#dpTo#GDDy#kuzoIjMjZ?%v*h$ z*vwUMOjGc?R0(FjLWkMD)kca4z6~H45FIzQ!Zzu&-yWyMdCBsDr2`l}Q{8fH$H@O< z$&snNzbqLk?(GIe?!PVh?F~2qk4z^rMcp$P^hw^rUPjyCyoNTRw%;hNOwrCoN?G0E z!wT^=4Loa9@O{t;Wk(Nj=?ms1Z?UN_;21m%sUm?uib=pg&x|u)8pP#l--$;B9l47n zUUnMV0sXLe*@Gvy>XWjRoqc2tOzgYn%?g@Lb8C&WsxV1Kjssh^ZBs*Ysr+E6%tsC_ zCo-)hkYY=Bn?wMB4sqm?WS>{kh<6*DO)vXnQpQ9`-_qF6!#b;3Nf@;#B>e2j$yokl6F|9p1<($2 z=WSr%)Z?^|r6njhgbuMrIN>8JE05u0x5t@_dEfbGn9r0hK4c2vp>(*$GXsjeLL_uz zWpyfUgdv!~-2N;llVzik#s2*XB*%7u8(^sJv&T3pzaR&<9({17Zs~UY>#ugZZkHBs zD+>0_an$?}utGp$dcXtyFHnTQZJ}SF=oZ}X07dz~K>^o(vjTzw8ZQc!Fw1W=&Z?9% zv63|~l}70sJbY?H8ON8j)w5=6OpXuaZ}YT03`2%u8{;B0Vafo_iY7&BiQTbRkdJBYL}?%ATfmc zLG$uXt$@3j#OIjALdT&Ut$=9F8cgV{w_f5eS)PjoVi z&oemp-SKJ~UuGuCP1|iY?J^S&P z)-IG?O-*=z6kfZrX5H*G=aQ{ZaqnOqP@&+_;nq@mA>EcjgxrYX8EK|Iq4&E&rxR?R z8N$QOdRwY zr{P`O)=87>YLHtFfGXW z6P)ucrhj~It_9w<^v5>T6N1U}+BkS))=WX*2JY=}^b2czGhH<`?`(}}qMcpPx_%>M zM|fs(+I1m&_h(zqp-HgP>re$2O^o$q)xu#fl0ivOJE({duU)a*OD(eYgSi^cdTn}pqcPM(;S)2%1By^Wh%-CaC%>d9hi`7J zaxL7@;nhA>PE%s99&;z{8>VFgf{u!(-B-x7Of6ueme+ScryL`h(^qKE)DtieWY>-7 zgB)VJESQS4*1LU(2&@pgLvSt{(((C?K_V(rQk``i&5}ZPG;G^FiPlZ$7|-vEmMWlU z5lQ%iK2nu=h2wd_7>gK@vX=*AG+u~rQP$NwPC`ZA?4nh{3tui1x@bT6-;Rk3yDQ>d z?3qRD#+PeV7#FAa>s`Xwxsx_oRFcN$StW2=CW`=qObsT?SD^#^jM1Yk}PSPxJ zG@-_mnNU_)vM|iLRSI>UMp|hatyS}17R{10IuL0TLlupt>9dRs_SPQbv7BLYyC#qv16E-y@XZ= z-!p7I%#r-BVi$nQq3&ssRc_IC%R6$tA&^s_l46880~Wst3@>(|EO<}T4~ci~#!=e; zD)B>o%1+$ksURD1p7I-<3ehlFyVkqrySf&gg>Bp0Z9?JaG|gyTZ{Cb8SdvAWVmFX7v2ohs!OCc!Udk zUITUpmZ33rKLI#(&lDj}cKA#dpL4Fil=$5pu_wi1XJR!llw` zSItPBDEdMHk2>c7#%lBxZHHvtVUOZ$}v?=?AT~9!Jcqa@IJGuMg(s^7r>pcTrd)pS`{5Cu8WPey` z9)!!OUUY@L%9Q+bZa*S5`3f_|lFCPN6kdp_M2>{le8;cn^XUsPa+TUk47qd6)IBR% zk*&Ip?!Ge_gmmdj)BX}P_5o@VI2*wbZ^>UhFju}0gQZh!pP%4XT9{@w;G#b3XK8sN zF(7i$Jv(IM$8Akys9dhP^^~H2(7BfJp}yDW1#@!CL-!mGcSCnJ599WK9MV@yo_u$v MDeX2GIKR{Qf5okjU;qFB diff --git a/import-automation/import-progress-dashboard-frontend/client/public/index.html b/import-automation/import-progress-dashboard-frontend/client/public/index.html deleted file mode 100644 index 77e172f5de..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/public/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - Import Progress Dashboard - - - - -
- - - \ No newline at end of file diff --git a/import-automation/import-progress-dashboard-frontend/client/public/logo192.png b/import-automation/import-progress-dashboard-frontend/client/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/import-automation/import-progress-dashboard-frontend/client/public/manifest.json b/import-automation/import-progress-dashboard-frontend/client/public/manifest.json deleted file mode 100644 index 984578ac29..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "Import Progress Dashboard", - "name": "Import Progress Dashboard", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} \ No newline at end of file diff --git a/import-automation/import-progress-dashboard-frontend/client/public/robots.txt b/import-automation/import-progress-dashboard-frontend/client/public/robots.txt deleted file mode 100644 index e9e57dc4d4..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/import-automation/import-progress-dashboard-frontend/client/src/App.js b/import-automation/import-progress-dashboard-frontend/client/src/App.js deleted file mode 100644 index 25133b255d..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/App.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import SystemRunTable from './import-table.tsx'; - -function App() { - return ( -
- -
- ); -} - -export default App; diff --git a/import-automation/import-progress-dashboard-frontend/client/src/import-table.css b/import-automation/import-progress-dashboard-frontend/client/src/import-table.css deleted file mode 100644 index 61577fa4d8..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/import-table.css +++ /dev/null @@ -1,4 +0,0 @@ -#attemptLogsCell, #runLogsCell { - padding-bottom: 0; - padding-top: 0; -} diff --git a/import-automation/import-progress-dashboard-frontend/client/src/import-table.tsx b/import-automation/import-progress-dashboard-frontend/client/src/import-table.tsx deleted file mode 100644 index d7e5d84ef3..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/import-table.tsx +++ /dev/null @@ -1,432 +0,0 @@ -/** - * Copyright 2020 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import { styled } from '@material-ui/core/styles'; -import Box from '@material-ui/core/Box'; -import Collapse from '@material-ui/core/Collapse'; -import IconButton from '@material-ui/core/IconButton'; -import Table from '@material-ui/core/Table'; -import TableBody from '@material-ui/core/TableBody'; -import TableCell from '@material-ui/core/TableCell'; -import TableContainer from '@material-ui/core/TableContainer'; -import TableHead from '@material-ui/core/TableHead'; -import TableRow from '@material-ui/core/TableRow'; -import Typography from '@material-ui/core/Typography'; -import Paper from '@material-ui/core/Paper'; -import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'; -import KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp'; - -import "./import-table.css" - - -const RightAlignTableCell = styled(TableCell)({ - textAlign: "right" -}); - -const LeftAlignTableCell = styled(TableCell)({ - textAlign: "left" -}); - - -// const NoTopBottomPaddingTableCell - - -/** - * A system run describes a run of the executor. A run can perform multiple - * import attempts. - */ -type SystemRun = { - runId: string, - repoName: string, - branchName: string, - prNumber: number, - commitSha: string, - timeCreated: string, - timeCompleted: string, - // Array of attempt IDs. The actual attempts can be retrieved from - // /importAttempts/{attemptId} - importAttempts: Array, - // Array of log IDs. The actual logs can be retrieved from - // /system_runs/{runId}/logs - logs: Array, - status: string -} - -/** - * An import attempt is performed by a system run and is an attempt to - * import a table or a node MCF file to the Data Commons knowledge graph - * via the Data Commons importer. - */ -type ImportAttempt = { - attemptId: string, - absoluteImportName: string, - status: string, - timeCreated: string, - timeCompleted: string, - provenanceUrl: string, - provenanceDescription: string, - // Array of log IDs. The actual logs can be retrieved from - // /import_attempts/{attemptId}/logs - logs: Array -} - -/** - * A log can be linked to a system run, an import attempt, or both. - */ -type ProgressLog = { - logId: string, - timeLogged: string, - level: string, - message: string -} - - -type ImportAttemptRowProps = { - attempt: ImportAttempt -} - -type ImportAttemptRowState = { - // Whether the row is collapsed - open: boolean, - logs: Array -} - -/** - * A row for an import attempt. The row can be collapsed to show the logs of the - * import attempt. - */ -class ImportAttemptRow extends - React.Component { - - constructor(props: ImportAttemptRowProps) { - super(props); - this.state = { - open: false, - logs: [], - }; - this._fetchLogs(); - } - - /** - * Fetches the actual logs using the log IDs, sorts them descendingly by - * timeLogged, and stores them in this.state.logs. - */ - _fetchLogs() { - fetch('/importAttempts/' + this.props.attempt.attemptId + '/logs') - .then((response) => response.json()) - .then((logs: Array) => { - logs.sort((log1, log2) => log1.timeLogged < log2.timeLogged ? -1 : 1); - this.setState({logs: logs}); - }); - } - - /** - * Generates the drop-down rows, one for each log. - */ - _generateLogRows() { - return this.state.logs.map((log) => ( - - {log.timeLogged} - {log.level} - {log.message} - - )); - } - - render() { - return ( - - - - this.setState({open: !this.state.open})}> - { - this.state.open ? - : - - } - - - - {this.props.attempt.absoluteImportName} - - - {this.props.attempt.status} - - - {this.props.attempt.timeCreated} - - - {this.props.attempt.timeCompleted} - - - {this.props.attempt.provenanceUrl} - - - {this.props.attempt.provenanceDescription} - - - - - - - - Import Attempt Logs - - - - - Time Logged - Level - Message - - - - {this._generateLogRows()} - -
-
-
-
-
-
- ); - } -} - - -type SystemRunRowProps = { - run: SystemRun -} - -type SystemRunRowState = { - // Whether the row is collapsed - open: boolean, - attempts: Array, - logs: Array -} - -/** - * A row for a system run. The row can be collapsed to show the logs of the - * system run and the import attempts performed by the system run. - */ -class SystemRunRow extends - React.Component { - - constructor(props: SystemRunRowProps) { - super(props); - this.state = { - open: false, - attempts: [], - logs: [], - }; - this._fetchLogs(); - this._fetchAttempts(); - } - - /** - * Fetches the actual import attempts using the attempt IDs and stores - * them in this.state.attempts. - */ - _fetchAttempts() { - const attemptIds = this.props.run.importAttempts || []; - const attempts: Array = []; - attemptIds.map((id) => fetch('/importAttempts/' + id) - .then((response) => response.json()) - .then((attempt) => { - attempts.push(attempt); - if (attempts.length === attemptIds.length) { - this.setState({attempts: attempts}); - } - })); - } - - /** - * Generates the drop-down rows, one for each import attempt. - */ - _generateAttemptRows() { - return this.state.attempts.map((attempt) => ( - - )); - } - - /** - * Fetches the actual logs using the log IDs, sorts them descendingly by - * timeLogged, and stores them in this.state.logs. - */ - _fetchLogs() { - fetch('/system_runs/' + this.props.run.runId + '/logs') - .then((response) => response.json()) - .then((logs: Array) => { - logs.sort((log1, log2) => log1.timeLogged > log2.timeLogged ? 1 : -1); - this.setState({logs: logs}); - }); - } - - /** - * Generates the rows for the logs. These go above the drop-down - * rows for the import attempts. - */ - _generateLogRows() { - return this.state.logs.map((log) => ( - - {log.timeLogged} - {log.level} - {log.message} - - )); - } - - render() { - return ( - - - - this.setState({open: !this.state.open})}> - { - this.state.open ? - : - - } - - - {this.props.run.status} - - {this.props.run.timeCreated} - - - {this.props.run.timeCompleted} - - {this.props.run.repoName} - {this.props.run.branchName} - {this.props.run.prNumber} - {this.props.run.commitSha} - - - - - - - System Run Logs - - - - - Time Logged - Level - Message - - - - {this._generateLogRows()} - -
- - Import Attempts - - - - - - Import Name - Status - Time Created - Time Completed - Provenance URL - - Provenance Description - - - - - {this._generateAttemptRows()} - -
-
-
-
-
-
- ); - } -} - - -type SystemRunTableProps = {} - -type SystemRunTableState = { - runs: Array -} - - -export default class SystemRunTable extends - React.Component { - - constructor(props: SystemRunTableProps) { - super(props); - this.state = { - runs: [], - }; - this._fetchRuns(); - } - - /** - * Fetches the most recent system runs, sorts them descendingly by - * timeCreated, and stores them in this.state.logs. - */ - _fetchRuns() { - fetch('/system_runs?limit=10&order=-time_created') - .then((response) => response.json()) - .then((runs: Array) => { - this.setState({runs: runs}); - }); - } - - /** - * Generates the rows, one for each system run. - */ - _generateRows() { - return this.state.runs.map((run) => ( - - )); - } - - render() { - return ( - - - - - System Runs - Status - Time Created - Time Completed - Repo Name - Branch Name - PR Number - Commit SHA - - - - {this._generateRows()} - -
-
- ); - } -} diff --git a/import-automation/import-progress-dashboard-frontend/client/src/index.js b/import-automation/import-progress-dashboard-frontend/client/src/index.js deleted file mode 100644 index 4104bb6225..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -ReactDOM.render( - - - , - document.getElementById('root'), -); diff --git a/import-automation/import-progress-dashboard-frontend/client/src/logo.svg b/import-automation/import-progress-dashboard-frontend/client/src/logo.svg deleted file mode 100644 index 6b60c1042f..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/import-automation/import-progress-dashboard-frontend/client/src/react-app-env.d.ts b/import-automation/import-progress-dashboard-frontend/client/src/react-app-env.d.ts deleted file mode 100644 index 6431bc5fc6..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/src/react-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/import-automation/import-progress-dashboard-frontend/client/tsconfig.json b/import-automation/import-progress-dashboard-frontend/client/tsconfig.json deleted file mode 100644 index f2850b7161..0000000000 --- a/import-automation/import-progress-dashboard-frontend/client/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react" - }, - "include": [ - "src" - ] -} diff --git a/import-automation/import-progress-dashboard-frontend/requirements.txt b/import-automation/import-progress-dashboard-frontend/requirements.txt deleted file mode 100644 index d63471cb06..0000000000 --- a/import-automation/import-progress-dashboard-frontend/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -requests -google-auth -google-cloud-logging -flask -gunicorn diff --git a/import-automation/import-progress-dashboard-frontend/server/.gitignore b/import-automation/import-progress-dashboard-frontend/server/.gitignore deleted file mode 100644 index a2c03a0dec..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/.gitignore +++ /dev/null @@ -1,142 +0,0 @@ -.vscode -.idea -.DS_Store - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ diff --git a/import-automation/import-progress-dashboard-frontend/server/__main__.py b/import-automation/import-progress-dashboard-frontend/server/__main__.py deleted file mode 100644 index f1787f05d0..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/__main__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Entry point when run as a module. -See https://docs.python.org/3/library/__main__.html. -""" - -from server.app import main - -main.main() diff --git a/import-automation/import-progress-dashboard-frontend/server/app/__main__.py b/import-automation/import-progress-dashboard-frontend/server/app/__main__.py deleted file mode 100644 index e4dfe5404a..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/app/__main__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Entry point when run as a module. -See https://docs.python.org/3/library/__main__.html. -""" - -from app import main - -main.main() diff --git a/import-automation/import-progress-dashboard-frontend/server/app/configs.py b/import-automation/import-progress-dashboard-frontend/server/app/configs.py deleted file mode 100644 index c886caa0b2..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/app/configs.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Configurations for the server. -""" - -import os - -from google.cloud import logging - - -def is_production(): - return 'DASHBOARD_FRONTEND_PRODUCTION' in os.environ - - -def setup_logging(): - """Connects the default logger to Google Cloud Logging. - Only logs at INFO level or higher will be captured. - """ - client = logging.Client() - client.get_default_handler() - client.setup_logging() - - -def get_dashboard_oauth_client_id(): - """Gets the client ID used to authenticate with Identity-Aware Proxy - from the environment variable DASHBOARD_OAUTH_CLIENT_ID.""" - return os.environ.get('DASHBOARD_OAUTH_CLIENT_ID') diff --git a/import-automation/import-progress-dashboard-frontend/server/app/main.py b/import-automation/import-progress-dashboard-frontend/server/app/main.py deleted file mode 100644 index c2e51ea746..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/app/main.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Frontend server for the import progress dashboard. -""" - -import os -import json - -import flask - -from server.app import configs -from server.app.service import dashboard_api - -DASHBOARD_API = dashboard_api.DashboardAPI( - configs.get_dashboard_oauth_client_id()) - - -def create_app(): - """Creates the Flask app. Sets up Google Cloud Logging if - on prod profile.""" - if configs.is_production(): - configs.setup_logging() - return flask.Flask(__name__, - static_folder='../../client/build/static', - template_folder='../../client/build') - - -FLASK_APP = create_app() - - -@FLASK_APP.route('/') -def serve_index(): - """Serves index.html.""" - return flask.render_template('index.html') - - -@FLASK_APP.route('/') -def serve_file(path): - """Serves static files.""" - return flask.send_from_directory(FLASK_APP.template_folder, path) - - -@FLASK_APP.route('/system_runs') -def get_system_runs(): - """Returns all the system runs.""" - # TODO(intrepiditee): Limit number returned. - return flask.Response(json.dumps(DASHBOARD_API.get_system_runs()), - mimetype='application/json') - - -@FLASK_APP.route('/import_attempts/') -def get_import_attempt(attempt_id): - """Returns the import attempt with the attempt_id.""" - return DASHBOARD_API.get_import_attempt(attempt_id) - - -@FLASK_APP.route('/import_attempts//logs') -def get_logs_by_attempt_id(attempt_id): - """Returns the logs of an import attempt with the attempt_id.""" - return flask.Response(json.dumps( - DASHBOARD_API.get_logs_by_attempt_id(attempt_id)), - mimetype='application/json') - - -@FLASK_APP.route('/system_runs//logs') -def get_logs_by_run_id(run_id): - """Returns the logs of a system run with the run_id.""" - return flask.Response(json.dumps(DASHBOARD_API.get_logs_by_run_id(run_id)), - mimetype='application/json') - - -def main(): - """Runs the app locally.""" - FLASK_APP.run(host='127.0.0.1', port=8080, debug=True) diff --git a/import-automation/import-progress-dashboard-frontend/server/app/service/dashboard_api.py b/import-automation/import-progress-dashboard-frontend/server/app/service/dashboard_api.py deleted file mode 100644 index 8b48b209a8..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/app/service/dashboard_api.py +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Import progress dashboard API client. -""" - -from typing import Dict, List - -from server.app.service import iap_request - -_DASHBOARD_API_HOST = 'https://datcom-data.uc.r.appspot.com' - -_DASHBOARD_RUN_LIST = _DASHBOARD_API_HOST + '/system_runs' -_DASHBOARD_RUN_BY_ID = _DASHBOARD_RUN_LIST + '/{run_id}' -_DASHBOARD_RUN_BY_ID_LOGS = _DASHBOARD_RUN_BY_ID + '/logs' - -_DASHBOARD_ATTEMPT_LIST = _DASHBOARD_API_HOST + '/import_attempts' -_DASHBOARD_ATTEMPT_BY_ID = _DASHBOARD_ATTEMPT_LIST + '/{attempt_id}' -_DASHBOARD_ATTEMPT_BY_ID_LOGS = _DASHBOARD_ATTEMPT_BY_ID + '/logs' - -_DASHBOARD_LOG_LIST = _DASHBOARD_API_HOST + '/logs' -_DASHBOARD_LOG_BY_ID = _DASHBOARD_LOG_LIST + '/{log_id}' - - -class DashboardAPI: - """Import progress dashboard API client. - - Attributes: - iap: IAPRequest object for making HTTP requests to - Identity-Aware Proxy protected resources. - """ - - def __init__(self, client_id: str): - """Constructs a DashboardAPI. - - Args: - client_id: Oauth2 client id for authentication. - """ - self.iap = iap_request.IAPRequest(client_id) - - def get_system_runs(self) -> List[Dict]: - """Returns all the system runs.""" - return self._get_json(_DASHBOARD_RUN_LIST) - - def get_import_attempt(self, attempt_id) -> Dict: - """Returns the import attempt with the attempt_id.""" - return self._get_json( - _DASHBOARD_ATTEMPT_BY_ID.format_map({'attempt_id': attempt_id})) - - def get_logs_by_run_id(self, run_id: str) -> List[Dict]: - """Returns the logs of a system run with the run_id.""" - return self._get_json( - _DASHBOARD_RUN_BY_ID_LOGS.format_map({'run_id': run_id})) - - def get_logs_by_attempt_id(self, attempt_id: str) -> List[Dict]: - """Returns the logs of an import attempt with the attempt_id.""" - return self._get_json( - _DASHBOARD_ATTEMPT_BY_ID_LOGS.format_map({'attempt_id': attempt_id - })) - - def _get_json(self, query): - """Sends a GET request and returns the json from the response.""" - response = self.iap.get(query) - response.raise_for_status() - return response.json() diff --git a/import-automation/import-progress-dashboard-frontend/server/app/service/iap_request.py b/import-automation/import-progress-dashboard-frontend/server/app/service/iap_request.py deleted file mode 100644 index 0adc5b814a..0000000000 --- a/import-automation/import-progress-dashboard-frontend/server/app/service/iap_request.py +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Class for making HTTP requests to Identity-Aware Proxy-protected applications. -""" - -import requests - -import google.auth.transport.requests -from google.oauth2 import id_token - - -class IAPRequest: - """Class for making HTTP requests to Identity-Aware Proxy-protected - applications. - - Attributes: - client_id: Oauth client ID used to authenticate with - Identity-Aware Proxy, as a string. - """ - - def __init__(self, client_id: str): - self.client_id = client_id - - def get(self, url: str, **kwargs): - """Makes a GET request. See _request.""" - return self._request(url, 'GET', **kwargs) - - def put(self, url: str, **kwargs): - """Makes a PUT request. See _request.""" - return self._request(url, 'PUT', **kwargs) - - def post(self, url: str, **kwargs): - """Makes a POST request. See _request.""" - return self._request(url, 'POST', **kwargs) - - def patch(self, url: str, **kwargs): - """Makes a PATCH request. See _request.""" - return self._request(url, 'PATCH', **kwargs) - - def _request(self, url, method, **kwargs): - """Makes a request to an application protected by Identity-Aware Proxy. - - For valid values for method and kwargs, see - https://requests.readthedocs.io/en/master/api/?highlight=request#requests.request. - - Args: - url: The Identity-Aware Proxy-protected URL to fetch. - method: The request method to use. - **kwargs: Any of the parameters defined for the requests.request. - - Returns: - The response as a request.Response object. - - Raises: - Same exceptions as request.request. - """ - # Obtain an OpenID Connect (OIDC) token from metadata server or - # using service account. - google_open_id_connect_token = id_token.fetch_id_token( - google.auth.transport.requests.Request(), self.client_id) - - # Fetch the Identity-Aware Proxy-protected URL, including an - # Authorization header containing "Bearer " followed by a - # Google-issued OpenID Connect token for the service account. - headers = kwargs.setdefault('headers', {}) - headers['Authorization'] = f'Bearer {google_open_id_connect_token}' - - return requests.request(method, url, **kwargs)